@ulu/frontend 0.0.3
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 +21 -0
- package/README.md +9 -0
- package/dist/ulu-frontend.min.css +1 -0
- package/dist/ulu-frontend.min.js +1 -0
- package/index.js +2 -0
- package/js/deprecated/doc-ready.js +28 -0
- package/js/deprecated/jquery-prototypes.js +309 -0
- package/js/deprecated/mini-collapsible-popper-positioning.js +126 -0
- package/js/deprecated/mini-collapsible.js +607 -0
- package/js/deprecated/script-loader.js +60 -0
- package/js/events/index.js +42 -0
- package/js/helpers/css-breakpoint.js +247 -0
- package/js/helpers/file-save.js +48 -0
- package/js/helpers/node-data-manager.js +74 -0
- package/js/helpers/pause-youtube-video.js +42 -0
- package/js/helpers/scrollbar-width-property.js +10 -0
- package/js/index.js +15 -0
- package/js/polyfills/element-closest.js +17 -0
- package/js/ui/flipcard.js +202 -0
- package/js/ui/grid.js +67 -0
- package/js/ui/modals.js +219 -0
- package/js/ui/overflow-scroller-pager.js +58 -0
- package/js/ui/overflow-scroller.js +160 -0
- package/js/ui/programmatic-modal.js +91 -0
- package/js/ui/resizer.js +60 -0
- package/js/ui/slider.js +468 -0
- package/js/ui/tabs.js +109 -0
- package/js/ui/tooltip.js +82 -0
- package/js/utils/array.js +28 -0
- package/js/utils/dom.js +122 -0
- package/js/utils/logger.js +69 -0
- package/js/utils/object.js +22 -0
- package/js/utils/performance.js +43 -0
- package/js/utils/regex.js +10 -0
- package/js/utils/string.js +107 -0
- package/js/waypoints/README.md +3 -0
- package/js/waypoints/anchor-menu.js +76 -0
- package/js/waypoints/element-waypoint.js +75 -0
- package/js/waypoints/examples/page-link-menu.md +106 -0
- package/js/waypoints/state-in-attribute.js +32 -0
- package/package.json +38 -0
- package/scss/README.md +58 -0
- package/scss/_breakpoint.scss +190 -0
- package/scss/_button.scss +241 -0
- package/scss/_calculate.scss +64 -0
- package/scss/_color.scss +211 -0
- package/scss/_cssvar.scss +116 -0
- package/scss/_element.scss +276 -0
- package/scss/_grid.scss +699 -0
- package/scss/_index.scss +29 -0
- package/scss/_layout.scss +202 -0
- package/scss/_path.scss +58 -0
- package/scss/_selector.scss +81 -0
- package/scss/_typography.scss +320 -0
- package/scss/_units.scss +47 -0
- package/scss/_utility.scss +12 -0
- package/scss/_utils.scss +209 -0
- package/scss/base/_color.scss +13 -0
- package/scss/base/_elements.scss +188 -0
- package/scss/base/_index.scss +62 -0
- package/scss/base/_keyframes.scss +78 -0
- package/scss/base/_layout.scss +100 -0
- package/scss/base/_normalize.scss +315 -0
- package/scss/base/_typography.scss +41 -0
- package/scss/components/README.md +5 -0
- package/scss/components/README.todos +15 -0
- package/scss/components/_button.scss +95 -0
- package/scss/components/_index.scss +63 -0
- package/scss/components/_links.scss +34 -0
- package/scss/components/_list-lines.scss +73 -0
- package/scss/components/_list-ordered.scss +16 -0
- package/scss/components/_list-unordered.scss +21 -0
- package/scss/components/_rule.scss +93 -0
- package/scss/helpers/_color.scss +14 -0
- package/scss/helpers/_display.scss +73 -0
- package/scss/helpers/_index.scss +67 -0
- package/scss/helpers/_print.scss +58 -0
- package/scss/helpers/_typography.scss +80 -0
- package/scss/helpers/_units.scss +79 -0
- package/scss/helpers/_utilities.scss +102 -0
- package/scss/stylesheets/README.md +3 -0
- package/scss/stylesheets/full.scss +17 -0
- package/trash/js-old/deprecated/doc-ready.js +28 -0
- package/trash/js-old/deprecated/jquery-prototypes.js +309 -0
- package/trash/js-old/deprecated/mini-collapsible-popper-positioning.js +126 -0
- package/trash/js-old/deprecated/mini-collapsible.js +607 -0
- package/trash/js-old/deprecated/script-loader.js +60 -0
- package/trash/js-old/events/index.js +42 -0
- package/trash/js-old/helpers/css-breakpoint.js +247 -0
- package/trash/js-old/helpers/file-save.js +48 -0
- package/trash/js-old/helpers/node-data-manager.js +74 -0
- package/trash/js-old/helpers/pause-youtube-video.js +42 -0
- package/trash/js-old/index.js +15 -0
- package/trash/js-old/polyfills/element-closest.js +17 -0
- package/trash/js-old/ui/flipcard.js +202 -0
- package/trash/js-old/ui/grid.js +67 -0
- package/trash/js-old/ui/modals.js +219 -0
- package/trash/js-old/ui/programmatic-modal.js +91 -0
- package/trash/js-old/ui/resizer.js +60 -0
- package/trash/js-old/ui/slider.js +469 -0
- package/trash/js-old/ui/tabs.js +109 -0
- package/trash/js-old/ui/tooltip.js +82 -0
- package/trash/js-old/utils/array.js +28 -0
- package/trash/js-old/utils/dom.js +122 -0
- package/trash/js-old/utils/logger.js +69 -0
- package/trash/js-old/utils/object.js +22 -0
- package/trash/js-old/utils/performance.js +43 -0
- package/trash/js-old/utils/regex.js +10 -0
- package/trash/js-old/utils/string.js +107 -0
- package/trash/js-old/waypoints/README.md +3 -0
- package/trash/js-old/waypoints/anchor-menu.js +76 -0
- package/trash/js-old/waypoints/element-waypoint.js +75 -0
- package/trash/js-old/waypoints/examples/page-link-menu.md +106 -0
- package/trash/js-old/waypoints/state-in-attribute.js +32 -0
- package/trash/js-old-230729/deprecated/doc-ready.js +28 -0
- package/trash/js-old-230729/deprecated/jquery-prototypes.js +309 -0
- package/trash/js-old-230729/deprecated/mini-collapsible-popper-positioning.js +126 -0
- package/trash/js-old-230729/deprecated/mini-collapsible.js +607 -0
- package/trash/js-old-230729/deprecated/script-loader.js +60 -0
- package/trash/js-old-230729/events/index.js +42 -0
- package/trash/js-old-230729/helpers/css-breakpoint.js +247 -0
- package/trash/js-old-230729/helpers/file-save.js +48 -0
- package/trash/js-old-230729/helpers/node-data-manager.js +74 -0
- package/trash/js-old-230729/helpers/pause-youtube-video.js +42 -0
- package/trash/js-old-230729/helpers/scrollbar-width-property.js +10 -0
- package/trash/js-old-230729/index.js +15 -0
- package/trash/js-old-230729/polyfills/element-closest.js +17 -0
- package/trash/js-old-230729/ui/flipcard.js +202 -0
- package/trash/js-old-230729/ui/grid.js +67 -0
- package/trash/js-old-230729/ui/modals.js +219 -0
- package/trash/js-old-230729/ui/overflow-scroller-pager.js +58 -0
- package/trash/js-old-230729/ui/overflow-scroller.js +160 -0
- package/trash/js-old-230729/ui/programmatic-modal.js +91 -0
- package/trash/js-old-230729/ui/resizer.js +60 -0
- package/trash/js-old-230729/ui/slider.js +468 -0
- package/trash/js-old-230729/ui/tabs.js +109 -0
- package/trash/js-old-230729/ui/tooltip.js +82 -0
- package/trash/js-old-230729/utils/array.js +28 -0
- package/trash/js-old-230729/utils/dom.js +122 -0
- package/trash/js-old-230729/utils/logger.js +69 -0
- package/trash/js-old-230729/utils/object.js +22 -0
- package/trash/js-old-230729/utils/performance.js +43 -0
- package/trash/js-old-230729/utils/regex.js +10 -0
- package/trash/js-old-230729/utils/string.js +107 -0
- package/trash/js-old-230729/waypoints/README.md +3 -0
- package/trash/js-old-230729/waypoints/anchor-menu.js +76 -0
- package/trash/js-old-230729/waypoints/element-waypoint.js +75 -0
- package/trash/js-old-230729/waypoints/examples/page-link-menu.md +106 -0
- package/trash/js-old-230729/waypoints/state-in-attribute.js +32 -0
- package/trash/logo-1.svg +13 -0
- package/trash/logo.svg +16 -0
- package/trash/scss-before-cqc-update/README.md +58 -0
- package/trash/scss-before-cqc-update/_breakpoint.scss +190 -0
- package/trash/scss-before-cqc-update/_button.scss +229 -0
- package/trash/scss-before-cqc-update/_calculate.scss +65 -0
- package/trash/scss-before-cqc-update/_color.scss +211 -0
- package/trash/scss-before-cqc-update/_cssvar.scss +116 -0
- package/trash/scss-before-cqc-update/_element.scss +275 -0
- package/trash/scss-before-cqc-update/_index.scss +29 -0
- package/trash/scss-before-cqc-update/_layout.scss +247 -0
- package/trash/scss-before-cqc-update/_path.scss +59 -0
- package/trash/scss-before-cqc-update/_selector.scss +82 -0
- package/trash/scss-before-cqc-update/_typography.scss +322 -0
- package/trash/scss-before-cqc-update/_units.scss +48 -0
- package/trash/scss-before-cqc-update/_utility.scss +13 -0
- package/trash/scss-before-cqc-update/_utils.scss +211 -0
- package/trash/scss-before-cqc-update/base/_color.scss +14 -0
- package/trash/scss-before-cqc-update/base/_elements.scss +189 -0
- package/trash/scss-before-cqc-update/base/_index.scss +63 -0
- package/trash/scss-before-cqc-update/base/_keyframes.scss +74 -0
- package/trash/scss-before-cqc-update/base/_layout.scss +88 -0
- package/trash/scss-before-cqc-update/base/_normalize.scss +316 -0
- package/trash/scss-before-cqc-update/base/_typography.scss +42 -0
- package/trash/scss-before-cqc-update/components/README.md +5 -0
- package/trash/scss-before-cqc-update/components/README.todos +15 -0
- package/trash/scss-before-cqc-update/components/_button.scss +96 -0
- package/trash/scss-before-cqc-update/components/_grid.scss +671 -0
- package/trash/scss-before-cqc-update/components/_index.scss +70 -0
- package/trash/scss-before-cqc-update/components/_links.scss +35 -0
- package/trash/scss-before-cqc-update/components/_list-lines.scss +74 -0
- package/trash/scss-before-cqc-update/components/_list-ordered.scss +17 -0
- package/trash/scss-before-cqc-update/components/_list-unordered.scss +22 -0
- package/trash/scss-before-cqc-update/components/_rule.scss +94 -0
- package/trash/scss-before-cqc-update/helpers/_color.scss +15 -0
- package/trash/scss-before-cqc-update/helpers/_display.scss +73 -0
- package/trash/scss-before-cqc-update/helpers/_index.scss +68 -0
- package/trash/scss-before-cqc-update/helpers/_print.scss +59 -0
- package/trash/scss-before-cqc-update/helpers/_typography.scss +73 -0
- package/trash/scss-before-cqc-update/helpers/_units.scss +79 -0
- package/trash/scss-before-cqc-update/helpers/_utilities.scss +88 -0
- package/trash/scss-before-cqc-update/stylesheets/README.md +3 -0
- package/trash/scss-before-cqc-update/stylesheets/full.scss +17 -0
- package/trash/scss-old/README.md +58 -0
- package/trash/scss-old/_breakpoint.scss +140 -0
- package/trash/scss-old/_button.scss +223 -0
- package/trash/scss-old/_calculate.scss +64 -0
- package/trash/scss-old/_color.scss +200 -0
- package/trash/scss-old/_element.scss +262 -0
- package/trash/scss-old/_grid.scss +558 -0
- package/trash/scss-old/_index.scss +25 -0
- package/trash/scss-old/_layout.scss +170 -0
- package/trash/scss-old/_path.scss +58 -0
- package/trash/scss-old/_selector.scss +81 -0
- package/trash/scss-old/_typography.scss +320 -0
- package/trash/scss-old/_units.scss +47 -0
- package/trash/scss-old/_utility.scss +12 -0
- package/trash/scss-old/_utils.scss +186 -0
- package/trash/scss-old/base/_color.scss +13 -0
- package/trash/scss-old/base/_elements.scss +183 -0
- package/trash/scss-old/base/_index.scss +62 -0
- package/trash/scss-old/base/_keyframes.scss +74 -0
- package/trash/scss-old/base/_layout.scss +81 -0
- package/trash/scss-old/base/_normalize.scss +316 -0
- package/trash/scss-old/base/_typography.scss +42 -0
- package/trash/scss-old/components/README.md +5 -0
- package/trash/scss-old/components/README.todos +15 -0
- package/trash/scss-old/components/_button.scss +74 -0
- package/trash/scss-old/components/_index.scss +63 -0
- package/trash/scss-old/components/_links.scss +34 -0
- package/trash/scss-old/components/_list-lines.scss +73 -0
- package/trash/scss-old/components/_list-ordered.scss +16 -0
- package/trash/scss-old/components/_list-unordered.scss +21 -0
- package/trash/scss-old/components/_rule.scss +84 -0
- package/trash/scss-old/helpers/_color.scss +14 -0
- package/trash/scss-old/helpers/_display.scss +68 -0
- package/trash/scss-old/helpers/_index.scss +67 -0
- package/trash/scss-old/helpers/_print.scss +59 -0
- package/trash/scss-old/helpers/_typography.scss +73 -0
- package/trash/scss-old/helpers/_units.scss +68 -0
- package/trash/scss-old/helpers/_utilities.scss +82 -0
- package/trash/scss-old/packages/README.md +3 -0
- package/trash/scss-old/packages/everything.scss +17 -0
- package/trash/scss-old-2/README.md +58 -0
- package/trash/scss-old-2/_breakpoint.scss +139 -0
- package/trash/scss-old-2/_button.scss +223 -0
- package/trash/scss-old-2/_calculate.scss +64 -0
- package/trash/scss-old-2/_color.scss +202 -0
- package/trash/scss-old-2/_element.scss +263 -0
- package/trash/scss-old-2/_grid.scss +558 -0
- package/trash/scss-old-2/_index.scss +25 -0
- package/trash/scss-old-2/_layout.scss +170 -0
- package/trash/scss-old-2/_path.scss +58 -0
- package/trash/scss-old-2/_selector.scss +81 -0
- package/trash/scss-old-2/_typography.scss +320 -0
- package/trash/scss-old-2/_units.scss +47 -0
- package/trash/scss-old-2/_utility.scss +12 -0
- package/trash/scss-old-2/_utils.scss +186 -0
- package/trash/scss-old-2/base/_color.scss +13 -0
- package/trash/scss-old-2/base/_elements.scss +182 -0
- package/trash/scss-old-2/base/_index.scss +62 -0
- package/trash/scss-old-2/base/_keyframes.scss +73 -0
- package/trash/scss-old-2/base/_layout.scss +83 -0
- package/trash/scss-old-2/base/_normalize.scss +315 -0
- package/trash/scss-old-2/base/_typography.scss +41 -0
- package/trash/scss-old-2/components/README.md +5 -0
- package/trash/scss-old-2/components/README.todos +15 -0
- package/trash/scss-old-2/components/_button.scss +95 -0
- package/trash/scss-old-2/components/_index.scss +63 -0
- package/trash/scss-old-2/components/_links.scss +33 -0
- package/trash/scss-old-2/components/_list-lines.scss +73 -0
- package/trash/scss-old-2/components/_list-ordered.scss +16 -0
- package/trash/scss-old-2/components/_list-unordered.scss +21 -0
- package/trash/scss-old-2/components/_rule.scss +84 -0
- package/trash/scss-old-2/helpers/_color.scss +14 -0
- package/trash/scss-old-2/helpers/_display.scss +67 -0
- package/trash/scss-old-2/helpers/_index.scss +67 -0
- package/trash/scss-old-2/helpers/_print.scss +58 -0
- package/trash/scss-old-2/helpers/_typography.scss +72 -0
- package/trash/scss-old-2/helpers/_units.scss +68 -0
- package/trash/scss-old-2/helpers/_utilities.scss +81 -0
- package/trash/scss-old-2/packages/README.md +3 -0
- package/trash/scss-old-2/packages/everything.scss +17 -0
- package/trash/scss-old-230729/README.md +58 -0
- package/trash/scss-old-230729/_breakpoint.scss +139 -0
- package/trash/scss-old-230729/_button.scss +223 -0
- package/trash/scss-old-230729/_calculate.scss +64 -0
- package/trash/scss-old-230729/_color.scss +202 -0
- package/trash/scss-old-230729/_element.scss +273 -0
- package/trash/scss-old-230729/_grid.scss +694 -0
- package/trash/scss-old-230729/_index.scss +25 -0
- package/trash/scss-old-230729/_layout.scss +193 -0
- package/trash/scss-old-230729/_path.scss +58 -0
- package/trash/scss-old-230729/_selector.scss +81 -0
- package/trash/scss-old-230729/_typography.scss +320 -0
- package/trash/scss-old-230729/_units.scss +47 -0
- package/trash/scss-old-230729/_utility.scss +12 -0
- package/trash/scss-old-230729/_utils.scss +186 -0
- package/trash/scss-old-230729/base/_color.scss +13 -0
- package/trash/scss-old-230729/base/_elements.scss +188 -0
- package/trash/scss-old-230729/base/_index.scss +62 -0
- package/trash/scss-old-230729/base/_keyframes.scss +73 -0
- package/trash/scss-old-230729/base/_layout.scss +83 -0
- package/trash/scss-old-230729/base/_normalize.scss +315 -0
- package/trash/scss-old-230729/base/_typography.scss +41 -0
- package/trash/scss-old-230729/components/README.md +5 -0
- package/trash/scss-old-230729/components/README.todos +15 -0
- package/trash/scss-old-230729/components/_button.scss +95 -0
- package/trash/scss-old-230729/components/_index.scss +63 -0
- package/trash/scss-old-230729/components/_links.scss +34 -0
- package/trash/scss-old-230729/components/_list-lines.scss +73 -0
- package/trash/scss-old-230729/components/_list-ordered.scss +16 -0
- package/trash/scss-old-230729/components/_list-unordered.scss +21 -0
- package/trash/scss-old-230729/components/_rule.scss +93 -0
- package/trash/scss-old-230729/helpers/_color.scss +14 -0
- package/trash/scss-old-230729/helpers/_display.scss +73 -0
- package/trash/scss-old-230729/helpers/_index.scss +67 -0
- package/trash/scss-old-230729/helpers/_print.scss +58 -0
- package/trash/scss-old-230729/helpers/_typography.scss +72 -0
- package/trash/scss-old-230729/helpers/_units.scss +68 -0
- package/trash/scss-old-230729/helpers/_utilities.scss +87 -0
- package/trash/scss-old-230729/packages/README.md +3 -0
- package/trash/scss-old-230729/packages/everything.scss +17 -0
- package/trash/vue/directives/background-image-url.js +12 -0
- package/trash/vue/helpers/add-required-components.js +14 -0
- package/trash/vue/ui/CollapsibleRegion/CollapsibleRegion.vue +277 -0
- package/trash/vue/ui/CollapsibleRegion/Demo.vue +101 -0
- package/trash/vue/ui/Dropdown/Dropdown.vue +184 -0
- package/trash/vue/ui/Modals/components/Modal.vue +49 -0
- package/trash/vue/ui/Modals/components/Modals.vue +103 -0
- package/trash/vue/ui/Modals/plugin.js +215 -0
- package/trash/vue/ui/Modals/readme.note +10 -0
- package/trash/vue/ui/Modals/reference/example-usage.vue +27 -0
- package/trash/vue/ui/Modals/reference/wcag-example/dialog.js +324 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group color
|
|
3
|
+
////
|
|
4
|
+
|
|
5
|
+
@use "sass:map";
|
|
6
|
+
@use "sass:meta";
|
|
7
|
+
@use "utils";
|
|
8
|
+
@use "selector";
|
|
9
|
+
|
|
10
|
+
/// The color palette map, can be extended or modified with set() and accessed with get()
|
|
11
|
+
/// @type map
|
|
12
|
+
|
|
13
|
+
$palette: (
|
|
14
|
+
"black": black,
|
|
15
|
+
"white": white,
|
|
16
|
+
"type": black,
|
|
17
|
+
"focus": blue,
|
|
18
|
+
"error": red,
|
|
19
|
+
"accent": orange,
|
|
20
|
+
"selected" : green,
|
|
21
|
+
"box-shadow": rgba(0, 0, 0, 0.349),
|
|
22
|
+
"rule": gray,
|
|
23
|
+
"rule-light": lightgray,
|
|
24
|
+
"link": blue,
|
|
25
|
+
"link:hover": darkblue,
|
|
26
|
+
"link:active": darkblue,
|
|
27
|
+
"link:visited": purple,
|
|
28
|
+
"bullet": inherit
|
|
29
|
+
) !default;
|
|
30
|
+
|
|
31
|
+
/// Pairs of background-color and color definitions
|
|
32
|
+
/// @type map
|
|
33
|
+
/// @prop {Number|String} $contexts.name.background-color Color value or name of color in $palette
|
|
34
|
+
/// @prop {Number|String} $contexts.name.color Color value or name of color in $palette
|
|
35
|
+
/// @prop {Boolean} $contexts.name.base-class Print this value in the base module as a class (if base prints)
|
|
36
|
+
|
|
37
|
+
$contexts: (
|
|
38
|
+
"dark" : (
|
|
39
|
+
"background-color" : "black",
|
|
40
|
+
"color" : "white",
|
|
41
|
+
"base-class" : true
|
|
42
|
+
),
|
|
43
|
+
"light" : (
|
|
44
|
+
"background-color" : "white",
|
|
45
|
+
"color" : "black",
|
|
46
|
+
"base-class" : true
|
|
47
|
+
),
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
/// Palette entries that are output as classes when using all-color-class-styles
|
|
51
|
+
$color-classes: (
|
|
52
|
+
"black" : true,
|
|
53
|
+
"white" : true,
|
|
54
|
+
"type": true
|
|
55
|
+
) !default;
|
|
56
|
+
|
|
57
|
+
/// Used to override or extend the color palette
|
|
58
|
+
/// @param {Map} $changes A map to merge into the color palette
|
|
59
|
+
/// @example scss Setting the error and type color
|
|
60
|
+
/// @include color.set((
|
|
61
|
+
/// "type" : #444,
|
|
62
|
+
/// "error" : orange,
|
|
63
|
+
/// ));
|
|
64
|
+
|
|
65
|
+
@mixin set($changes) {
|
|
66
|
+
$palette: map.merge($palette, $changes) !global;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/// Get a color from the palette by name
|
|
70
|
+
/// @param {String} $name Name of color to get
|
|
71
|
+
/// @return {Color}
|
|
72
|
+
|
|
73
|
+
@function get($name) {
|
|
74
|
+
// Allow non lookup if the value is already a color (helps with code flow)
|
|
75
|
+
@if (meta.type-of($name) == "color") {
|
|
76
|
+
@return $name;
|
|
77
|
+
} @else if ($name == "inherit") {
|
|
78
|
+
@return $name;
|
|
79
|
+
} @else {
|
|
80
|
+
@return utils.require-map-get($palette, $name, 'color');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/// Set ouput classes for all-color-class-styles
|
|
85
|
+
/// @param {Map} $changes Map of changes (you can disable defaults this way)
|
|
86
|
+
|
|
87
|
+
@mixin set-color-classes($changes) {
|
|
88
|
+
$color-classes: map.merge($color-classes, $changes) !global;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@function exists($name) {
|
|
92
|
+
$color: map.get($palette, $name);
|
|
93
|
+
@return if($color != null, true, false);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/// Set color contexts
|
|
97
|
+
/// @param {Map} $changes A map to merge
|
|
98
|
+
/// @param {Map} $deep Use deep merge
|
|
99
|
+
/// @param {Map} $overwrite Overwrite the completly (cannot be used with deep)
|
|
100
|
+
/// @example scss Overwriting contexts
|
|
101
|
+
/// @include color.set-contexts((
|
|
102
|
+
/// "dark" : (
|
|
103
|
+
/// "background-color" : red,
|
|
104
|
+
/// "color" : white,
|
|
105
|
+
/// )
|
|
106
|
+
/// ), false, true);
|
|
107
|
+
|
|
108
|
+
@mixin set-contexts($changes, $deep: false, $overwrite: false) {
|
|
109
|
+
$contexts: utils.map-merge-or-overwrite($contexts, $changes, $deep, $overwrite) !global;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/// Get a context by name
|
|
113
|
+
/// @param {String} $name Name of context
|
|
114
|
+
/// @return {Map}
|
|
115
|
+
|
|
116
|
+
@function get-context($name) {
|
|
117
|
+
@return utils.require-map-get($contexts, $name, 'context');
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/// Get a context's value'
|
|
121
|
+
/// @param {String} $name Name of context
|
|
122
|
+
/// @param {String} $prop The property to get
|
|
123
|
+
/// @return {Color}
|
|
124
|
+
|
|
125
|
+
@function get-context-value($name, $prop) {
|
|
126
|
+
$context: get-context($name);
|
|
127
|
+
$value: map.get($context, $prop);
|
|
128
|
+
// Get from pallete by name
|
|
129
|
+
@if (meta.type-of($value) == "string") {
|
|
130
|
+
$value: get($value);
|
|
131
|
+
}
|
|
132
|
+
@return $value;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/// Prints contexts styles
|
|
136
|
+
/// @param {String} $name Name of context
|
|
137
|
+
|
|
138
|
+
@mixin context-styles($name) {
|
|
139
|
+
$context: get-context($name);
|
|
140
|
+
background-color: get-context-value($name, "background-color");
|
|
141
|
+
background: map.get($context, "background"); // Allow gradients/images
|
|
142
|
+
background-image: map.get($context, "background-image"); // Allow gradients/images
|
|
143
|
+
color: get-context-value($name, "color");
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/// Lighten a color using the default white by a percentage
|
|
147
|
+
/// @param {Color, String} $color Color/palette color name to apply to tint
|
|
148
|
+
/// @param {Number} $percentage Percentage
|
|
149
|
+
/// @return {Color}
|
|
150
|
+
/// @link https://css-tricks.com/snippets/sass/tint-shade-functions/ Modified from source (CSS Tricks, Kitty Giraudel)
|
|
151
|
+
|
|
152
|
+
@function tint($color, $percentage) {
|
|
153
|
+
@return mix(get("white"), get($color), $percentage);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/// Darken a color with the default black by a percentage
|
|
157
|
+
/// @param {Color, String} $color Color/palette color name to shade
|
|
158
|
+
/// @param {Number} $percentage Percentage to shade
|
|
159
|
+
/// @return {Color}
|
|
160
|
+
/// @author Kitty Giraudel
|
|
161
|
+
/// @link https://css-tricks.com/snippets/sass/tint-shade-functions/ Modified from source (CSS Tricks, Kitty Giraudel)
|
|
162
|
+
|
|
163
|
+
@function shade($color, $percentage) {
|
|
164
|
+
@return mix(get("black"), get($color), $percentage);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/// Prints all context styles
|
|
168
|
+
/// @param {String} $with-prop Checks the specific context for a certain prop (has to be truthy)(used for output in helper/base color modules)
|
|
169
|
+
/// @example scss
|
|
170
|
+
/// @include ulu.all-context-styles();
|
|
171
|
+
/// @example html {preview} Example of a color-context
|
|
172
|
+
/// <div class="color-context-dark" style="padding: 1rem">
|
|
173
|
+
//// Some text in dark context
|
|
174
|
+
//// </div>
|
|
175
|
+
@mixin all-context-styles($with-prop: null) {
|
|
176
|
+
$prefix: selector.class("color-context");
|
|
177
|
+
@each $name, $context in $contexts {
|
|
178
|
+
@if (not $with-prop or map.get($context, $with-prop)) {
|
|
179
|
+
#{ $prefix }-#{ $name } {
|
|
180
|
+
@include context-styles($name);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/// Outputs all color classes
|
|
187
|
+
/// @example scss
|
|
188
|
+
/// @include ulu.all-color-class-styles();
|
|
189
|
+
/// @example html {preview} Example of a color-context
|
|
190
|
+
/// <span class="color-name">Some text</span>
|
|
191
|
+
@mixin all-color-class-styles() {
|
|
192
|
+
$prefix: selector.class("color");
|
|
193
|
+
@each $name, $output in $color-classes {
|
|
194
|
+
@if ($output) {
|
|
195
|
+
#{ $prefix }-#{ $name } {
|
|
196
|
+
color: get($name);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group element
|
|
3
|
+
////
|
|
4
|
+
|
|
5
|
+
@use "sass:map";
|
|
6
|
+
@use "sass:meta";
|
|
7
|
+
@use "color";
|
|
8
|
+
@use "utils";
|
|
9
|
+
|
|
10
|
+
/// Module Settings
|
|
11
|
+
/// @type Map
|
|
12
|
+
/// @prop {Number} $config.backdrop-blur Backdrop blur amount used on elements/components
|
|
13
|
+
/// @prop {Color} $config.backdrop-color Backdrop color (modal overlays, etc)
|
|
14
|
+
/// @prop {List} $config.box-shadow Box-shadow definition for elements that are on top of page
|
|
15
|
+
/// @prop {List} $config.box-shadow-raised Box-shadow definition for elements that are raised off of the page (dropdowns, etc)
|
|
16
|
+
/// @prop {List} $config.box-shadow-above Box-shadow definition for elements that are above the page (fixed items, etc)
|
|
17
|
+
/// @prop {Number} $config.border-radius Common element border radius
|
|
18
|
+
/// @prop {Number} $config.border-radius-small Common element border radius (small)
|
|
19
|
+
/// @prop {Number} $config.border-radius-large Common element border radius (large)
|
|
20
|
+
/// @prop {List} $config.text-shadow Common text shadow
|
|
21
|
+
/// @prop {Number} $config.margin-small Common element margin (small) (default for lists)
|
|
22
|
+
/// @prop {Number} $config.margin Common element margin
|
|
23
|
+
/// @prop {Number} $config.margin-large Common element margin (large)
|
|
24
|
+
/// @prop {String} $config.ol-list-style-type Ordered list type (level 1)
|
|
25
|
+
/// @prop {String} $config.ol-list-style-type-2 Ordered list type (level 2)
|
|
26
|
+
/// @prop {String} $config.ol-list-style-type-3 Ordered list type (level 3)
|
|
27
|
+
/// @prop {String} $config.ul-list-style-type
|
|
28
|
+
/// @prop {String} $config.ul-list-style-type-2
|
|
29
|
+
/// @prop {String} $config.ul-list-style-type-3
|
|
30
|
+
/// @prop {String} $config.link-text-decoration-default Whether links use underline, remember that removing underline will create an accessiblity issue (not relying on color)
|
|
31
|
+
/// @prop {String} $config.link-text-decoration
|
|
32
|
+
/// @prop {String} $config.link-text-decoration-style
|
|
33
|
+
/// @prop {Color} $config.link-text-decoration-color
|
|
34
|
+
/// @prop {String} $config.link-text-decoration-style-hover
|
|
35
|
+
/// @prop {Color} $config.link-text-decoration-color-hover
|
|
36
|
+
/// @prop {Number} $config.link-text-decoration-thickness
|
|
37
|
+
/// @prop {Number} $config.link-text-underline-offset
|
|
38
|
+
|
|
39
|
+
$config: (
|
|
40
|
+
"backdrop-blur": 4px,
|
|
41
|
+
"backdrop-color": rgba(73, 73, 73, 0.459),
|
|
42
|
+
"box-shadow": 0 1px 5px color.get('box-shadow'),
|
|
43
|
+
"box-shadow-raised": 0 1px 12px color.get('box-shadow'),
|
|
44
|
+
"box-shadow-above": 0 1px 20px color.get('box-shadow'),
|
|
45
|
+
"border-radius": 6px,
|
|
46
|
+
"border-radius-small": 3px,
|
|
47
|
+
"border-radius-large": 5%,
|
|
48
|
+
"text-shadow": 0 1px 4px rgba(0,0,0,0.3),
|
|
49
|
+
"margin-small": 0.65em,
|
|
50
|
+
"margin": 1em,
|
|
51
|
+
"margin-large": 2em,
|
|
52
|
+
"ol-list-style-type": decimal,
|
|
53
|
+
"ol-list-style-type-2": lower-alpha,
|
|
54
|
+
"ol-list-style-type-3": lower-roman,
|
|
55
|
+
"ul-list-style-type": disc,
|
|
56
|
+
"ul-list-style-type-2": circle,
|
|
57
|
+
"ul-list-style-type-3": square,
|
|
58
|
+
"link-text-decoration-default": none,
|
|
59
|
+
"link-text-decoration": underline,
|
|
60
|
+
"link-text-decoration-style": dotted,
|
|
61
|
+
"link-text-decoration-color": initial,
|
|
62
|
+
"link-text-decoration-style-hover": solid,
|
|
63
|
+
"link-text-decoration-color-hover": false,
|
|
64
|
+
"link-text-decoration-thickness": 0.1em,
|
|
65
|
+
"link-text-underline-offset" : auto
|
|
66
|
+
) !default;
|
|
67
|
+
|
|
68
|
+
/// Rule style map, redifine defaults or add to
|
|
69
|
+
/// @type Map
|
|
70
|
+
|
|
71
|
+
$rule-styles: (
|
|
72
|
+
"default": 1px solid color.get("rule"),
|
|
73
|
+
"light": 1px solid color.get("rule-light"),
|
|
74
|
+
) !default;
|
|
75
|
+
|
|
76
|
+
/// Common rule margins (space between rule and type)
|
|
77
|
+
/// @type Map
|
|
78
|
+
|
|
79
|
+
$rule-margins: (
|
|
80
|
+
"smallest": 0.5rem,
|
|
81
|
+
"small": 1rem,
|
|
82
|
+
"medium": 2rem,
|
|
83
|
+
"large": 3rem
|
|
84
|
+
) !default;
|
|
85
|
+
|
|
86
|
+
/// Change modules $config
|
|
87
|
+
/// @param {Map} $changes Map of changes
|
|
88
|
+
/// @include module-name.set(( "property" : value ));
|
|
89
|
+
@mixin set($changes) {
|
|
90
|
+
$config: map.merge($config, $changes) !global;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/// Get a config option
|
|
94
|
+
/// @param {Map} $name Name of property
|
|
95
|
+
/// @include module-name.get("property");
|
|
96
|
+
|
|
97
|
+
@function get($name) {
|
|
98
|
+
@return utils.require-map-get($config, $name, "element [config]");
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// Sets rule styles
|
|
102
|
+
/// @param {Map} $changes Map of changes
|
|
103
|
+
|
|
104
|
+
@mixin set-rule-styles($changes) {
|
|
105
|
+
$rule-styles: map.merge($rule-styles, $changes) !global;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/// Sets rule margins
|
|
109
|
+
/// @param {Map} $changes Map of changes
|
|
110
|
+
|
|
111
|
+
@mixin set-rule-margins($changes) {
|
|
112
|
+
$rule-margins: map.merge($rule-margins, $changes) !global;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/// Get a rule style
|
|
116
|
+
/// @param {Map} $changes Map of changes
|
|
117
|
+
|
|
118
|
+
@function get-rule-style($name: "default") {
|
|
119
|
+
@return utils.require-map-get($rule-styles, $name, "element [rule style]");
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/// Sets rule margin
|
|
123
|
+
/// @param {Map} $changes Map of changes
|
|
124
|
+
|
|
125
|
+
@function get-rule-margin($name) {
|
|
126
|
+
@return utils.require-map-get($rule-margins, $name, "element [rule style]");
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/// Get full rule CSS (style and margin)
|
|
130
|
+
/// @param {Map} $changes Map of changes
|
|
131
|
+
|
|
132
|
+
@mixin rule(
|
|
133
|
+
$style-name: "default",
|
|
134
|
+
$margin-name: null
|
|
135
|
+
) {
|
|
136
|
+
@include rule-style($style-name);
|
|
137
|
+
@include rule-margin($margin-name);
|
|
138
|
+
}
|
|
139
|
+
@mixin rule-style($name: "default") {
|
|
140
|
+
border-bottom: get-rule-style($name);
|
|
141
|
+
}
|
|
142
|
+
@mixin rule-margin($name: null) {
|
|
143
|
+
$margin: if($name, get-rule-margin($name), get("margin"));
|
|
144
|
+
margin-top: $margin;
|
|
145
|
+
margin-bottom: $margin;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/// Print link styles
|
|
149
|
+
/// @param {Boolean} $visited Include visited style
|
|
150
|
+
/// @param {Boolean} $active Include active style
|
|
151
|
+
|
|
152
|
+
@mixin link($visited: false, $active: false) {
|
|
153
|
+
color: color.get("link");
|
|
154
|
+
text-decoration: get("link-text-decoration");
|
|
155
|
+
text-decoration-style: get("link-text-decoration-style");
|
|
156
|
+
text-decoration-color: get("link-text-decoration-color");
|
|
157
|
+
text-decoration-thickness: get("link-text-decoration-thickness");
|
|
158
|
+
text-underline-offset: get("link-text-underline-offset");
|
|
159
|
+
&:hover {
|
|
160
|
+
color: color.get("link:hover");
|
|
161
|
+
text-decoration-style: get("link-text-decoration-style-hover");
|
|
162
|
+
text-decoration-color: get("link-text-decoration-color-hover");
|
|
163
|
+
}
|
|
164
|
+
@if ($visited) {
|
|
165
|
+
&:visited {
|
|
166
|
+
color: color.get("link:visited");
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
@if ($active) {
|
|
170
|
+
&:active {
|
|
171
|
+
color: color.get("link:active");
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/// Print the defautl link styling (no hover and focus styles)
|
|
177
|
+
|
|
178
|
+
@mixin link-defaults() {
|
|
179
|
+
color: color.get("link");
|
|
180
|
+
text-decoration: get("link-text-decoration-default");
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/// Print the ordered list items styling
|
|
184
|
+
/// @param {Boolean} $bullet-color Optional bullet color (defaults to palette 'bullet')
|
|
185
|
+
|
|
186
|
+
@mixin styles-ordered-list($bullet-color: "bullet") {
|
|
187
|
+
margin-bottom: get("margin");
|
|
188
|
+
list-style: get("ol-list-style-type") outside;
|
|
189
|
+
li {
|
|
190
|
+
margin-bottom: get("margin-small");
|
|
191
|
+
margin-left: 1em;
|
|
192
|
+
}
|
|
193
|
+
> li {
|
|
194
|
+
&::marker {
|
|
195
|
+
color: color.get($bullet-color);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
ol {
|
|
199
|
+
margin: get("margin-small") 0 0 get("margin-small");
|
|
200
|
+
list-style: get("ol-list-style-type-2");
|
|
201
|
+
ol {
|
|
202
|
+
list-style-type: get("ol-list-style-type-3");
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
ul,
|
|
206
|
+
ol {
|
|
207
|
+
margin-top: get("margin-small");
|
|
208
|
+
margin-bottom: get("margin-small");
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/// Print the unordered list items styling
|
|
213
|
+
/// @param {Boolean} $bullet-color Optional bullet color
|
|
214
|
+
|
|
215
|
+
@mixin styles-unordered-list($bullet-color: "bullet") {
|
|
216
|
+
list-style: get("ul-list-style-type") outside;
|
|
217
|
+
> li {
|
|
218
|
+
margin-left: 1.5em;
|
|
219
|
+
margin-bottom: get("margin-small");
|
|
220
|
+
&::marker {
|
|
221
|
+
color: color.get($bullet-color);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
ul {
|
|
225
|
+
list-style-type: get("ul-list-style-type-2");
|
|
226
|
+
}
|
|
227
|
+
ul ul {
|
|
228
|
+
list-style-type: get("ul-list-style-type-3");
|
|
229
|
+
}
|
|
230
|
+
ul,
|
|
231
|
+
ol {
|
|
232
|
+
margin-top: get("margin-small");
|
|
233
|
+
margin-bottom: get("margin-small");
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/// Hide text for assistive devices
|
|
238
|
+
/// @param {Boolean} $hidden Defaults to true, pass false to override the hidden css (ie. on focus)
|
|
239
|
+
/// @example scss
|
|
240
|
+
/// @include ulu.layout-hidden-visually()
|
|
241
|
+
/// // Reset styling
|
|
242
|
+
/// @include ulu.layout-hidden-visually(false)
|
|
243
|
+
|
|
244
|
+
@mixin hidden-visually($hidden: true) {
|
|
245
|
+
@if $hidden {
|
|
246
|
+
clip: rect(0 0 0 0);
|
|
247
|
+
clip-path: inset(50%);
|
|
248
|
+
height: 1px;
|
|
249
|
+
overflow: hidden;
|
|
250
|
+
position: absolute;
|
|
251
|
+
white-space: nowrap;
|
|
252
|
+
width: 1px;
|
|
253
|
+
} @else {
|
|
254
|
+
clip: auto;
|
|
255
|
+
clip-path: none;
|
|
256
|
+
height: auto;
|
|
257
|
+
overflow: visible;
|
|
258
|
+
position: static;
|
|
259
|
+
white-space: normal;
|
|
260
|
+
width: auto;
|
|
261
|
+
}
|
|
262
|
+
}
|