wave-ui 3.17.4 → 3.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/plugin.d.ts +1 -1
- package/dist/wave-ui.cjs.js +1 -1
- package/dist/wave-ui.css +1 -1
- package/dist/wave-ui.es.js +2 -2
- package/dist/wave-ui.umd.js +1 -1
- package/package.json +31 -21
- package/src/wave-ui/components/w-accordion/item.vue +1 -1
- package/src/wave-ui/components/w-alert.vue +1 -1
- package/src/wave-ui/components/w-autocomplete.vue +4 -4
- package/src/wave-ui/components/w-checkbox.vue +2 -2
- package/src/wave-ui/components/w-menu.vue +1 -1
- package/src/wave-ui/components/w-table.vue +5 -5
- package/src/wave-ui/components/w-tag.vue +7 -7
- package/src/wave-ui/components/w-tooltip.vue +1 -1
- package/src/wave-ui/scss/_base.scss +22 -14
- package/src/wave-ui/scss/_colors.scss +12 -9
- package/src/wave-ui/scss/_layout.scss +2 -0
- package/src/wave-ui/scss/_transitions.scss +2 -0
- package/src/wave-ui/scss/_typography.scss +2 -0
- package/src/wave-ui/scss/index.scss +6 -18
- package/src/wave-ui/scss/variables/_index.scss +2 -0
- package/src/wave-ui/scss/{_mixins.scss → variables/_mixins.scss} +13 -12
- package/src/wave-ui/scss/{_variables.scss → variables/_variables.scss} +30 -35
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wave-ui",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.18.0",
|
|
4
4
|
"description": "A UI framework for Vue.js 3 (and 2) with only the bright side. :sunny:",
|
|
5
5
|
"author": "Antoni Andre <antoniandre.web@gmail.com>",
|
|
6
6
|
"homepage": "https://antoniandre.github.io/wave-ui",
|
|
@@ -18,8 +18,14 @@
|
|
|
18
18
|
],
|
|
19
19
|
"exports": {
|
|
20
20
|
".": {
|
|
21
|
-
"import":
|
|
22
|
-
|
|
21
|
+
"import": {
|
|
22
|
+
"default": "./dist/wave-ui.es.js",
|
|
23
|
+
"types": "./dist/types/index.d.ts"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"default": "./dist/wave-ui.umd.js",
|
|
27
|
+
"types": "./dist/types/index.d.ts"
|
|
28
|
+
}
|
|
23
29
|
},
|
|
24
30
|
"./package.json": "./package.json",
|
|
25
31
|
"./dist/*": "./dist/*",
|
|
@@ -43,44 +49,48 @@
|
|
|
43
49
|
"ui"
|
|
44
50
|
],
|
|
45
51
|
"devDependencies": {
|
|
46
|
-
"@eslint/js": "^9.
|
|
52
|
+
"@eslint/js": "^9.14.0",
|
|
47
53
|
"@faker-js/faker": "^8.4.1",
|
|
48
54
|
"@mdi/font": "^7.4.47",
|
|
49
|
-
"@tsconfig/recommended": "^1.0.
|
|
50
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
51
|
-
"@typescript-eslint/parser": "^8.
|
|
52
|
-
"@vitejs/plugin-vue": "^5.1.
|
|
55
|
+
"@tsconfig/recommended": "^1.0.8",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^8.12.2",
|
|
57
|
+
"@typescript-eslint/parser": "^8.12.2",
|
|
58
|
+
"@vitejs/plugin-vue": "^5.1.4",
|
|
53
59
|
"autoprefixer": "^10.4.20",
|
|
54
60
|
"axios": "^1.7.7",
|
|
55
|
-
"eslint": "^9.
|
|
61
|
+
"eslint": "^9.14.0",
|
|
56
62
|
"eslint-config-standard": "^17.1.0",
|
|
57
|
-
"eslint-plugin-import": "^2.
|
|
58
|
-
"eslint-plugin-n": "^17.
|
|
63
|
+
"eslint-plugin-import": "^2.31.0",
|
|
64
|
+
"eslint-plugin-n": "^17.12.0",
|
|
59
65
|
"eslint-plugin-promise": "^7.1.0",
|
|
60
|
-
"eslint-plugin-vue": "^9.
|
|
66
|
+
"eslint-plugin-vue": "^9.30.0",
|
|
61
67
|
"font-awesome": "^4.7.0",
|
|
62
|
-
"globals": "^15.
|
|
68
|
+
"globals": "^15.12.0",
|
|
63
69
|
"gsap": "^3.12.5",
|
|
64
70
|
"ionicons": "^4.6.3",
|
|
65
71
|
"material-design-icons": "^3.0.1",
|
|
66
|
-
"postcss": "^8.4.
|
|
72
|
+
"postcss": "^8.4.47",
|
|
67
73
|
"pug": "^3.0.3",
|
|
68
|
-
"rollup-plugin-delete": "^2.
|
|
69
|
-
"sass": "^1.
|
|
74
|
+
"rollup-plugin-delete": "^2.1.0",
|
|
75
|
+
"sass": "^1.80.6",
|
|
70
76
|
"simple-syntax-highlighter": "^3.0.10",
|
|
71
77
|
"splitpanes": "^3.1.5",
|
|
72
|
-
"typescript": "^5.
|
|
73
|
-
"typescript-eslint": "^8.
|
|
74
|
-
"vite": "^5.4.
|
|
78
|
+
"typescript": "^5.6.3",
|
|
79
|
+
"typescript-eslint": "^8.12.2",
|
|
80
|
+
"vite": "^5.4.10",
|
|
75
81
|
"vite-svg-loader": "^5.1.0",
|
|
76
|
-
"vue": "^3.5.
|
|
77
|
-
"vue-router": "^4.4.
|
|
82
|
+
"vue": "^3.5.12",
|
|
83
|
+
"vue-router": "^4.4.5",
|
|
78
84
|
"vueperslides": "^3.5.1",
|
|
79
85
|
"vuex": "^4.1.0"
|
|
80
86
|
},
|
|
81
87
|
"peerDependencies": {
|
|
82
88
|
"vue": "^3.2.0"
|
|
83
89
|
},
|
|
90
|
+
"engines": {
|
|
91
|
+
"node": ">=16.0.0",
|
|
92
|
+
"pnpm": ">=8.0.0"
|
|
93
|
+
},
|
|
84
94
|
"scripts": {
|
|
85
95
|
"dev": "vite",
|
|
86
96
|
"build": "vite build --base /wave-ui/",
|
|
@@ -119,7 +119,7 @@ export default {
|
|
|
119
119
|
<style lang="scss">
|
|
120
120
|
.w-accordion__item {position: relative;}
|
|
121
121
|
|
|
122
|
-
button.w-accordion__expand-icon {color:
|
|
122
|
+
button.w-accordion__expand-icon {color: color-mix(in srgb, var(--w-base-color) 40%, transparent);}
|
|
123
123
|
.w-accordion__expand-icon {
|
|
124
124
|
margin-right: $base-increment;
|
|
125
125
|
|
|
@@ -235,7 +235,7 @@ export default {
|
|
|
235
235
|
left: 1px;
|
|
236
236
|
z-index: 1;
|
|
237
237
|
transform: translateX(-50%);
|
|
238
|
-
border: 1px solid
|
|
238
|
+
border: 1px solid color-mix(in srgb, var(--w-base-bg-color) 70%, transparent);
|
|
239
239
|
background-color: $base-bg-color;
|
|
240
240
|
}
|
|
241
241
|
&--icon-outside &__icon:before {transform: scale(1.05);}
|
|
@@ -343,8 +343,8 @@ export default {
|
|
|
343
343
|
&__selection {
|
|
344
344
|
display: flex;
|
|
345
345
|
align-items: center;
|
|
346
|
-
background:
|
|
347
|
-
border: 1px solid
|
|
346
|
+
background: color-mix(in srgb, var(--w-contrast-bg-color) 3.5%, transparent);
|
|
347
|
+
border: 1px solid color-mix(in srgb, var(--w-contrast-bg-color) 5%, transparent);
|
|
348
348
|
border-radius: $border-radius;
|
|
349
349
|
padding: 0 2px 0 4px;
|
|
350
350
|
flex-shrink: 0;
|
|
@@ -363,7 +363,7 @@ export default {
|
|
|
363
363
|
}
|
|
364
364
|
|
|
365
365
|
&__placeholder {
|
|
366
|
-
color:
|
|
366
|
+
color: color-mix(in srgb, var(--w-base-color) 50%, transparent);
|
|
367
367
|
pointer-events: none;
|
|
368
368
|
line-height: 18px;
|
|
369
369
|
}
|
|
@@ -375,7 +375,7 @@ export default {
|
|
|
375
375
|
margin-top: -1px;
|
|
376
376
|
margin-left: 0;
|
|
377
377
|
background-color: $base-bg-color;
|
|
378
|
-
border: 1px solid
|
|
378
|
+
border: 1px solid color-mix(in srgb, var(--w-contrast-bg-color) 20%, transparent);
|
|
379
379
|
border-top: none;
|
|
380
380
|
border-bottom-left-radius: $border-radius;
|
|
381
381
|
border-bottom-right-radius: $border-radius;
|
|
@@ -201,7 +201,7 @@ $inactive-color: #666;
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
.w-checkbox--indeterminate & {opacity: 0;}
|
|
204
|
-
.w-checkbox--disabled & {stroke:
|
|
204
|
+
.w-checkbox--disabled & {stroke: color-mix(in srgb, var(--w-contrast-color) 40%, transparent);}
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
&__input:after {
|
|
@@ -230,7 +230,7 @@ $inactive-color: #666;
|
|
|
230
230
|
.w-checkbox--disabled :checked ~ & {
|
|
231
231
|
border-color: $disabled-color;
|
|
232
232
|
// Prevents a tiny hole while animating and in some browser zoom levels.
|
|
233
|
-
background-color:
|
|
233
|
+
background-color: color-mix(in srgb, var(--w-contrast-color) 40%, transparent);
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
|
|
@@ -175,7 +175,7 @@ export default {
|
|
|
175
175
|
left: (this.detachableCoords.left && `${~~this.detachableCoords.left}px`) || null,
|
|
176
176
|
minWidth: (this.minWidth && this.menuMinWidth) || null,
|
|
177
177
|
maxWidth: (this.maxWidth && this.menuMaxWidth) || null,
|
|
178
|
-
'--w-menu-bg-color': this.arrow && (this.$waveui.colors[this.bgColor] || '
|
|
178
|
+
'--w-menu-bg-color': this.arrow && (this.$waveui.colors[this.bgColor] || 'var(--w-base-bg-color)')
|
|
179
179
|
}
|
|
180
180
|
},
|
|
181
181
|
|
|
@@ -758,7 +758,7 @@ $tr-border-top: 1px;
|
|
|
758
758
|
// Table columns.
|
|
759
759
|
// ------------------------------------------------------
|
|
760
760
|
&__col--highlighted {
|
|
761
|
-
background-color:
|
|
761
|
+
background-color: color-mix(in srgb, var(--w-contrast-bg-color) 4%, transparent);
|
|
762
762
|
}
|
|
763
763
|
|
|
764
764
|
// Table headers.
|
|
@@ -804,7 +804,7 @@ $tr-border-top: 1px;
|
|
|
804
804
|
// Sorting arrow.
|
|
805
805
|
&__header--sortable {cursor: pointer;}
|
|
806
806
|
&__header-sort {
|
|
807
|
-
color:
|
|
807
|
+
color: color-mix(in srgb, var(--w-base-color) 8%, transparent);
|
|
808
808
|
vertical-align: text-bottom;
|
|
809
809
|
@include default-transition;
|
|
810
810
|
|
|
@@ -867,7 +867,7 @@ $tr-border-top: 1px;
|
|
|
867
867
|
tbody {transition: opacity $transition-duration;}
|
|
868
868
|
&--loading-in-header tbody {opacity: 0.6;}
|
|
869
869
|
|
|
870
|
-
tbody tr {border-top: $tr-border-top solid
|
|
870
|
+
tbody tr {border-top: $tr-border-top solid color-mix(in srgb, var(--w-base-color) 6%, transparent);}
|
|
871
871
|
// Don't apply built-in bg color if a bg color is already found on a tr.
|
|
872
872
|
tbody tr:nth-child(odd):not(.no-data):not([class*="--bg"]) {background-color: $table-tr-odd-color;}
|
|
873
873
|
tbody .w-table__row:hover:not(.no-data):not([class*="--bg"]) {background-color: $table-tr-hover-color;}
|
|
@@ -970,8 +970,8 @@ $tr-border-top: 1px;
|
|
|
970
970
|
aspect-ratio: 1;
|
|
971
971
|
min-width: 0; // Safari ratio fix (e.g. losing ratio if height is set and side padding are added).
|
|
972
972
|
overflow: hidden;
|
|
973
|
-
color:
|
|
974
|
-
background-color:
|
|
973
|
+
color: color-mix(in srgb, var(--w-base-color) 65%, transparent);
|
|
974
|
+
background-color: color-mix(in srgb, var(--w-base-bg-color) 40%, transparent);
|
|
975
975
|
|
|
976
976
|
&:hover:before {
|
|
977
977
|
background-color: $primary;
|
|
@@ -86,8 +86,8 @@ export default {
|
|
|
86
86
|
justify-content: center;
|
|
87
87
|
vertical-align: middle;
|
|
88
88
|
border-radius: $border-radius;
|
|
89
|
-
border: 1px solid
|
|
90
|
-
background-color:
|
|
89
|
+
border: 1px solid color-mix(in srgb, var(--w-contrast-bg-color) 8%, transparent);
|
|
90
|
+
background-color: color-mix(in srgb, var(--w-base-bg-color) 85%, transparent);
|
|
91
91
|
padding-left: 2 * $base-increment;
|
|
92
92
|
padding-right: 2 * $base-increment;
|
|
93
93
|
cursor: default;
|
|
@@ -95,7 +95,7 @@ export default {
|
|
|
95
95
|
|
|
96
96
|
@include themeable;
|
|
97
97
|
|
|
98
|
-
&--dark {color:
|
|
98
|
+
&--dark {color: color-mix(in srgb, var(--w-base-bg-color) 95%, transparent);}
|
|
99
99
|
&--outline {background-color: transparent;border-color: currentColor;}
|
|
100
100
|
&--no-border {border-color: transparent;}
|
|
101
101
|
&--round {border-radius: 99em;}
|
|
@@ -154,7 +154,7 @@ export default {
|
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
&:hover {
|
|
157
|
-
.w-tag__closable {background-color:
|
|
157
|
+
.w-tag__closable {background-color: color-mix(in srgb, var(--w-contrast-bg-color) 10%, transparent);}
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
// Overlay to mark the focus and active state.
|
|
@@ -172,19 +172,19 @@ export default {
|
|
|
172
172
|
|
|
173
173
|
// Hover state.
|
|
174
174
|
&:hover:before {background-color: currentColor;opacity: 0.06;}
|
|
175
|
-
&--dark:hover:before {background-color:
|
|
175
|
+
&--dark:hover:before {background-color: color-mix(in srgb, var(--w-base-bg-color) 12%, transparent);opacity: 1;}
|
|
176
176
|
&--outline:hover:before,
|
|
177
177
|
&--text:hover:before {background-color: currentColor;opacity: 0.12;}
|
|
178
178
|
|
|
179
179
|
// Focus state.
|
|
180
180
|
&:focus:before {background-color: currentColor;opacity: 0.2;}
|
|
181
|
-
&--dark:focus:before {background-color:
|
|
181
|
+
&--dark:focus:before {background-color: color-mix(in srgb, var(--w-base-bg-color) 12%, transparent);}
|
|
182
182
|
&--outline:focus:before,
|
|
183
183
|
&--text:focus:before {background-color: currentColor;opacity: 0.12;}
|
|
184
184
|
|
|
185
185
|
// Active state.
|
|
186
186
|
&:active:before {background-color: currentColor;opacity: 0.2;}
|
|
187
|
-
&--dark:active:before {background-color:
|
|
187
|
+
&--dark:active:before {background-color: color-mix(in srgb, var(--w-base-bg-color) 20%, transparent);}
|
|
188
188
|
&--outline:active:before,
|
|
189
189
|
&--text:active:before {background-color: currentColor;opacity: 0.2;}
|
|
190
190
|
}
|
|
@@ -117,7 +117,7 @@ export default {
|
|
|
117
117
|
zIndex: this.zIndex || this.zIndex === 0 || null,
|
|
118
118
|
top: (this.detachableCoords.top && `${~~this.detachableCoords.top}px`) || null,
|
|
119
119
|
left: (this.detachableCoords.left && `${~~this.detachableCoords.left}px`) || null,
|
|
120
|
-
'--w-tooltip-bg-color': this.$waveui.colors[this.bgColor] || '
|
|
120
|
+
'--w-tooltip-bg-color': this.$waveui.colors[this.bgColor] || 'var(--w-base-bg-color)'
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use "sass:map";
|
|
2
|
+
@use "variables" as *;
|
|
2
3
|
|
|
3
4
|
// The CSS variables are used in the dynamic-css.js file in order to reuse the same SCSS
|
|
4
5
|
// variable presets.
|
|
@@ -6,26 +7,26 @@
|
|
|
6
7
|
--w-base-increment: #{$base-increment};
|
|
7
8
|
--w-css-scope: #{$css-scope};
|
|
8
9
|
|
|
9
|
-
background-color:
|
|
10
|
-
color:
|
|
10
|
+
background-color: var(--w-base-bg-color);
|
|
11
|
+
color: var(--w-base-color);
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
:root[data-theme="light"] {
|
|
14
|
-
--w-base-bg-color
|
|
15
|
-
--w-base-color
|
|
16
|
-
--w-contrast-bg-color
|
|
17
|
-
--w-contrast-color
|
|
18
|
-
--w-caption-color
|
|
19
|
-
--w-disabled-color
|
|
15
|
+
--w-base-bg-color: #{map.get($theme-light, 'base-bg-color')};
|
|
16
|
+
--w-base-color: #{map.get($theme-light, 'base-color')};
|
|
17
|
+
--w-contrast-bg-color: #{map.get($theme-light, 'contrast-bg-color')};
|
|
18
|
+
--w-contrast-color: #{map.get($theme-light, 'contrast-color')};
|
|
19
|
+
--w-caption-color: #{map.get($theme-light, 'caption-color')};
|
|
20
|
+
--w-disabled-color: #{map.get($theme-light, 'disabled-color')};
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
:root[data-theme="dark"] {
|
|
23
|
-
--w-base-bg-color
|
|
24
|
-
--w-base-color
|
|
25
|
-
--w-contrast-bg-color
|
|
26
|
-
--w-contrast-color
|
|
27
|
-
--w-caption-color
|
|
28
|
-
--w-disabled-color
|
|
24
|
+
--w-base-bg-color: #{map.get($theme-dark, 'base-bg-color')};
|
|
25
|
+
--w-base-color: #{map.get($theme-dark, 'base-color')};
|
|
26
|
+
--w-contrast-bg-color: #{map.get($theme-dark, 'contrast-bg-color')};
|
|
27
|
+
--w-contrast-color: #{map.get($theme-dark, 'contrast-color')};
|
|
28
|
+
--w-caption-color: #{map.get($theme-dark, 'caption-color')};
|
|
29
|
+
--w-disabled-color: #{map.get($theme-dark, 'disabled-color')};
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
* {
|
|
@@ -63,3 +64,10 @@ a {text-decoration: none;}
|
|
|
63
64
|
padding-left: 3 * $base-increment;
|
|
64
65
|
padding-right: 3 * $base-increment;
|
|
65
66
|
}
|
|
67
|
+
|
|
68
|
+
// Structure classes.
|
|
69
|
+
// ----------------------------------------------
|
|
70
|
+
.content-wrap {
|
|
71
|
+
position: relative;
|
|
72
|
+
padding: $layout-padding;
|
|
73
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
@use 'sass:color';
|
|
2
|
+
@use 'variables' as *;
|
|
3
|
+
|
|
1
4
|
#{$css-scope} {
|
|
2
5
|
// Color palette (immutable).
|
|
3
6
|
// ------------------------------------------------------
|
|
@@ -98,14 +101,14 @@
|
|
|
98
101
|
$light-increment: 8.8;
|
|
99
102
|
$dark-increment: 5;
|
|
100
103
|
}
|
|
101
|
-
.#{$label}-light#{$i}--bg {background-color:
|
|
102
|
-
.#{$label}-light#{$i} {color:
|
|
103
|
-
.#{$label}-dark#{$i}--bg {background-color:
|
|
104
|
-
.#{$label}-dark#{$i} {color:
|
|
104
|
+
.#{$label}-light#{$i}--bg {background-color: color.adjust($color, $lightness: $light-increment * $i * 1% - $light-offset);}
|
|
105
|
+
.#{$label}-light#{$i} {color: color.adjust($color, $lightness: $light-increment * $i * 1% - $light-offset);}
|
|
106
|
+
.#{$label}-dark#{$i}--bg {background-color: color.adjust($color, $lightness: - $dark-increment * $i * 1%);}
|
|
107
|
+
.#{$label}-dark#{$i} {color: color.adjust($color, $lightness: - $dark-increment * $i * 1%);}
|
|
105
108
|
}
|
|
106
109
|
}
|
|
107
110
|
|
|
108
|
-
.primary--bg {color:
|
|
111
|
+
.primary--bg {color: var(--w-base-bg-color);}
|
|
109
112
|
.white--bg {background-color: #fff;}
|
|
110
113
|
.white {color: #fff;}
|
|
111
114
|
.black--bg {background-color: #000;}
|
|
@@ -119,10 +122,10 @@
|
|
|
119
122
|
// Theming colors.
|
|
120
123
|
// These classes carry colors which change automatically when switching theme.
|
|
121
124
|
// ------------------------------------------------------
|
|
122
|
-
.base-color {color:
|
|
123
|
-
.base-color--bg {background-color:
|
|
124
|
-
.contrast-color {color:
|
|
125
|
-
.contrast-color--bg {background-color:
|
|
125
|
+
.base-color {color: color-mix(in srgb, var(--w-base-color) 75%, transparent);}
|
|
126
|
+
.base-color--bg {background-color: var(--w-base-bg-color);}
|
|
127
|
+
.contrast-color {color: color-mix(in srgb, var(--w-contrast-color) 75%, transparent);}
|
|
128
|
+
.contrast-color--bg {background-color: var(--w-contrast-bg-color);}
|
|
126
129
|
// ------------------------------------------------------
|
|
127
130
|
|
|
128
131
|
// Status colors - must stay last and have highest priority.
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
@
|
|
2
|
-
@
|
|
3
|
-
@
|
|
4
|
-
@
|
|
5
|
-
@
|
|
6
|
-
@
|
|
7
|
-
|
|
8
|
-
// ==============================================
|
|
9
|
-
// Wave UI framework classes.
|
|
10
|
-
// ==============================================
|
|
11
|
-
|
|
12
|
-
// Structure classes.
|
|
13
|
-
// ----------------------------------------------
|
|
14
|
-
.content-wrap {
|
|
15
|
-
position: relative;
|
|
16
|
-
padding: $layout-padding;
|
|
17
|
-
}
|
|
18
|
-
// ----------------------------------------------
|
|
1
|
+
@forward 'base';
|
|
2
|
+
@forward 'typography';
|
|
3
|
+
@forward 'layout';
|
|
4
|
+
@forward 'colors';
|
|
5
|
+
@forward 'icons';
|
|
6
|
+
@forward 'transitions';
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
@use "sass:map";
|
|
2
|
+
@use "variables" as *;
|
|
2
3
|
|
|
3
4
|
// This allows each UI component to be used in dark or light theme regardless of the global theme.
|
|
4
5
|
@mixin themeable {
|
|
5
6
|
// Will force the light style on this component.
|
|
6
7
|
&--light {
|
|
7
|
-
--w-base-bg-color
|
|
8
|
-
--w-base-color
|
|
9
|
-
--w-contrast-bg-color
|
|
10
|
-
--w-contrast-color
|
|
11
|
-
--w-disabled-color
|
|
12
|
-
color: rgba(var(--w-base-color
|
|
8
|
+
--w-base-bg-color: #{map.get($theme-light, 'base-bg-color')};
|
|
9
|
+
--w-base-color: #{map.get($theme-light, 'base-color')};
|
|
10
|
+
--w-contrast-bg-color: #{map.get($theme-light, 'contrast-bg-color')};
|
|
11
|
+
--w-contrast-color: #{map.get($theme-light, 'contrast-color')};
|
|
12
|
+
--w-disabled-color: #{map.get($theme-light, 'disabled-color')};
|
|
13
|
+
color: rgba(var(--w-base-color), 0.7);
|
|
13
14
|
}
|
|
14
15
|
// Will force the dark style on this component.
|
|
15
16
|
&--dark {
|
|
16
|
-
--w-base-bg-color
|
|
17
|
-
--w-base-color
|
|
18
|
-
--w-contrast-bg-color
|
|
19
|
-
--w-contrast-color
|
|
20
|
-
--w-disabled-color
|
|
21
|
-
color: rgba(var(--w-base-color
|
|
17
|
+
--w-base-bg-color: #{map.get($theme-dark, 'base-bg-color')};
|
|
18
|
+
--w-base-color: #{map.get($theme-dark, 'base-color')};
|
|
19
|
+
--w-contrast-bg-color: #{map.get($theme-dark, 'contrast-bg-color')};
|
|
20
|
+
--w-contrast-color: #{map.get($theme-dark, 'contrast-color')};
|
|
21
|
+
--w-disabled-color: #{map.get($theme-dark, 'disabled-color')};
|
|
22
|
+
color: rgba(var(--w-base-color), 0.7);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
|
|
@@ -7,36 +7,35 @@
|
|
|
7
7
|
|
|
8
8
|
// THEME COLORS.
|
|
9
9
|
// ========================================================
|
|
10
|
-
// These colors are defined by a list of RBG channels only, so you can later apply any alpha channel.
|
|
11
10
|
// If you don't need themes, you can leave this as is and override the global defaults.
|
|
12
11
|
$theme-light: (
|
|
13
|
-
base-bg-color
|
|
14
|
-
base-color
|
|
15
|
-
contrast-bg-color
|
|
16
|
-
contrast-color
|
|
17
|
-
caption-color
|
|
18
|
-
disabled-color
|
|
12
|
+
base-bg-color: #fff,
|
|
13
|
+
base-color: #000,
|
|
14
|
+
contrast-bg-color: #000,
|
|
15
|
+
contrast-color: #fff,
|
|
16
|
+
caption-color: #a0a0a0,
|
|
17
|
+
disabled-color: #ccc
|
|
19
18
|
) !default;
|
|
20
19
|
|
|
21
20
|
$theme-dark: (
|
|
22
|
-
base-bg-color
|
|
23
|
-
base-color
|
|
24
|
-
contrast-bg-color
|
|
25
|
-
contrast-color
|
|
26
|
-
caption-color
|
|
27
|
-
disabled-color
|
|
21
|
+
base-bg-color: #222,
|
|
22
|
+
base-color: #fff,
|
|
23
|
+
contrast-bg-color: #fff,
|
|
24
|
+
contrast-color: #000,
|
|
25
|
+
caption-color: #6e6e6e,
|
|
26
|
+
disabled-color: #4a4a4a
|
|
28
27
|
) !default;
|
|
29
28
|
|
|
30
29
|
// These variables are filled up with the current theme colors for you to use.
|
|
31
30
|
$primary: var(--w-primary-color);
|
|
32
31
|
$secondary: var(--w-secondary-color);
|
|
33
|
-
$base-bg-color:
|
|
34
|
-
$base-color:
|
|
35
|
-
$contrast-bg-color:
|
|
36
|
-
$contrast-color:
|
|
37
|
-
$caption-color:
|
|
32
|
+
$base-bg-color: var(--w-base-bg-color);
|
|
33
|
+
$base-color: var(--w-base-color);
|
|
34
|
+
$contrast-bg-color: var(--w-contrast-bg-color);
|
|
35
|
+
$contrast-color: var(--w-contrast-color);
|
|
36
|
+
$caption-color: var(--w-caption-color);
|
|
38
37
|
// When a form element is disabled (checkbox, radio, input, select list).
|
|
39
|
-
$disabled-color:
|
|
38
|
+
$disabled-color: var(--w-disabled-color);
|
|
40
39
|
|
|
41
40
|
// GLOBAL DEFAULTS.
|
|
42
41
|
// ========================================================
|
|
@@ -48,7 +47,7 @@ $base-font-size: 14px !default; // Must be a px unit.
|
|
|
48
47
|
$base-increment: round(divide($base-font-size, 4)) !default;
|
|
49
48
|
$layout-padding: $base-increment * 4 !default; // Applied on the .content-wrap tag.
|
|
50
49
|
$border-radius: 4px !default;
|
|
51
|
-
$border-color:
|
|
50
|
+
$border-color: color-mix(in srgb, var(--w-contrast-bg-color) 12%, transparent) !default;
|
|
52
51
|
$border: 1px solid $border-color !default;
|
|
53
52
|
$transition-duration: 0.25s !default;
|
|
54
53
|
$fast-transition-duration: 0.15s !default;
|
|
@@ -95,35 +94,35 @@ $menu-color: $detachable-color !default;
|
|
|
95
94
|
|
|
96
95
|
// w-progress.
|
|
97
96
|
// --------------------------------------------------------
|
|
98
|
-
$progress-bg-color:
|
|
97
|
+
$progress-bg-color: color-mix(in srgb, var(--w-contrast-bg-color) 15%, transparent) !default;
|
|
99
98
|
// --------------------------------------------------------
|
|
100
99
|
|
|
101
100
|
// w-rating.
|
|
102
101
|
// --------------------------------------------------------
|
|
103
|
-
$rating-bg-color:
|
|
102
|
+
$rating-bg-color: color-mix(in srgb, var(--w-contrast-bg-color) 25%, transparent) !default;
|
|
104
103
|
// --------------------------------------------------------
|
|
105
104
|
|
|
106
105
|
// w-slider.
|
|
107
106
|
// --------------------------------------------------------
|
|
108
107
|
$slider-height: $base-increment !default;
|
|
109
|
-
$slider-track-color:
|
|
108
|
+
$slider-track-color: color-mix(in srgb, var(--w-contrast-bg-color) 15%, transparent) !default;
|
|
110
109
|
$slider-thumb-button-bg-color: $base-bg-color !default;
|
|
111
110
|
$slider-thumb-label-bg-color: $base-bg-color !default;
|
|
112
|
-
$slider-thumb-label-color:
|
|
113
|
-
$slider-step-label-bg-color:
|
|
114
|
-
$slider-step-label-color:
|
|
111
|
+
$slider-thumb-label-color: color-mix(in srgb, var(--w-base-color) 75%, transparent) !default;
|
|
112
|
+
$slider-step-label-bg-color: color-mix(in srgb, var(--w-contrast-bg-color) 20%, transparent) !default;
|
|
113
|
+
$slider-step-label-color: color-mix(in srgb, var(--w-base-color) 50%, transparent) !default;
|
|
115
114
|
|
|
116
115
|
// w-switch.
|
|
117
116
|
// --------------------------------------------------------
|
|
118
|
-
$switch-inactive-color:
|
|
117
|
+
$switch-inactive-color: color-mix(in srgb, var(--w-contrast-bg-color) 25%, transparent) !default;
|
|
119
118
|
$switch-thumb-color: $base-bg-color !default;
|
|
120
119
|
// --------------------------------------------------------
|
|
121
120
|
|
|
122
121
|
// w-table.
|
|
123
122
|
// --------------------------------------------------------
|
|
124
|
-
$table-tr-odd-color:
|
|
125
|
-
$table-tr-hover-color:
|
|
126
|
-
$table-color:
|
|
123
|
+
$table-tr-odd-color: color-mix(in srgb, var(--w-contrast-bg-color) 2%, transparent) !default;
|
|
124
|
+
$table-tr-hover-color: color-mix(in srgb, var(--w-contrast-bg-color) 5%, transparent) !default;
|
|
125
|
+
$table-color: color-mix(in srgb, var(--w-contrast-color) 70%, transparent) !default;
|
|
127
126
|
// --------------------------------------------------------
|
|
128
127
|
|
|
129
128
|
// w-textarea.
|
|
@@ -134,7 +133,7 @@ $textarea-line-height: 1.2 !default;
|
|
|
134
133
|
// w-timeline.
|
|
135
134
|
// --------------------------------------------------------
|
|
136
135
|
$timeline-bullet-color: $base-bg-color !default;
|
|
137
|
-
$timeline-bg-color:
|
|
136
|
+
$timeline-bg-color: color-mix(in srgb, var(--w-contrast-bg-color) 25%, transparent) !default;
|
|
138
137
|
// --------------------------------------------------------
|
|
139
138
|
|
|
140
139
|
// w-toolbar.
|
|
@@ -149,7 +148,3 @@ $tooltip-bg-color: $detachable-bg-color !default;
|
|
|
149
148
|
$tooltip-color: $detachable-color !default;
|
|
150
149
|
$tooltip-border-color: $border-color !default;
|
|
151
150
|
// --------------------------------------------------------
|
|
152
|
-
|
|
153
|
-
// Mixins.
|
|
154
|
-
// --------------------------------------------------------
|
|
155
|
-
@import './mixins';
|