@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,247 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group layout
|
|
3
|
+
////
|
|
4
|
+
/// @todo Finish Documentation
|
|
5
|
+
|
|
6
|
+
@use "sass:map";
|
|
7
|
+
@use "sass:list";
|
|
8
|
+
@use "sass:meta";
|
|
9
|
+
@use "breakpoint";
|
|
10
|
+
@use "utils";
|
|
11
|
+
@use "calculate";
|
|
12
|
+
@use "breakpoint";
|
|
13
|
+
|
|
14
|
+
/// Module Settings
|
|
15
|
+
/// @type Map
|
|
16
|
+
/// @prop {Number} $config.max-width Common max-width for site
|
|
17
|
+
/// @prop {Number} $config.margin Common margin for site
|
|
18
|
+
/// @prop {Number} $config.z-index-fixed Common z-index, above everything
|
|
19
|
+
/// @prop {Number} $config.z-index-sticky Common z-index for sticky or stuck items
|
|
20
|
+
/// @prop {Number} $config.z-index-above Common z-index, below sticky
|
|
21
|
+
/// @prop {Number} columns [12] Default for grid mixins
|
|
22
|
+
/// @prop {Number} gutter [14px] Default gutter for grid mixin
|
|
23
|
+
/// @prop {Boolean|String} breakpoint [false] Change the default breakpoint, if falsy will get default breakpoint from breakpoint module
|
|
24
|
+
/// @prop {Map} extra-breakpoints [Medium and large breakpint configs] Default extra breakpoints for grid mixins
|
|
25
|
+
$config: (
|
|
26
|
+
"max-width": 90rem,
|
|
27
|
+
"margin": 2rem,
|
|
28
|
+
"z-index-sticky": 100,
|
|
29
|
+
"z-index-above": 450,
|
|
30
|
+
"z-index-fixed": 1000,
|
|
31
|
+
"columns": 12,
|
|
32
|
+
"gutter": 14px,
|
|
33
|
+
"breakpoint" : false, // Fallback to default
|
|
34
|
+
"extra-breakpoints" : (
|
|
35
|
+
"medium" : (
|
|
36
|
+
"breakpoint" : "medium",
|
|
37
|
+
"gutter" : 15px
|
|
38
|
+
),
|
|
39
|
+
"large" : (
|
|
40
|
+
"breakpoint" : "large",
|
|
41
|
+
"gutter" : 20px
|
|
42
|
+
)
|
|
43
|
+
),
|
|
44
|
+
) !default;
|
|
45
|
+
|
|
46
|
+
/// Change modules $config
|
|
47
|
+
/// @param {Map} $changes Map of changes
|
|
48
|
+
/// @include module-name.set(( "property" : value ));
|
|
49
|
+
@mixin set($changes) {
|
|
50
|
+
$config: map.merge($config, $changes) !global;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/// Get a config option
|
|
54
|
+
/// @param {Map} $name Name of property
|
|
55
|
+
/// @include module-name.get("property");
|
|
56
|
+
|
|
57
|
+
@function get($name) {
|
|
58
|
+
@return utils.require-map-get($config, $name, "layout [config]");
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
$containers: (
|
|
62
|
+
"container" : (
|
|
63
|
+
"width" : 100%,
|
|
64
|
+
"max-width" : get("max-width"),
|
|
65
|
+
"padding" : (get("margin") get("margin")),
|
|
66
|
+
"breakpoints" : null,
|
|
67
|
+
"responsive" : false,
|
|
68
|
+
"responsive-amount" : 3vw
|
|
69
|
+
)
|
|
70
|
+
) !default;
|
|
71
|
+
|
|
72
|
+
@mixin set-containers($changes, $deep: false, $overwrite: false) {
|
|
73
|
+
$containers: utils.map-merge-or-overwrite($containers, $changes, $deep, $overwrite) !global;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@function get-container($name, $breakpoint: false) {
|
|
77
|
+
$container: utils.require-map-get($containers, $name, "Layout [get-container]");
|
|
78
|
+
$breakpoints: map.get($container, "breakpoints");
|
|
79
|
+
@if ($breakpoint) {
|
|
80
|
+
@return utils.require-map-get($breakpoints, $breakpoint, "[container breakpoint]");
|
|
81
|
+
} @else {
|
|
82
|
+
@return $container;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/// Returns padding to another property including breakpoints
|
|
86
|
+
/// ie. { top: $containers-padding; }
|
|
87
|
+
@mixin match-container-padding($property, $name: "container", $sides: true) {
|
|
88
|
+
$container: get-container($name);
|
|
89
|
+
$breakpoints: map.get($container, "breakpoints");
|
|
90
|
+
#{ $property }: get-container-padding($name, $sides);
|
|
91
|
+
@if $breakpoints {
|
|
92
|
+
@each $breakpoint, $props in $breakpoints {
|
|
93
|
+
$direction: map.get($props, "direction");
|
|
94
|
+
@include breakpoint.from($breakpoint, $direction) {
|
|
95
|
+
#{ $property }: get-container-padding($name, $sides, $breakpoint);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// For a given property for every breakpoint in a given container
|
|
102
|
+
/// creates a css calc value that will match the containers side margin
|
|
103
|
+
/// The margin is created via empty space when the container hits the max-width
|
|
104
|
+
/// If passing inlude padding it would be the containers
|
|
105
|
+
/// side (x) + the padding. This accounts for the containers max-width to give an absoute value
|
|
106
|
+
@mixin match-container-margin($property, $name: "container", $include-padding: true) {
|
|
107
|
+
$container: get-container($name);
|
|
108
|
+
$breakpoints: map.get($container, "breakpoints");
|
|
109
|
+
$padding: if($include-padding, get-container-padding($name, true), 0);
|
|
110
|
+
$max: map.get($container, "max-width");
|
|
111
|
+
#{ $property }: max(((100vw - $max) / 2) + $padding, $padding);
|
|
112
|
+
@if $breakpoints {
|
|
113
|
+
@each $breakpoint, $props in $breakpoints {
|
|
114
|
+
$direction: map.get($props, "direction");
|
|
115
|
+
@include breakpoint.from($breakpoint, $direction) {
|
|
116
|
+
$pad: if($include-padding, get-container-padding($name, true, $breakpoint), 0);
|
|
117
|
+
#{ $property }: max(((100vw - $max) / 2) + $pad, $pad);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@function get-container-padding($name, $sides: true, $specific-breakpoint: false) {
|
|
124
|
+
$container: get-container($name, $specific-breakpoint);
|
|
125
|
+
$padding: map.get($container, "padding");
|
|
126
|
+
$is-list: meta.type-of($padding) == "list"; // Else number
|
|
127
|
+
@if (not $is-list) {
|
|
128
|
+
@return $padding;
|
|
129
|
+
} @else {
|
|
130
|
+
@return list.nth($padding, if($sides, 2, 1));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@mixin container-padding($name, $sides: true, $ends: true, $specific-breakpoint: false) {
|
|
135
|
+
$container: get-container($name, $specific-breakpoint);
|
|
136
|
+
$responsive: map.get($container, "responsive");
|
|
137
|
+
$x: get-container-padding-x($name, $specific-breakpoint);
|
|
138
|
+
$y: get-container-padding-y($name, $specific-breakpoint);
|
|
139
|
+
$resp-amount: if(meta.type-of($responsive) == number, $responsive, calculate.get("responsive-change"));
|
|
140
|
+
|
|
141
|
+
@if $responsive {
|
|
142
|
+
@if $sides {
|
|
143
|
+
@include calculate.responsive-property("padding-left", $x, $resp-amount);
|
|
144
|
+
@include calculate.responsive-property("padding-right", $x, $resp-amount);
|
|
145
|
+
}
|
|
146
|
+
@if $ends {
|
|
147
|
+
@include calculate.responsive-property("padding-top", $y, $resp-amount);
|
|
148
|
+
@include calculate.responsive-property("padding-bottom", $y, $resp-amount);
|
|
149
|
+
}
|
|
150
|
+
} @else {
|
|
151
|
+
@if $sides {
|
|
152
|
+
padding-left: $x;
|
|
153
|
+
padding-right: $x;
|
|
154
|
+
}
|
|
155
|
+
@if $ends {
|
|
156
|
+
padding-top: $y;
|
|
157
|
+
padding-bottom: $y;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
@function get-container-padding-x($name, $specific-breakpoint: false) {
|
|
162
|
+
@return get-container-padding($name, true, $specific-breakpoint);
|
|
163
|
+
}
|
|
164
|
+
@function get-container-padding-y($name, $specific-breakpoint: false) {
|
|
165
|
+
@return get-container-padding($name, false, $specific-breakpoint);
|
|
166
|
+
}
|
|
167
|
+
@mixin container-styles($name: "container", $specific-breakpoint: false) {
|
|
168
|
+
$container: get-container($name, $specific-breakpoint);
|
|
169
|
+
$breakpoints: map.get($container, "breakpoints");
|
|
170
|
+
|
|
171
|
+
$width: map.get($container, "width");
|
|
172
|
+
// @debug $specific-breakpoint;
|
|
173
|
+
// @if $specific-breakpoint {
|
|
174
|
+
// @debug $container;
|
|
175
|
+
// }
|
|
176
|
+
@if ($width == null) {
|
|
177
|
+
$width: 100%;
|
|
178
|
+
}
|
|
179
|
+
display: block;
|
|
180
|
+
margin-left: auto;
|
|
181
|
+
margin-right: auto;
|
|
182
|
+
width: $width;
|
|
183
|
+
max-width: map.get($container, "max-width");
|
|
184
|
+
@include container-padding($name, $specific-breakpoint: $specific-breakpoint);
|
|
185
|
+
|
|
186
|
+
// Recursive print other breakpoints
|
|
187
|
+
@if $breakpoints and not $specific-breakpoint {
|
|
188
|
+
@each $breakpoint, $props in $breakpoints {
|
|
189
|
+
$direction: map.get($props, "direction");
|
|
190
|
+
@include breakpoint.from($breakpoint, $direction) {
|
|
191
|
+
@include container-styles($name, $breakpoint);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/// Prints clearfix styles
|
|
198
|
+
|
|
199
|
+
@mixin clearfix() {
|
|
200
|
+
&:before,
|
|
201
|
+
&:after {
|
|
202
|
+
content: "";
|
|
203
|
+
display: table;
|
|
204
|
+
flex-basis: 0; // Flexbox, clear fix for pseudo elements in Safari
|
|
205
|
+
order: 1;
|
|
206
|
+
}
|
|
207
|
+
&:after {
|
|
208
|
+
clear: both;
|
|
209
|
+
}
|
|
210
|
+
*zoom: 1;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/// Removes scrollbar with CSS
|
|
214
|
+
@mixin remove-scrollbar() {
|
|
215
|
+
-ms-overflow-style: none; /* for Internet Explorer, Edge */
|
|
216
|
+
scrollbar-width: none; /* for Firefox */
|
|
217
|
+
&::-webkit-scrollbar {
|
|
218
|
+
display: none; /* for Chrome, Safari, and Opera */
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
/// Returns gutter size for grid breakpoint map, defaults to the config's values
|
|
224
|
+
/// Pass custom map to get gutter values from it
|
|
225
|
+
/// @param {String} $name The name of the "grid breakpoint" (could be a different name than the actual breakpoint name it maps too)
|
|
226
|
+
/// @param {Map} $custom-map Provide custom map of grid breakpoints to get the gutter from (defaults to the grid module's defaults 'extra-breakpoints')
|
|
227
|
+
|
|
228
|
+
@function get-gutter($name: null, $custom-map: null) {
|
|
229
|
+
@if (not $name) {
|
|
230
|
+
@return get("gutter");
|
|
231
|
+
} @else {
|
|
232
|
+
$map: if($custom-map, $custom-map, get("extra-breakpoints"));
|
|
233
|
+
$settings: utils.require-map-get($map, $name, "grid [get-gutter]");
|
|
234
|
+
@return map.get($settings, "gutter");
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/// @return Default breakpoint name (from this module or falling back to breakpoint module default)
|
|
239
|
+
|
|
240
|
+
@function get-default-breakpoint() {
|
|
241
|
+
$breakpoint: get("breakpoint");
|
|
242
|
+
@if ($breakpoint) {
|
|
243
|
+
@return $breakpoint;
|
|
244
|
+
} @else {
|
|
245
|
+
@return breakpoint.get("default");
|
|
246
|
+
}
|
|
247
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group path
|
|
3
|
+
////
|
|
4
|
+
/// @todo Finish Documentation
|
|
5
|
+
|
|
6
|
+
@use "sass:map";
|
|
7
|
+
@use "sass:string";
|
|
8
|
+
@use "utils";
|
|
9
|
+
|
|
10
|
+
/// Aliases
|
|
11
|
+
/// @type Map
|
|
12
|
+
/// - Important: alias could be used for directory or file so omit trailing slash for directories
|
|
13
|
+
/// - All aliases must start with "#"
|
|
14
|
+
|
|
15
|
+
$aliases: (
|
|
16
|
+
"#Images" : "/images",
|
|
17
|
+
) !default;
|
|
18
|
+
|
|
19
|
+
/// Set aliases or change defaults
|
|
20
|
+
/// @param {Map} $changes Map of changes
|
|
21
|
+
|
|
22
|
+
@mixin set-aliases($changes) {
|
|
23
|
+
$aliases: map.merge($aliases, $changes) !global;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/// Get an aliase's path
|
|
27
|
+
/// @param {String} Name Name of alias
|
|
28
|
+
|
|
29
|
+
@function get-alias($name) {
|
|
30
|
+
@return utils.require-map-get($aliases, $name, '[path alias]');
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/// Resolves a Path
|
|
34
|
+
/// - Checks if path is an alias if so rewrite's it
|
|
35
|
+
/// - Future could include rewrites for easier updating or rearranging of legacy things
|
|
36
|
+
/// - Aliases work by starting with "#", Since it's an illegal uri character, needs to be escaped if used as literal, we felt that it was the safest way to mix aliases in with real URLs (so that a dev of a module using path.resolve can always pass paths through (user input unknown if alias)
|
|
37
|
+
/// @example scss
|
|
38
|
+
/// .img {
|
|
39
|
+
/// background-image: url(path.resolve("#Images/branding/logo"));
|
|
40
|
+
/// }
|
|
41
|
+
///
|
|
42
|
+
|
|
43
|
+
@function resolve($path) {
|
|
44
|
+
$is-alias: string.index($path, "#") == 1;
|
|
45
|
+
$dir-index: string.index($path, "/");
|
|
46
|
+
$resolved-path: $path;
|
|
47
|
+
@if $is-alias {
|
|
48
|
+
// Extract alias
|
|
49
|
+
@if $dir-index {
|
|
50
|
+
$alias: string.slice($path, 1, $dir-index - 1);
|
|
51
|
+
@return "#{ get-alias($alias) }#{ string.slice($path, $dir-index) }";
|
|
52
|
+
// Must just be only an alias
|
|
53
|
+
} @else {
|
|
54
|
+
@return "#{ get-alias($path) }";
|
|
55
|
+
}
|
|
56
|
+
} @else {
|
|
57
|
+
@return $path;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group selector
|
|
3
|
+
////
|
|
4
|
+
/// @todo Finish Documentation
|
|
5
|
+
|
|
6
|
+
@use "sass:string";
|
|
7
|
+
@use "sass:map";
|
|
8
|
+
@use "utils";
|
|
9
|
+
|
|
10
|
+
/// Module Settings
|
|
11
|
+
/// - This module can be used for dynamic classnames (used in base and some components). Some components selectors are too complex or coupled for dynamic classnames.
|
|
12
|
+
/// @todo See about documenting when a component doesn't run through the selecotr module to get it's base classname
|
|
13
|
+
/// @type Map
|
|
14
|
+
/// @prop {String} $config.prefix Global prefix for selectors (would be used for classname prefix for example)
|
|
15
|
+
|
|
16
|
+
$config: (
|
|
17
|
+
"prefix" : ""
|
|
18
|
+
) !default;
|
|
19
|
+
|
|
20
|
+
// Map to store class overrides ("button" : "site-button") for example
|
|
21
|
+
$-class-overrides: ();
|
|
22
|
+
$-class-wildcards: ();
|
|
23
|
+
|
|
24
|
+
/// Change modules $config
|
|
25
|
+
/// @param {Map} $changes Map of changes
|
|
26
|
+
/// @example scss - General example, replace module-name with module's name
|
|
27
|
+
/// @include module-name.set(( "property" : value ));
|
|
28
|
+
@mixin set($changes) {
|
|
29
|
+
$config: map.merge($config, $changes) !global;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/// Get a config option
|
|
33
|
+
/// @param {Map} $name Name of property
|
|
34
|
+
/// @example scss - General example, replace module-name with module's name
|
|
35
|
+
/// @include module-name.get("property");
|
|
36
|
+
|
|
37
|
+
@function get($name) {
|
|
38
|
+
@return utils.require-map-get($config, $name, "selector [config]");
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/// Set the class selector overrides
|
|
42
|
+
/// @param {Map} $changes Changes to merge
|
|
43
|
+
|
|
44
|
+
@mixin set-class-overrides($changes) {
|
|
45
|
+
@each $key, $prop in $changes {
|
|
46
|
+
$index: string.index($key, "*");
|
|
47
|
+
@if ($index) {
|
|
48
|
+
$wild-key: string.slice($key, 1, $index - 1);
|
|
49
|
+
$-class-wildcards: map.set($-class-wildcards, $wild-key, $prop) !global;
|
|
50
|
+
$changes: map.remove($changes, $key);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
$-class-overrides: map.merge($-class-overrides, $changes) !global;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/// Used to allow global prefixing of classes, and also the ability to
|
|
57
|
+
/// Change a class used in the system (ie. like a component for example)
|
|
58
|
+
/// @param {String} $class The classname to set
|
|
59
|
+
|
|
60
|
+
@function class($class, $name-only: false) {
|
|
61
|
+
// Check if it's a wildcard
|
|
62
|
+
$wildcard: get-class-wildcard($class);
|
|
63
|
+
$override: map.get($-class-overrides, $class);
|
|
64
|
+
$updated: if($override, $override, if($wildcard, $wildcard, $class));
|
|
65
|
+
$name: "#{ get("prefix") }#{ $updated }";
|
|
66
|
+
@if $name-only {
|
|
67
|
+
@return $name;
|
|
68
|
+
} @else {
|
|
69
|
+
@return ".#{ $name }";
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
@function get-class-wildcard($class) {
|
|
74
|
+
$change: $class;
|
|
75
|
+
@each $key, $prop in $-class-wildcards {
|
|
76
|
+
$index: string.index($class, $key);
|
|
77
|
+
@if ($index) {
|
|
78
|
+
$change: utils.string-replace($class, $key, $prop);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
@return $change;
|
|
82
|
+
}
|