@ulu/frontend 0.1.0-beta.9 → 0.1.0-beta.91
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/CHANGELOG.md +610 -0
- package/README.dev.md +3 -3
- package/README.md +14 -4
- package/dist/ulu-frontend.min.css +1 -1
- package/dist/ulu-frontend.min.js +36 -29
- package/docs-dev/.nojekyll +1 -0
- package/docs-dev/assets/main.js +8290 -635
- package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
- package/docs-dev/assets/placeholder/icon-check.svg +1 -0
- package/docs-dev/assets/style.css +789 -338
- package/docs-dev/changelog/index.html +6985 -0
- package/docs-dev/demos/accordion/index.html +1126 -334
- package/docs-dev/demos/badge/index.html +5535 -0
- package/docs-dev/demos/basic-hero/index.html +111 -0
- package/docs-dev/demos/breakpoints-manager/index.html +5546 -0
- package/docs-dev/demos/button/index.html +1172 -338
- package/docs-dev/demos/button-group/index.html +5532 -0
- package/docs-dev/demos/button-verbose/index.html +5538 -0
- package/docs-dev/demos/callout/index.html +1177 -344
- package/docs-dev/demos/captioned-figure/index.html +1120 -327
- package/docs-dev/demos/card/index.html +1186 -754
- package/docs-dev/demos/card-grid/index.html +5657 -0
- package/docs-dev/demos/counter-list/index.html +5540 -0
- package/docs-dev/demos/css-icons/index.html +1148 -332
- package/docs-dev/demos/data-grid/index.html +1120 -327
- package/docs-dev/demos/data-table/index.html +1298 -372
- package/docs-dev/demos/details-group/index.html +5567 -0
- package/docs-dev/demos/file-save/index.html +1120 -327
- package/docs-dev/demos/flipcard/index.html +1120 -327
- package/docs-dev/demos/form-theme/index.html +1144 -364
- package/docs-dev/demos/headline-label/index.html +5502 -0
- package/docs-dev/demos/hero/index.html +12 -4
- package/docs-dev/demos/image-grid/index.html +12 -4
- package/docs-dev/demos/index.html +1121 -328
- package/docs-dev/demos/list-inline/index.html +1120 -327
- package/docs-dev/demos/list-lines/index.html +1120 -327
- package/docs-dev/demos/menu-stack/index.html +1159 -351
- package/docs-dev/demos/modals/index.html +1259 -343
- package/docs-dev/demos/nav-strip/index.html +1120 -327
- package/docs-dev/demos/overlay-section/index.html +1205 -342
- package/docs-dev/demos/panel/index.html +5562 -0
- package/docs-dev/demos/popovers/index.html +1368 -333
- package/docs-dev/demos/print/index.html +1120 -327
- package/docs-dev/demos/pull-quote/index.html +1120 -327
- package/docs-dev/demos/rail/index.html +5598 -0
- package/docs-dev/demos/rule/index.html +1137 -332
- package/docs-dev/demos/scroll-slider/index.html +72 -106
- package/docs-dev/demos/scrollpoints/index.html +1121 -328
- package/docs-dev/demos/slider/index.html +12 -4
- package/docs-dev/demos/spoke-spinner/index.html +1120 -327
- package/docs-dev/demos/{list-inline.1 → sticky-list}/index.html +1159 -363
- package/docs-dev/demos/tabs/index.html +1156 -327
- package/docs-dev/demos/tag/index.html +1120 -327
- package/docs-dev/demos/theme-toggle/index.html +5579 -0
- package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
- package/docs-dev/demos/tiles/index.html +1120 -327
- package/docs-dev/demos/tooltip/index.html +1120 -327
- package/docs-dev/demos/wysiwyg/index.html +5552 -0
- package/docs-dev/guide/building-stylesheet/index.html +1120 -327
- package/docs-dev/guide/developing-ulu-scss-module/index.html +1120 -327
- package/docs-dev/guide/index.html +1120 -327
- package/docs-dev/index.html +1120 -327
- package/docs-dev/javascript/events/index.html +1158 -327
- package/docs-dev/javascript/index.html +1120 -327
- package/docs-dev/javascript/settings/index.html +5705 -0
- package/docs-dev/javascript/ui-breakpoints/index.html +1134 -343
- package/docs-dev/javascript/ui-collapsible/index.html +1119 -328
- package/docs-dev/javascript/ui-details-group/index.html +5622 -0
- package/docs-dev/javascript/ui-dialog/index.html +1151 -345
- package/docs-dev/javascript/ui-flipcard/index.html +1180 -333
- package/docs-dev/javascript/ui-grid/index.html +1130 -365
- package/docs-dev/javascript/ui-modal-builder/index.html +1303 -372
- package/docs-dev/javascript/ui-overflow-scroller/index.html +1119 -328
- package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +1119 -328
- package/docs-dev/javascript/ui-page/index.html +1119 -328
- package/docs-dev/javascript/ui-popover/index.html +1129 -342
- package/docs-dev/javascript/ui-print/index.html +1117 -334
- package/docs-dev/javascript/ui-print-details/index.html +1119 -328
- package/docs-dev/javascript/ui-programmatic-modal/index.html +1119 -328
- package/docs-dev/javascript/ui-proxy-click/index.html +1208 -332
- package/docs-dev/javascript/ui-resizer/index.html +1400 -344
- package/docs-dev/javascript/ui-scroll-slider/index.html +1159 -336
- package/docs-dev/javascript/ui-scrollpoint/index.html +1129 -345
- package/docs-dev/javascript/ui-slider/index.html +1317 -335
- package/docs-dev/javascript/ui-tabs/index.html +1138 -384
- package/docs-dev/javascript/ui-theme-toggle/index.html +5710 -0
- package/docs-dev/javascript/ui-tooltip/index.html +1136 -349
- package/docs-dev/javascript/utils-class-logger/index.html +1120 -329
- package/docs-dev/javascript/utils-css/index.html +5524 -0
- package/docs-dev/javascript/utils-dom/index.html +1153 -442
- package/docs-dev/javascript/utils-file-save/index.html +1119 -328
- package/docs-dev/javascript/utils-floating-ui/index.html +1119 -328
- package/docs-dev/javascript/utils-id/index.html +1119 -328
- package/docs-dev/javascript/utils-pause-youtube-video/index.html +1119 -328
- package/docs-dev/javascript/utils-system/index.html +5827 -0
- package/docs-dev/sass/base/color/index.html +1119 -328
- package/docs-dev/sass/base/elements/index.html +1127 -336
- package/docs-dev/sass/base/index/index.html +1119 -328
- package/docs-dev/sass/base/index.html +1120 -327
- package/docs-dev/sass/base/keyframes/index.html +1120 -329
- package/docs-dev/sass/base/layout/index.html +1119 -328
- package/docs-dev/sass/base/normalize/index.html +1119 -328
- package/docs-dev/sass/base/print/index.html +1119 -328
- package/docs-dev/sass/base/root/index.html +1119 -328
- package/docs-dev/sass/base/typography/index.html +1119 -328
- package/docs-dev/sass/components/accordion/index.html +1142 -344
- package/docs-dev/sass/components/adaptive-spacing/index.html +1119 -328
- package/docs-dev/sass/components/badge/index.html +1145 -343
- package/docs-dev/sass/components/basic-hero/index.html +5685 -0
- package/docs-dev/sass/components/button/index.html +1119 -328
- package/docs-dev/sass/components/button-group/index.html +5683 -0
- package/docs-dev/sass/components/button-verbose/index.html +1205 -339
- package/docs-dev/sass/components/callout/index.html +1224 -414
- package/docs-dev/sass/components/captioned-figure/index.html +1243 -337
- package/docs-dev/sass/components/card/index.html +1215 -352
- package/docs-dev/sass/components/card-grid/index.html +1119 -328
- package/docs-dev/sass/components/counter-list/index.html +5767 -0
- package/docs-dev/sass/components/css-icon/index.html +1140 -342
- package/docs-dev/sass/components/data-grid/index.html +1139 -341
- package/docs-dev/sass/components/data-table/index.html +1327 -346
- package/docs-dev/sass/components/fill-context/index.html +1119 -328
- package/docs-dev/sass/components/flipcard/index.html +1161 -339
- package/docs-dev/sass/components/flipcard-grid/index.html +1119 -328
- package/docs-dev/sass/components/form-theme/index.html +1334 -447
- package/docs-dev/sass/components/headline-label/index.html +5713 -0
- package/docs-dev/sass/components/hero/index.html +1179 -340
- package/docs-dev/sass/components/horizontal-rule/index.html +1119 -328
- package/docs-dev/sass/components/image-grid/index.html +1119 -328
- package/docs-dev/sass/components/index/index.html +1136 -338
- package/docs-dev/sass/components/index.html +1120 -327
- package/docs-dev/sass/components/links/index.html +1119 -328
- package/docs-dev/sass/components/list-inline/index.html +1119 -328
- package/docs-dev/sass/components/list-lines/index.html +1119 -328
- package/docs-dev/sass/components/list-ordered/index.html +1119 -328
- package/docs-dev/sass/components/list-unordered/index.html +1119 -328
- package/docs-dev/sass/components/menu-stack/index.html +1156 -352
- package/docs-dev/sass/components/modal/index.html +1173 -347
- package/docs-dev/sass/components/nav-strip/index.html +1127 -336
- package/docs-dev/sass/components/overlay-section/index.html +1127 -336
- package/docs-dev/sass/components/pager/index.html +1119 -328
- package/docs-dev/sass/components/panel/index.html +5913 -0
- package/docs-dev/sass/components/placeholder-block/index.html +1119 -328
- package/docs-dev/sass/components/popover/index.html +1179 -352
- package/docs-dev/sass/components/pull-quote/index.html +1131 -340
- package/docs-dev/sass/components/rail/index.html +5700 -0
- package/docs-dev/sass/components/ratio-box/index.html +1127 -336
- package/docs-dev/sass/components/rule/index.html +1120 -329
- package/docs-dev/sass/components/scroll-slider/index.html +1129 -350
- package/docs-dev/sass/components/skip-link/index.html +1119 -328
- package/docs-dev/sass/components/slider/index.html +1173 -394
- package/docs-dev/sass/components/spoke-spinner/index.html +1121 -330
- package/docs-dev/sass/components/sticky-list/index.html +5903 -0
- package/docs-dev/sass/components/table-sticky/index.html +5677 -0
- package/docs-dev/sass/components/tabs/index.html +1154 -348
- package/docs-dev/sass/components/tag/index.html +1121 -330
- package/docs-dev/sass/components/tile-button/index.html +1119 -328
- package/docs-dev/sass/components/tile-grid/index.html +1119 -328
- package/docs-dev/sass/components/tile-grid-overlay/index.html +1119 -328
- package/docs-dev/sass/components/vignette/index.html +1131 -334
- package/docs-dev/sass/components/wysiwyg/index.html +1159 -350
- package/docs-dev/sass/core/breakpoint/index.html +1212 -369
- package/docs-dev/sass/core/button/index.html +1151 -358
- package/docs-dev/sass/core/color/index.html +1291 -368
- package/docs-dev/sass/core/cssvar/index.html +1119 -328
- package/docs-dev/sass/core/element/index.html +1440 -367
- package/docs-dev/sass/core/index.html +1119 -328
- package/docs-dev/sass/core/layout/index.html +1173 -363
- package/docs-dev/sass/core/path/index.html +1119 -328
- package/docs-dev/sass/core/selector/index.html +1119 -328
- package/docs-dev/sass/core/typography/index.html +1119 -328
- package/docs-dev/sass/core/units/index.html +1127 -330
- package/docs-dev/sass/core/utils/index.html +2389 -449
- package/docs-dev/sass/helpers/color/index.html +1119 -328
- package/docs-dev/sass/helpers/display/index.html +1120 -329
- package/docs-dev/sass/helpers/index/index.html +1119 -328
- package/docs-dev/sass/helpers/index.html +1120 -327
- package/docs-dev/sass/helpers/print/index.html +759 -298
- package/docs-dev/sass/helpers/typography/index.html +1119 -328
- package/docs-dev/sass/helpers/units/index.html +1119 -328
- package/docs-dev/sass/helpers/utilities/index.html +1121 -330
- package/docs-dev/sass/index.html +1120 -327
- package/js/events/index.js +17 -5
- package/js/index.js +1 -0
- package/js/settings.js +97 -0
- package/js/ui/breakpoints.js +19 -16
- package/js/ui/collapsible.js +8 -1
- package/js/ui/details-group.js +112 -0
- package/js/ui/dialog.js +103 -44
- package/js/ui/dialog.todo +2 -36
- package/js/ui/flipcard.js +37 -57
- package/js/ui/grid.js +15 -13
- package/js/ui/index.js +1 -0
- package/js/ui/modal-builder.js +127 -70
- package/js/ui/overflow-scroller.js +6 -4
- package/js/ui/page.js +2 -2
- package/js/ui/popover.js +38 -38
- package/js/ui/print.js +16 -25
- package/js/ui/programmatic-modal.js +9 -3
- package/js/ui/proxy-click.js +50 -36
- package/js/ui/resizer.js +408 -39
- package/js/ui/scroll-slider.js +24 -30
- package/js/ui/scrollpoint.js +29 -64
- package/js/ui/slider.js +108 -63
- package/js/ui/tabs.js +23 -36
- package/js/ui/theme-toggle.js +332 -94
- package/js/ui/tooltip.js +27 -32
- package/js/utils/class-logger.js +3 -3
- package/js/utils/css.js +13 -0
- package/js/utils/dom.js +23 -64
- package/js/utils/font-awesome.js +19 -0
- package/js/utils/index.js +2 -1
- package/js/utils/system.js +155 -0
- package/package.json +23 -8
- package/scss/README.md +4 -0
- package/scss/_breakpoint.scss +39 -5
- package/scss/_button.scss +7 -5
- package/scss/_color.scss +40 -9
- package/scss/_element.scss +124 -2
- package/scss/_layout.scss +7 -8
- package/scss/_units.scss +3 -2
- package/scss/_utils.scss +387 -16
- package/scss/base/_elements.scss +0 -1
- package/scss/base/_index.scss +1 -1
- package/scss/base/_keyframes.scss +10 -0
- package/scss/base/_layout.scss +1 -0
- package/scss/base/_print.scss +2 -0
- package/scss/base/_root.scss +2 -0
- package/scss/components/README.todos +14 -0
- package/scss/components/_accordion.scss +33 -19
- package/scss/components/_badge.scss +23 -4
- package/scss/components/_basic-hero.scss +112 -0
- package/scss/components/_button-group.scss +90 -0
- package/scss/components/_button-verbose.scss +100 -18
- package/scss/components/_callout.scss +125 -78
- package/scss/components/_captioned-figure.scss +17 -0
- package/scss/components/_card-grid.scss +1 -1
- package/scss/components/_card.scss +228 -66
- package/scss/components/_counter-list.scss +151 -0
- package/scss/components/_css-icon.scss +35 -21
- package/scss/components/_data-grid.scss +55 -12
- package/scss/components/_data-table.scss +39 -3
- package/scss/components/_flipcard.scss +8 -3
- package/scss/components/_form-theme.scss +119 -108
- package/scss/components/_headline-label.scss +83 -0
- package/scss/components/_hero.scss +12 -10
- package/scss/components/_index.scss +42 -0
- package/scss/components/_menu-stack.scss +42 -26
- package/scss/components/_modal.scss +58 -29
- package/scss/components/_nav-strip.scss +2 -0
- package/scss/components/_overlay-section.scss +2 -5
- package/scss/components/_panel.scss +246 -0
- package/scss/components/_popover.scss +165 -64
- package/scss/components/_pull-quote.scss +13 -13
- package/scss/components/_rail.scss +120 -0
- package/scss/components/_ratio-box.scss +2 -5
- package/scss/components/_rule.scss +1 -0
- package/scss/components/_scroll-slider.scss +1 -5
- package/scss/components/_slider.scss +49 -72
- package/scss/components/_spoke-spinner.scss +2 -2
- package/scss/components/_sticky-list.scss +206 -0
- package/scss/components/_tabs.scss +22 -4
- package/scss/components/_vignette.scss +3 -5
- package/scss/components/_wysiwyg.scss +21 -13
- package/scss/helpers/_display.scss +15 -18
- package/scss/helpers/_print.scss +12 -7
- package/scss/helpers/_utilities.scss +42 -32
- package/types/events/index.d.ts +10 -1
- package/types/events/index.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/settings.d.ts +70 -0
- package/types/settings.d.ts.map +1 -0
- package/types/ui/breakpoints.d.ts +14 -14
- package/types/ui/breakpoints.d.ts.map +1 -1
- package/types/ui/collapsible.d.ts.map +1 -1
- package/types/ui/details-group.d.ts +38 -0
- package/types/ui/details-group.d.ts.map +1 -0
- package/types/ui/dialog.d.ts +20 -14
- package/types/ui/dialog.d.ts.map +1 -1
- package/types/ui/flipcard.d.ts +16 -10
- package/types/ui/flipcard.d.ts.map +1 -1
- package/types/ui/grid.d.ts +4 -6
- package/types/ui/grid.d.ts.map +1 -1
- package/types/ui/index.d.ts +2 -1
- package/types/ui/modal-builder.d.ts +116 -11
- package/types/ui/modal-builder.d.ts.map +1 -1
- package/types/ui/overflow-scroller.d.ts +2 -2
- package/types/ui/overflow-scroller.d.ts.map +1 -1
- package/types/ui/popover.d.ts +6 -7
- package/types/ui/popover.d.ts.map +1 -1
- package/types/ui/print.d.ts +0 -4
- package/types/ui/print.d.ts.map +1 -1
- package/types/ui/programmatic-modal.d.ts.map +1 -1
- package/types/ui/proxy-click.d.ts +19 -3
- package/types/ui/proxy-click.d.ts.map +1 -1
- package/types/ui/resizer.d.ts +116 -16
- package/types/ui/resizer.d.ts.map +1 -1
- package/types/ui/scroll-slider.d.ts +5 -7
- package/types/ui/scroll-slider.d.ts.map +1 -1
- package/types/ui/scrollpoint.d.ts +3 -8
- package/types/ui/scrollpoint.d.ts.map +1 -1
- package/types/ui/slider.d.ts +33 -14
- package/types/ui/slider.d.ts.map +1 -1
- package/types/ui/tabs.d.ts +6 -8
- package/types/ui/tabs.d.ts.map +1 -1
- package/types/ui/theme-toggle.d.ts +51 -7
- package/types/ui/theme-toggle.d.ts.map +1 -1
- package/types/ui/tooltip.d.ts +3 -5
- package/types/ui/tooltip.d.ts.map +1 -1
- package/types/utils/css.d.ts +11 -0
- package/types/utils/css.d.ts.map +1 -0
- package/types/utils/dom.d.ts +12 -32
- package/types/utils/dom.d.ts.map +1 -1
- package/types/utils/font-awesome.d.ts +5 -0
- package/types/utils/font-awesome.d.ts.map +1 -0
- package/types/utils/index.d.ts +2 -1
- package/types/utils/system.d.ts +113 -0
- package/types/utils/system.d.ts.map +1 -0
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use "sass:map";
|
|
7
7
|
@use "../utils";
|
|
8
|
+
@use "../layout";
|
|
8
9
|
|
|
9
10
|
/// Module Settings
|
|
10
11
|
/// @type Map
|
|
@@ -49,11 +50,7 @@ $config: (
|
|
|
49
50
|
padding: get("size") 0 0 0;
|
|
50
51
|
}
|
|
51
52
|
.ratio-box__content {
|
|
52
|
-
|
|
53
|
-
top: 0;
|
|
54
|
-
left: 0;
|
|
55
|
-
width: 100%;
|
|
56
|
-
height: 100%;
|
|
53
|
+
@include layout.absolute-fill(true);
|
|
57
54
|
border: 0;
|
|
58
55
|
}
|
|
59
56
|
@each $name, $size in get("sizes") {
|
|
@@ -22,8 +22,6 @@
|
|
|
22
22
|
/// @prop {Dimension} padding-bottom [0]
|
|
23
23
|
/// @prop {Dimension} padding-top [0]
|
|
24
24
|
/// @prop {String} prefix ["scroll-slide"]
|
|
25
|
-
/// @prop {Color} button-background-color [white]
|
|
26
|
-
/// @prop {Color} button-background-color-hover [white]
|
|
27
25
|
/// @prop {CssValue} button-border [2px solid white]
|
|
28
26
|
/// @prop {Color} button-border-color-hover [white]
|
|
29
27
|
/// @prop {Dimension} button-border-radius [50%]
|
|
@@ -46,8 +44,6 @@ $config: (
|
|
|
46
44
|
"padding-bottom" : 0,
|
|
47
45
|
"padding-top" : 0,
|
|
48
46
|
"prefix": "scroll-slider",
|
|
49
|
-
"button-background-color" : white,
|
|
50
|
-
"button-background-color-hover" : white,
|
|
51
47
|
"button-border" : 2px solid white,
|
|
52
48
|
"button-border-color-hover" : white,
|
|
53
49
|
"button-border-radius" : 50%,
|
|
@@ -124,7 +120,7 @@ $config: (
|
|
|
124
120
|
@include layout.match-container-margin("scroll-padding-left", get("container"));
|
|
125
121
|
// padding: 1rem;
|
|
126
122
|
// Add space to end of list
|
|
127
|
-
//
|
|
123
|
+
// &::after {
|
|
128
124
|
// content: "\00a0";
|
|
129
125
|
// display: block;
|
|
130
126
|
// width: 1rem;
|
|
@@ -12,47 +12,45 @@
|
|
|
12
12
|
/// Module Settings
|
|
13
13
|
/// @type Map
|
|
14
14
|
/// @prop {Color} background-color [transparent] Background color for the entire slider section.
|
|
15
|
-
/// @prop {Dimension} margin
|
|
16
|
-
/// @prop {Dimension} margin-top [1rem] Top margin color for the entire slider section.
|
|
17
|
-
/// @prop {Dimension} padding-bottom [0] Bottom padding for individual slides.
|
|
15
|
+
/// @prop {Dimension} margin [(1rem 0 3rem 0)] Margin for slider container
|
|
18
16
|
/// @prop {Dimension} padding-top [0] Top padding for individual slides.
|
|
19
|
-
/// @prop {Dimension} button-
|
|
20
|
-
/// @prop {Dimension} button-
|
|
17
|
+
/// @prop {Dimension} button-offset-x [null] Offsets the control button in from their respective sides.
|
|
18
|
+
/// @prop {Dimension} button-offset-y [null] Offsets the control button y
|
|
21
19
|
/// @prop {Dimension} button-margin [0.75rem] The margin between the controls and the slide content when using .slider__slide-gap-for-controls
|
|
22
|
-
/// @prop {
|
|
23
|
-
/// @prop {Color}
|
|
24
|
-
/// @prop {Color}
|
|
25
|
-
/// @prop {Color}
|
|
26
|
-
/// @prop {Dimension}
|
|
27
|
-
/// @prop {Color}
|
|
28
|
-
/// @prop {Color}
|
|
29
|
-
/// @prop {Color}
|
|
30
|
-
/// @prop {Dimension}
|
|
31
|
-
/// @prop {Dimension}
|
|
32
|
-
/// @prop {Dimension}
|
|
20
|
+
/// @prop {Color} nav-margin [(0.5rem 0)] Margin for nav (dots)
|
|
21
|
+
/// @prop {Color} nav-background-color [transparent] The color of the dot when unselected.
|
|
22
|
+
/// @prop {Color} nav-background-color-hover [color.get("link")] The color of the dot when hovered.
|
|
23
|
+
/// @prop {Color} nav-background-color-selected [color.get("link")] The color of the dot when selected.
|
|
24
|
+
/// @prop {Dimension} nav-border-radius [50%] The border-radius of the dot.
|
|
25
|
+
/// @prop {Color} nav-border-color [color.get("link")] The border color of the dot.
|
|
26
|
+
/// @prop {Color} nav-border-color-hover [color.get("link")] The border color of the dot when hovered.
|
|
27
|
+
/// @prop {Color} nav-border-color-selected [color.get("link")] The border color of the dot when selected.
|
|
28
|
+
/// @prop {Dimension} nav-border-width [2px] The border width of the dot.
|
|
29
|
+
/// @prop {Dimension} nav-size [1rem] The height and width of the dot.
|
|
30
|
+
/// @prop {Dimension} nav-gap [0.2rem] Gap between nav items
|
|
33
31
|
/// @prop {Dimension} button-width [1rem] The width of the button.
|
|
34
32
|
|
|
35
33
|
$config: (
|
|
36
34
|
"background-color" : transparent,
|
|
37
|
-
"margin
|
|
38
|
-
"margin-top" : 1rem,
|
|
39
|
-
"button-icon-offset-x" : 2rem,
|
|
40
|
-
"button-icon-offset-y" : false,
|
|
41
|
-
"button-margin" : 2rem,
|
|
42
|
-
"button-size" : 3rem,
|
|
43
|
-
"button-height": 2.5rem,
|
|
44
|
-
"button-width": 2.5rem,
|
|
45
|
-
"dot-background-color" : transparent,
|
|
46
|
-
"dot-background-color-hover" : "link",
|
|
47
|
-
"dot-background-color-selected" : "link",
|
|
48
|
-
"dot-border-color" : "link",
|
|
49
|
-
"dot-border-color-hover" : "link",
|
|
50
|
-
"dot-border-color-selected" : "link",
|
|
51
|
-
"dot-border-radius" : 50%,
|
|
52
|
-
"dot-border-width" : 2px,
|
|
53
|
-
"dot-size" : 1rem,
|
|
35
|
+
"margin" : (1rem 0 3rem 0),
|
|
54
36
|
"padding-bottom" : 0,
|
|
55
37
|
"padding-top" : 0,
|
|
38
|
+
"button-offset-x" : null,
|
|
39
|
+
"button-offset-y" : null,
|
|
40
|
+
"button-margin" : 2rem,
|
|
41
|
+
"button-width": 2.5rem,
|
|
42
|
+
"nav-background-color" : transparent,
|
|
43
|
+
"nav-background-color-hover" : "link",
|
|
44
|
+
"nav-background-color-selected" : "link",
|
|
45
|
+
"nav-border-color" : "link",
|
|
46
|
+
"nav-border-color-hover" : "link",
|
|
47
|
+
"nav-border-color-selected" : "link",
|
|
48
|
+
"nav-border-radius" : 50%,
|
|
49
|
+
"nav-gap" : 0.2rem,
|
|
50
|
+
"nav-border-width" : 2px,
|
|
51
|
+
"nav-size" : 1rem,
|
|
52
|
+
"nav-margin" : (0.5rem 0),
|
|
53
|
+
|
|
56
54
|
) !default;
|
|
57
55
|
|
|
58
56
|
/// Change modules $config
|
|
@@ -84,7 +82,7 @@ $config: (
|
|
|
84
82
|
#{ $prefix } {
|
|
85
83
|
position: relative; // for controls
|
|
86
84
|
background-color: color.get(get("background-color"));
|
|
87
|
-
margin: get("margin
|
|
85
|
+
margin: get("margin");
|
|
88
86
|
}
|
|
89
87
|
#{ $prefix }__track,
|
|
90
88
|
#{ $prefix-plugin }__controls,
|
|
@@ -97,34 +95,30 @@ $config: (
|
|
|
97
95
|
top: 50%;
|
|
98
96
|
transform: translateY(-50%);
|
|
99
97
|
z-index: 10;
|
|
100
|
-
|
|
101
|
-
@if get("button-icon-offset-y") {
|
|
102
|
-
#{ $prefix-plugin }__control-icon {
|
|
103
|
-
margin-top: get("button-icon-offset-y");
|
|
104
|
-
}
|
|
98
|
+
margin-top: get("button-offset-y");
|
|
105
99
|
}
|
|
106
100
|
#{ $prefix-plugin }__nav {
|
|
107
101
|
display: flex;
|
|
108
102
|
justify-content: center;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
103
|
+
margin: get("nav-margin");
|
|
104
|
+
gap: get("nav-gap");
|
|
112
105
|
}
|
|
113
106
|
#{ $prefix-plugin }__nav-button {
|
|
114
107
|
display: block;
|
|
115
|
-
width: get("
|
|
116
|
-
height: get("
|
|
117
|
-
background-color: color.get(get("
|
|
118
|
-
border: get("
|
|
119
|
-
border-radius: get("
|
|
108
|
+
width: get("nav-size");
|
|
109
|
+
height: get("nav-size");
|
|
110
|
+
background-color: color.get(get("nav-background-color"));
|
|
111
|
+
border: get("nav-border-width") solid color.get(get("nav-border-color"));
|
|
112
|
+
border-radius: get("nav-border-radius");
|
|
120
113
|
&:hover {
|
|
121
|
-
background-color: color.get(get("
|
|
114
|
+
background-color: color.get(get("nav-background-color-hover"));
|
|
115
|
+
border-color: color.get(get("nav-border-color-hover"));
|
|
122
116
|
}
|
|
123
117
|
}
|
|
124
118
|
#{ $prefix-plugin }__nav-button--active,
|
|
125
119
|
#{ $prefix-plugin }__nav-button--active:hover {
|
|
126
|
-
background-color: color.get(get("
|
|
127
|
-
border-color: color.get(get("
|
|
120
|
+
background-color: color.get(get("nav-background-color-selected"));
|
|
121
|
+
border-color: color.get(get("nav-border-color-selected"));
|
|
128
122
|
}
|
|
129
123
|
#{ $prefix-plugin }__control-button,
|
|
130
124
|
#{ $prefix-plugin }__nav-button {
|
|
@@ -164,42 +158,25 @@ $config: (
|
|
|
164
158
|
}
|
|
165
159
|
#{ $prefix-plugin }__control-button--previous {
|
|
166
160
|
left: 0;
|
|
167
|
-
|
|
168
|
-
#{ $prefix-plugin }__control-icon {
|
|
169
|
-
margin-left: get("button-icon-offset-x");
|
|
170
|
-
}
|
|
171
|
-
}
|
|
161
|
+
margin-left: get("button-offset-x");
|
|
172
162
|
}
|
|
173
163
|
#{ $prefix-plugin }__control-button--next {
|
|
174
164
|
right: 0;
|
|
175
|
-
|
|
176
|
-
#{ $prefix-plugin }__control-icon {
|
|
177
|
-
margin-right: get("button-icon-offset-x");
|
|
178
|
-
}
|
|
179
|
-
}
|
|
165
|
+
margin-right: get("button-offset-x");
|
|
180
166
|
}
|
|
181
167
|
#{ $prefix }--inset-controls {
|
|
182
168
|
#{ $prefix }__slide-gap-for-controls {
|
|
183
|
-
$padding: get("button-width") + get("button-margin") + get("button-
|
|
169
|
+
$padding: get("button-width") + get("button-margin") + get("button-offset-x");
|
|
184
170
|
padding-left: $padding;
|
|
185
171
|
padding-right: $padding;
|
|
186
172
|
}
|
|
187
173
|
#{ $prefix-plugin }__control-button--previous {
|
|
188
174
|
left: 0;
|
|
189
|
-
|
|
190
|
-
&#{ $prefix-plugin }__control-icon {
|
|
191
|
-
margin-left: get("button-icon-offset-x");
|
|
192
|
-
|
|
193
|
-
}
|
|
194
|
-
}
|
|
175
|
+
margin-left: get("button-offset-x");
|
|
195
176
|
}
|
|
196
177
|
#{ $prefix-plugin }__control-button--next {
|
|
197
178
|
right: 0;
|
|
198
|
-
|
|
199
|
-
&#{ $prefix-plugin }__control-icon {
|
|
200
|
-
margin-right: get("button-icon-offset-x");
|
|
201
|
-
}
|
|
202
|
-
}
|
|
179
|
+
margin-right: get("button-offset-x");
|
|
203
180
|
}
|
|
204
181
|
}
|
|
205
182
|
}
|
|
@@ -96,7 +96,7 @@ $styles: () !default;
|
|
|
96
96
|
transform-origin: $sizeHalf $sizeHalf;
|
|
97
97
|
animation: UluFadeOut get("duration") linear infinite;
|
|
98
98
|
}
|
|
99
|
-
#{ $prefix }__spinner div
|
|
99
|
+
#{ $prefix }__spinner div::after {
|
|
100
100
|
content: " ";
|
|
101
101
|
display: block;
|
|
102
102
|
position: absolute;
|
|
@@ -181,7 +181,7 @@ $styles: () !default;
|
|
|
181
181
|
transform-origin: $sizeHalf $sizeHalf;
|
|
182
182
|
animation-duration: map.get($merged, "duration");
|
|
183
183
|
}
|
|
184
|
-
#{ $prefix }__spinner div
|
|
184
|
+
#{ $prefix }__spinner div::after {
|
|
185
185
|
left: $sizeHalf - $spoke-widthHalf;
|
|
186
186
|
width: $spoke-width;
|
|
187
187
|
height: map.get($merged, "spoke-height");
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
|
|
2
|
+
////
|
|
3
|
+
/// @group sticky-list
|
|
4
|
+
////
|
|
5
|
+
/// Sticky first column, sticky elements inside adjacent columns to first. (Sticky list with header)
|
|
6
|
+
|
|
7
|
+
@use "sass:map";
|
|
8
|
+
@use "sass:meta";
|
|
9
|
+
@use "sass:color" as sassColor;
|
|
10
|
+
|
|
11
|
+
@use "../color";
|
|
12
|
+
@use "../element";
|
|
13
|
+
@use "../breakpoint";
|
|
14
|
+
@use "../typography";
|
|
15
|
+
@use "../utils";
|
|
16
|
+
@use "../selector";
|
|
17
|
+
|
|
18
|
+
// Used for function fallback
|
|
19
|
+
$-fallbacks: (
|
|
20
|
+
"margin" : (
|
|
21
|
+
"function" : meta.get-function("get", false, "element"),
|
|
22
|
+
"property" : "margin"
|
|
23
|
+
),
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
/// Module Settings
|
|
27
|
+
/// @type Map
|
|
28
|
+
/// @prop {Color} background-color [transparent] Background color for the entire slider section.
|
|
29
|
+
/// @prop {Number} margin [true] Margin on ends of component (defaults to element margin)
|
|
30
|
+
/// @prop {Number} mask-offset-bottom [55vh] The offset for the mask (on bottom)
|
|
31
|
+
/// @prop {Number} mask-offset-top [5rem] The offset for the mask (on top)
|
|
32
|
+
/// @prop {Number} sticky-top [45vh] When to stick
|
|
33
|
+
/// @prop {String} breakpoint ["medium"] The upward breakpoint that this is allowed to be sticky
|
|
34
|
+
/// @prop {String} type-size ["medium"] The typography size to use for title
|
|
35
|
+
/// @prop {Number} title-width [40%] The width of the title when this is displayed in columns
|
|
36
|
+
/// @prop {Number} title-min-width [8em] The min width for title when displayed in columns
|
|
37
|
+
/// @prop {CssValue} title-text-align [right] Text alignment for title when displayed in columns
|
|
38
|
+
/// @prop {Number} item-padding-x [0] Optional padding on the left/right for items
|
|
39
|
+
/// @prop {Number} gap [2rem] The gap between title and items when displayed in columns
|
|
40
|
+
/// @prop {Color} background-color [white] The background color used for the mask
|
|
41
|
+
/// @prop {List} background-contexts Adjust the background mask color by contextual selectors. Pass List of Maps with ("selector" [parent/contextual selector], "background-color", "item-padding-x" [optional])
|
|
42
|
+
|
|
43
|
+
$config: (
|
|
44
|
+
"margin" : true,
|
|
45
|
+
"mask-offset-bottom" : 55vh,
|
|
46
|
+
"mask-offset-top" : 5rem,
|
|
47
|
+
"sticky-top" : 45vh,
|
|
48
|
+
"breakpoint" : "medium",
|
|
49
|
+
"type-size" : "large",
|
|
50
|
+
"title-width" : 40%,
|
|
51
|
+
"title-min-width" : 8em,
|
|
52
|
+
"title-text-align" : right,
|
|
53
|
+
"item-padding-x" : 0,
|
|
54
|
+
"gap" : 2rem,
|
|
55
|
+
"background-color" : white,
|
|
56
|
+
"background-contexts" : (
|
|
57
|
+
(
|
|
58
|
+
"selector" : ".background-dark",
|
|
59
|
+
"background-color" : black,
|
|
60
|
+
"item-padding-x" : 1em
|
|
61
|
+
),
|
|
62
|
+
)
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
/// Change modules $config
|
|
66
|
+
/// @param {Map} $changes Map of changes
|
|
67
|
+
/// @example scss
|
|
68
|
+
/// @include ulu.component-sticky-list-set(( "property" : value ));
|
|
69
|
+
|
|
70
|
+
@mixin set($changes) {
|
|
71
|
+
$config: map.merge($config, $changes) !global;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/// Set sizes map
|
|
75
|
+
/// @param {Map} $changes Map of changes
|
|
76
|
+
/// @param {String} $merge-mode Merge mode see utils.map-merge() [null|"deep"|"overwrite"]
|
|
77
|
+
|
|
78
|
+
@mixin set-sizes($changes, $merge-mode: null) {
|
|
79
|
+
$sizes: utils.map-merge($sizes, $changes, $merge-mode) !global;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/// Get a config option
|
|
83
|
+
/// @param {Map} $name Name of property
|
|
84
|
+
/// @example scss
|
|
85
|
+
/// @include ulu.component-sticky-list-get("property");
|
|
86
|
+
|
|
87
|
+
@function get($name) {
|
|
88
|
+
$value: utils.require-map-get($config, $name, "sticky-list [config]");
|
|
89
|
+
@return utils.function-fallback($name, $value, $-fallbacks);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/// Prints component styles
|
|
93
|
+
/// @demo sticky-list
|
|
94
|
+
/// @example scss
|
|
95
|
+
/// @include ulu.component-sticky-list-styles();
|
|
96
|
+
/// @example html {preview}
|
|
97
|
+
/// <div class="sticky-list">
|
|
98
|
+
/// <strong class="sticky-list__title">Example:</strong>
|
|
99
|
+
/// <ul class="sticky-list__list">
|
|
100
|
+
/// <li class="sticky-list__item">
|
|
101
|
+
/// Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras nec nisl magna
|
|
102
|
+
/// </li>
|
|
103
|
+
/// <li class="sticky-list__item">
|
|
104
|
+
/// Aenean sollicitudin mauris lectus, blandit suscipit lectus fringilla sed
|
|
105
|
+
/// </li>
|
|
106
|
+
/// <li class="sticky-list__item">
|
|
107
|
+
/// Suspendisse sollicitudin, justo sed efficitur tempor, risus
|
|
108
|
+
/// </li>
|
|
109
|
+
/// <li class="sticky-list__item">
|
|
110
|
+
/// Suspendisse sollicitudin, justo sed efficitur tempor, risus
|
|
111
|
+
/// </li>
|
|
112
|
+
/// <li class="sticky-list__item">
|
|
113
|
+
/// Suspendisse sollicitudin, justo sed efficitur tempor, risus
|
|
114
|
+
/// </li>
|
|
115
|
+
/// </ul>
|
|
116
|
+
/// </div>
|
|
117
|
+
|
|
118
|
+
@mixin styles {
|
|
119
|
+
$prefix: selector.class("sticky-list");
|
|
120
|
+
$mask-offset-top: get("mask-offset-top");
|
|
121
|
+
$mask-offset-bottom: get("mask-offset-bottom");
|
|
122
|
+
$type-size: get("type-size");
|
|
123
|
+
$sticky-top: get("sticky-top");
|
|
124
|
+
|
|
125
|
+
#{ $prefix } {
|
|
126
|
+
padding: get("margin") 0;
|
|
127
|
+
}
|
|
128
|
+
@include breakpoint.min(get("breakpoint")) {
|
|
129
|
+
#{ $prefix } {
|
|
130
|
+
display: flex;
|
|
131
|
+
align-items: flex-start;
|
|
132
|
+
gap: get("gap");
|
|
133
|
+
position: relative;
|
|
134
|
+
@if ($type-size and typography.has-size($type-size)) {
|
|
135
|
+
@include typography.size($type-size, $only-font-size: true);
|
|
136
|
+
} @else if ($type-size) {
|
|
137
|
+
@warn "Unable to find '#{$type-size}' typography size for title";
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
#{ $prefix }__title,
|
|
141
|
+
#{ $prefix } > :not(ul) {
|
|
142
|
+
display: block;
|
|
143
|
+
position: sticky;
|
|
144
|
+
top: $sticky-top;
|
|
145
|
+
flex-basis: get("title-width");
|
|
146
|
+
min-width: get("title-min-width");
|
|
147
|
+
padding-top: $mask-offset-top;
|
|
148
|
+
padding-bottom: $mask-offset-bottom;
|
|
149
|
+
text-align: get("title-text-align");
|
|
150
|
+
}
|
|
151
|
+
#{ $prefix }__list,
|
|
152
|
+
#{ $prefix } > ul {
|
|
153
|
+
list-style: none;
|
|
154
|
+
margin: 0;
|
|
155
|
+
display: flex;
|
|
156
|
+
flex-direction: column;
|
|
157
|
+
justify-content: space-between;
|
|
158
|
+
align-self: stretch;
|
|
159
|
+
}
|
|
160
|
+
#{ $prefix }__item,
|
|
161
|
+
#{ $prefix } > ul > li {
|
|
162
|
+
display: block;
|
|
163
|
+
position: sticky;
|
|
164
|
+
top: $sticky-top;
|
|
165
|
+
margin: 0 !important; // If in editor (to complicated for :not())
|
|
166
|
+
padding: $mask-offset-top get("item-padding-x") $mask-offset-bottom get("item-padding-x");
|
|
167
|
+
@include set-background(get("background-color"));
|
|
168
|
+
}
|
|
169
|
+
#{ $prefix }__item:first-child,
|
|
170
|
+
#{ $prefix } > ul > li:first-child {
|
|
171
|
+
margin-top: 0;
|
|
172
|
+
}
|
|
173
|
+
#{ $prefix }__item:last-child,
|
|
174
|
+
#{ $prefix } > ul > li:last-child {
|
|
175
|
+
margin-bottom: 0;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Print out any contextual background styles
|
|
180
|
+
@each $props in get("background-contexts") {
|
|
181
|
+
$selector: map.get($props, "selector");
|
|
182
|
+
$item-padding-x: map.get($props, "item-padding-x");
|
|
183
|
+
@include breakpoint.min(get("breakpoint")) {
|
|
184
|
+
#{ $selector } {
|
|
185
|
+
#{ $prefix }__item,
|
|
186
|
+
#{ $prefix } > ul > li {
|
|
187
|
+
@if ($item-padding-x) {
|
|
188
|
+
padding-left: $item-padding-x;
|
|
189
|
+
padding-right: $item-padding-x;
|
|
190
|
+
}
|
|
191
|
+
@include set-background(map.get($props, "background-color"));
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/// Outputs background color mask CSS (gradient from transparent to original color)
|
|
199
|
+
/// @param {Color} $color The color to create the CSS for
|
|
200
|
+
|
|
201
|
+
@mixin set-background($color) {
|
|
202
|
+
$color: color.get($color);
|
|
203
|
+
$color-transparent: sassColor.change($color, $alpha: 0);
|
|
204
|
+
background-color: $color;
|
|
205
|
+
background: linear-gradient(180deg, $color-transparent 0%, $color get("mask-offset-top"));
|
|
206
|
+
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
@use "../color";
|
|
10
10
|
@use "../selector";
|
|
11
11
|
@use "../breakpoint";
|
|
12
|
+
@use "../layout";
|
|
12
13
|
@use "../typography";
|
|
13
14
|
@use "../element";
|
|
14
15
|
@use "../utils";
|
|
@@ -39,6 +40,8 @@ $-fallbacks: (
|
|
|
39
40
|
/// @prop {Dimension} tabpanel-padding [(2rem,)] Padding for the tabpanel
|
|
40
41
|
/// @prop {Dimension} indicator-size [0.25em] The size of the tab's active border/indicator
|
|
41
42
|
/// @prop {Color} indicator-color [currentColor] The color of the indicator
|
|
43
|
+
/// @prop {Color} indicator-transition-duration [200ms] The transition duration for indicator
|
|
44
|
+
/// @prop {Color} indicator-scale-start [0] The starting scale for the indicator (set to 1 to disable expanding on click)
|
|
42
45
|
/// @prop {Color} tab-color [link] The type color for the tabs. This uses color.scss, so the value of this options should be a variable from color.scss.
|
|
43
46
|
/// @prop {Color} tab-color-hover [link-hover] The type color for the tabs when hovered or focused. This uses color.scss, so the value of this options should be a variable from color.scss.
|
|
44
47
|
/// @prop {Color} tab-color-selected [selected] The tab type color when selected. This uses color.scss, so the value of this options should be a variable from color.scss.
|
|
@@ -55,14 +58,17 @@ $-fallbacks: (
|
|
|
55
58
|
/// @prop {Boolean} horizontal-tab-wrap [false] Set to true to allow line wrapping when the tabs are in horizontal orientation, vertical is always allowed to wrap
|
|
56
59
|
|
|
57
60
|
$config: (
|
|
58
|
-
"margin" : (2rem
|
|
61
|
+
"margin" : (2rem 0),
|
|
59
62
|
"print-margin" : 1.5em,
|
|
60
63
|
"tablist-divider" : true,
|
|
61
64
|
"tablist-divider-width" : 1px,
|
|
62
65
|
"indicator-size" : 3px,
|
|
63
66
|
"indicator-color" : currentColor,
|
|
67
|
+
"indicator-transition-duration" : 200ms,
|
|
68
|
+
"indicator-transition-timing" : ease-out,
|
|
69
|
+
"indicator-scale-start" : 0,
|
|
64
70
|
"tab-color" : "type-tertiary",
|
|
65
|
-
"tab-color-hover" : "
|
|
71
|
+
"tab-color-hover" : "selected",
|
|
66
72
|
"tab-color-selected" : "selected",
|
|
67
73
|
"tab-background-color-selected" : null,
|
|
68
74
|
"tab-font-weight" : true,
|
|
@@ -118,6 +124,7 @@ $config: (
|
|
|
118
124
|
overflow-x: auto;
|
|
119
125
|
border-bottom: get("tablist-divider");
|
|
120
126
|
border-bottom-width: get("tablist-divider-width");
|
|
127
|
+
@include layout.remove-scrollbar();
|
|
121
128
|
}
|
|
122
129
|
[role="tab"] {
|
|
123
130
|
display: block;
|
|
@@ -140,17 +147,28 @@ $config: (
|
|
|
140
147
|
left: 0;
|
|
141
148
|
right: 0;
|
|
142
149
|
height: get("indicator-size");
|
|
150
|
+
transition-property: opacity, background-color, transform;
|
|
151
|
+
transition-duration: get("indicator-transition-duration");
|
|
152
|
+
transition-timing-function: get("indicator-transition-timing");
|
|
153
|
+
transform: scaleX(get("indicator-scale-start"));
|
|
154
|
+
transform-origin: center;
|
|
143
155
|
}
|
|
144
156
|
&:hover {
|
|
145
157
|
color: color.get(get("tab-color-hover"));
|
|
146
158
|
}
|
|
159
|
+
// Add focus so as user clicks item it starts the active state styling
|
|
160
|
+
&:focus,
|
|
147
161
|
&[aria-selected="true"] {
|
|
148
|
-
|
|
149
|
-
background-color: color.get(get("tab-background-color-selected"));
|
|
162
|
+
outline: none; // We are providing focus styling
|
|
150
163
|
&::after {
|
|
151
164
|
opacity: 1;
|
|
165
|
+
transform: scaleX(1);
|
|
152
166
|
}
|
|
153
167
|
}
|
|
168
|
+
&[aria-selected="true"] {
|
|
169
|
+
color: color.get(get("tab-color-selected"));
|
|
170
|
+
background-color: color.get(get("tab-background-color-selected"));
|
|
171
|
+
}
|
|
154
172
|
}
|
|
155
173
|
[role="tabpanel"] {
|
|
156
174
|
position: relative;
|
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
@use "sass:map";
|
|
9
9
|
@use "../utils";
|
|
10
10
|
@use "../selector";
|
|
11
|
+
@use "../layout";
|
|
11
12
|
|
|
12
13
|
/// Module Settings
|
|
13
14
|
/// @type Map
|
|
14
15
|
/// @prop {Color} background-color [rgb(0,0,0)] Color used for the fade-in of the vignette. Must be actual color not color module palette name
|
|
16
|
+
/// @prop {CssValue} image-filter [saturate(85%)] Filter value placed over image.
|
|
15
17
|
|
|
16
18
|
$config: (
|
|
17
19
|
"background-color" : rgb(0,0,0),
|
|
@@ -48,11 +50,7 @@ $config: (
|
|
|
48
50
|
&::after {
|
|
49
51
|
content: "";
|
|
50
52
|
display: block;
|
|
51
|
-
|
|
52
|
-
top: 0;
|
|
53
|
-
bottom: 0;
|
|
54
|
-
left: 0;
|
|
55
|
-
right: 0;
|
|
53
|
+
@include layout.absolute-fill();
|
|
56
54
|
background: linear-gradient(0deg,color.change(get("background-color"), $alpha: 0.8),color.change(get("background-color"), $alpha: 0) 45%);
|
|
57
55
|
pointer-events: none;
|
|
58
56
|
}
|
|
@@ -13,13 +13,17 @@
|
|
|
13
13
|
|
|
14
14
|
/// Module Settings
|
|
15
15
|
/// @type Map
|
|
16
|
-
/// @prop {
|
|
17
|
-
/// @prop {List}
|
|
18
|
-
/// @prop {
|
|
16
|
+
/// @prop {String} exclude-selector [".wysiwyg__exclude"] Applied to all selectors
|
|
17
|
+
/// @prop {List} img-excluded-selectors [()] Extra selectors to prevent <img> styling
|
|
18
|
+
/// @prop {List} ul-excluded-selectors [(".list-lines",)] Extra selectors to prevent <ul> styling
|
|
19
|
+
/// @prop {List} link-excluded-selectors [("[class]",)] Extra selectors to prevent <a> styling
|
|
20
|
+
/// @prop {Map} headline-sizes [Map] Headlines from typography sizes (ElementName : TypographySizeName, ...)
|
|
19
21
|
|
|
20
22
|
$config: (
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
+
"exclude-selector" : ".wysiwyg__exclude",
|
|
24
|
+
"img-excluded-selectors" : (),
|
|
25
|
+
"ul-excluded-selectors" : (".list-lines",),
|
|
26
|
+
"link-excluded-selectors" : ("[class]",),
|
|
23
27
|
"headline-sizes" : (
|
|
24
28
|
"h2" : "h2",
|
|
25
29
|
"h3" : "h3",
|
|
@@ -66,24 +70,28 @@ $config: (
|
|
|
66
70
|
|
|
67
71
|
// Internal mixin
|
|
68
72
|
@mixin _styles() {
|
|
69
|
-
$
|
|
70
|
-
$
|
|
73
|
+
$exclude-selector: get("exclude-selector");
|
|
74
|
+
$ul-excludes: list.join(get("ul-excluded-selectors"), ($exclude-selector), $separator: comma);
|
|
75
|
+
$img-excludes: list.join(get("img-excluded-selectors"), ($exclude-selector), $separator: comma);
|
|
76
|
+
$link-excludes: list.join(get("link-excluded-selectors"), ($exclude-selector), $separator: comma);
|
|
71
77
|
|
|
72
|
-
a:not(
|
|
78
|
+
a:not(#{ $link-excludes }) {
|
|
73
79
|
@include element.link($visited: true, $active: true);
|
|
74
80
|
}
|
|
75
81
|
ul:not(#{ $ul-excludes }) {
|
|
76
82
|
@include element.styles-unordered-list();
|
|
83
|
+
margin-bottom: element.get("margin");
|
|
77
84
|
}
|
|
78
|
-
ol {
|
|
85
|
+
ol:not(#{ $exclude-selector }) {
|
|
79
86
|
@include element.styles-ordered-list(inherit);
|
|
80
|
-
}
|
|
81
|
-
ul,
|
|
82
|
-
ol {
|
|
83
87
|
margin-bottom: element.get("margin");
|
|
84
88
|
}
|
|
89
|
+
// ul,
|
|
90
|
+
// ol {
|
|
91
|
+
// margin-bottom: element.get("margin");
|
|
92
|
+
// }
|
|
85
93
|
@each $element, $size in get("headline-sizes") {
|
|
86
|
-
#{ $element } {
|
|
94
|
+
#{ $element }:not(#{ $exclude-selector }) {
|
|
87
95
|
@include typography.size($size);
|
|
88
96
|
}
|
|
89
97
|
}
|