@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
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Jscherbe
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Frontend Library
|
|
2
|
+
|
|
3
|
+
Front end development library (SCSS, JS, Vue)
|
|
4
|
+
|
|
5
|
+
[Full Documentation](https://jscherbe.github.io/frontend/)
|
|
6
|
+
|
|
7
|
+
## SCSS Library
|
|
8
|
+
|
|
9
|
+
This is the sass library. Set up for packaged use (under on namespace) and individual module use (importing modules directly
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}table{text-indent:0}button,input,optgroup,select,textarea{font-family:inherit;line-height:inherit;font-size:inherit;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{text-transform:none;text-align:inherit;background-color:rgba(0,0,0,0);border:rgba(0,0,0,0);border-radius:0;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}*,::before,::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media(prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}body{color:#000;background-color:#fff;font-family:ui-sans-serif,"Open Sans",Helvetica,Arial,sans-serif;margin:0;font-size:1rem;font-size:calc(1rem + 0.05vw);line-height:1.5}body:before{display:none;content:"none"}@media screen and (min-width: 43.5em){body:before{content:"small"}}@media screen and (min-width: 76em){body:before{content:"medium"}}@media screen and (min-width: 94.75em){body:before{content:"large"}}h1,h2,h3,h4,h5,h6,ul,ol,li,pre,code,p{margin:0;padding:0;font-size:inherit;font-family:inherit;border-width:0;border-style:solid;font-weight:inherit}p{margin-top:0;margin-bottom:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}small{font-size:.8705505633rem;font-size:calc(0.8705505633rem + 0.05vw);line-height:1.3}sub{bottom:-0.25em}sup{top:-0.5em}b,strong{font-weight:bold}form{width:100%}code,kbd,samp,pre{font-family:Menlo,Consolas,Monaco,monospace}hr{height:0;border:0;box-sizing:content-box;overflow:visible;margin:1em 0;border-bottom:1px solid gray}iframe{border:0;outline:0}figure{margin:0}img{display:block;width:auto;height:auto;max-width:100%;border-style:none}ul{list-style:none}ol{list-style:none}a{color:blue;text-decoration:none}a:hover{color:#00008b}[role=tab]{cursor:pointer}dt{font-weight:bold}[hidden],template{display:none}blockquote{margin:0}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes FadeDownIn{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translatex(-10px)}100%{opacity:1;transform:translatex(0)}}@keyframes fadeInZoom{0%{opacity:0;transform:scale(0)}50%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.h1{font-size:2.29739671rem;font-size:calc(2.29739671rem + 0.05vw);font-weight:bold;line-height:1.4461633138}.h2{font-size:2rem;font-size:calc(2rem + 0.05vw);font-weight:bold;line-height:1.455}.h3{font-size:1.7411011266rem;font-size:calc(1.7411011266rem + 0.05vw);font-weight:bold;line-height:1.4638906822}.h4{font-size:1.5157165665rem;font-size:calc(1.5157165665rem + 0.05vw);font-weight:bold;line-height:1.4728356903}.h5{font-size:1.3195079108rem;font-size:calc(1.3195079108rem + 0.05vw);font-weight:bold;line-height:1.4818353563}.h6{font-size:1.148698355rem;font-size:calc(1.148698355rem + 0.05vw);font-weight:bold;line-height:1.4908900142}.color-context-dark{background-color:#000;color:#fff}.color-context-light{background-color:#fff;color:#000}.container{display:block;margin-left:auto;margin-right:auto;width:100%;max-width:90rem;padding-left:2rem;padding-right:2rem;padding-top:2rem;padding-bottom:2rem}.layout-flex{display:flex}.layout-flex-justified{display:flex;justify-content:space-between}.layout-flex-center{display:flex;align-items:center}.layout-flex-center-all{display:flex;align-items:center;justify-content:center}.layout-flex-justify-end{display:flex;justify-content:flex-end}.layout-flex-baseline{display:flex;align-items:baseline}.layout-flex-end{display:flex;align-items:flex-end}.layout-flex-column{display:flex;flex-direction:column}.layout-flex-column-center{display:flex;flex-direction:column;justify-content:center}.links:not(.links--no-visited) a,.link:not(.link--no-visited){color:blue;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:initial;text-decoration-thickness:.1em;text-underline-offset:auto}.links:not(.links--no-visited) a:hover,.link:not(.link--no-visited):hover{color:#00008b;text-decoration-style:solid;text-decoration-color:false}.links:not(.links--no-visited) a:visited,.link:not(.link--no-visited):visited{color:purple}.links:not(.links--no-visited) a:active,.link:not(.link--no-visited):active{color:#00008b}.links--no-visited a,.link--no-visited{color:blue;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:initial;text-decoration-thickness:.1em;text-underline-offset:auto}.links--no-visited a:hover,.link--no-visited:hover{color:#00008b;text-decoration-style:solid;text-decoration-color:false}.links.links--no-underline a,.link.link--no-underline{text-decoration:none}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;text-transform:none;text-align:center;text-shadow:none;vertical-align:middle;font-family:inherit;font-weight:bold;font-size:1rem;font-size:calc(1rem + 0.05vw);border-radius:2rem;background-clip:padding-box;padding:.75em 1.5em;line-height:1.1;letter-spacing:.02em;box-shadow:0 1px 5px rgba(0,0,0,.349);margin:.45em .5em .45em 0;min-width:9rem;white-space:nowrap;max-width:100%;flex-shrink:0}.button,.button:visited{color:#fff;border:0 solid rgba(0,0,0,0);background-color:#4d4d4d;text-decoration:none}.button:last-child{margin-right:0}.button:hover,.button:focus{color:#fff;background-color:#000;border-color:rgba(0,0,0,0);text-decoration:none}.button__icon:first-child{margin-right:1em}.button__icon:last-child{margin-left:1em}.button--small{padding:.35em 1.5em;min-width:0}.button--large{padding:1em 2em;min-width:11rem}.button--transparent,.button--transparent:visited{background-color:rgba(0,0,0,0);color:#000;border-color:rgba(0,0,0,0);box-shadow:none}.button--transparent:hover,.button--transparent:focus{background-color:#fff;color:inherit;border-color:rgba(0,0,0,0);box-shadow:none}.button--outline,.button--outline:visited{background-color:rgba(0,0,0,0);color:#000;border-color:gray;box-shadow:none}.button--outline:hover,.button--outline:focus{background-color:#fff;color:#000;border-color:gray;box-shadow:none}.button--icon{display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:none;border-radius:50%;font-size:1.38rem;width:2.5rem;height:2.5rem;padding:0 !important}.button--small.button--icon{width:2rem;height:2rem;font-size:1rem}.button--large.button--icon{width:3.5rem;height:3.5rem}.rule{border-bottom:1px solid gray;margin-top:1em;margin-bottom:1em}.rule--content-on-top{position:relative}.rule--content-on-top>*{background-color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);max-width:100%;padding:.5em;margin:0}.rule--default{border-bottom:1px solid gray}.rule--light{border-bottom:1px solid #d3d3d3}.rule--margin-smallest{margin-top:.5rem;margin-bottom:.5rem}.rule--margin-small{margin-top:1rem;margin-bottom:1rem}.rule--margin-medium{margin-top:2rem;margin-bottom:2rem}.rule--margin-large{margin-top:3rem;margin-bottom:3rem}.rule--short{width:2.75rem;max-width:100%;border-bottom-width:4px}.list-lines{list-style:none;margin:0 0 1em 0;padding:0;border-top:1px solid #d3d3d3}.list-lines>li{border-bottom:1px solid #d3d3d3;padding:1em 0}.list-lines>li>*:last-child{margin-bottom:0}.list-lines--dense>li{padding:.5em 0;line-height:1.3}.list-unordered{list-style:disc outside}.list-unordered li{margin-left:1.5em;margin-bottom:.65em}.list-unordered li::marker{color:inherit}.list-unordered ul{list-style-type:circle}.list-unordered ul ul{list-style-type:square}.list-unordered ul,.list-unordered ol{margin-top:.65em;margin-bottom:.65em}.list-unordered li::marker{color:inherit}.list-ordered{margin-bottom:1em;list-style:decimal outside}.list-ordered li{margin-bottom:.65em;margin-left:1.5em}.list-ordered>li::marker{color:inherit}.list-ordered ol{list-style-type:lower-alpha}.list-ordered ol ol{list-style-type:lower-roman}.list-ordered ul,.list-ordered ol{margin-top:.65em;margin-bottom:.65em}.type-small-x{font-size:.7578582833rem;font-size:calc(0.7578582833rem + 0.05vw);line-height:1.5}.type-small{font-size:.8705505633rem;font-size:calc(0.8705505633rem + 0.05vw);line-height:1.5}.type-base{font-size:1rem;font-size:calc(1rem + 0.05vw);line-height:1.5}.type-large{font-size:1.148698355rem;font-size:calc(1.148698355rem + 0.05vw);line-height:1.4908900142}.type-large-x{font-size:1.3195079108rem;font-size:calc(1.3195079108rem + 0.05vw);line-height:1.4818353563}.type-large-xx{font-size:1.5157165665rem;font-size:calc(1.5157165665rem + 0.05vw);line-height:1.4728356903}.type-large-xxx{font-size:1.7411011266rem;font-size:calc(1.7411011266rem + 0.05vw);line-height:1.4638906822}.type-inherit{font-size:inherit;line-height:inherit}.type-light{font-weight:300}.type-normal{font-weight:normal}.type-semibold{font-weight:600}.type-bold{font-weight:bold}.type-truncate{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.type-italic{font-style:italic}.type-center{text-align:center}.type-left{text-align:left}.type-right{text-align:right}.type-upper{text-transform:uppercase;letter-spacing:.04em}.type-lower{text-transform:lowercase}.type-title{text-transform:capitalize}.type-family{font-family:ui-sans-serif,"Open Sans",Helvetica,Arial,sans-serif}.type-family-sans{font-family:ui-sans-serif,"Open Sans",Helvetica,Arial,sans-serif}.type-family-serif{font-family:Cambria,Georgia,serif}.type-family-mono{font-family:Menlo,Consolas,Monaco,monospace}.type-word-break{word-break:normal;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.type-word-break-all{word-break:break-all;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.type-max-width{max-width:60rem}.type-max-width-small{max-width:50rem}.line-height-dense{line-height:1.3}.line-height-spaced{line-height:1.75}.margin{margin:1rem}.margin-auto{margin:auto}.margin-small-x{margin:.5rem}.margin-small{margin:.75rem}.margin-default{margin:1rem}.margin-large{margin:2rem}.margin-large-x{margin:3rem}.margin-large-xx{margin:4rem}.margin-top{margin-top:1rem}.margin-top-auto{margin-top:auto}.margin-top-small-x{margin-top:.5rem}.margin-top-small{margin-top:.75rem}.margin-top-default{margin-top:1rem}.margin-top-large{margin-top:2rem}.margin-top-large-x{margin-top:3rem}.margin-top-large-xx{margin-top:4rem}.margin-bottom{margin-bottom:1rem}.margin-bottom-auto{margin-bottom:auto}.margin-bottom-small-x{margin-bottom:.5rem}.margin-bottom-small{margin-bottom:.75rem}.margin-bottom-default{margin-bottom:1rem}.margin-bottom-large{margin-bottom:2rem}.margin-bottom-large-x{margin-bottom:3rem}.margin-bottom-large-xx{margin-bottom:4rem}.margin-left{margin-left:1rem}.margin-left-auto{margin-left:auto}.margin-left-small-x{margin-left:.5rem}.margin-left-small{margin-left:.75rem}.margin-left-default{margin-left:1rem}.margin-left-large{margin-left:2rem}.margin-left-large-x{margin-left:3rem}.margin-left-large-xx{margin-left:4rem}.margin-right{margin-right:1rem}.margin-right-auto{margin-right:auto}.margin-right-small-x{margin-right:.5rem}.margin-right-small{margin-right:.75rem}.margin-right-default{margin-right:1rem}.margin-right-large{margin-right:2rem}.margin-right-large-x{margin-right:3rem}.margin-right-large-xx{margin-right:4rem}.padding{padding:1rem}.padding-small-x{padding:.5rem}.padding-small{padding:.75rem}.padding-default{padding:1rem}.padding-large{padding:2rem}.padding-large-x{padding:3rem}.padding-large-xx{padding:4rem}.padding-top{padding-top:1rem}.padding-top-small-x{padding-top:.5rem}.padding-top-small{padding-top:.75rem}.padding-top-default{padding-top:1rem}.padding-top-large{padding-top:2rem}.padding-top-large-x{padding-top:3rem}.padding-top-large-xx{padding-top:4rem}.padding-bottom{padding-bottom:1rem}.padding-bottom-small-x{padding-bottom:.5rem}.padding-bottom-small{padding-bottom:.75rem}.padding-bottom-default{padding-bottom:1rem}.padding-bottom-large{padding-bottom:2rem}.padding-bottom-large-x{padding-bottom:3rem}.padding-bottom-large-xx{padding-bottom:4rem}.padding-left{padding-left:1rem}.padding-left-small-x{padding-left:.5rem}.padding-left-small{padding-left:.75rem}.padding-left-default{padding-left:1rem}.padding-left-large{padding-left:2rem}.padding-left-large-x{padding-left:3rem}.padding-left-large-xx{padding-left:4rem}.padding-right{padding-right:1rem}.padding-right-small-x{padding-right:.5rem}.padding-right-small{padding-right:.75rem}.padding-right-default{padding-right:1rem}.padding-right-large{padding-right:2rem}.padding-right-large-x{padding-right:3rem}.padding-right-large-xx{padding-right:4rem}.hidden-visually{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.hidden-visually-focusable:not(:active):not(:focus){clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.clearfix,.cf{*zoom:1}.clearfix:before,.clearfix:after,.cf:before,.cf:after{content:"";display:table;flex-basis:0;order:1}.clearfix:after,.cf:after{clear:both}.display-block{display:block}.display-flex{display:flex}.display-inline-flex{display:inline-flex}.display-inline{display:inline}.display-inline-all *{display:inline}.display-inline-block{display:inline-block}.hidden,.display-none{display:none}@media screen and (min-width: 43.5em){.hidden-min-small{display:none}}@media screen and (max-width: 43.49em){.hidden-max-small{display:none}}@media screen and (min-width: 76em){.hidden-min-medium{display:none}}@media screen and (max-width: 75.99em){.hidden-max-medium{display:none}}@media screen and (min-width: 94.75em){.hidden-min-large{display:none}}@media screen and (max-width: 94.74em){.hidden-max-large{display:none}}.no-scroll-y{overflow-y:hidden}.no-scroll-x{overflow-x:hidden}.full-height{height:100%}.full-width{width:100%}.flex-basis-full{flex-basis:100%}.full-min-height{min-height:100%}.image-fill{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.image-full-width img,.image-full-width{width:100%;height:auto}.margin-auto,.center{margin-left:auto;margin-right:auto}.margin-left-auto{margin-left:auto}.margin-right-auto{margin-right:auto}.no-margin{margin:0}.no-margin-top{margin-top:0}.no-margin-bottom{margin-bottom:0}.no-margin-left{margin-left:0}.no-margin-right{margin-right:0}.no-padding{padding:0}.no-padding-top{padding-top:0}.no-padding-bottom{padding-bottom:0}.no-padding-left{padding-left:0}.no-padding-right{padding-right:0}.align-self-start{align-self:start}.align-self-center{align-self:center}.align-self-end{align-self:end}.align-self-baseline{align-self:baseline}@media(print){.no-print{display:none}*{background:rgba(0,0,0,0) !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important;filter:none !important}a,a:visited{text-decoration:underline}pre,blockquote{border:1px solid #999;page-break-inside:avoid}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.color-black{color:#000}.color-white{color:#fff}.color-type{color:#000}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(){var t={398:function(){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(t){var e=this;do{if(Element.prototype.matches.call(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null})}},e={};function n(i){var o=e[i];if(void 0!==o)return o.exports;var r=e[i]={exports:{}};return t[i](r,r.exports,n),r.exports}!function(){"use strict";n(398);var t,e,i,o,r,a={pageModified:function(t){t.dispatchEvent(new Event(s("pageModified"),{bubbles:!0}))},pageResized:function(t){t.dispatchEvent(new Event(s("pageResized"),{bubbles:!0}))}};function s(t){return"ulu:"+t}function u(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function l(t){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}window.addEventListener("resize",(t=function(){return t="pageResized",e=document,void(a[t]?a[t](e):console.warn("Unable to dispatch site event: ".concat(t," in context:"),e));var t,e},e=250,function(){var n=o||this,a=arguments,s=i&&!r;clearTimeout(r),r=setTimeout((function(){r=null,i||t.apply(n,a)}),e),s&&t.apply(n,a)}));var f={debug:!1,warningsAlways:!0,errorsAlways:!0,outputContext:!1},h="console"in window;function p(t){return h&&f.debug&&((null==t?void 0:t.debug)||null==t)}function d(t,e,n){var i,o,r=function(t){var e;return"object"===l(t)&&(null==t||null===(e=t.constructor)||void 0===e?void 0:e.name)}(e)||"Logger";(i=console)[t].apply(i,[r].concat(function(t){if(Array.isArray(t))return c(t)}(o=n)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(o)||function(t,e){if(t){if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(t,e):void 0}}(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())),f.outputContext&&console.log("Context:\n",e)}function y(t){if(p(t)){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++)n[i-1]=arguments[i];d("log",t,n)}}function m(t){if(f.errorsAlways||p(t)){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++)n[i-1]=arguments[i];d("error",t,n)}}function v(t){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},v(t)}function b(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function g(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==v(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,"string");if("object"!==v(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(i.key),"symbol"===v(o)?o:String(o)),i)}var o}function w(t,e,n){return e&&g(t.prototype,e),n&&g(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}window.addEventListener(s("pageResized"),(function(){k.instances.forEach((function(t){return t.update()}))}));var k=function(){function t(e){var n=this;b(this,t),e.order||m(this,"Missing order (required)!"),Object.assign(this,t.defaults,e),this.active=null,this.previous=null,this.activeIndex=null,this.resizeDirection=null,this.previousIndex=null,this.breakpoints={},this.order.forEach((function(t){return n.breakpoints[t]=new x(t,n)})),y(this,this),this.update(),t.instances.push(this)}return w(t,[{key:"getBreakpoint",value:function(){return window.getComputedStyle(this.element,this.psuedoSelector).content.replace(/^"|"$/g,"")}},{key:"update",value:function(){var t=this,e=this.getBreakpoint();if(e!==this.active){this.previous=this.active,this.previousIndex=this.activeIndex;var n=this.order.indexOf(e);this.active=e,this.activeIndex=n;var i=this.at(this.active),o=function(e){return t.at(e)},r=this.order.slice(n).map(o),a=this.order.slice(0,n).map(o),s=this.order.slice(0,n+1).map(o),u=this.order.slice(n+1).map(o),c=this.order.slice().map(o);c.splice(n,1),y(this,"max:",r.map((function(t){return t.name})).join()),y(this,"min:",s.map((function(t){return t.name})).join()),r.forEach((function(t){return t._setDirection("max",!0)})),s.forEach((function(t){return t._setDirection("min",!0)})),i._setDirection("only",!0),a.forEach((function(t){return t._setDirection("max",!1)})),u.forEach((function(t){return t._setDirection("min",!1)})),c.forEach((function(t){return t._setDirection("only",!1)})),null!==this.previousIndex&&(this.resizeDirection=this.previousIndex<n?"up":"down")}}},{key:"at",value:function(t){var e=this.breakpoints[t];return t||m(this,"Unable to find breakpoint for:",e),e}}]),t}();k.instances=[],k.defaults={element:document.body,psuedoSelector:":before",debug:!1};var E=function(){function t(e,n){b(this,t),this.direction=e,this.active=!1,this.on=[],this.off=[],this.breakpoint=n}return w(t,[{key:"change",value:function(t){this.active!==t&&(t?this._call(!0):this.active&&this._call(!1),this.active=t)}},{key:"_call",value:function(t){(t?this.on:this.off).forEach((function(t){return t()})),y(this.breakpoint._manager,"Handlers called (".concat(t?"on":"off","): ").concat(this.direction))}},{key:"getHandlers",value:function(t){return"object"!==v(t)?{on:t}:t}},{key:"add",value:function(t){var e=this.getHandlers(t);e.on&&this.on.push(e.on),e.off&&this.off.push(e.off),this.active&&e.on&&(e.on(),y(this.breakpoint._manager,"Handler called immediately: ".concat(this.direction),e.on))}},{key:"remove",value:function(t){var e=this.getHandlers(t);e.on&&u(this.on,e.on),e.off&&u(this.off,e.off)}}]),t}(),x=function(){function t(e,n){b(this,t),this.directions={max:new E("max",this),min:new E("min",this),only:new E("only",this)},this._manager=n,this.name=e}return w(t,[{key:"_setDirection",value:function(t,e){this.directions[t].change(e)}},{key:"max",value:function(t){this.directions.max.add(t)}},{key:"min",value:function(t){this.directions.min.add(t)}},{key:"only",value:function(t){this.directions.only.add(t)}},{key:"remove",value:function(t,e){(e?[e]:["max","min","only"]).forEach((function(e){return e.remove(t)}))}},{key:"log",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e.unshift("Breakpoint (".concat(this.name,"):")),this._manager.log.apply(this._manager,e)}}]),t}()}()}();
|
package/index.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Doc Ready - Script
|
|
3
|
+
// =============================================================================
|
|
4
|
+
|
|
5
|
+
// Version: 1.0.0
|
|
6
|
+
|
|
7
|
+
// Description: Simple script that will add a property to the window for
|
|
8
|
+
// other scripts to access. Functions will be fired after
|
|
9
|
+
// DomContentLoaded.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
(function(d) {
|
|
13
|
+
var callbacks = [],
|
|
14
|
+
fired = false;
|
|
15
|
+
|
|
16
|
+
window.onDocReady = function(callback) {
|
|
17
|
+
if (fired) callback();
|
|
18
|
+
else callbacks.push(callback);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
d.addEventListener("DOMContentLoaded", function() {
|
|
22
|
+
fired = true;
|
|
23
|
+
for (var i = 0; i < callbacks.length; i++) {
|
|
24
|
+
callbacks[i]();
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
}(document));
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Jquery Prototypes
|
|
3
|
+
// =============================================================================
|
|
4
|
+
|
|
5
|
+
// Version: 2.0.0
|
|
6
|
+
|
|
7
|
+
// Description: All of our simple jQuery prototypes
|
|
8
|
+
|
|
9
|
+
// Change log: 2.0.0 | Converted to ES Module with exports (so we can pick and choose)
|
|
10
|
+
|
|
11
|
+
const $ = jQuery;
|
|
12
|
+
|
|
13
|
+
// FUnction to do conditions in chaining sequences
|
|
14
|
+
export function when(condition, method, argumentsArray) {
|
|
15
|
+
if (!Array.isArray(argumentsArray)) argumentsArray = [argumentsArray];
|
|
16
|
+
if (typeof condition === 'function') condition = condition.apply(this, argumentsArray);
|
|
17
|
+
if (condition) this[method].apply(this, argumentsArray);
|
|
18
|
+
return condition ? this[method].apply(this, argumentsArray) : this;
|
|
19
|
+
}
|
|
20
|
+
export function mergeObjects() {
|
|
21
|
+
var collect = $([]).add(this);
|
|
22
|
+
for (var i = 0; i < arguments.length; i++) collect = collect.add(arguments[i]);
|
|
23
|
+
return collect;
|
|
24
|
+
}
|
|
25
|
+
export function updateSelection() {
|
|
26
|
+
var elements = $(this.selector);
|
|
27
|
+
this.splice(0, this.length);
|
|
28
|
+
this.push.apply(this, elements);
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
export function findFromRoot(selector) {
|
|
32
|
+
return this.filter(selector).add(this.find(selector));
|
|
33
|
+
}
|
|
34
|
+
export function dataExplode(attrName, delimiter) {
|
|
35
|
+
var dataFound = this.data(attrName);
|
|
36
|
+
return dataFound !== undefined && typeof dataFound === 'string' ? dataFound.split('|') : false;
|
|
37
|
+
}
|
|
38
|
+
export function isOverflowingY() {
|
|
39
|
+
var el = this[0];
|
|
40
|
+
return el.offsetHeight < el.scrollHeight;
|
|
41
|
+
}
|
|
42
|
+
export function isOverflowingX() {
|
|
43
|
+
var el = this[0];
|
|
44
|
+
return el.offsetWidth < el.scrollWidth;
|
|
45
|
+
}
|
|
46
|
+
export function escapeSelector(stringPasssed) {
|
|
47
|
+
return stringPasssed.replace(/(:|\.|\[|\]|,)/g, "\\$1");
|
|
48
|
+
}
|
|
49
|
+
export function getControlled(attr) {
|
|
50
|
+
if (!attr) attr = 'aria-controls';
|
|
51
|
+
var id = this.attr(attr);
|
|
52
|
+
return $('#'+id);
|
|
53
|
+
}
|
|
54
|
+
export function getControls(attr) {
|
|
55
|
+
if (!attr) attr = 'aria-controls';
|
|
56
|
+
var id = this.attr('id');
|
|
57
|
+
return $('['+attr+'='+id+']');
|
|
58
|
+
}
|
|
59
|
+
export function queryVar(variable) {
|
|
60
|
+
var query = curQueryVars,
|
|
61
|
+
vars = query.split("&");
|
|
62
|
+
for (var i=0;i<vars.length;i++) {
|
|
63
|
+
var pair = vars[i].split("=");
|
|
64
|
+
if(pair[0] == variable){return pair[1];}
|
|
65
|
+
}
|
|
66
|
+
return(false);
|
|
67
|
+
}
|
|
68
|
+
export function eachMatchingIndexes(method, collection) {
|
|
69
|
+
this.each(function(i) {
|
|
70
|
+
$(this)[method](collection[i]);
|
|
71
|
+
});
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
export function makeFocusable(forScripts, firstDescendant) {
|
|
75
|
+
|
|
76
|
+
var el = this,
|
|
77
|
+
tabindex = forScripts ? -1 : 0;
|
|
78
|
+
// If they said first descendant (that is focusable)
|
|
79
|
+
if (firstDescendant) {
|
|
80
|
+
var newEl = el.find(_g.focus.titleEl+', '+_g.focus.elFocusable).not('[aria-hidden="true"]');
|
|
81
|
+
if (newEl.length) {
|
|
82
|
+
el = newEl;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
el = el.first();
|
|
86
|
+
if (!el.is(_g.focus.elFocusable)) el.attr('tabindex', tabindex); // Make focusable by scripts
|
|
87
|
+
|
|
88
|
+
return el;
|
|
89
|
+
}
|
|
90
|
+
export function attrBooleanToggle(attribute, forceState) {
|
|
91
|
+
this.attr(attribute, function(i, iString) {
|
|
92
|
+
if (forceState === true || forceState === false) return forceState;
|
|
93
|
+
if (iString === 'true') return 'false';
|
|
94
|
+
return 'true';
|
|
95
|
+
});
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
export function checkIdAndSet(stringForId) {
|
|
99
|
+
if ($(this).attr('id')) {
|
|
100
|
+
return (this).attr('id');
|
|
101
|
+
} else {
|
|
102
|
+
var id = stringForId === undefined ? _g.uniqueId() : stringForId; // If they don't pass string use global method.
|
|
103
|
+
$(this).attr('id', id); // Assign id
|
|
104
|
+
return id; // Return Id for user's use
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export function scrollParent() {
|
|
108
|
+
var overflowRegex = /(auto|scroll)/,
|
|
109
|
+
position = this.css( "position" ),
|
|
110
|
+
excludeStaticParent = position === "absolute",
|
|
111
|
+
scrollParent = this.parents().filter( function() {
|
|
112
|
+
var parent = $( this );
|
|
113
|
+
if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
var overflowState = parent.css(["overflow", "overflowX", "overflowY"]);
|
|
117
|
+
return (overflowRegex).test( overflowState.overflow + overflowState.overflowX + overflowState.overflowY );
|
|
118
|
+
}).eq( 0 );
|
|
119
|
+
|
|
120
|
+
return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;
|
|
121
|
+
}
|
|
122
|
+
export function scrollParentY() {
|
|
123
|
+
var overflowRegex = /(auto|scroll)/,
|
|
124
|
+
position = this.css( "position" ),
|
|
125
|
+
excludeStaticParent = position === "absolute",
|
|
126
|
+
scrollParent = this.parents().filter( function() {
|
|
127
|
+
var parent = $( this );
|
|
128
|
+
if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
var overflowState = parent.css(["overflowY"]);
|
|
132
|
+
return (overflowRegex).test(overflowState.overflowY );
|
|
133
|
+
}).eq( 0 );
|
|
134
|
+
|
|
135
|
+
return position === "fixed" || !scrollParent.length ? $htmlBody : scrollParent;
|
|
136
|
+
}
|
|
137
|
+
export function removeClassStartsWith(stringPassed) {
|
|
138
|
+
this.removeClass(function (index, classes) {
|
|
139
|
+
|
|
140
|
+
// This function splits into an array
|
|
141
|
+
// Then filters out the passed string
|
|
142
|
+
// Then returns it joined as space seperated
|
|
143
|
+
// Jquery then removes those classes
|
|
144
|
+
|
|
145
|
+
return classes
|
|
146
|
+
.split(' ')
|
|
147
|
+
.filter(function(value) {
|
|
148
|
+
return value.includes(stringPassed);
|
|
149
|
+
})
|
|
150
|
+
.join(' ');
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
// For Chaining
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
156
|
+
export function doesExist(callback){
|
|
157
|
+
if (this.length) {
|
|
158
|
+
if (callback) callback.call(this);
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
export function notExist(callback){
|
|
163
|
+
if (this.length <= 0) {
|
|
164
|
+
if (callback) callback.call(this);
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
export function sortByDepth() {
|
|
169
|
+
// Sorts jquery object by deepest to shallowest item
|
|
170
|
+
var ar = this.map(function() {
|
|
171
|
+
return {length: $(this).parents().length, elt: this};
|
|
172
|
+
}).get(),
|
|
173
|
+
result = [],
|
|
174
|
+
i = ar.length;
|
|
175
|
+
ar.sort(function(a, b) {
|
|
176
|
+
return a.length - b.length;
|
|
177
|
+
});
|
|
178
|
+
while (i--) {
|
|
179
|
+
result.push(ar[i].elt);
|
|
180
|
+
}
|
|
181
|
+
return $(result);
|
|
182
|
+
};
|
|
183
|
+
// throttleScroll
|
|
184
|
+
export function throttleScroll(eventName, optionalHandler) {
|
|
185
|
+
var posLastY = 0,
|
|
186
|
+
posLastX = 0,
|
|
187
|
+
lastFrameComplete = true,
|
|
188
|
+
el = this;
|
|
189
|
+
|
|
190
|
+
// Internal function for touch move and scroll
|
|
191
|
+
function scrollHandler(event) {
|
|
192
|
+
|
|
193
|
+
var posY = el.scrollTop(),
|
|
194
|
+
posX = el.scrollLeft(),
|
|
195
|
+
elHeight = el.innerHeight(); // cOme back
|
|
196
|
+
|
|
197
|
+
if (lastFrameComplete && (posLastY !== posY || posLastX !== posX)) {
|
|
198
|
+
|
|
199
|
+
var scrollData = {
|
|
200
|
+
positionY: posY,
|
|
201
|
+
positionX: posX,
|
|
202
|
+
height: elHeight,
|
|
203
|
+
positionLastY: posLastY,
|
|
204
|
+
positionLastX: posLastX,
|
|
205
|
+
direction: posLastY > posY ? 'up' :'down'
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
posLastY = posY;
|
|
209
|
+
posLastX = posX;
|
|
210
|
+
lastFrameComplete = false;
|
|
211
|
+
|
|
212
|
+
requestAnimationFrame(function(){
|
|
213
|
+
el.trigger(eventName, [scrollData, event]);
|
|
214
|
+
lastFrameComplete = true;
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// Attach our throttling handler
|
|
220
|
+
el.on('scroll touchmove', scrollHandler);
|
|
221
|
+
// If they passed a handler attach it
|
|
222
|
+
if (optionalHandler) el.on(eventName, optionalHandler);
|
|
223
|
+
// Chaining
|
|
224
|
+
return scrollHandler;
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
export function copyAttributes() {
|
|
228
|
+
var attrs = {};
|
|
229
|
+
|
|
230
|
+
$.each(this[0].attributes, function(idx, attr) {
|
|
231
|
+
attrs[attr.nodeName] = attr.nodeValue;
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
return attrs;
|
|
235
|
+
};
|
|
236
|
+
export function attributesFrom(elFrom, overwrite) {
|
|
237
|
+
var $this = this;
|
|
238
|
+
$.each(elFrom[0].attributes, function(idx, attr) {
|
|
239
|
+
$this.attr(attr.nodeName, attr.nodeValue);
|
|
240
|
+
});
|
|
241
|
+
return this;
|
|
242
|
+
};
|
|
243
|
+
export function changeElementType(newType) {
|
|
244
|
+
|
|
245
|
+
var attrs = this.copyAttributes(),
|
|
246
|
+
newElement = $("<" + newType + "/>", attrs).append($(this).contents());
|
|
247
|
+
|
|
248
|
+
this.replaceWith(newElement);
|
|
249
|
+
return newElement;
|
|
250
|
+
};
|
|
251
|
+
// This function accepts a string to search for and if found will use the "change" argument passed.
|
|
252
|
+
// Since this is using the string replace() function you can use either a function or a string.
|
|
253
|
+
// Using :contains selector vs anything reg-ex or filter related because it is extremely fast
|
|
254
|
+
// in tests and the search could be deep. Contains will give us both the element with the
|
|
255
|
+
// text and the parents (unfortunate). So once we have them we filter by nodeType 3 which
|
|
256
|
+
// is text nodes. And then check if that node has the string. If it does we run replace with
|
|
257
|
+
// the string and call the users callback for the replacement.
|
|
258
|
+
export function replaceText(find, change, filterSelector) {
|
|
259
|
+
this
|
|
260
|
+
.find(':contains(' + find + ')')
|
|
261
|
+
.filter(filterSelector || null)
|
|
262
|
+
.contents()
|
|
263
|
+
.filter(function() {
|
|
264
|
+
return this.nodeType === 3 && this.nodeValue.includes(find);
|
|
265
|
+
})
|
|
266
|
+
.each(function() {
|
|
267
|
+
var newNode = document.createElement('span');
|
|
268
|
+
newNode.innerHTML = this.nodeValue.replace(find, change);
|
|
269
|
+
this.parentNode.insertBefore(newNode, this);
|
|
270
|
+
this.parentNode.removeChild(this);
|
|
271
|
+
});
|
|
272
|
+
return this;
|
|
273
|
+
};
|
|
274
|
+
// Better jqeury.each(), passes the $(this) that everyone makes into a variable anyways
|
|
275
|
+
// This is based on prototype.each which uses jQuery.each(object, callback) so it
|
|
276
|
+
// should perform as well. Test here: https://codepen.io/Jscherbe/pen/pZMZOo
|
|
277
|
+
export function forEach(callback) {
|
|
278
|
+
var $t;
|
|
279
|
+
for (var i = 0; i < this.length; i++) {
|
|
280
|
+
$t = $(this[i]);
|
|
281
|
+
if (callback.call($t, i, $t) === false) break;
|
|
282
|
+
}
|
|
283
|
+
return this;
|
|
284
|
+
};
|
|
285
|
+
export function isOutside(context) {
|
|
286
|
+
return !context.has(this).length || context.is(this);
|
|
287
|
+
};
|
|
288
|
+
export function apply(fn, args) {
|
|
289
|
+
fn.apply(this, args);
|
|
290
|
+
return this;
|
|
291
|
+
};
|
|
292
|
+
export function hasAttr(name) {
|
|
293
|
+
var attr = this.attr(name);
|
|
294
|
+
return !(typeof attr !== undefined && attr !== false);
|
|
295
|
+
};
|
|
296
|
+
export function debounce(func, wait, immediate, valueThis) {
|
|
297
|
+
var timeout;
|
|
298
|
+
return function() {
|
|
299
|
+
var context = valueThis || this, args = arguments;
|
|
300
|
+
var later = function() {
|
|
301
|
+
timeout = null;
|
|
302
|
+
if (!immediate) func.apply(context, args);
|
|
303
|
+
};
|
|
304
|
+
var callNow = immediate && !timeout;
|
|
305
|
+
clearTimeout(timeout);
|
|
306
|
+
timeout = setTimeout(later, wait);
|
|
307
|
+
if (callNow) func.apply(context, args);
|
|
308
|
+
};
|
|
309
|
+
};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// Version: 1.0.2
|
|
2
|
+
|
|
3
|
+
// Changes: 1.0.2 | Added ability for user to pass config options to popper
|
|
4
|
+
// constructor
|
|
5
|
+
|
|
6
|
+
import { createPopper } from '@popperjs/core';
|
|
7
|
+
|
|
8
|
+
const merge = Object.assign;
|
|
9
|
+
const DATA_KEY = "popperInstance";
|
|
10
|
+
const defaults = {
|
|
11
|
+
arrowEnabled: true,
|
|
12
|
+
arrowSize: 10,
|
|
13
|
+
placementDataKey: 'cc-placement',
|
|
14
|
+
stradegyDataKey: "cc-stradegy",
|
|
15
|
+
arrowClasses: "cc-arrow",
|
|
16
|
+
popper: {} // options to be merged
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new set of options, pass modifiers array seperately
|
|
20
|
+
* - Used to reduce complexity of mergining array's of reference object
|
|
21
|
+
* - Instead this function (factory) will create a new object for each modifiers
|
|
22
|
+
* so there is no possible issues upstream with duplicated references (ie. eventListeners)
|
|
23
|
+
* @param {Object} options Popper options
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
function createOptions(options) {
|
|
27
|
+
const modifiers = options.modifiers || [];
|
|
28
|
+
delete options.modifiers;
|
|
29
|
+
return Object.assign({
|
|
30
|
+
modifiers: [
|
|
31
|
+
{
|
|
32
|
+
name: 'eventListeners',
|
|
33
|
+
enabled: false
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'preventOverflow',
|
|
37
|
+
enabled: true,
|
|
38
|
+
options: {
|
|
39
|
+
mainAxis: true
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
...modifiers
|
|
43
|
+
]
|
|
44
|
+
}, options);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Creates a popup position mechanism for a collapsible set
|
|
49
|
+
* - Note: if you are adding additional collapsibles to the page you
|
|
50
|
+
* will need to select them and pass their collaspible elements set to the
|
|
51
|
+
* init method provided in this functions return.
|
|
52
|
+
* @param {Object} cc Collapsibles Instance
|
|
53
|
+
* @param {Object} userOptions Options object
|
|
54
|
+
* @param {Boolean} userOptions.arrowEnabled Enable arrow (creates arrow element automatically)
|
|
55
|
+
* @param {Number} userOptions.arrowSize Options object
|
|
56
|
+
* @param {String} userOptions.arrowClasses Classes to be added to the arrow for styling
|
|
57
|
+
* @param {String} userOptions.placementDataKey Data attribute to be selected without "data-", defualts to 'dropdown-placement'
|
|
58
|
+
* @returns {Object} Interface to init new instances added to page, possibly more in the future
|
|
59
|
+
*/
|
|
60
|
+
export function popperPositioning(cc, options) {
|
|
61
|
+
const userCallback = cc.onChangeAfter;
|
|
62
|
+
// Merge and reassign
|
|
63
|
+
options = merge({}, defaults, options);
|
|
64
|
+
// Prep each collapsible instance available on page
|
|
65
|
+
cc.each(init);
|
|
66
|
+
cc.onChangeAfter = function popperPositioningCb({ toggle }, state) {
|
|
67
|
+
if (userCallback) {
|
|
68
|
+
userCallback.apply(cc, arguments);
|
|
69
|
+
}
|
|
70
|
+
// Popper related
|
|
71
|
+
const isOpen = state === "open";
|
|
72
|
+
const instance = toggle.data(DATA_KEY);
|
|
73
|
+
// Remove current options and change event listeners (enable when open only)
|
|
74
|
+
// This helps performance b/c this plugin watches the page (resize, etc)
|
|
75
|
+
const opts = instance.state.options;
|
|
76
|
+
const eventModifier = opts.modifiers.find(el => el.name === "eventListeners");
|
|
77
|
+
if (eventModifier) {
|
|
78
|
+
eventModifier.enabled = isOpen
|
|
79
|
+
}
|
|
80
|
+
// Reset the options object
|
|
81
|
+
instance.setOptions(opts);
|
|
82
|
+
// Force it to update the positioning now
|
|
83
|
+
if (isOpen) {
|
|
84
|
+
instance.update();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Initialize a single popper/CC instance
|
|
90
|
+
* @param {Object} elements Collapsible elements object
|
|
91
|
+
*/
|
|
92
|
+
function init({ toggle, content, container }) {
|
|
93
|
+
// Attempting to reinitialize
|
|
94
|
+
if (toggle.data(DATA_KEY)) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const config = merge({}, {
|
|
98
|
+
placement: container.data(options.placementDataKey) || "auto",
|
|
99
|
+
strategy: container.data(options.stradegyDataKey) || "absolute",
|
|
100
|
+
modifiers: []
|
|
101
|
+
}, options.popper);
|
|
102
|
+
|
|
103
|
+
// Add optional arrow modifiers
|
|
104
|
+
if (options.arrowEnabled) {
|
|
105
|
+
content.prepend(`<div class="${ options.arrowClasses }" data-popper-arrow></div>`);
|
|
106
|
+
config.modifiers.push({
|
|
107
|
+
name: 'offset',
|
|
108
|
+
options: {
|
|
109
|
+
offset: [ 0, options.arrowSize ],
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
// Create popper instance and add ref to jQuery element data
|
|
114
|
+
const instance = createPopper(
|
|
115
|
+
toggle.get(0),
|
|
116
|
+
content.get(0),
|
|
117
|
+
createOptions(config)
|
|
118
|
+
);
|
|
119
|
+
toggle.data(DATA_KEY, instance);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Minimal user interface is returned
|
|
123
|
+
*/
|
|
124
|
+
return { init }
|
|
125
|
+
}
|
|
126
|
+
|