@coreui/coreui 5.0.0-alpha.0 → 5.0.0-alpha.2
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/LICENSE +5 -5
- package/README.md +2 -2
- package/dist/css/coreui-grid.css +34 -192
- package/dist/css/coreui-grid.css.map +1 -1
- package/dist/css/coreui-grid.min.css +3 -3
- package/dist/css/coreui-grid.min.css.map +1 -1
- package/dist/css/coreui-grid.rtl.css +118 -275
- package/dist/css/coreui-grid.rtl.css.map +1 -1
- package/dist/css/coreui-grid.rtl.min.css +3 -3
- package/dist/css/coreui-grid.rtl.min.css.map +1 -1
- package/dist/css/coreui-reboot.css +166 -148
- package/dist/css/coreui-reboot.css.map +1 -1
- package/dist/css/coreui-reboot.min.css +3 -3
- package/dist/css/coreui-reboot.min.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.css +170 -156
- package/dist/css/coreui-reboot.rtl.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.min.css +3 -3
- package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
- package/dist/css/coreui-utilities.css +653 -427
- package/dist/css/coreui-utilities.css.map +1 -1
- package/dist/css/coreui-utilities.min.css +3 -3
- package/dist/css/coreui-utilities.min.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.css +824 -703
- package/dist/css/coreui-utilities.rtl.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.min.css +3 -3
- package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
- package/dist/css/coreui.css +2082 -1790
- package/dist/css/coreui.css.map +1 -1
- package/dist/css/coreui.min.css +3 -3
- package/dist/css/coreui.min.css.map +1 -1
- package/dist/css/coreui.rtl.css +2333 -2213
- package/dist/css/coreui.rtl.css.map +1 -1
- package/dist/css/coreui.rtl.min.css +3 -3
- package/dist/css/coreui.rtl.min.css.map +1 -1
- package/dist/js/coreui.bundle.js +313 -292
- package/dist/js/coreui.bundle.js.map +1 -1
- package/dist/js/coreui.bundle.min.js +2 -2
- package/dist/js/coreui.bundle.min.js.map +1 -1
- package/dist/js/coreui.esm.js +273 -246
- package/dist/js/coreui.esm.js.map +1 -1
- package/dist/js/coreui.esm.min.js +2 -2
- package/dist/js/coreui.esm.min.js.map +1 -1
- package/dist/js/coreui.js +276 -248
- package/dist/js/coreui.js.map +1 -1
- package/dist/js/coreui.min.js +2 -2
- package/dist/js/coreui.min.js.map +1 -1
- package/js/dist/alert.js +7 -6
- package/js/dist/alert.js.map +1 -1
- package/js/dist/base-component.js +8 -7
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +7 -6
- package/js/dist/button.js.map +1 -1
- package/js/dist/carousel.js +8 -7
- package/js/dist/carousel.js.map +1 -1
- package/js/dist/collapse.js +7 -6
- package/js/dist/collapse.js.map +1 -1
- package/js/dist/dom/data.js +3 -3
- package/js/dist/dom/data.js.map +1 -1
- package/js/dist/dom/event-handler.js +7 -7
- package/js/dist/dom/event-handler.js.map +1 -1
- package/js/dist/dom/manipulator.js +4 -4
- package/js/dist/dom/manipulator.js.map +1 -1
- package/js/dist/dom/selector-engine.js +4 -3
- package/js/dist/dom/selector-engine.js.map +1 -1
- package/js/dist/dropdown.js +10 -9
- package/js/dist/dropdown.js.map +1 -1
- package/js/dist/modal.js +9 -10
- package/js/dist/modal.js.map +1 -1
- package/js/dist/navigation.js +7 -6
- package/js/dist/navigation.js.map +1 -1
- package/js/dist/offcanvas.js +11 -10
- package/js/dist/offcanvas.js.map +1 -1
- package/js/dist/popover.js +7 -6
- package/js/dist/popover.js.map +1 -1
- package/js/dist/scrollspy.js +9 -8
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/sidebar.js +7 -6
- package/js/dist/sidebar.js.map +1 -1
- package/js/dist/tab.js +21 -12
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +7 -6
- package/js/dist/toast.js.map +1 -1
- package/js/dist/tooltip.js +12 -11
- package/js/dist/tooltip.js.map +1 -1
- package/js/dist/util/backdrop.js +8 -7
- package/js/dist/util/backdrop.js.map +1 -1
- package/js/dist/util/component-functions.js +8 -7
- package/js/dist/util/component-functions.js.map +1 -1
- package/js/dist/util/config.js +8 -7
- package/js/dist/util/config.js.map +1 -1
- package/js/dist/util/focustrap.js +4 -3
- package/js/dist/util/focustrap.js.map +1 -1
- package/js/dist/util/index.js +3 -3
- package/js/dist/util/index.js.map +1 -1
- package/js/dist/util/sanitizer.js +28 -30
- package/js/dist/util/sanitizer.js.map +1 -1
- package/js/dist/util/scrollbar.js +8 -7
- package/js/dist/util/scrollbar.js.map +1 -1
- package/js/dist/util/swipe.js +8 -7
- package/js/dist/util/swipe.js.map +1 -1
- package/js/dist/util/template-factory.js +8 -7
- package/js/dist/util/template-factory.js.map +1 -1
- package/js/index.esm.js +21 -0
- package/js/index.umd.js +38 -0
- package/js/src/alert.js +3 -3
- package/js/src/base-component.js +3 -3
- package/js/src/button.js +4 -3
- package/js/src/carousel.js +6 -6
- package/js/src/collapse.js +4 -4
- package/js/src/dom/data.js +2 -2
- package/js/src/dom/event-handler.js +4 -5
- package/js/src/dom/manipulator.js +3 -3
- package/js/src/dom/selector-engine.js +2 -2
- package/js/src/dropdown.js +8 -8
- package/js/src/modal.js +8 -9
- package/js/src/navigation.js +3 -3
- package/js/src/offcanvas.js +11 -11
- package/js/src/popover.js +2 -2
- package/js/src/scrollspy.js +5 -5
- package/js/src/sidebar.js +4 -4
- package/js/src/tab.js +19 -9
- package/js/src/toast.js +3 -3
- package/js/src/tooltip.js +9 -9
- package/js/src/util/backdrop.js +3 -3
- package/js/src/util/component-functions.js +3 -3
- package/js/src/util/config.js +3 -3
- package/js/src/util/focustrap.js +2 -2
- package/js/src/util/index.js +2 -2
- package/js/src/util/sanitizer.js +40 -43
- package/js/src/util/scrollbar.js +3 -3
- package/js/src/util/swipe.js +3 -3
- package/js/src/util/template-factory.js +4 -5
- package/package.json +51 -45
- package/scss/_alert.scss +5 -5
- package/scss/_avatar.scss +4 -4
- package/scss/_badge.scss +11 -1
- package/scss/_breadcrumb.scss +9 -4
- package/scss/_button-group.scss +4 -4
- package/scss/_buttons.scss +38 -71
- package/scss/_callout.scss +2 -2
- package/scss/_card.scss +4 -3
- package/scss/_carousel.scss +9 -3
- package/scss/_close.scss +3 -0
- package/scss/_dropdown.scss +14 -14
- package/scss/_functions.scss +59 -0
- package/scss/_grid.scss +8 -0
- package/scss/_header.scss +186 -0
- package/scss/_helpers.scss +2 -0
- package/scss/_images.scss +3 -3
- package/scss/_list-group.scss +12 -19
- package/scss/_maps.scss +75 -21
- package/scss/_mixins.scss +6 -4
- package/scss/_modal.scss +2 -2
- package/scss/_nav.scss +8 -20
- package/scss/_navbar.scss +11 -8
- package/scss/_offcanvas.scss +8 -8
- package/scss/_pagination.scss +2 -2
- package/scss/_progress.scss +43 -0
- package/scss/_reboot.scss +23 -25
- package/scss/_root.scss +70 -63
- package/scss/_sidebar.scss +0 -11
- package/scss/_tables.scss +18 -11
- package/scss/_toasts.scss +2 -2
- package/scss/_tooltip.scss +14 -15
- package/scss/_type.scss +1 -1
- package/scss/_utilities.scss +117 -65
- package/scss/_variables-dark.scss +112 -61
- package/scss/_variables.scss +401 -268
- package/scss/coreui-grid.rtl.scss +4 -0
- package/scss/coreui-grid.scss +2 -5
- package/scss/coreui-reboot.rtl.scss +4 -0
- package/scss/coreui-reboot.scss +1 -1
- package/scss/coreui-utilities.rtl.scss +4 -0
- package/scss/coreui-utilities.scss +1 -1
- package/scss/coreui.rtl.scss +4 -0
- package/scss/coreui.scss +3 -3
- package/scss/forms/_floating-labels.scss +21 -16
- package/scss/forms/_form-check.scss +41 -20
- package/scss/forms/_form-control.scss +18 -5
- package/scss/forms/_form-range.scss +3 -3
- package/scss/forms/_form-select.scss +7 -8
- package/scss/forms/_input-group.scss +5 -5
- package/scss/helpers/_color-bg.scss +13 -4
- package/scss/helpers/_colored-links.scss +20 -2
- package/scss/helpers/_focus-ring.scss +5 -0
- package/scss/helpers/_icon-link.scss +25 -0
- package/scss/helpers/_ratio.scss +1 -1
- package/scss/helpers/_vr.scss +2 -1
- package/scss/mixins/_alert.scss +1 -1
- package/scss/mixins/_banner.scss +3 -3
- package/scss/mixins/_border-radius.scss +7 -7
- package/scss/mixins/_buttons.scss +53 -49
- package/scss/mixins/_caret.scss +3 -3
- package/scss/mixins/_forms.scss +7 -7
- package/scss/mixins/_grid.scss +1 -1
- package/scss/mixins/_list-group.scss +12 -20
- package/scss/mixins/_lists.scss +1 -1
- package/scss/mixins/_ltr-rtl.scss +87 -0
- package/scss/mixins/_utilities.scss +6 -1
- package/scss/mixins/_visually-hidden.scss +5 -1
- package/scss/sidebar/_sidebar-narrow.scss +37 -17
- package/scss/sidebar/_sidebar-nav.scss +115 -20
- package/scss/sidebar/_sidebar.scss +98 -139
- package/scss/vendor/_rfs.scss +24 -30
- package/scss/tests/mixins/_color-modes.test.scss +0 -69
- package/scss/tests/mixins/_utilities.test.scss +0 -393
- package/scss/tests/utilities/_api.test.scss +0 -75
package/scss/vendor/_rfs.scss
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// stylelint-disable
|
|
1
|
+
// stylelint-disable scss/dimension-no-non-numeric-values
|
|
2
2
|
|
|
3
3
|
// SCSS RFS mixin
|
|
4
4
|
//
|
|
@@ -154,8 +154,7 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
154
154
|
&.enable-rfs {
|
|
155
155
|
@content;
|
|
156
156
|
}
|
|
157
|
-
}
|
|
158
|
-
@else {
|
|
157
|
+
} @else {
|
|
159
158
|
@content;
|
|
160
159
|
}
|
|
161
160
|
}
|
|
@@ -168,7 +167,7 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
168
167
|
@content;
|
|
169
168
|
}
|
|
170
169
|
|
|
171
|
-
@include _rfs-media-query {
|
|
170
|
+
@include _rfs-media-query () {
|
|
172
171
|
.enable-rfs &,
|
|
173
172
|
&.enable-rfs {
|
|
174
173
|
@content;
|
|
@@ -182,7 +181,7 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
182
181
|
@content;
|
|
183
182
|
}
|
|
184
183
|
}
|
|
185
|
-
@include _rfs-media-query {
|
|
184
|
+
@include _rfs-media-query () {
|
|
186
185
|
@content;
|
|
187
186
|
}
|
|
188
187
|
}
|
|
@@ -193,12 +192,12 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
193
192
|
// Convert to list
|
|
194
193
|
$values: if(type-of($values) != list, ($values,), $values);
|
|
195
194
|
|
|
196
|
-
$val:
|
|
195
|
+
$val: "";
|
|
197
196
|
|
|
198
197
|
// Loop over each value and calculate value
|
|
199
198
|
@each $value in $values {
|
|
200
199
|
@if $value == 0 {
|
|
201
|
-
$val: $val +
|
|
200
|
+
$val: $val + " 0";
|
|
202
201
|
}
|
|
203
202
|
@else {
|
|
204
203
|
// Cache $value unit
|
|
@@ -206,15 +205,14 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
206
205
|
|
|
207
206
|
@if $unit == px {
|
|
208
207
|
// Convert to rem if needed
|
|
209
|
-
$val: $val +
|
|
208
|
+
$val: $val + " " + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);
|
|
210
209
|
}
|
|
211
210
|
@else if $unit == rem {
|
|
212
211
|
// Convert to px if needed
|
|
213
|
-
$val: $val +
|
|
214
|
-
}
|
|
215
|
-
@else {
|
|
212
|
+
$val: $val + " " + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);
|
|
213
|
+
} @else {
|
|
216
214
|
// If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
|
|
217
|
-
$val: $val +
|
|
215
|
+
$val: $val + " " + $value;
|
|
218
216
|
}
|
|
219
217
|
}
|
|
220
218
|
}
|
|
@@ -228,30 +226,26 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
228
226
|
// Convert to list
|
|
229
227
|
$values: if(type-of($values) != list, ($values,), $values);
|
|
230
228
|
|
|
231
|
-
$val:
|
|
229
|
+
$val: "";
|
|
232
230
|
|
|
233
231
|
// Loop over each value and calculate value
|
|
234
232
|
@each $value in $values {
|
|
235
233
|
@if $value == 0 {
|
|
236
|
-
$val: $val +
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
@else {
|
|
234
|
+
$val: $val + " 0";
|
|
235
|
+
} @else {
|
|
240
236
|
// Cache $value unit
|
|
241
237
|
$unit: if(type-of($value) == "number", unit($value), false);
|
|
242
238
|
|
|
243
239
|
// If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
|
|
244
240
|
@if not $unit or $unit != px and $unit != rem {
|
|
245
|
-
$val: $val +
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
@else {
|
|
241
|
+
$val: $val + " " + $value;
|
|
242
|
+
} @else {
|
|
249
243
|
// Remove unit from $value for calculations
|
|
250
244
|
$value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));
|
|
251
245
|
|
|
252
246
|
// Only add the media query if the value is greater than the minimum value
|
|
253
247
|
@if abs($value) <= $rfs-base-value or not $enable-rfs {
|
|
254
|
-
$val: $val +
|
|
248
|
+
$val: $val + " " + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);
|
|
255
249
|
}
|
|
256
250
|
@else {
|
|
257
251
|
// Calculate the minimum value
|
|
@@ -273,7 +267,7 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
273
267
|
$variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};
|
|
274
268
|
|
|
275
269
|
// Return the calculated value
|
|
276
|
-
$val: $val +
|
|
270
|
+
$val: $val + " calc(" + $min-width + if($value < 0, " - ", " + ") + $variable-width + ")";
|
|
277
271
|
}
|
|
278
272
|
}
|
|
279
273
|
}
|
|
@@ -287,22 +281,22 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
287
281
|
@mixin rfs($values, $property: font-size) {
|
|
288
282
|
@if $values != null {
|
|
289
283
|
$val: rfs-value($values);
|
|
290
|
-
$
|
|
284
|
+
$fluid-val: rfs-fluid-value($values);
|
|
291
285
|
|
|
292
286
|
// Do not print the media query if responsive & non-responsive values are the same
|
|
293
|
-
@if $val == $
|
|
287
|
+
@if $val == $fluid-val {
|
|
294
288
|
#{$property}: $val;
|
|
295
289
|
}
|
|
296
290
|
@else {
|
|
297
|
-
@include _rfs-rule {
|
|
298
|
-
#{$property}: if($rfs-mode == max-media-query, $val, $
|
|
291
|
+
@include _rfs-rule () {
|
|
292
|
+
#{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);
|
|
299
293
|
|
|
300
294
|
// Include safari iframe resize fix if needed
|
|
301
295
|
min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);
|
|
302
296
|
}
|
|
303
297
|
|
|
304
|
-
@include _rfs-media-query-rule {
|
|
305
|
-
#{$property}: if($rfs-mode == max-media-query, $
|
|
298
|
+
@include _rfs-media-query-rule () {
|
|
299
|
+
#{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);
|
|
306
300
|
}
|
|
307
301
|
}
|
|
308
302
|
}
|
|
@@ -351,4 +345,4 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
351
345
|
|
|
352
346
|
@mixin margin-left($value) {
|
|
353
347
|
@include rfs($value, margin-left);
|
|
354
|
-
}
|
|
348
|
+
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
// stylelint-disable selector-attribute-quotes
|
|
2
|
-
|
|
3
|
-
@import "../../functions";
|
|
4
|
-
@import "../../variables";
|
|
5
|
-
@import "../../variables-dark";
|
|
6
|
-
@import "../../maps";
|
|
7
|
-
@import "../../mixins";
|
|
8
|
-
|
|
9
|
-
@include describe("global $color-mode-type: data") {
|
|
10
|
-
@include it("generates data attribute selectors for dark mode") {
|
|
11
|
-
@include assert() {
|
|
12
|
-
@include output() {
|
|
13
|
-
@include color-mode(dark) {
|
|
14
|
-
.element {
|
|
15
|
-
color: var(--cui-primary-text);
|
|
16
|
-
background-color: var(--cui-primary-bg-subtle);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
@include color-mode(dark, true) {
|
|
20
|
-
--custom-color: #{mix($indigo, $blue, 50%)};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
@include expect() {
|
|
24
|
-
[data-coreui-theme=dark] .element {
|
|
25
|
-
color: var(--cui-primary-text);
|
|
26
|
-
background-color: var(--cui-primary-bg-subtle);
|
|
27
|
-
}
|
|
28
|
-
[data-coreui-theme=dark] {
|
|
29
|
-
--custom-color: #3a3ff8;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
@include describe("global $color-mode-type: media-query") {
|
|
37
|
-
@include it("generates media queries for dark mode") {
|
|
38
|
-
$color-mode-type: media-query !global;
|
|
39
|
-
|
|
40
|
-
@include assert() {
|
|
41
|
-
@include output() {
|
|
42
|
-
@include color-mode(dark) {
|
|
43
|
-
.element {
|
|
44
|
-
color: var(--cui-primary-text);
|
|
45
|
-
background-color: var(--cui-primary-bg-subtle);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
@include color-mode(dark, true) {
|
|
49
|
-
--custom-color: #{mix($indigo, $blue, 50%)};
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
@include expect() {
|
|
53
|
-
@media (prefers-color-scheme: dark) {
|
|
54
|
-
.element {
|
|
55
|
-
color: var(--cui-primary-text);
|
|
56
|
-
background-color: var(--cui-primary-bg-subtle);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
@media (prefers-color-scheme: dark) {
|
|
60
|
-
:root {
|
|
61
|
-
--custom-color: #3a3ff8;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
$color-mode-type: data !global;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
@@ -1,393 +0,0 @@
|
|
|
1
|
-
$prefix: bs-;
|
|
2
|
-
$enable-important-utilities: false;
|
|
3
|
-
|
|
4
|
-
// Important: Do not import rfs to check that the mixin just calls the appropriate functions from it
|
|
5
|
-
@import "../../mixins/utilities";
|
|
6
|
-
|
|
7
|
-
@mixin test-generate-utility($params...) {
|
|
8
|
-
@include assert() {
|
|
9
|
-
@include output() {
|
|
10
|
-
@include generate-utility($params...);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
@include expect() {
|
|
14
|
-
@content;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@include describe(generate-utility) {
|
|
20
|
-
@include it("generates a utility class for each value") {
|
|
21
|
-
@include test-generate-utility(
|
|
22
|
-
(
|
|
23
|
-
property: "padding",
|
|
24
|
-
values: (small: .5rem, large: 2rem)
|
|
25
|
-
)
|
|
26
|
-
) {
|
|
27
|
-
.padding-small {
|
|
28
|
-
padding: .5rem;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.padding-large {
|
|
32
|
-
padding: 2rem;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
@include describe("global $enable-important-utilities: true") {
|
|
38
|
-
@include it("sets !important") {
|
|
39
|
-
$enable-important-utilities: true !global;
|
|
40
|
-
|
|
41
|
-
@include test-generate-utility(
|
|
42
|
-
(
|
|
43
|
-
property: "padding",
|
|
44
|
-
values: (small: .5rem, large: 2rem)
|
|
45
|
-
)
|
|
46
|
-
) {
|
|
47
|
-
.padding-small {
|
|
48
|
-
padding: .5rem !important;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.padding-large {
|
|
52
|
-
padding: 2rem !important;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
$enable-important-utilities: false !global;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@include describe("$utility") {
|
|
61
|
-
@include describe("values") {
|
|
62
|
-
@include it("supports null keys") {
|
|
63
|
-
@include test-generate-utility(
|
|
64
|
-
(
|
|
65
|
-
property: "padding",
|
|
66
|
-
values: (null: 1rem, small: .5rem, large: 2rem)
|
|
67
|
-
),
|
|
68
|
-
) {
|
|
69
|
-
.padding {
|
|
70
|
-
padding: 1rem;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.padding-small {
|
|
74
|
-
padding: .5rem;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.padding-large {
|
|
78
|
-
padding: 2rem;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
@include it("ignores null values") {
|
|
84
|
-
@include test-generate-utility(
|
|
85
|
-
(
|
|
86
|
-
property: "padding",
|
|
87
|
-
values: (small: null, large: 2rem)
|
|
88
|
-
)
|
|
89
|
-
) {
|
|
90
|
-
.padding-large {
|
|
91
|
-
padding: 2rem;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
@include it("supports lists") {
|
|
97
|
-
@include test-generate-utility(
|
|
98
|
-
(
|
|
99
|
-
property: "padding",
|
|
100
|
-
values: 1rem 2rem
|
|
101
|
-
)
|
|
102
|
-
) {
|
|
103
|
-
.padding-1rem {
|
|
104
|
-
padding: 1rem;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.padding-2rem {
|
|
108
|
-
padding: 2rem;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
@include it("supports single values") {
|
|
114
|
-
@include test-generate-utility(
|
|
115
|
-
(
|
|
116
|
-
property: padding,
|
|
117
|
-
values: 1rem
|
|
118
|
-
)
|
|
119
|
-
) {
|
|
120
|
-
.padding-1rem {
|
|
121
|
-
padding: 1rem;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
@include describe("class & property") {
|
|
128
|
-
@include it("adds each property to the declaration") {
|
|
129
|
-
@include test-generate-utility(
|
|
130
|
-
(
|
|
131
|
-
class: padding-x,
|
|
132
|
-
property: padding-inline-start padding-inline-end,
|
|
133
|
-
values: 1rem
|
|
134
|
-
)
|
|
135
|
-
) {
|
|
136
|
-
.padding-x-1rem {
|
|
137
|
-
padding-inline-start: 1rem;
|
|
138
|
-
padding-inline-end: 1rem;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
@include it("uses the first property as class name") {
|
|
144
|
-
@include test-generate-utility(
|
|
145
|
-
(
|
|
146
|
-
property: padding-inline-start padding-inline-end,
|
|
147
|
-
values: 1rem
|
|
148
|
-
)
|
|
149
|
-
) {
|
|
150
|
-
.padding-inline-start-1rem {
|
|
151
|
-
padding-inline-start: 1rem;
|
|
152
|
-
padding-inline-end: 1rem;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@include it("supports a null class to create classes straight from the values") {
|
|
158
|
-
@include test-generate-utility(
|
|
159
|
-
(
|
|
160
|
-
property: visibility,
|
|
161
|
-
class: null,
|
|
162
|
-
values: (
|
|
163
|
-
visible: visible,
|
|
164
|
-
invisible: hidden,
|
|
165
|
-
)
|
|
166
|
-
)
|
|
167
|
-
) {
|
|
168
|
-
.visible {
|
|
169
|
-
visibility: visible;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
.invisible {
|
|
173
|
-
visibility: hidden;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
@include describe("state") {
|
|
180
|
-
@include it("Generates selectors for each states") {
|
|
181
|
-
@include test-generate-utility(
|
|
182
|
-
(
|
|
183
|
-
property: padding,
|
|
184
|
-
values: 1rem,
|
|
185
|
-
state: hover focus,
|
|
186
|
-
)
|
|
187
|
-
) {
|
|
188
|
-
.padding-1rem {
|
|
189
|
-
padding: 1rem;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.padding-1rem-hover:hover {
|
|
193
|
-
padding: 1rem;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
.padding-1rem-focus:focus {
|
|
197
|
-
padding: 1rem;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
@include describe("css-var"){
|
|
204
|
-
@include it("sets a CSS variable instead of the property") {
|
|
205
|
-
@include test-generate-utility(
|
|
206
|
-
(
|
|
207
|
-
property: padding,
|
|
208
|
-
css-variable-name: padding,
|
|
209
|
-
css-var: true,
|
|
210
|
-
values: 1rem 2rem
|
|
211
|
-
)
|
|
212
|
-
) {
|
|
213
|
-
.padding-1rem {
|
|
214
|
-
--cui-padding: 1rem;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.padding-2rem {
|
|
218
|
-
--cui-padding: 2rem;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
@include it("defaults to class") {
|
|
224
|
-
@include test-generate-utility(
|
|
225
|
-
(
|
|
226
|
-
property: padding,
|
|
227
|
-
class: padding,
|
|
228
|
-
css-var: true,
|
|
229
|
-
values: 1rem 2rem
|
|
230
|
-
)
|
|
231
|
-
) {
|
|
232
|
-
.padding-1rem {
|
|
233
|
-
--cui-padding: 1rem;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
.padding-2rem {
|
|
237
|
-
--cui-padding: 2rem;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
@include describe("local-vars") {
|
|
244
|
-
@include it("generates the listed variables") {
|
|
245
|
-
@include test-generate-utility(
|
|
246
|
-
(
|
|
247
|
-
property: color,
|
|
248
|
-
class: desaturated-color,
|
|
249
|
-
local-vars: (
|
|
250
|
-
color-opacity: 1,
|
|
251
|
-
color-saturation: .25
|
|
252
|
-
),
|
|
253
|
-
values: (
|
|
254
|
-
blue: hsla(192deg, var(--cui-color-saturation), 0, var(--cui-color-opacity))
|
|
255
|
-
)
|
|
256
|
-
)
|
|
257
|
-
) {
|
|
258
|
-
.desaturated-color-blue {
|
|
259
|
-
--cui-color-opacity: 1;
|
|
260
|
-
// Sass compilation will put a leading zero so we want to keep that one
|
|
261
|
-
// stylelint-disable-next-line number-leading-zero
|
|
262
|
-
--cui-color-saturation: 0.25;
|
|
263
|
-
color: hsla(192deg, var(--cui-color-saturation), 0, var(--cui-color-opacity));
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
@include describe("css-var & state") {
|
|
270
|
-
@include it("Generates a rule with for each state with a CSS variable") {
|
|
271
|
-
@include test-generate-utility(
|
|
272
|
-
(
|
|
273
|
-
property: padding,
|
|
274
|
-
css-var: true,
|
|
275
|
-
css-variable-name: padding,
|
|
276
|
-
values: 1rem,
|
|
277
|
-
state: hover focus,
|
|
278
|
-
)
|
|
279
|
-
) {
|
|
280
|
-
.padding-1rem {
|
|
281
|
-
--cui-padding: 1rem;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
.padding-1rem-hover:hover {
|
|
285
|
-
--cui-padding: 1rem;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
.padding-1rem-focus:focus {
|
|
289
|
-
--cui-padding: 1rem;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
@include describe("rtl") {
|
|
296
|
-
@include it("sets up RTLCSS for removal when false") {
|
|
297
|
-
@include test-generate-utility(
|
|
298
|
-
(
|
|
299
|
-
property: padding,
|
|
300
|
-
values: 1rem,
|
|
301
|
-
rtl: false
|
|
302
|
-
)
|
|
303
|
-
) {
|
|
304
|
-
/* rtl:begin:remove */
|
|
305
|
-
|
|
306
|
-
.padding-1rem {
|
|
307
|
-
padding: 1rem;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
/* rtl:end:remove */
|
|
311
|
-
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
@include describe("rfs") {
|
|
317
|
-
@include it("sets the fluid value when not inside media query") {
|
|
318
|
-
@include test-generate-utility(
|
|
319
|
-
(
|
|
320
|
-
property: padding,
|
|
321
|
-
values: 1rem,
|
|
322
|
-
rfs: true
|
|
323
|
-
)
|
|
324
|
-
) {
|
|
325
|
-
.padding-1rem {
|
|
326
|
-
padding: rfs-fluid-value(1rem);
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
@include it("sets the value when inside the media query") {
|
|
332
|
-
@include test-generate-utility(
|
|
333
|
-
(
|
|
334
|
-
property: padding,
|
|
335
|
-
values: 1rem,
|
|
336
|
-
rfs: true
|
|
337
|
-
),
|
|
338
|
-
$is-rfs-media-query: true
|
|
339
|
-
) {
|
|
340
|
-
.padding-1rem {
|
|
341
|
-
padding: rfs-value(1rem);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
@include describe("$infix") {
|
|
349
|
-
@include it("inserts the given infix") {
|
|
350
|
-
@include test-generate-utility(
|
|
351
|
-
(
|
|
352
|
-
property: "padding",
|
|
353
|
-
values: (null: 1rem, small: .5rem, large: 2rem)
|
|
354
|
-
),
|
|
355
|
-
$infix: -sm
|
|
356
|
-
) {
|
|
357
|
-
.padding-sm {
|
|
358
|
-
padding: 1rem;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
.padding-sm-small {
|
|
362
|
-
padding: .5rem;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
.padding-sm-large {
|
|
366
|
-
padding: 2rem;
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
@include it("strips leading - if class is null") {
|
|
372
|
-
@include test-generate-utility(
|
|
373
|
-
(
|
|
374
|
-
property: visibility,
|
|
375
|
-
class: null,
|
|
376
|
-
values: (
|
|
377
|
-
visible: visible,
|
|
378
|
-
invisible: hidden,
|
|
379
|
-
)
|
|
380
|
-
),
|
|
381
|
-
-sm
|
|
382
|
-
) {
|
|
383
|
-
.sm-visible {
|
|
384
|
-
visibility: visible;
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
.sm-invisible {
|
|
388
|
-
visibility: hidden;
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
@import "../../functions";
|
|
2
|
-
@import "../../variables";
|
|
3
|
-
@import "../../maps";
|
|
4
|
-
@import "../../mixins";
|
|
5
|
-
|
|
6
|
-
$utilities: ();
|
|
7
|
-
|
|
8
|
-
@include describe("utilities/api") {
|
|
9
|
-
@include it("generates utilities for each breakpoints") {
|
|
10
|
-
$utilities: (
|
|
11
|
-
margin: (
|
|
12
|
-
property: margin,
|
|
13
|
-
values: auto
|
|
14
|
-
),
|
|
15
|
-
padding: (
|
|
16
|
-
property: padding,
|
|
17
|
-
responsive: true,
|
|
18
|
-
values: 1rem
|
|
19
|
-
),
|
|
20
|
-
font-size: (
|
|
21
|
-
property: font-size,
|
|
22
|
-
values: (large: 1.25rem),
|
|
23
|
-
print: true
|
|
24
|
-
)
|
|
25
|
-
) !global;
|
|
26
|
-
|
|
27
|
-
$grid-breakpoints: (
|
|
28
|
-
xs: 0,
|
|
29
|
-
sm: 576px,
|
|
30
|
-
md: 768px
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
@include assert() {
|
|
35
|
-
@include output() {
|
|
36
|
-
@import "../../utilities/api";
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@include expect() {
|
|
40
|
-
// margin is not set to responsive
|
|
41
|
-
.margin-auto {
|
|
42
|
-
margin: auto !important;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// padding is, though
|
|
46
|
-
.padding-1rem {
|
|
47
|
-
padding: 1rem !important;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.font-size-large {
|
|
51
|
-
font-size: 1.25rem !important;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@media (min-width: 576px) {
|
|
55
|
-
.padding-sm-1rem {
|
|
56
|
-
padding: 1rem !important;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@media (min-width: 768px) {
|
|
61
|
-
.padding-md-1rem {
|
|
62
|
-
padding: 1rem !important;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
@media print {
|
|
67
|
-
.font-size-print-large {
|
|
68
|
-
font-size: 1.25rem !important;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|