wave-ui 2.24.0 → 2.28.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/wave-ui.cjs.js +1 -1
- package/dist/wave-ui.css +1 -1
- package/dist/wave-ui.es.js +7346 -1
- package/dist/wave-ui.umd.js +1 -1
- package/package.json +17 -16
- package/src/wave-ui/components/index.js +3 -2
- package/src/wave-ui/components/w-app.vue +42 -2
- package/src/wave-ui/components/w-badge.vue +19 -9
- package/src/wave-ui/components/w-card.vue +19 -5
- package/src/wave-ui/components/w-confirm.vue +103 -0
- package/src/wave-ui/components/w-icon.vue +3 -15
- package/src/wave-ui/components/w-input.vue +71 -19
- package/src/wave-ui/components/w-menu.vue +92 -47
- package/src/wave-ui/components/w-notification-manager.vue +1 -1
- package/src/wave-ui/components/w-switch.vue +1 -0
- package/src/wave-ui/components/w-table.vue +58 -29
- package/src/wave-ui/components/{w-tabs.vue → w-tabs/index.vue} +20 -14
- package/src/wave-ui/components/w-tabs/tab-content.vue +8 -0
- package/src/wave-ui/components/w-tooltip.vue +11 -8
- package/src/wave-ui/scss/_base.scss +0 -21
- package/src/wave-ui/scss/_icons.scss +4 -1
- package/src/wave-ui/scss/_layout.scss +202 -192
- package/src/wave-ui/scss/_mixins.scss +100 -0
- package/src/wave-ui/scss/_transitions.scss +4 -4
- package/src/wave-ui/scss/_variables.scss +7 -10
- package/src/wave-ui/utils/index.js +11 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: 'wave-ui';
|
|
3
|
-
|
|
3
|
+
// Base64 encoded woff font (https://hellogreg.github.io/woff2base).
|
|
4
|
+
src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
|
|
4
5
|
font-weight: normal;
|
|
5
6
|
font-style: normal;
|
|
6
7
|
}
|
|
@@ -41,3 +42,5 @@
|
|
|
41
42
|
.wi-star:before {content: "\e013";}
|
|
42
43
|
.wi-search:before {content: "\e014";}
|
|
43
44
|
.wi-wave:before {content: "\e015";}
|
|
45
|
+
.wi-file:before {content: "\e016";}
|
|
46
|
+
.wi-spinner:before {content: "\e017";}
|
|
@@ -1,204 +1,214 @@
|
|
|
1
|
-
// The CSS variables are used in the dynamic-css in order to reuse the same SCSS
|
|
1
|
+
// The CSS variables are used in the dynamic-css.js file in order to reuse the same SCSS
|
|
2
|
+
// variable presets.
|
|
2
3
|
:root {
|
|
3
4
|
--base-increment: #{$base-increment};
|
|
4
5
|
--css-scope: #{$css-scope};
|
|
5
6
|
}
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
@for $i from 1 through 6 {
|
|
64
|
-
.bdrs#{$i} {border-radius: round($i * $base-increment);}
|
|
65
|
-
}
|
|
66
|
-
.bdrsr {border-radius: 999em;}
|
|
67
|
-
.bdrsm {border-radius: 100%;}
|
|
68
|
-
.bdrs0 {border-radius: 0;}
|
|
69
|
-
// ----------------------------------------------
|
|
70
|
-
|
|
71
|
-
// Shadows (from -6 to 6).
|
|
72
|
-
// ----------------------------------------------
|
|
73
|
-
@for $i from -6 through -1 {
|
|
74
|
-
.sh#{$i} {
|
|
75
|
-
box-shadow: 0 0 (-1 * round($i * $base-increment)) rgba(#000, max(0.15 * divide(-$i, 2), 0.15)) inset;
|
|
8
|
+
// All these CSS classes will not be generated if the $use-layout-classes is set to false.
|
|
9
|
+
@if $use-layout-classes {
|
|
10
|
+
#{$css-scope} {
|
|
11
|
+
// Layout classes.
|
|
12
|
+
// ----------------------------------------------
|
|
13
|
+
.show {display: block;}
|
|
14
|
+
.hide {display: none;}
|
|
15
|
+
.spacer {flex-grow: 1;}
|
|
16
|
+
|
|
17
|
+
.grow {flex-grow: 1;flex-basis: auto;}
|
|
18
|
+
.no-grow {flex-grow: 0;}
|
|
19
|
+
.shrink {flex-shrink: 1;margin-left: auto;margin-right: auto;}
|
|
20
|
+
.no-shrink {flex-shrink: 0;}
|
|
21
|
+
.fill-width {width: 100%;}
|
|
22
|
+
.fill-height {height: 100%;}
|
|
23
|
+
.basis-zero {flex-basis: 0;}
|
|
24
|
+
|
|
25
|
+
.align-start {align-items: flex-start;}
|
|
26
|
+
.align-center {align-items: center;}
|
|
27
|
+
.align-end {align-items: flex-end;}
|
|
28
|
+
.align-self-start {align-self: flex-start;}
|
|
29
|
+
.align-self-center {align-self: center;}
|
|
30
|
+
.align-self-end {align-self: flex-end;}
|
|
31
|
+
.align-self-stretch {align-self: stretch;}
|
|
32
|
+
.justify-start {justify-content: flex-start;}
|
|
33
|
+
.justify-center {justify-content: center;}
|
|
34
|
+
.justify-end {justify-content: flex-end;}
|
|
35
|
+
// There is no justify-self in Flexbox.
|
|
36
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Alignment/Box_Alignment_in_Flexbox
|
|
37
|
+
.justify-space-between {justify-content: space-between;}
|
|
38
|
+
.justify-space-around {justify-content: space-around;}
|
|
39
|
+
.justify-space-evenly {justify-content: space-evenly;}
|
|
40
|
+
|
|
41
|
+
.text-left {text-align: left;}
|
|
42
|
+
.text-center {text-align: center;}
|
|
43
|
+
.text-right {text-align: right;}
|
|
44
|
+
.text-nowrap {white-space: nowrap;}
|
|
45
|
+
|
|
46
|
+
.lh0 {line-height: 1;}
|
|
47
|
+
.lh1 {line-height: 1.2;}
|
|
48
|
+
.lh2 {line-height: 1.4;}
|
|
49
|
+
.lh3 {line-height: 1.6;}
|
|
50
|
+
.lh4 {line-height: 1.8;}
|
|
51
|
+
.lh5 {line-height: 2;}
|
|
52
|
+
|
|
53
|
+
.d-flex {display: flex;}
|
|
54
|
+
.d-iflex {display: inline-flex;}
|
|
55
|
+
.d-block {display: block;}
|
|
56
|
+
.d-iblock {display: inline-block;}
|
|
57
|
+
// ----------------------------------------------
|
|
58
|
+
|
|
59
|
+
// Borders (from 0 to 6), radii (from 0 to 6 + `m` for max).
|
|
60
|
+
// ----------------------------------------------
|
|
61
|
+
@for $i from 1 through 6 {
|
|
62
|
+
.bd#{$i} {border: $i + px solid $border-color;}
|
|
76
63
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
.
|
|
80
|
-
|
|
81
|
-
|
|
64
|
+
.bdx1 {border-left: 1px solid $border-color;border-right: 1px solid $border-color;}
|
|
65
|
+
.bdy1 {border-top: 1px solid $border-color;border-bottom: 1px solid $border-color;}
|
|
66
|
+
.bdl1 {border-left: 1px solid $border-color;}
|
|
67
|
+
.bdr1 {border-right: 1px solid $border-color;}
|
|
68
|
+
.bdt1 {border-top: 1px solid $border-color;}
|
|
69
|
+
.bdb1 {border-bottom: 1px solid $border-color;}
|
|
70
|
+
.bd0 {border: none;}
|
|
71
|
+
|
|
72
|
+
@for $i from 1 through 6 {
|
|
73
|
+
.bdrs#{$i} {border-radius: round($i * $base-increment);}
|
|
82
74
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
.maa {margin: auto;}
|
|
96
|
-
.ma0 {margin: 0;}
|
|
97
|
-
|
|
98
|
-
@for $i from 0 through 12 {
|
|
99
|
-
$number: round($i * $base-increment);
|
|
100
|
-
.mx#{$i} {margin-left: $number;margin-right: $number;}
|
|
101
|
-
.my#{$i} {margin-top: $number;margin-bottom: $number;}
|
|
102
|
-
@if ($i > 0) {
|
|
103
|
-
.mx-#{$i} {margin-left: -$number;margin-right: -$number;}
|
|
104
|
-
.my-#{$i} {margin-top: -$number;margin-bottom: -$number;}
|
|
75
|
+
.bdrsr {border-radius: 999em;}
|
|
76
|
+
.bdrsm {border-radius: 100%;}
|
|
77
|
+
.bdrs0 {border-radius: 0;}
|
|
78
|
+
// ----------------------------------------------
|
|
79
|
+
|
|
80
|
+
// Shadows (from -6 to 6).
|
|
81
|
+
// ----------------------------------------------
|
|
82
|
+
@for $i from -6 through -1 {
|
|
83
|
+
.sh#{$i} {
|
|
84
|
+
box-shadow: 0 0 (-1 * round($i * $base-increment)) rgba(#000, max(0.15 * divide(-$i, 2), 0.15)) inset;
|
|
85
|
+
}
|
|
105
86
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
@for $i from 0 through 12 {
|
|
113
|
-
$number: round($i * $base-increment);
|
|
114
|
-
.mt#{$i} {margin-top: $number;}
|
|
115
|
-
.mr#{$i} {margin-right: $number;}
|
|
116
|
-
.mb#{$i} {margin-bottom: $number;}
|
|
117
|
-
.ml#{$i} {margin-left: $number;}
|
|
118
|
-
@if ($i > 0) {
|
|
119
|
-
.mt-#{$i} {margin-top: -$number;}
|
|
120
|
-
.mr-#{$i} {margin-right: -$number;}
|
|
121
|
-
.mb-#{$i} {margin-bottom: -$number;}
|
|
122
|
-
.ml-#{$i} {margin-left: -$number;}
|
|
87
|
+
@for $i from 1 through 6 {
|
|
88
|
+
.sh#{$i} {
|
|
89
|
+
box-shadow: 0 0 1px rgba(#000, 0.1),
|
|
90
|
+
round($base-increment * divide($i, 4)) round($base-increment * divide($i, 4)) round($i * $base-increment) rgba(#000, max(0.15 * divide($i, 2), 0.15));
|
|
91
|
+
}
|
|
123
92
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
93
|
+
.sh0 {box-shadow: none;}
|
|
94
|
+
// ----------------------------------------------
|
|
95
|
+
|
|
96
|
+
// Spaces.
|
|
97
|
+
// ----------------------------------------------
|
|
98
|
+
// Margin.
|
|
99
|
+
@for $i from 0 through 12 {
|
|
100
|
+
$number: round($i * $base-increment);
|
|
101
|
+
.ma#{$i} {margin: $number;}
|
|
102
|
+
@if ($i > 0) {.ma-#{$i} {margin: -$number;}}
|
|
103
|
+
}
|
|
104
|
+
.maa {margin: auto;}
|
|
105
|
+
.ma0 {margin: 0;}
|
|
106
|
+
|
|
107
|
+
@for $i from 0 through 12 {
|
|
108
|
+
$number: round($i * $base-increment);
|
|
109
|
+
.mx#{$i} {margin-left: $number;margin-right: $number;}
|
|
110
|
+
.my#{$i} {margin-top: $number;margin-bottom: $number;}
|
|
111
|
+
@if ($i > 0) {
|
|
112
|
+
.mx-#{$i} {margin-left: -$number;margin-right: -$number;}
|
|
113
|
+
.my-#{$i} {margin-top: -$number;margin-bottom: -$number;}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
.mxa {margin-left: auto;margin-right: auto;}
|
|
117
|
+
.mya {margin-top: auto;margin-bottom: auto;}
|
|
118
|
+
.mx0 {margin-left: 0;margin-right: 0;}
|
|
119
|
+
.my0 {margin-top: 0;margin-bottom: 0;}
|
|
120
|
+
|
|
121
|
+
@for $i from 0 through 12 {
|
|
122
|
+
$number: round($i * $base-increment);
|
|
123
|
+
.mt#{$i} {margin-top: $number;}
|
|
124
|
+
.mr#{$i} {margin-right: $number;}
|
|
125
|
+
.mb#{$i} {margin-bottom: $number;}
|
|
126
|
+
.ml#{$i} {margin-left: $number;}
|
|
127
|
+
@if ($i > 0) {
|
|
128
|
+
.mt-#{$i} {margin-top: -$number;}
|
|
129
|
+
.mr-#{$i} {margin-right: -$number;}
|
|
130
|
+
.mb-#{$i} {margin-bottom: -$number;}
|
|
131
|
+
.ml-#{$i} {margin-left: -$number;}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
.mta {margin-top: auto;}
|
|
135
|
+
.mra {margin-right: auto;}
|
|
136
|
+
.mba {margin-bottom: auto;}
|
|
137
|
+
.mla {margin-left: auto;}
|
|
138
|
+
.mt0 {margin-top: 0;}
|
|
139
|
+
.mr0 {margin-right: 0;}
|
|
140
|
+
.mb0 {margin-bottom: 0;}
|
|
141
|
+
.ml0 {margin-left: 0;}
|
|
142
|
+
|
|
143
|
+
// Padding.
|
|
144
|
+
@for $i from 1 through 12 {
|
|
145
|
+
$number: round($i * $base-increment);
|
|
146
|
+
.pa#{$i} {padding: $number;}
|
|
147
|
+
}
|
|
148
|
+
.pa0 {padding: 0;}
|
|
140
149
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
150
|
+
@for $i from 0 through 12 {
|
|
151
|
+
$number: round($i * $base-increment);
|
|
152
|
+
.px#{$i} {padding-left: $number;padding-right: $number;}
|
|
153
|
+
.py#{$i} {padding-top: $number;padding-bottom: $number;}
|
|
154
|
+
}
|
|
155
|
+
.px0 {padding-left: 0;padding-right: 0;}
|
|
156
|
+
.py0 {padding-top: 0;padding-bottom: 0;}
|
|
157
|
+
|
|
158
|
+
@for $i from 0 through 12 {
|
|
159
|
+
$number: round($i * $base-increment);
|
|
160
|
+
.pt#{$i} {padding-top: $number;}
|
|
161
|
+
.pr#{$i} {padding-right: $number;}
|
|
162
|
+
.pb#{$i} {padding-bottom: $number;}
|
|
163
|
+
.pl#{$i} {padding-left: $number;}
|
|
164
|
+
}
|
|
165
|
+
.pt0 {padding-top: 0;}
|
|
166
|
+
.pr0 {padding-right: 0;}
|
|
167
|
+
.pb0 {padding-bottom: 0;}
|
|
168
|
+
.pl0 {padding-left: 0;}
|
|
169
|
+
// ----------------------------------------------
|
|
170
|
+
|
|
171
|
+
// Sizes.
|
|
172
|
+
// ----------------------------------------------
|
|
173
|
+
// In all the sizes bellow, round(x / 2) * 2 to always have even numbers.
|
|
174
|
+
// Different heights with a mix of odd and even numbers will misalign
|
|
175
|
+
// when vertically centering (vertical-align or align-items center).
|
|
176
|
+
.size--xs {font-size: round(0.85 * $base-font-size);}
|
|
177
|
+
.size--sm {font-size: round(1 * $base-font-size);}
|
|
178
|
+
.size--md {font-size: round(1.1 * $base-font-size);}
|
|
179
|
+
.size--lg {font-size: round(1.4 * $base-font-size);}
|
|
180
|
+
.size--xl {font-size: round(1.65 * $base-font-size);}
|
|
181
|
+
// ----------------------------------------------
|
|
182
|
+
|
|
183
|
+
// Grid system.
|
|
184
|
+
// ----------------------------------------------
|
|
185
|
+
// CSS variables are not supported in media queries yet
|
|
186
|
+
// (https://www.w3.org/TR/css-variables-1/#using-variables),
|
|
187
|
+
// the grid system is done dynamically in dynamic-css.js.
|
|
188
|
+
|
|
189
|
+
// @media screen and (min-width: var(--breakpoint-xs)) {
|
|
190
|
+
// @for $i from 0 through $grid-base {
|
|
191
|
+
// .sm#{$grid-base - $i} {width: ($grid-base - $i) * 100% / $grid-base;}
|
|
192
|
+
// }
|
|
193
|
+
// }
|
|
194
|
+
|
|
195
|
+
// @media screen and (min-width: var(--breakpoint-sm)) {
|
|
196
|
+
// @for $i from 0 through $grid-base {
|
|
197
|
+
// .md#{$grid-base - $i} {width: ($grid-base - $i) * 100% / $grid-base;}
|
|
198
|
+
// }
|
|
199
|
+
// }
|
|
200
|
+
|
|
201
|
+
// @media screen and (min-width: var(--breakpoint-md)) {
|
|
202
|
+
// @for $i from 0 through $grid-base {
|
|
203
|
+
// .lg#{$grid-base - $i} {width: ($grid-base - $i) * 100% / $grid-base;}
|
|
204
|
+
// }
|
|
205
|
+
// }
|
|
206
|
+
|
|
207
|
+
// @media screen and (min-width: var(--breakpoint-lg)) {
|
|
208
|
+
// @for $i from 0 through $grid-base {
|
|
209
|
+
// .xl#{$grid-base - $i} {width: ($grid-base - $i) * 100% / $grid-base;}
|
|
210
|
+
// }
|
|
211
|
+
// }
|
|
212
|
+
// ----------------------------------------------
|
|
155
213
|
}
|
|
156
|
-
.pt0 {padding-top: 0;}
|
|
157
|
-
.pr0 {padding-right: 0;}
|
|
158
|
-
.pb0 {padding-bottom: 0;}
|
|
159
|
-
.pl0 {padding-left: 0;}
|
|
160
|
-
// ----------------------------------------------
|
|
161
|
-
|
|
162
|
-
// Sizes.
|
|
163
|
-
// ----------------------------------------------
|
|
164
|
-
// In all the sizes bellow, round(x / 2) * 2 to always have even numbers.
|
|
165
|
-
// Different heights with a mix of odd and even numbers will misalign
|
|
166
|
-
// when vertically centering (vertical-align or align-items center).
|
|
167
|
-
.size--xs {font-size: round(0.85 * $base-font-size);}
|
|
168
|
-
.size--sm {font-size: round(1 * $base-font-size);}
|
|
169
|
-
.size--md {font-size: round(1.1 * $base-font-size);}
|
|
170
|
-
.size--lg {font-size: round(1.4 * $base-font-size);}
|
|
171
|
-
.size--xl {font-size: round(1.65 * $base-font-size);}
|
|
172
|
-
// ----------------------------------------------
|
|
173
|
-
|
|
174
|
-
// Grid system.
|
|
175
|
-
// ----------------------------------------------
|
|
176
|
-
// CSS variables are not supported in media queries yet
|
|
177
|
-
// (https://www.w3.org/TR/css-variables-1/#using-variables),
|
|
178
|
-
// the grid system is done dynamically in dynamic-css.js.
|
|
179
|
-
|
|
180
|
-
// @media screen and (min-width: var(--breakpoint-xs)) {
|
|
181
|
-
// @for $i from 0 through $grid-base {
|
|
182
|
-
// .sm#{$grid-base - $i} {width: ($grid-base - $i) * 100% / $grid-base;}
|
|
183
|
-
// }
|
|
184
|
-
// }
|
|
185
|
-
|
|
186
|
-
// @media screen and (min-width: var(--breakpoint-sm)) {
|
|
187
|
-
// @for $i from 0 through $grid-base {
|
|
188
|
-
// .md#{$grid-base - $i} {width: ($grid-base - $i) * 100% / $grid-base;}
|
|
189
|
-
// }
|
|
190
|
-
// }
|
|
191
|
-
|
|
192
|
-
// @media screen and (min-width: var(--breakpoint-md)) {
|
|
193
|
-
// @for $i from 0 through $grid-base {
|
|
194
|
-
// .lg#{$grid-base - $i} {width: ($grid-base - $i) * 100% / $grid-base;}
|
|
195
|
-
// }
|
|
196
|
-
// }
|
|
197
|
-
|
|
198
|
-
// @media screen and (min-width: var(--breakpoint-lg)) {
|
|
199
|
-
// @for $i from 0 through $grid-base {
|
|
200
|
-
// .xl#{$grid-base - $i} {width: ($grid-base - $i) * 100% / $grid-base;}
|
|
201
|
-
// }
|
|
202
|
-
// }
|
|
203
|
-
// ----------------------------------------------
|
|
204
214
|
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
@mixin default-transition($duration: $transition-duration, $delay: 0s) {
|
|
2
|
+
transition: $duration $delay ease-in-out;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
@mixin out-back-transition($duration: $transition-duration, $delay: 0s) {
|
|
6
|
+
transition: $duration $delay cubic-bezier(0.18, 0.89, 0.32, 1.28);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Generates a triangle arrow on the edge of an element.
|
|
11
|
+
*
|
|
12
|
+
* @param $color: the color to apply to the triangle.
|
|
13
|
+
* @param $selector: the element selector that receives the modifiers (--top, --left, etc.).
|
|
14
|
+
* @param $size: the triangle size at the base.
|
|
15
|
+
* @param $thickness: the border thickness, 0 to remove the border.
|
|
16
|
+
*/
|
|
17
|
+
@mixin triangle($color: white, $selector: '', $size: 7px, $thickness: 1px) {
|
|
18
|
+
@if ($thickness > 0) {
|
|
19
|
+
// The underneath border triangle.
|
|
20
|
+
&:before {
|
|
21
|
+
content: '';
|
|
22
|
+
position: absolute;
|
|
23
|
+
width: 0;
|
|
24
|
+
height: 0;
|
|
25
|
+
border: $size solid transparent;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&#{$selector}--top:before {
|
|
29
|
+
top: 100%;
|
|
30
|
+
left: 50%;
|
|
31
|
+
border-top-color: inherit;
|
|
32
|
+
transform: translateX(-50%);
|
|
33
|
+
margin-top: 0;
|
|
34
|
+
}
|
|
35
|
+
&#{$selector}--bottom:before {
|
|
36
|
+
bottom: 100%;
|
|
37
|
+
left: 50%;
|
|
38
|
+
border-bottom-color: inherit;
|
|
39
|
+
transform: translateX(-50%);
|
|
40
|
+
margin-bottom: 0;
|
|
41
|
+
}
|
|
42
|
+
&#{$selector}--left:before {
|
|
43
|
+
left: 100%;
|
|
44
|
+
top: 50%;
|
|
45
|
+
border-left-color: inherit;
|
|
46
|
+
transform: translateY(-50%);
|
|
47
|
+
margin-left: 0;
|
|
48
|
+
}
|
|
49
|
+
&#{$selector}--right:before {
|
|
50
|
+
right: 100%;
|
|
51
|
+
top: 50%;
|
|
52
|
+
border-right-color: inherit;
|
|
53
|
+
transform: translateY(-50%);
|
|
54
|
+
margin-right: 0;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&#{$selector}--align-top:before {transform: none;top: (2 * $base-increment) - 1px;}
|
|
58
|
+
&#{$selector}--align-bottom:before {transform: none;top: auto;bottom: (2 * $base-increment) - 1px;}
|
|
59
|
+
&#{$selector}--align-left:before {transform: none;left: (2 * $base-increment) - 1px;}
|
|
60
|
+
&#{$selector}--align-right:before {transform: none;left: auto;right: (2 * $base-increment) - 1px;}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// The colored triangle on top of `:before`.
|
|
64
|
+
&:after {
|
|
65
|
+
content: '';
|
|
66
|
+
position: absolute;
|
|
67
|
+
width: 0;
|
|
68
|
+
height: 0;
|
|
69
|
+
border: ($size - $thickness) solid transparent;
|
|
70
|
+
}
|
|
71
|
+
&#{$selector}--top:after {
|
|
72
|
+
top: 100%;
|
|
73
|
+
left: 50%;
|
|
74
|
+
border-top-color: $color;
|
|
75
|
+
transform: translateX(-50%);
|
|
76
|
+
}
|
|
77
|
+
&#{$selector}--bottom:after {
|
|
78
|
+
bottom: 100%;
|
|
79
|
+
left: 50%;
|
|
80
|
+
border-bottom-color: $color;
|
|
81
|
+
transform: translateX(-50%);
|
|
82
|
+
}
|
|
83
|
+
&#{$selector}--left:after {
|
|
84
|
+
left: 100%;
|
|
85
|
+
top: 50%;
|
|
86
|
+
border-left-color: $color;
|
|
87
|
+
transform: translateY(-50%);
|
|
88
|
+
}
|
|
89
|
+
&#{$selector}--right:after {
|
|
90
|
+
right: 100%;
|
|
91
|
+
top: 50%;
|
|
92
|
+
border-right-color: $color;
|
|
93
|
+
transform: translateY(-50%);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
&#{$selector}--align-top:after {transform: none;top: 2 * $base-increment;}
|
|
97
|
+
&#{$selector}--align-bottom:after {transform: none;top: auto;bottom: 2 * $base-increment;}
|
|
98
|
+
&#{$selector}--align-left:after {transform: none;left: 2 * $base-increment;}
|
|
99
|
+
&#{$selector}--align-right:after {transform: none;left: auto;right: 2 * $base-increment;}
|
|
100
|
+
}
|
|
@@ -142,11 +142,11 @@ $fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1);
|
|
|
142
142
|
|
|
143
143
|
// Twist.
|
|
144
144
|
// --------------------------------------------------------
|
|
145
|
-
.twist-enter-active {animation: w-twist $transition-duration;}
|
|
146
|
-
.twist-leave-active {animation: w-twist $transition-duration reverse;}
|
|
145
|
+
.twist-enter-active {animation: w-twist ($transition-duration + 0.25s);}
|
|
146
|
+
.twist-leave-active {animation: w-twist ($transition-duration + 0.25s) reverse;}
|
|
147
147
|
@keyframes w-twist {
|
|
148
|
-
0% {transform: scale(0) rotate(-
|
|
149
|
-
60% {transform: scale(1.03) rotate(
|
|
148
|
+
0% {transform: scale(0) rotate(-70deg);}
|
|
149
|
+
60% {transform: scale(1.03) rotate(6deg);}
|
|
150
150
|
100% {transform: scale(1) rotate(0deg);}
|
|
151
151
|
}
|
|
152
152
|
// --------------------------------------------------------
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
// GLOBAL DEFAULTS.
|
|
9
9
|
// ========================================================
|
|
10
10
|
$css-scope: '.w-app' !default; // Allows control on CSS rules priority.
|
|
11
|
+
// True by default. False allows you to use an external CSS library (like Tailwind).
|
|
12
|
+
$use-layout-classes: true !default;
|
|
11
13
|
|
|
12
14
|
$base-font-size: 14px !default;
|
|
13
15
|
$base-increment: round(divide($base-font-size, 4)) !default;
|
|
@@ -15,7 +17,7 @@ $layout-padding: $base-increment * 4 !default; // Applied on the .content-wrap t
|
|
|
15
17
|
$border-radius: 3px !default;
|
|
16
18
|
$border-color: rgba(0, 0, 0, 0.15);
|
|
17
19
|
$border: 1px solid $border-color !default;
|
|
18
|
-
$transition-duration: 0.
|
|
20
|
+
$transition-duration: 0.25s !default;
|
|
19
21
|
$fast-transition-duration: 0.15s !default;
|
|
20
22
|
$box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),
|
|
21
23
|
0 2px 2px 0 rgba(0, 0, 0, 0.15),
|
|
@@ -26,15 +28,6 @@ $form-field-height: round(2 * $base-font-size) !default;
|
|
|
26
28
|
// Always an even number for better vertical alignment. (Used in checkbox, radio, switch)
|
|
27
29
|
$small-form-el-size: round(divide(1.3 * $base-font-size, 2)) * 2 !default;
|
|
28
30
|
|
|
29
|
-
// Mixins.
|
|
30
|
-
@mixin default-transition($duration: $transition-duration, $delay: 0s) {
|
|
31
|
-
transition: $duration $delay ease-in-out;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
@mixin out-back-transition($duration: $transition-duration, $delay: 0s) {
|
|
35
|
-
transition: $duration $delay cubic-bezier(0.18, 0.89, 0.32, 1.28);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
31
|
// COMPONENTS DEFAULTS.
|
|
39
32
|
// ========================================================
|
|
40
33
|
// w-drawer.
|
|
@@ -64,3 +57,7 @@ $textarea-line-height: 1.2;
|
|
|
64
57
|
$tooltip-bg-color: #fff;
|
|
65
58
|
$tooltip-color: rgba(0, 0, 0, 0.7);
|
|
66
59
|
// --------------------------------------------------------
|
|
60
|
+
|
|
61
|
+
// Mixins.
|
|
62
|
+
// --------------------------------------------------------
|
|
63
|
+
@import './mixins';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Takes CSS classes as a string array or object and turn them into an object.
|
|
3
|
+
*
|
|
4
|
+
* @param {String|Array|Object} classes the CSS classes to merge into an object
|
|
5
|
+
* @return {Object}
|
|
6
|
+
*/
|
|
7
|
+
export const objectifyClasses = (classes = {}) => {
|
|
8
|
+
if (typeof classes === 'string') classes = { [classes]: true }
|
|
9
|
+
else if (typeof classes === 'array') classes = { [classes.join(' ')]: true }
|
|
10
|
+
return classes
|
|
11
|
+
}
|