@ulu/frontend 0.1.0-beta.99 → 0.2.0-beta.1
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/dist/style.css +1 -0
- package/{types/utils/system.d.ts → dist/types/js/core/component.d.ts} +11 -14
- package/dist/types/js/core/component.d.ts.map +1 -0
- package/dist/types/js/core/events.d.ts +27 -0
- package/dist/types/js/core/events.d.ts.map +1 -0
- package/dist/types/js/core/index.d.ts +4 -0
- package/{types/utils → dist/types/js/core}/index.d.ts.map +1 -1
- package/dist/types/js/core/settings.d.ts.map +1 -0
- package/dist/types/js/index.d.ts +4 -0
- package/{types → dist/types/js}/index.d.ts.map +1 -1
- package/{types → dist/types/js}/ui/breakpoints.d.ts +4 -6
- package/dist/types/js/ui/breakpoints.d.ts.map +1 -0
- package/dist/types/js/ui/collapsible.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/details-group.d.ts +1 -1
- package/dist/types/js/ui/details-group.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/dialog.d.ts +1 -1
- package/dist/types/js/ui/dialog.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/flipcard.d.ts +1 -1
- package/dist/types/js/ui/flipcard.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/grid.d.ts +1 -1
- package/dist/types/js/ui/grid.d.ts.map +1 -0
- package/dist/types/js/ui/index.d.ts +22 -0
- package/{types → dist/types/js}/ui/index.d.ts.map +1 -1
- package/{types → dist/types/js}/ui/modal-builder.d.ts +2 -2
- package/dist/types/js/ui/modal-builder.d.ts.map +1 -0
- package/dist/types/js/ui/overflow-scroller-pager.d.ts.map +1 -0
- package/dist/types/js/ui/overflow-scroller.d.ts.map +1 -0
- package/dist/types/js/ui/page.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/popover.d.ts +2 -2
- package/dist/types/js/ui/popover.d.ts.map +1 -0
- package/dist/types/js/ui/print-details.d.ts.map +1 -0
- package/dist/types/js/ui/print.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/programmatic-modal.d.ts +1 -1
- package/dist/types/js/ui/programmatic-modal.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/proxy-click.d.ts +1 -1
- package/dist/types/js/ui/proxy-click.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/resizer.d.ts +1 -1
- package/dist/types/js/ui/resizer.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/scroll-slider.d.ts +1 -1
- package/dist/types/js/ui/scroll-slider.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/scrollpoint.d.ts +2 -2
- package/dist/types/js/ui/scrollpoint.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/slider.d.ts +6 -6
- package/dist/types/js/ui/slider.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/tabs.d.ts +1 -1
- package/dist/types/js/ui/tabs.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/theme-toggle.d.ts +1 -1
- package/dist/types/js/ui/theme-toggle.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/tooltip.d.ts +1 -1
- package/dist/types/js/ui/tooltip.d.ts.map +1 -0
- package/dist/types/js/utils/class-logger.d.ts.map +1 -0
- package/dist/types/js/utils/css.d.ts.map +1 -0
- package/dist/types/js/utils/dom.d.ts.map +1 -0
- package/{types → dist/types/js}/utils/file-save.d.ts +4 -1
- package/dist/types/js/utils/file-save.d.ts.map +1 -0
- package/dist/types/js/utils/floating-ui.d.ts.map +1 -0
- package/dist/types/js/utils/font-awesome.d.ts.map +1 -0
- package/dist/types/js/utils/id.d.ts.map +1 -0
- package/dist/types/js/utils/index.d.ts +8 -0
- package/dist/types/js/utils/index.d.ts.map +1 -0
- package/dist/types/js/utils/pause-youtube-video.d.ts.map +1 -0
- package/dist/ulu-frontend.es.js +5737 -0
- package/dist/ulu-frontend.umd.js +77 -0
- package/lib/index.js +5 -0
- package/{js/utils/system.js → lib/js/core/component.js} +13 -12
- package/lib/js/core/events.js +98 -0
- package/lib/js/core/index.js +34 -0
- package/{js → lib/js/core}/settings.js +3 -3
- package/lib/js/exports.md +126 -0
- package/lib/js/index.js +7 -0
- package/{js → lib/js}/ui/breakpoints.js +28 -31
- package/{js → lib/js}/ui/collapsible.js +2 -2
- package/{js → lib/js}/ui/details-group.js +2 -2
- package/{js → lib/js}/ui/dialog.js +6 -6
- package/{js → lib/js}/ui/flipcard.js +2 -2
- package/{js → lib/js}/ui/grid.js +2 -2
- package/lib/js/ui/index.js +161 -0
- package/{js → lib/js}/ui/modal-builder.js +6 -6
- package/{js → lib/js}/ui/overflow-scroller.js +2 -2
- package/{js → lib/js}/ui/popover.js +2 -2
- package/{js → lib/js}/ui/print-details.js +3 -3
- package/{js → lib/js}/ui/print.js +2 -2
- package/{js → lib/js}/ui/programmatic-modal.js +3 -3
- package/{js → lib/js}/ui/proxy-click.js +2 -2
- package/{js → lib/js}/ui/resizer.js +2 -2
- package/{js → lib/js}/ui/scroll-slider.js +2 -2
- package/{js → lib/js}/ui/scrollpoint.js +2 -2
- package/{js → lib/js}/ui/slider.js +3 -3
- package/{js → lib/js}/ui/tabs.js +2 -2
- package/{js → lib/js}/ui/theme-toggle.js +5 -5
- package/{js → lib/js}/ui/tooltip.js +4 -4
- package/{js → lib/js}/utils/css.js +1 -1
- package/{js → lib/js}/utils/font-awesome.js +2 -2
- package/lib/js/utils/index.js +63 -0
- package/{scss → lib/scss}/_breakpoint.scss +4 -4
- package/{scss → lib/scss}/_button.scss +1 -0
- package/{scss → lib/scss}/_color.scss +42 -38
- package/{scss → lib/scss}/_element.scss +6 -1
- package/{scss → lib/scss}/_typography.scss +15 -0
- package/lib/scss/components/_accordion.scss +274 -0
- package/{scss → lib/scss}/components/_basic-hero.scss +1 -1
- package/lib/scss/components/_breadcrumb.scss +110 -0
- package/{scss → lib/scss}/components/_button.scss +14 -4
- package/{scss/components/_card.scss → lib/scss/components/_card-before-no-position-relative.TRASH.scss} +80 -100
- package/{scss → lib/scss}/components/_card-grid.scss +8 -2
- package/lib/scss/components/_card.scss +656 -0
- package/lib/scss/components/_definition-list.scss +178 -0
- package/{scss → lib/scss}/components/_index.scss +25 -0
- package/{scss → lib/scss}/components/_menu-stack.scss +169 -16
- package/{scss → lib/scss}/components/_modal.scss +11 -1
- package/lib/scss/components/_progress-bar.scss +260 -0
- package/lib/scss/components/_progress-circle.scss +175 -0
- package/{scss → lib/scss}/components/_skeleton.scss +24 -20
- package/{scss → lib/scss}/components/_tag.scss +49 -7
- package/{scss → lib/scss}/helpers/_utilities.scss +25 -3
- package/package.json +28 -15
- package/.browserslistrc +0 -2
- package/.eslintrc +0 -17
- package/.prettierrc +0 -10
- package/CHANGELOG.md +0 -750
- package/deprecated/js/doc-ready.js +0 -28
- package/deprecated/js/drupal-programmatic-modal.js +0 -91
- package/deprecated/js/jquery-prototypes.js +0 -309
- package/deprecated/js/micromodal-modals.js +0 -196
- package/deprecated/js/mini-collapsible-popper-positioning.js +0 -126
- package/deprecated/js/mini-collapsible.js +0 -607
- package/deprecated/js/node-data-manager.js +0 -78
- package/deprecated/js/script-loader.js +0 -60
- package/deprecated/js/waypoints/README.md +0 -3
- package/deprecated/js/waypoints/anchor-menu.js +0 -76
- package/deprecated/js/waypoints/element-waypoint.js +0 -75
- package/deprecated/js/waypoints/examples/page-link-menu.md +0 -106
- package/deprecated/js/waypoints/state-in-attribute.js +0 -32
- package/dist/ulu-frontend.min.css +0 -1
- package/dist/ulu-frontend.min.js +0 -77
- package/docs-dev/.nojekyll +0 -1
- package/docs-dev/assets/chunks/modulepreload-polyfill.DaKOjhqt.js +0 -37
- package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
- package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
- package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
- package/docs-dev/assets/favicons/browserconfig.xml +0 -9
- package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
- package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
- package/docs-dev/assets/favicons/favicon.ico +0 -0
- package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
- package/docs-dev/assets/favicons/safari-pinned-tab.svg +0 -1
- package/docs-dev/assets/favicons/site.webmanifest +0 -19
- package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/LICENSE.txt +0 -92
- package/docs-dev/assets/fonts/inter/inter.css +0 -37
- package/docs-dev/assets/main.js +0 -23312
- package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +0 -2
- package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
- package/docs-dev/assets/placeholder/icon-calendar.svg +0 -1
- package/docs-dev/assets/placeholder/icon-check.svg +0 -1
- package/docs-dev/assets/placeholder/image-1-attribution.txt +0 -7
- package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
- package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
- package/docs-dev/assets/placeholder/image-1.jpg +0 -0
- package/docs-dev/assets/style.css +0 -19153
- package/docs-dev/changelog/index.html +0 -7184
- package/docs-dev/demos/accordion/index.html +0 -5811
- package/docs-dev/demos/badge/index.html +0 -5655
- package/docs-dev/demos/badge-stack/index.html +0 -5636
- package/docs-dev/demos/badge.1/index.html +0 -5595
- package/docs-dev/demos/basic-hero/index.html +0 -111
- package/docs-dev/demos/breakpoints-manager/index.html +0 -5666
- package/docs-dev/demos/button/index.html +0 -5665
- package/docs-dev/demos/button-group/index.html +0 -5652
- package/docs-dev/demos/button-verbose/index.html +0 -5658
- package/docs-dev/demos/callout/index.html +0 -5704
- package/docs-dev/demos/captioned-figure/index.html +0 -5686
- package/docs-dev/demos/card/index.html +0 -5682
- package/docs-dev/demos/card-grid/index.html +0 -5777
- package/docs-dev/demos/counter-list/index.html +0 -5660
- package/docs-dev/demos/css-icons/index.html +0 -6298
- package/docs-dev/demos/data-grid/index.html +0 -6529
- package/docs-dev/demos/data-table/index.html +0 -5833
- package/docs-dev/demos/details-group/index.html +0 -5687
- package/docs-dev/demos/file-save/index.html +0 -5675
- package/docs-dev/demos/flipcard/index.html +0 -6224
- package/docs-dev/demos/form-theme/index.html +0 -5842
- package/docs-dev/demos/headline-label/index.html +0 -5622
- package/docs-dev/demos/hero/index.html +0 -309
- package/docs-dev/demos/image-grid/index.html +0 -165
- package/docs-dev/demos/index.html +0 -5613
- package/docs-dev/demos/list-inline/index.html +0 -5640
- package/docs-dev/demos/list-lines/index.html +0 -5630
- package/docs-dev/demos/menu-stack/index.html +0 -5769
- package/docs-dev/demos/modals/index.html +0 -5844
- package/docs-dev/demos/nav-strip/index.html +0 -5725
- package/docs-dev/demos/overlay-section/index.html +0 -5701
- package/docs-dev/demos/panel/index.html +0 -5682
- package/docs-dev/demos/popovers/index.html +0 -0
- package/docs-dev/demos/print/index.html +0 -5633
- package/docs-dev/demos/pull-quote/index.html +0 -5632
- package/docs-dev/demos/rail/index.html +0 -5730
- package/docs-dev/demos/rule/index.html +0 -5694
- package/docs-dev/demos/scroll-slider/index.html +0 -170
- package/docs-dev/demos/scrollpoints/index.html +0 -5651
- package/docs-dev/demos/skeleton/index.html +0 -5676
- package/docs-dev/demos/slider/index.html +0 -172
- package/docs-dev/demos/spoke-spinner/index.html +0 -5628
- package/docs-dev/demos/sticky-list/index.html +0 -5643
- package/docs-dev/demos/tabs/index.html +0 -5753
- package/docs-dev/demos/tag/index.html +0 -5633
- package/docs-dev/demos/theme-toggle/index.html +0 -5699
- package/docs-dev/demos/tile-grid-overlay/index.html +0 -390
- package/docs-dev/demos/tiles/index.html +0 -5882
- package/docs-dev/demos/tooltip/index.html +0 -5661
- package/docs-dev/demos/wysiwyg/index.html +0 -5672
- package/docs-dev/guide/building-stylesheet/index.html +0 -5682
- package/docs-dev/guide/developing-ulu-scss-module/index.html +0 -5734
- package/docs-dev/guide/index.html +0 -5615
- package/docs-dev/index.html +0 -5662
- package/docs-dev/javascript/events/index.html +0 -5811
- package/docs-dev/javascript/index.html +0 -5628
- package/docs-dev/javascript/settings/index.html +0 -5825
- package/docs-dev/javascript/ui-breakpoints/index.html +0 -6071
- package/docs-dev/javascript/ui-collapsible/index.html +0 -5738
- package/docs-dev/javascript/ui-details-group/index.html +0 -5742
- package/docs-dev/javascript/ui-dialog/index.html +0 -5787
- package/docs-dev/javascript/ui-flipcard/index.html +0 -5678
- package/docs-dev/javascript/ui-grid/index.html +0 -5653
- package/docs-dev/javascript/ui-modal-builder/index.html +0 -5901
- package/docs-dev/javascript/ui-overflow-scroller/index.html +0 -5611
- package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +0 -5629
- package/docs-dev/javascript/ui-page/index.html +0 -5626
- package/docs-dev/javascript/ui-popover/index.html +0 -5661
- package/docs-dev/javascript/ui-print/index.html +0 -5670
- package/docs-dev/javascript/ui-print-details/index.html +0 -5641
- package/docs-dev/javascript/ui-programmatic-modal/index.html +0 -5611
- package/docs-dev/javascript/ui-proxy-click/index.html +0 -5740
- package/docs-dev/javascript/ui-resizer/index.html +0 -5946
- package/docs-dev/javascript/ui-scroll-slider/index.html +0 -5672
- package/docs-dev/javascript/ui-scrollpoint/index.html +0 -5851
- package/docs-dev/javascript/ui-slider/index.html +0 -5813
- package/docs-dev/javascript/ui-tabs/index.html +0 -5706
- package/docs-dev/javascript/ui-theme-toggle/index.html +0 -5830
- package/docs-dev/javascript/ui-tooltip/index.html +0 -5754
- package/docs-dev/javascript/utils-class-logger/index.html +0 -5746
- package/docs-dev/javascript/utils-css/index.html +0 -5644
- package/docs-dev/javascript/utils-dom/index.html +0 -5711
- package/docs-dev/javascript/utils-file-save/index.html +0 -5783
- package/docs-dev/javascript/utils-floating-ui/index.html +0 -5643
- package/docs-dev/javascript/utils-id/index.html +0 -5653
- package/docs-dev/javascript/utils-pause-youtube-video/index.html +0 -5661
- package/docs-dev/javascript/utils-system/index.html +0 -5947
- package/docs-dev/sass/base/color/index.html +0 -5644
- package/docs-dev/sass/base/elements/index.html +0 -5815
- package/docs-dev/sass/base/index/index.html +0 -5814
- package/docs-dev/sass/base/index.html +0 -5622
- package/docs-dev/sass/base/keyframes/index.html +0 -5646
- package/docs-dev/sass/base/layout/index.html +0 -5806
- package/docs-dev/sass/base/normalize/index.html +0 -5654
- package/docs-dev/sass/base/print/index.html +0 -5650
- package/docs-dev/sass/base/root/index.html +0 -5670
- package/docs-dev/sass/base/typography/index.html +0 -5670
- package/docs-dev/sass/components/accordion/index.html +0 -5979
- package/docs-dev/sass/components/adaptive-spacing/index.html +0 -5915
- package/docs-dev/sass/components/badge/index.html +0 -5881
- package/docs-dev/sass/components/badge-stack/index.html +0 -5811
- package/docs-dev/sass/components/basic-hero/index.html +0 -5805
- package/docs-dev/sass/components/button/index.html +0 -5799
- package/docs-dev/sass/components/button-group/index.html +0 -5803
- package/docs-dev/sass/components/button-verbose/index.html +0 -5986
- package/docs-dev/sass/components/callout/index.html +0 -5961
- package/docs-dev/sass/components/captioned-figure/index.html +0 -5904
- package/docs-dev/sass/components/card/index.html +0 -6219
- package/docs-dev/sass/components/card-grid/index.html +0 -5813
- package/docs-dev/sass/components/counter-list/index.html +0 -5887
- package/docs-dev/sass/components/css-icon/index.html +0 -5917
- package/docs-dev/sass/components/data-grid/index.html +0 -6052
- package/docs-dev/sass/components/data-table/index.html +0 -5988
- package/docs-dev/sass/components/fill-context/index.html +0 -5679
- package/docs-dev/sass/components/flipcard/index.html +0 -5980
- package/docs-dev/sass/components/flipcard-grid/index.html +0 -5800
- package/docs-dev/sass/components/form-theme/index.html +0 -6525
- package/docs-dev/sass/components/headline-label/index.html +0 -5833
- package/docs-dev/sass/components/hero/index.html +0 -5849
- package/docs-dev/sass/components/horizontal-rule/index.html +0 -5798
- package/docs-dev/sass/components/image-grid/index.html +0 -5805
- package/docs-dev/sass/components/index/index.html +0 -5859
- package/docs-dev/sass/components/index.html +0 -5622
- package/docs-dev/sass/components/links/index.html +0 -5649
- package/docs-dev/sass/components/list-inline/index.html +0 -5819
- package/docs-dev/sass/components/list-lines/index.html +0 -5840
- package/docs-dev/sass/components/list-ordered/index.html +0 -5645
- package/docs-dev/sass/components/list-unordered/index.html +0 -5649
- package/docs-dev/sass/components/menu-stack/index.html +0 -5992
- package/docs-dev/sass/components/modal/index.html +0 -6068
- package/docs-dev/sass/components/nav-strip/index.html +0 -5899
- package/docs-dev/sass/components/overlay-section/index.html +0 -5843
- package/docs-dev/sass/components/pager/index.html +0 -5961
- package/docs-dev/sass/components/panel/index.html +0 -6033
- package/docs-dev/sass/components/placeholder-block/index.html +0 -5883
- package/docs-dev/sass/components/popover/index.html +0 -5994
- package/docs-dev/sass/components/pull-quote/index.html +0 -5857
- package/docs-dev/sass/components/rail/index.html +0 -5823
- package/docs-dev/sass/components/ratio-box/index.html +0 -5803
- package/docs-dev/sass/components/rule/index.html +0 -5805
- package/docs-dev/sass/components/scroll-slider/index.html +0 -5904
- package/docs-dev/sass/components/skeleton/index.html +0 -5860
- package/docs-dev/sass/components/skip-link/index.html +0 -5789
- package/docs-dev/sass/components/slider/index.html +0 -5913
- package/docs-dev/sass/components/spoke-spinner/index.html +0 -5863
- package/docs-dev/sass/components/sticky-list/index.html +0 -6023
- package/docs-dev/sass/components/table-sticky/index.html +0 -5677
- package/docs-dev/sass/components/tabs/index.html +0 -5954
- package/docs-dev/sass/components/tag/index.html +0 -5964
- package/docs-dev/sass/components/tile-button/index.html +0 -5844
- package/docs-dev/sass/components/tile-grid/index.html +0 -5979
- package/docs-dev/sass/components/tile-grid-overlay/index.html +0 -5780
- package/docs-dev/sass/components/vignette/index.html +0 -5799
- package/docs-dev/sass/components/wysiwyg/index.html +0 -5827
- package/docs-dev/sass/core/breakpoint/index.html +0 -6454
- package/docs-dev/sass/core/button/index.html +0 -6538
- package/docs-dev/sass/core/color/index.html +0 -6520
- package/docs-dev/sass/core/cssvar/index.html +0 -6411
- package/docs-dev/sass/core/element/index.html +0 -6816
- package/docs-dev/sass/core/index.html +0 -5609
- package/docs-dev/sass/core/layout/index.html +0 -6388
- package/docs-dev/sass/core/path/index.html +0 -5778
- package/docs-dev/sass/core/selector/index.html +0 -5857
- package/docs-dev/sass/core/typography/index.html +0 -6783
- package/docs-dev/sass/core/units/index.html +0 -5822
- package/docs-dev/sass/core/utils/index.html +0 -8406
- package/docs-dev/sass/helpers/color/index.html +0 -5644
- package/docs-dev/sass/helpers/display/index.html +0 -5649
- package/docs-dev/sass/helpers/index/index.html +0 -5811
- package/docs-dev/sass/helpers/index.html +0 -5622
- package/docs-dev/sass/helpers/print/index.html +0 -5199
- package/docs-dev/sass/helpers/typography/index.html +0 -5672
- package/docs-dev/sass/helpers/units/index.html +0 -5818
- package/docs-dev/sass/helpers/utilities/index.html +0 -5649
- package/docs-dev/sass/index.html +0 -5673
- package/index.js +0 -7
- package/js/events/index.js +0 -108
- package/js/index.js +0 -11
- package/js/ui/index.js +0 -22
- package/js/utils/index.js +0 -8
- package/resources/drupal/twig-macros/accordion.twig +0 -99
- package/resources/drupal/twig-macros/dropdown.twig +0 -44
- package/resources/drupal/twig-macros/flipcard.twig +0 -69
- package/resources/drupal/twig-macros/image.twig +0 -30
- package/resources/drupal/twig-macros/layout.twig +0 -338
- package/resources/drupal/twig-macros/slider.twig +0 -214
- package/resources/drupal/twig-macros/tabs.twig +0 -84
- package/scss/components/_accordion.scss +0 -231
- package/types/events/index.d.ts +0 -26
- package/types/events/index.d.ts.map +0 -1
- package/types/index.d.ts +0 -5
- package/types/settings.d.ts.map +0 -1
- package/types/ui/breakpoints.d.ts.map +0 -1
- package/types/ui/collapsible.d.ts.map +0 -1
- package/types/ui/details-group.d.ts.map +0 -1
- package/types/ui/dialog.d.ts.map +0 -1
- package/types/ui/flipcard.d.ts.map +0 -1
- package/types/ui/grid.d.ts.map +0 -1
- package/types/ui/index.d.ts +0 -24
- package/types/ui/modal-builder.d.ts.map +0 -1
- package/types/ui/overflow-scroller-pager.d.ts.map +0 -1
- package/types/ui/overflow-scroller.d.ts.map +0 -1
- package/types/ui/page.d.ts.map +0 -1
- package/types/ui/popover.d.ts.map +0 -1
- package/types/ui/print-details.d.ts.map +0 -1
- package/types/ui/print.d.ts.map +0 -1
- package/types/ui/programmatic-modal.d.ts.map +0 -1
- package/types/ui/proxy-click.d.ts.map +0 -1
- package/types/ui/resizer.d.ts.map +0 -1
- package/types/ui/scroll-slider.d.ts.map +0 -1
- package/types/ui/scrollpoint.d.ts.map +0 -1
- package/types/ui/slider.d.ts.map +0 -1
- package/types/ui/tabs.d.ts.map +0 -1
- package/types/ui/theme-toggle.d.ts.map +0 -1
- package/types/ui/tooltip.d.ts.map +0 -1
- package/types/utils/class-logger.d.ts.map +0 -1
- package/types/utils/css.d.ts.map +0 -1
- package/types/utils/dom.d.ts.map +0 -1
- package/types/utils/file-save.d.ts.map +0 -1
- package/types/utils/floating-ui.d.ts.map +0 -1
- package/types/utils/font-awesome.d.ts.map +0 -1
- package/types/utils/id.d.ts.map +0 -1
- package/types/utils/index.d.ts +0 -10
- package/types/utils/pause-youtube-video.d.ts.map +0 -1
- package/types/utils/system.d.ts.map +0 -1
- /package/{types → dist/types/js/core}/settings.d.ts +0 -0
- /package/{types → dist/types/js}/ui/collapsible.d.ts +0 -0
- /package/{types → dist/types/js}/ui/overflow-scroller-pager.d.ts +0 -0
- /package/{types → dist/types/js}/ui/overflow-scroller.d.ts +0 -0
- /package/{types → dist/types/js}/ui/page.d.ts +0 -0
- /package/{types → dist/types/js}/ui/print-details.d.ts +0 -0
- /package/{types → dist/types/js}/ui/print.d.ts +0 -0
- /package/{types → dist/types/js}/utils/class-logger.d.ts +0 -0
- /package/{types → dist/types/js}/utils/css.d.ts +0 -0
- /package/{types → dist/types/js}/utils/dom.d.ts +0 -0
- /package/{types → dist/types/js}/utils/floating-ui.d.ts +0 -0
- /package/{types → dist/types/js}/utils/font-awesome.d.ts +0 -0
- /package/{types → dist/types/js}/utils/id.d.ts +0 -0
- /package/{types → dist/types/js}/utils/pause-youtube-video.d.ts +0 -0
- /package/{js → lib/js}/ui/dialog.todo +0 -0
- /package/{js → lib/js}/ui/overflow-scroller-pager.js +0 -0
- /package/{js → lib/js}/ui/page.js +0 -0
- /package/{js → lib/js}/utils/class-logger.js +0 -0
- /package/{js → lib/js}/utils/dom.js +0 -0
- /package/{js → lib/js}/utils/file-save.js +0 -0
- /package/{js → lib/js}/utils/floating-ui.js +0 -0
- /package/{js → lib/js}/utils/id.js +0 -0
- /package/{js → lib/js}/utils/pause-youtube-video.js +0 -0
- /package/{scss → lib/scss}/README.md +0 -0
- /package/{scss → lib/scss}/_cssvar.scss +0 -0
- /package/{scss → lib/scss}/_index.scss +0 -0
- /package/{scss → lib/scss}/_layout.scss +0 -0
- /package/{scss → lib/scss}/_path.scss +0 -0
- /package/{scss → lib/scss}/_selector.scss +0 -0
- /package/{scss → lib/scss}/_units.scss +0 -0
- /package/{scss → lib/scss}/_utils.scss +0 -0
- /package/{scss → lib/scss}/base/_color.scss +0 -0
- /package/{scss → lib/scss}/base/_elements.scss +0 -0
- /package/{scss → lib/scss}/base/_index.scss +0 -0
- /package/{scss → lib/scss}/base/_keyframes.scss +0 -0
- /package/{scss → lib/scss}/base/_layout.scss +0 -0
- /package/{scss → lib/scss}/base/_normalize.scss +0 -0
- /package/{scss → lib/scss}/base/_print.scss +0 -0
- /package/{scss → lib/scss}/base/_root.scss +0 -0
- /package/{scss → lib/scss}/base/_typography.scss +0 -0
- /package/{scss → lib/scss}/components/README.md +0 -0
- /package/{scss → lib/scss}/components/README.todos +0 -0
- /package/{scss → lib/scss}/components/_adaptive-spacing.scss +0 -0
- /package/{scss → lib/scss}/components/_badge-stack.scss +0 -0
- /package/{scss → lib/scss}/components/_badge.scss +0 -0
- /package/{scss → lib/scss}/components/_button-group.scss +0 -0
- /package/{scss → lib/scss}/components/_button-verbose.scss +0 -0
- /package/{scss → lib/scss}/components/_callout.scss +0 -0
- /package/{scss → lib/scss}/components/_captioned-figure.scss +0 -0
- /package/{scss → lib/scss}/components/_counter-list.scss +0 -0
- /package/{scss → lib/scss}/components/_css-icon.scss +0 -0
- /package/{scss → lib/scss}/components/_data-grid.scss +0 -0
- /package/{scss → lib/scss}/components/_data-table.scss +0 -0
- /package/{scss → lib/scss}/components/_fill-context.scss +0 -0
- /package/{scss → lib/scss}/components/_flipcard-grid.scss +0 -0
- /package/{scss → lib/scss}/components/_flipcard.scss +0 -0
- /package/{scss → lib/scss}/components/_form-theme.scss +0 -0
- /package/{scss → lib/scss}/components/_headline-label.scss +0 -0
- /package/{scss → lib/scss}/components/_hero.scss +0 -0
- /package/{scss → lib/scss}/components/_horizontal-rule.scss +0 -0
- /package/{scss → lib/scss}/components/_image-grid.scss +0 -0
- /package/{scss → lib/scss}/components/_links.scss +0 -0
- /package/{scss → lib/scss}/components/_list-inline.scss +0 -0
- /package/{scss → lib/scss}/components/_list-lines.scss +0 -0
- /package/{scss → lib/scss}/components/_list-ordered.scss +0 -0
- /package/{scss → lib/scss}/components/_list-unordered.scss +0 -0
- /package/{scss → lib/scss}/components/_nav-strip.scss +0 -0
- /package/{scss → lib/scss}/components/_overlay-section.scss +0 -0
- /package/{scss → lib/scss}/components/_pager.scss +0 -0
- /package/{scss → lib/scss}/components/_panel.scss +0 -0
- /package/{scss → lib/scss}/components/_placeholder-block.scss +0 -0
- /package/{scss → lib/scss}/components/_popover.scss +0 -0
- /package/{scss → lib/scss}/components/_pull-quote.scss +0 -0
- /package/{scss → lib/scss}/components/_rail.scss +0 -0
- /package/{scss → lib/scss}/components/_ratio-box.scss +0 -0
- /package/{scss → lib/scss}/components/_rule.scss +0 -0
- /package/{scss → lib/scss}/components/_scroll-slider.scss +0 -0
- /package/{scss → lib/scss}/components/_skip-link.scss +0 -0
- /package/{scss → lib/scss}/components/_slider.scss +0 -0
- /package/{scss → lib/scss}/components/_spoke-spinner.scss +0 -0
- /package/{scss → lib/scss}/components/_sticky-list.scss +0 -0
- /package/{scss → lib/scss}/components/_tabs.scss +0 -0
- /package/{scss → lib/scss}/components/_tile-button.scss +0 -0
- /package/{scss → lib/scss}/components/_tile-grid-overlay.scss +0 -0
- /package/{scss → lib/scss}/components/_tile-grid.scss +0 -0
- /package/{scss → lib/scss}/components/_vignette.scss +0 -0
- /package/{scss → lib/scss}/components/_wysiwyg.scss +0 -0
- /package/{scss → lib/scss}/helpers/_color.scss +0 -0
- /package/{scss → lib/scss}/helpers/_display.scss +0 -0
- /package/{scss → lib/scss}/helpers/_index.scss +0 -0
- /package/{scss → lib/scss}/helpers/_print.scss +0 -0
- /package/{scss → lib/scss}/helpers/_typography.scss +0 -0
- /package/{scss → lib/scss}/helpers/_units.scss +0 -0
- /package/{scss → lib/scss}/stylesheets/README.md +0 -0
- /package/{scss → lib/scss}/stylesheets/base-styles.scss +0 -0
- /package/{scss → lib/scss}/stylesheets/component-styles.scss +0 -0
- /package/{scss → lib/scss}/stylesheets/full.scss +0 -0
- /package/{scss → lib/scss}/stylesheets/helper-styles.scss +0 -0
|
@@ -1,28 +0,0 @@
|
|
|
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));
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module programmatic-modal
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
// Version: 1.0.3
|
|
6
|
-
// Changes:
|
|
7
|
-
// 1.0.2 | Updates to work with the updated modal script which has
|
|
8
|
-
// to attach it's own trigger handlers
|
|
9
|
-
// Description: Drupal programmatic modal insertion script (interface = jquery prototype)
|
|
10
|
-
// Changes: 1.0.2 - Added ability to pass class to container
|
|
11
|
-
|
|
12
|
-
import { setupModal, show, attachTriggers, triggerAttr } from "./micromodal-modals.js";
|
|
13
|
-
import { dispatch } from "../../js/events.js";
|
|
14
|
-
|
|
15
|
-
const $ = window.jQuery;
|
|
16
|
-
const containerId = 'programmatic-modal';
|
|
17
|
-
const selectorTrigger = '[data-programmatic-modal-trigger]';
|
|
18
|
-
const defaults = {
|
|
19
|
-
removeOnClose: true,
|
|
20
|
-
settings: {},
|
|
21
|
-
classes: []
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
let count = 0;
|
|
25
|
-
let cachedTrigger;
|
|
26
|
-
|
|
27
|
-
// Drupal calls the jquery 'programaticModal' from InvokeCommand())
|
|
28
|
-
$.fn.programaticModal = newModal;
|
|
29
|
-
|
|
30
|
-
// keep track of trigger clicks to return user on close (Drupal doesn't send trigger clicked, that I know of)
|
|
31
|
-
document.addEventListener('click', cacheTrigger, true);
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Sets up a new ajax triggered modal and opens it
|
|
35
|
-
* @param {String} args Arguments provided from Drupal (JSON format)
|
|
36
|
-
*/
|
|
37
|
-
function newModal(args) {
|
|
38
|
-
args = args ? JSON.parse(args) : {};
|
|
39
|
-
const config = Object.assign({}, defaults, args);
|
|
40
|
-
const modal = document.querySelector(`#${ containerId }`);
|
|
41
|
-
const id = setModalId(modal, config.id);
|
|
42
|
-
const classes = ["programmatic-modal-content", ...config.classes ];
|
|
43
|
-
modal.classList.add(...classes);
|
|
44
|
-
// Add a new placeholder container
|
|
45
|
-
newContainer();
|
|
46
|
-
// Intialize and open the new modal
|
|
47
|
-
setupModal(modal, config.settings);
|
|
48
|
-
show(id, {
|
|
49
|
-
onShow(modal) {
|
|
50
|
-
dispatch('pageModified', modal);
|
|
51
|
-
},
|
|
52
|
-
onClose(element) {
|
|
53
|
-
if (config.removeOnClose) {
|
|
54
|
-
element.parentNode.removeChild(element);
|
|
55
|
-
}
|
|
56
|
-
// For accessiblity/usablity (return to last clicked trigger)
|
|
57
|
-
if (cachedTrigger) {
|
|
58
|
-
cachedTrigger.focus();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
// Attach handler so that it can reopen that modal
|
|
63
|
-
if (!config.removeOnClose && cachedTrigger) {
|
|
64
|
-
cachedTrigger.setAttribute(triggerAttr, id);
|
|
65
|
-
attachTriggers();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Sets and returns the modal's id
|
|
70
|
-
*/
|
|
71
|
-
function setModalId(element, id) {
|
|
72
|
-
element.id = id || `programmatic-modal--id-${ ++count }`;
|
|
73
|
-
return element.id;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Once we remove the placeholder containers id (above)
|
|
77
|
-
* we create another programmatic placeholder container
|
|
78
|
-
* for the next programmitic container
|
|
79
|
-
*/
|
|
80
|
-
function newContainer() {
|
|
81
|
-
const container = document.createElement('div');
|
|
82
|
-
container.id = 'programmatic-modal';
|
|
83
|
-
document.body.append(container);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Document click handler, will cache the trigger that caused the modal to open
|
|
87
|
-
*/
|
|
88
|
-
function cacheTrigger(event) {
|
|
89
|
-
const trigger = event.target.closest(selectorTrigger);
|
|
90
|
-
if (trigger) cachedTrigger = trigger;
|
|
91
|
-
}
|
|
@@ -1,309 +0,0 @@
|
|
|
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
|
-
};
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module ui/modals
|
|
3
|
-
*/
|
|
4
|
-
// Version: 1.0.5
|
|
5
|
-
//
|
|
6
|
-
// Changes:
|
|
7
|
-
// 1.0.5 | Added title icon and remove calling of init
|
|
8
|
-
// Moved setup modals stuff to inside init (contextual) [may affect programmatic modals]
|
|
9
|
-
// 1.0.4 | The modal library has a bug with multiple modals and using a custom close handler
|
|
10
|
-
// In the future we want to abandon this library but for now it works by setting up our own open and close buttons
|
|
11
|
-
// This is not setup to work with programmatic modals!!
|
|
12
|
-
// 1.0.3 | Added youtube video closing stuff
|
|
13
|
-
// 1.0.3 | Added youtube video closing stuff
|
|
14
|
-
// 1.0.2 | Added custom close handler and checked to make sure resizer doesn't trigger click
|
|
15
|
-
// 1.0.1 | Added optional resizable (allowResize)
|
|
16
|
-
// Todo: - Make the container the content is getting the original classes, or don't remove them. And allow user to pass classes via config
|
|
17
|
-
|
|
18
|
-
// Javascript builds structure, modal's live in content in simple container.
|
|
19
|
-
// Modal theme and structure is added in scripting That way if we change the
|
|
20
|
-
// interface in the future we don't need to change/update markup.
|
|
21
|
-
import MicroModal from "micromodal";
|
|
22
|
-
import { Resizer } from "../resizer.js";
|
|
23
|
-
import { pauseVideos, prepVideos } from "../utils/pause-youtube-video.js";
|
|
24
|
-
import { createElementFromHtml } from "@ulu/utils/browser/dom.js";
|
|
25
|
-
const classes = {
|
|
26
|
-
open: "site-modal--open",
|
|
27
|
-
container: "site-modal__container",
|
|
28
|
-
body: "site-modal__body",
|
|
29
|
-
resizer: "site-modal__resizer"
|
|
30
|
-
};
|
|
31
|
-
const triggerAttr = "data-site-modal-trigger";
|
|
32
|
-
export { triggerAttr };
|
|
33
|
-
const triggerSelector = `[${ triggerAttr }]`;
|
|
34
|
-
const defaults = {
|
|
35
|
-
allowResize: true,
|
|
36
|
-
position: "center",
|
|
37
|
-
containerClass: "",
|
|
38
|
-
closeSelector: "[data-site-modal-close]",
|
|
39
|
-
titleIcon: false
|
|
40
|
-
};
|
|
41
|
-
const configMicroModal = {
|
|
42
|
-
openClass: classes.open,
|
|
43
|
-
disableScroll: true,
|
|
44
|
-
openTrigger: "data-site-modal-trigger",
|
|
45
|
-
closeTrigger: "data-NOT-USED", // Proxied to avoid this click handler (on keydown, allow click on things underneath)
|
|
46
|
-
onClose: function(modal) {
|
|
47
|
-
pauseVideos(modal);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
const wrappers = [];
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
// Create a grouping container to grab all modals from content of the
|
|
54
|
-
// page and move to the bottom of the page
|
|
55
|
-
// const container = createContainer();
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
// Initialize modal library script
|
|
60
|
-
|
|
61
|
-
export function init(context = document) {
|
|
62
|
-
const flag = "data-site-modal-trigger-attached";
|
|
63
|
-
context.querySelectorAll(triggerSelector).forEach(trigger => {
|
|
64
|
-
if (!trigger.hasAttribute(flag)) {
|
|
65
|
-
const mid = trigger.getAttribute(triggerAttr);
|
|
66
|
-
if (!mid) {
|
|
67
|
-
console.warn("Unable to get modal trigger id");
|
|
68
|
-
} else {
|
|
69
|
-
trigger.setAttribute(flag, "");
|
|
70
|
-
trigger.addEventListener("click", () => {
|
|
71
|
-
show(mid);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
// The [data-site-modal] is used to separate the libraries' interface
|
|
77
|
-
// and the modal's styling classes, so it can be adjusted or extended
|
|
78
|
-
// in the future
|
|
79
|
-
context.querySelectorAll("[data-site-modal]").forEach((element) => setupModal(element));
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Function to setup each modal
|
|
84
|
-
* - Creates structure
|
|
85
|
-
* - Gets settings from elements data attribute
|
|
86
|
-
* - Moves it to the end of the document
|
|
87
|
-
* - Adds resizer if position (left || right)
|
|
88
|
-
* @param {Node} modal Modal element ie. `[data-site-modal]`
|
|
89
|
-
* @param {Object} settings Custom settings object to merge, same interface as `[data-site-modal]` settings
|
|
90
|
-
*/
|
|
91
|
-
export function setupModal(modal, settings) {
|
|
92
|
-
// Grab things from original element before modifying
|
|
93
|
-
const id = modal.id;
|
|
94
|
-
const originalClasses = modal.getAttribute("class") || "";
|
|
95
|
-
// Grab settings from element and optionally from settings passed
|
|
96
|
-
let data = {};
|
|
97
|
-
if (modal.dataset.siteModal) {
|
|
98
|
-
data = JSON.parse(modal.dataset.siteModal);
|
|
99
|
-
}
|
|
100
|
-
data = Object.assign({}, defaults, data, settings);
|
|
101
|
-
const { allowResize, position } = data;
|
|
102
|
-
const notCenter = position !== "center";
|
|
103
|
-
const hasResizer = notCenter && allowResize;
|
|
104
|
-
const resizerMarkup = hasResizer ? `<div class="${ classes.resizer }"></div>` : "";
|
|
105
|
-
const resizerModifierClass = allowResize ? "resize" : "no-resize";
|
|
106
|
-
const closeAttr = "data-site-modal-close";
|
|
107
|
-
// Remove attributes
|
|
108
|
-
modal.removeAttribute("data-site-modal");
|
|
109
|
-
modal.removeAttribute("id");
|
|
110
|
-
modal.removeAttribute("class");
|
|
111
|
-
// Template for new modal container (modal's body, the original element is
|
|
112
|
-
// appended after as not to lose any listener's/etc
|
|
113
|
-
const markup = `
|
|
114
|
-
<div
|
|
115
|
-
class="
|
|
116
|
-
site-modal
|
|
117
|
-
site-modal--${ position }
|
|
118
|
-
site-modal--${ resizerModifierClass }
|
|
119
|
-
${ data.containerClass }
|
|
120
|
-
"
|
|
121
|
-
id="${ id }" aria-hidden="true"
|
|
122
|
-
>
|
|
123
|
-
<div class="site-modal__overlay" tabindex="-1" ${ closeAttr }>
|
|
124
|
-
<div class="site-modal__container" role="dialog" aria-modal="true" aria-labelledby="${ id }-title">
|
|
125
|
-
<div class="site-modal__header">
|
|
126
|
-
<h2 class="site-modal__title" id="${ id }-title" tabindex="0">
|
|
127
|
-
${ data.titleIcon ? `<span class="site-modal__title-icon ${ data.titleIcon }" aria-hidden="true"></span>` : "" }
|
|
128
|
-
<span class="site-modal__title-text">${ data.title }</span>
|
|
129
|
-
</h2>
|
|
130
|
-
<button class="site-modal__close" aria-label="Close modal" ${ closeAttr }>
|
|
131
|
-
<span class="site-modal__close-icon" aria-hidden="true" ${ closeAttr }></span>
|
|
132
|
-
</button>
|
|
133
|
-
</div>
|
|
134
|
-
<div class="${ classes.body } ${ originalClasses }"></div>
|
|
135
|
-
${ resizerMarkup }
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
</div>`;
|
|
139
|
-
|
|
140
|
-
// Create wrapped modal (with repeatable structure), and insert
|
|
141
|
-
// the original modal content into it
|
|
142
|
-
const select = (container, classKey) => container.querySelector("." + classes[classKey]);
|
|
143
|
-
const wrapper = createElementFromHtml(markup.trim());
|
|
144
|
-
const elements = {
|
|
145
|
-
body: select(wrapper, "body"),
|
|
146
|
-
resizer: select(wrapper, "resizer"),
|
|
147
|
-
container: select(wrapper, "container")
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
// Move the orginal content into the modal's body
|
|
151
|
-
elements.body.appendChild(modal);
|
|
152
|
-
// Add resizer if not a center positioned modal
|
|
153
|
-
if (hasResizer) {
|
|
154
|
-
new Resizer(elements.container, elements.resizer, {
|
|
155
|
-
fromLeft: position === "right"
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// Prep Youtube Videos to be able to close
|
|
160
|
-
prepVideos(wrapper);
|
|
161
|
-
|
|
162
|
-
// Add modal to the end of docuemnt
|
|
163
|
-
wrappers.push(wrapper);
|
|
164
|
-
document.body.appendChild(wrapper);
|
|
165
|
-
// Add our own close handlers to avoide the native
|
|
166
|
-
const closeButtons = wrapper.querySelectorAll(data.closeSelector);
|
|
167
|
-
closeButtons.forEach(b => b.addEventListener("click", ({ target }) => {
|
|
168
|
-
const outsideContainer = !elements.container.contains(target) && target !== elements.container;
|
|
169
|
-
// Last condition is the overlay/backdrop (click outside)
|
|
170
|
-
if (target.matches(`[${ closeAttr }]`) || outsideContainer) {
|
|
171
|
-
close(id);
|
|
172
|
-
}
|
|
173
|
-
}));
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Intialize all modals on the page
|
|
177
|
-
* - can be used after AJAX adds content
|
|
178
|
-
*/
|
|
179
|
-
// export function init() {
|
|
180
|
-
// MicroModal.init(configMicroModal);
|
|
181
|
-
// }
|
|
182
|
-
/**
|
|
183
|
-
* Open a modal
|
|
184
|
-
* @param {String} id The id of the modal to open
|
|
185
|
-
*/
|
|
186
|
-
export function show(id, config) {
|
|
187
|
-
const merged = Object.assign({}, configMicroModal, config);
|
|
188
|
-
MicroModal.show(id, merged);
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Close a modal
|
|
192
|
-
* @param {String} id The id of the modal to open
|
|
193
|
-
*/
|
|
194
|
-
export function close(id) {
|
|
195
|
-
MicroModal.close(id);
|
|
196
|
-
}
|