smartwizard
Version:
A modern and accessible step wizard plugin for jQuery
578 lines (563 loc) • 16 kB
CSS
@charset "UTF-8";
/*! jQuery SmartWizard v7
* A modern, accessible step wizard plugin for jQuery
* http://www.techlaboratory.net/jquery-smartwizard
*
* Created by Dipu Raj (https://github.com/techlab)
*
* Licensed under the terms of the MIT License - Free for personal and open-source projects.
* For commercial use, please purchase a commercial license: https://techlaboratory.net/jquery-smartwizard#license
*/
.sw *,
.sw *::before,
.sw *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--sw-border-color: #eeeeee;
--sw-surface: #ffffff;
--sw-border: #e0e0e0;
--sw-shadow: 0 2px 10px rgba(0, 0, 0, .08);
--sw-radius: 8px;
--sw-content-pad: 8px;
--sw-content-bg: var(--sw-surface);
--sw-content-text: #333333;
--sw-accent: #2196f3;
--sw-accent-dark: #1565c0;
--sw-accent-light: #64b5f6;
--sw-accent-text: #ffffff;
--sw-btn-primary-bg: var(--sw-accent);
--sw-btn-primary-text: var(--sw-accent-text);
--sw-btn-secondary-bg: #eeeeee;
--sw-btn-secondary-text: #333333;
--sw-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
--sw-loader-color: #009EF7;
--sw-loader-background-color: #f8f9fa;
--sw-loader-background-wrapper-color: rgba(255, 255, 255, 0.7);
--sw-progress-color: #009EF7;
--sw-progress-background-color: #f8f9fa;
--sw-connector-width: 60px;
--sw-connector-height: 2px;
--sw-connector-color: var(--sw-inactive-border);
--sw-toolbar-btn-color: #ffffff;
--sw-toolbar-btn-background-color: #009EF7;
--sw-nav-badge-size: 32px;
--sw-nav-badge-radius: 50%;
--sw-nav-default-text: #9e9e9e;
--sw-nav-default-bg: #eeeeee;
--sw-nav-default-badge-text: #999999;
--sw-nav-default-badge-bg: #dddddd;
--sw-nav-active-text: #ffffff;
--sw-nav-active-bg: #2196f3;
--sw-nav-active-badge-text: #2196f3;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-text: #eeeeee;
--sw-nav-completed-bg: #59b0f6;
--sw-nav-completed-badge-text: #59b0f6;
--sw-nav-completed-badge-bg: #eeeeee;
--sw-nav-error-text: #ffffff;
--sw-nav-error-bg: #f44336;
--sw-nav-error-badge-text: #f44336;
--sw-nav-error-badge-bg: #dddddd;
--sw-nav-warning-text: #ffffff;
--sw-nav-warning-bg: #ff9800;
--sw-nav-warning-badge-text: #ff9800;
--sw-nav-warning-badge-bg: #dddddd;
}
[data-theme=dark] {
--sw-border-color: #2e2e2e;
--sw-surface: #181818;
--sw-border: #2e2e2e;
--sw-shadow: 0 2px 14px rgba(0, 0, 0, .6);
--sw-content-bg: #1e1e1e;
--sw-content-text: #d8d8d8;
--sw-accent: #42a5f5;
--sw-accent-dark: #1e88e5;
--sw-accent-light: #64b5f6;
--sw-accent-text: #ffffff;
--sw-loader-color: #42a5f5;
--sw-loader-background-color: #1e1e1e;
--sw-loader-background-wrapper-color: rgba(24, 24, 24, 0.7);
--sw-progress-color: #42a5f5;
--sw-progress-background-color: #2a2a2a;
--sw-connector-color: #3a3a3a;
--sw-toolbar-btn-color: #ffffff;
--sw-toolbar-btn-background-color: #1e88e5;
--sw-btn-primary-bg: var(--sw-accent);
--sw-btn-primary-text: var(--sw-accent-text);
--sw-btn-secondary-bg: #2a2a2a;
--sw-btn-secondary-text: #d8d8d8;
--sw-nav-default-text: #666666;
--sw-nav-default-bg: #2a2a2a;
--sw-nav-default-badge-text: #777777;
--sw-nav-default-badge-bg: #383838;
--sw-nav-active-text: #ffffff;
--sw-nav-active-bg: #1e88e5;
--sw-nav-active-badge-text: #1e88e5;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-text: #bbbbbb;
--sw-nav-completed-bg: #2d4a6b;
--sw-nav-completed-badge-text: #64b5f6;
--sw-nav-completed-badge-bg: #1e2e3e;
--sw-nav-error-text: #ffffff;
--sw-nav-error-bg: #c62828;
--sw-nav-error-badge-text: #ef5350;
--sw-nav-error-badge-bg: #2a1a1a;
--sw-nav-warning-text: #ffffff;
--sw-nav-warning-bg: #e65100;
--sw-nav-warning-badge-text: #ffa726;
--sw-nav-warning-badge-bg: #2a1f10;
}
/* ─────────────────────────────────────────────
COLOR PRESETS
Each preset overrides the CSS variables defined in _root.scss.
───────────────────────────────────────────── */
[data-color=ocean] {
--sw-accent: #0288d1;
--sw-accent-dark: #01579b;
--sw-accent-light: #4fc3f7;
--sw-accent-text: #ffffff;
--sw-loader-color: #0288d1;
--sw-progress-color: #0288d1;
--sw-toolbar-btn-background-color: #0288d1;
--sw-nav-active-bg: #0288d1;
--sw-nav-active-text: #ffffff;
--sw-nav-active-badge-text: #0288d1;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-bg: #00897b;
--sw-nav-completed-text: #ffffff;
--sw-nav-completed-badge-text: #00897b;
--sw-nav-completed-badge-bg: #e0f2f1;
}
[data-color=forest] {
--sw-accent: #388e3c;
--sw-accent-dark: #1b5e20;
--sw-accent-light: #66bb6a;
--sw-accent-text: #ffffff;
--sw-loader-color: #388e3c;
--sw-progress-color: #388e3c;
--sw-toolbar-btn-background-color: #388e3c;
--sw-nav-active-bg: #558b2f;
--sw-nav-active-text: #ffffff;
--sw-nav-active-badge-text: #558b2f;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-bg: #4c6938;
--sw-nav-completed-text: #ffffff;
--sw-nav-completed-badge-text: #4c6938;
--sw-nav-completed-badge-bg: #f1f8e9;
}
[data-color=violet] {
--sw-accent: #7b1fa2;
--sw-accent-dark: #4a148c;
--sw-accent-light: #9c27b0;
--sw-accent-text: #ffffff;
--sw-loader-color: #7b1fa2;
--sw-progress-color: #7b1fa2;
--sw-toolbar-btn-background-color: #7b1fa2;
--sw-nav-active-bg: #7b1fa2;
--sw-nav-active-text: #ffffff;
--sw-nav-active-badge-text: #7b1fa2;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-bg: #6a1b9a;
--sw-nav-completed-text: #ffffff;
--sw-nav-completed-badge-text: #9c27b0;
--sw-nav-completed-badge-bg: #f3e5f5;
}
[data-color=crimson] {
--sw-accent: #c2185b;
--sw-accent-dark: #880e4f;
--sw-accent-light: #e91e63;
--sw-accent-text: #ffffff;
--sw-loader-color: #c2185b;
--sw-progress-color: #c2185b;
--sw-toolbar-btn-background-color: #c2185b;
--sw-nav-active-bg: #c2185b;
--sw-nav-active-text: #ffffff;
--sw-nav-active-badge-text: #c2185b;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-bg: #ad1457;
--sw-nav-completed-text: #ffffff;
--sw-nav-completed-badge-text: #e91e63;
--sw-nav-completed-badge-bg: #fce4ec;
}
[data-color=amber] {
--sw-accent: #ffa000;
--sw-accent-dark: #ff6f00;
--sw-accent-light: #ffb300;
--sw-accent-text: #ffffff;
--sw-loader-color: #ffa000;
--sw-progress-color: #ffa000;
--sw-toolbar-btn-background-color: #ffa000;
--sw-nav-active-bg: #ffa000;
--sw-nav-active-text: #ffffff;
--sw-nav-active-badge-text: #ffa000;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-bg: #f57c00;
--sw-nav-completed-text: #ffffff;
--sw-nav-completed-badge-text: #f57c00;
--sw-nav-completed-badge-bg: #fff3e0;
}
[data-color=indigo] {
--sw-accent: #3949ab;
--sw-accent-dark: #283593;
--sw-accent-light: #5c6bc0;
--sw-accent-text: #ffffff;
--sw-loader-color: #3949ab;
--sw-progress-color: #3949ab;
--sw-toolbar-btn-background-color: #3949ab;
--sw-nav-active-bg: #3949ab;
--sw-nav-active-text: #ffffff;
--sw-nav-active-badge-text: #3949ab;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-bg: #303f9f;
--sw-nav-completed-text: #ffffff;
--sw-nav-completed-badge-text: #5c6bc0;
--sw-nav-completed-badge-bg: #e8eaf6;
}
[data-color=slate] {
--sw-accent: #1e40af;
--sw-accent-dark: #1e3a8a;
--sw-accent-light: #3b82f6;
--sw-accent-text: #ffffff;
--sw-loader-color: #1e40af;
--sw-progress-color: #1e40af;
--sw-toolbar-btn-background-color: #1e40af;
--sw-nav-default-text: #4b5563;
--sw-nav-default-bg: #f3f4f6;
--sw-nav-default-badge-text: #1e3a5f;
--sw-nav-default-badge-bg: #e0ecff;
--sw-nav-active-bg: #1e40af;
--sw-nav-active-text: #ffffff;
--sw-nav-active-badge-text: #1e40af;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-bg: #15803d;
--sw-nav-completed-text: #ffffff;
--sw-nav-completed-badge-text: #15803d;
--sw-nav-completed-badge-bg: #dcfce7;
--sw-nav-error-bg: #b91c1c;
--sw-nav-error-text: #ffffff;
--sw-nav-error-badge-text: #b91c1c;
--sw-nav-error-badge-bg: #fee2e2;
--sw-nav-warning-bg: #92400e;
--sw-nav-warning-text: #ffffff;
--sw-nav-warning-badge-text: #713f12;
--sw-nav-warning-badge-bg: #fef9c3;
}
[data-color=teal] {
--sw-accent: #0097a7;
--sw-accent-dark: #006064;
--sw-accent-light: #4dd0e1;
--sw-accent-text: #ffffff;
--sw-loader-color: #0097a7;
--sw-progress-color: #0097a7;
--sw-btn-primary-bg: linear-gradient(90deg, #00bcd4 0%, #1F9AC7 100%);
--sw-btn-primary-text: #ffffff;
--sw-nav-active-bg: linear-gradient(90deg, #017685 0%, #1994C0 100%);
--sw-nav-active-text: #ffffff;
--sw-nav-active-badge-text: #005b80;
--sw-nav-active-badge-bg: #ffffff;
--sw-nav-completed-bg: linear-gradient(90deg, #2195a7 0%, #187E8E 100%);
--sw-nav-completed-text: #ffffff;
--sw-nav-completed-badge-text: #005b80;
--sw-nav-completed-badge-bg: #e0f7fa;
}
.sw {
border: 1px solid var(--sw-border);
border-radius: var(--sw-radius);
box-shadow: var(--sw-shadow);
overflow: hidden;
background: var(--sw-surface);
position: relative;
}
.sw > .tab-content {
position: relative;
padding: var(--sw-content-pad);
background: var(--sw-content-bg);
color: var(--sw-content-text);
min-height: 140px;
margin-top: 1rem;
}
.sw > .tab-content > .tab-pane {
padding: 0.8rem;
}
.sw .toolbar {
display: flex;
align-items: center;
justify-content: flex-end;
padding: 14px 24px;
border-top: 1px solid var(--sw-border);
background: var(--sw-surface);
gap: 10px;
}
.sw .toolbar-bottom {
border-top: 1px solid var(--sw-border);
}
.sw .toolbar-top {
border-bottom: 1px solid var(--sw-border);
margin-bottom: -1rem;
}
.sw .toolbar > .sw-btn {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 10px 22px;
border: none;
border-radius: 7px;
cursor: pointer;
transition: all var(--sw-transition);
background: var(--sw-btn-primary-bg);
color: var(--sw-btn-primary-text);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.sw .toolbar > .sw-btn:hover {
background: var(--sw-accent-dark);
transform: translateY(-1px);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
}
.sw .toolbar > .sw-btn:active {
transform: translateY(0);
}
.sw .toolbar > .sw-btn.disabled, .sw .toolbar > .sw-btn:disabled {
opacity: 0.4;
pointer-events: none;
}
.sw .toolbar > .sw-btn svg {
width: 14px;
height: 14px;
fill: currentColor;
}
.sw .toolbar > .sw-btn-secondary {
background: var(--sw-btn-secondary-bg);
color: var(--sw-btn-secondary-text);
box-shadow: none;
}
.sw .toolbar > .sw-btn-secondary:hover {
background: color-mix(in srgb, var(--sw-btn-secondary-bg) 85%, var(--sw-accent) 15%);
}
.sw[dir=rtl] > .toolbar {
text-align: left;
}
.sw > .nav {
display: flex;
list-style: none;
gap: 0;
margin: 0;
padding: 0;
position: relative;
overflow: hidden;
flex-wrap: nowrap;
list-style: none;
-webkit-overflow-scrolling: touch;
}
.sw > .nav::-webkit-scrollbar {
display: none;
}
@media screen and (max-width: 640px) {
.sw > .nav {
flex-direction: column ;
flex: 1 auto;
}
}
.sw > .nav.nav-scroll {
overflow-x: auto;
overflow-y: hidden;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.sw > .nav.nav-scroll::-webkit-scrollbar {
display: none;
}
.sw > .nav .nav-scroll-btn {
position: absolute;
top: 0;
height: 100%;
width: 36px;
display: none;
align-items: center;
justify-content: center;
background: var(--sw-surface);
border: none;
cursor: pointer;
z-index: 10;
color: var(--sw-inactive-text);
transition: color var(--sw-transition), background var(--sw-transition);
padding: 0;
}
.sw > .nav .nav-scroll-btn:hover {
color: var(--sw-accent);
background-color: rgba(0, 0, 0, 0.1);
}
.sw > .nav .nav-scroll-btn svg {
width: 16px;
height: 16px;
}
.sw > .nav .nav-scroll-btn--prev {
left: 0;
box-shadow: 4px 0 10px -2px rgba(0, 0, 0, 0.12);
}
.sw > .nav .nav-scroll-btn--next {
right: 0;
box-shadow: -4px 0 10px -2px rgba(0, 0, 0, 0.12);
}
.sw > .nav .nav-scroll-btn.nav-scroll-btn-visible {
display: flex;
}
.sw > .nav .nav-item {
display: flex;
position: relative;
z-index: 1;
}
.sw > .nav .nav-link {
display: flex;
align-items: center;
width: 100%;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
color: var(--sw-nav-default-text);
background: var(--sw-nav-default-bg);
text-decoration: none;
position: relative;
padding: 14px 20px;
gap: 10px;
transition: all 0.3s ease;
}
.sw > .nav .nav-link:hover, .sw > .nav .nav-link:active, .sw > .nav .nav-link:focus {
text-decoration: none;
}
.sw > .nav .nav-link::-moz-focus-inner {
border: 0;
}
.sw > .nav .nav-link.active {
color: var(--sw-nav-active-text);
background: var(--sw-nav-active-bg);
cursor: default;
z-index: 4;
}
.sw > .nav .nav-link.active .badge {
color: var(--sw-nav-active-badge-text);
background: var(--sw-nav-active-badge-bg);
}
.sw > .nav .nav-link.completed {
color: var(--sw-nav-completed-text);
background: var(--sw-nav-completed-bg);
z-index: 2;
}
.sw > .nav .nav-link.completed .badge {
color: var(--sw-nav-completed-badge-text);
background: var(--sw-nav-completed-badge-bg);
}
.sw > .nav .nav-link.error {
color: var(--sw-nav-error-text);
background: var(--sw-nav-error-bg);
z-index: 2;
}
.sw > .nav .nav-link.error .badge {
color: var(--sw-nav-error-badge-text);
background: var(--sw-nav-error-badge-bg);
}
.sw > .nav .nav-link.warning {
color: var(--sw-nav-warning-text);
background: var(--sw-nav-warning-bg);
z-index: 2;
}
.sw > .nav .nav-link.warning .badge {
color: var(--sw-nav-warning-badge-text);
background: var(--sw-nav-warning-badge-bg);
}
.sw > .nav .nav-link.hidden {
display: none;
visibility: none;
}
.sw > .nav .nav-link.disabled, .sw > .nav .nav-link:disabled {
opacity: 0.45;
pointer-events: none;
cursor: not-allowed;
}
.sw > .nav .nav-link > .badge {
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
width: var(--sw-nav-badge-size);
height: var(--sw-nav-badge-size);
border-radius: var(--sw-nav-badge-radius);
pointer-events: none;
clear: both;
line-height: 1;
color: var(--sw-nav-default-badge-text);
background: var(--sw-nav-default-badge-bg);
transition: background var(--sw-transition), transform var(--sw-transition);
}
.sw > .nav .nav-link:hover:not(.disabled) .badge {
transform: scale(1.05);
}
.sw:hover > .nav > .nav-scroll-btn, .sw:focus > .nav > .nav-scroll-btn {
opacity: 1;
}
.sw.sw-justified > .nav {
justify-content: space-between;
}
.sw[dir=rtl] > .nav .nav-link > .badge {
float: right;
}
.sw > .progress {
padding: 0;
margin: 0;
border: 0;
width: 100%;
height: 5px;
background: var(--sw-inactive-bg);
overflow: hidden;
}
.sw > .progress > .progress-bar {
height: 100%;
width: 0%;
background: linear-gradient(90deg, var(--sw-accent-dark), var(--sw-accent));
transition: width var(--sw-transition);
box-shadow: 0 0 8px var(--sw-accent-light);
}
.sw.sw-loading {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.sw.sw-loading::after {
content: "";
display: block;
position: absolute;
opacity: 1;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: var(--sw-loader-background-wrapper-color);
z-index: 99;
}
.sw.sw-loading::before {
content: "";
display: inline-block;
position: absolute;
top: 45%;
left: 45%;
width: 2rem;
height: 2rem;
border: 10px solid var(--sw-loader-color);
border-top: 10px solid var(--sw-loader-background-color);
border-radius: 50%;
z-index: 10;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/*# sourceMappingURL=smartwizard.css.map */