@ulu/frontend 0.1.0-beta.99 → 0.2.0-beta.10
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/README.md +12 -0
- package/{types/utils/system.d.ts → dist/es/core/component.d.ts} +7 -16
- package/dist/es/core/component.d.ts.map +1 -0
- package/dist/es/core/component.js +134 -0
- package/dist/es/core/events.d.ts +27 -0
- package/dist/es/core/events.d.ts.map +1 -0
- package/dist/es/core/events.js +45 -0
- package/dist/es/core/index.d.ts +4 -0
- package/{types/utils → dist/es/core}/index.d.ts.map +1 -1
- package/{types → dist/es/core}/settings.d.ts +1 -1
- package/dist/es/core/settings.d.ts.map +1 -0
- package/dist/es/core/settings.js +44 -0
- package/dist/es/index.d.ts +4 -0
- package/{types → dist/es}/index.d.ts.map +1 -1
- package/dist/es/index.js +125 -0
- package/{types → dist/es}/ui/breakpoints.d.ts +9 -9
- package/dist/es/ui/breakpoints.d.ts.map +1 -0
- package/dist/es/ui/breakpoints.js +194 -0
- package/{types → dist/es}/ui/collapsible.d.ts +28 -7
- package/dist/es/ui/collapsible.d.ts.map +1 -0
- package/dist/es/ui/collapsible.js +140 -0
- package/{types → dist/es}/ui/details-group.d.ts +1 -1
- package/dist/es/ui/details-group.d.ts.map +1 -0
- package/dist/es/ui/details-group.js +49 -0
- package/{types → dist/es}/ui/dialog.d.ts +3 -3
- package/dist/es/ui/dialog.d.ts.map +1 -0
- package/dist/es/ui/dialog.js +112 -0
- package/{types → dist/es}/ui/flipcard.d.ts +1 -1
- package/dist/es/ui/flipcard.d.ts.map +1 -0
- package/dist/es/ui/flipcard.js +97 -0
- package/{types → dist/es}/ui/grid.d.ts +2 -2
- package/dist/es/ui/grid.d.ts.map +1 -0
- package/dist/es/ui/grid.js +18 -0
- package/dist/es/ui/index.d.ts +23 -0
- package/{types → dist/es}/ui/index.d.ts.map +1 -1
- package/{types → dist/es}/ui/modal-builder.d.ts +22 -17
- package/dist/es/ui/modal-builder.d.ts.map +1 -0
- package/dist/es/ui/modal-builder.js +136 -0
- package/dist/es/ui/overflow-scroller-pager.d.ts.map +1 -0
- package/dist/es/ui/overflow-scroller-pager.js +28 -0
- package/{types → dist/es}/ui/overflow-scroller.d.ts +3 -3
- package/dist/es/ui/overflow-scroller.d.ts.map +1 -0
- package/dist/es/ui/overflow-scroller.js +90 -0
- package/dist/es/ui/page.d.ts.map +1 -0
- package/dist/es/ui/page.js +7 -0
- package/{types → dist/es}/ui/popover.d.ts +4 -4
- package/dist/es/ui/popover.d.ts.map +1 -0
- package/dist/es/ui/popover.js +77 -0
- package/dist/es/ui/print-details.d.ts.map +1 -0
- package/dist/es/ui/print-details.js +22 -0
- package/dist/es/ui/print.d.ts.map +1 -0
- package/dist/es/ui/print.js +34 -0
- package/{types → dist/es}/ui/programmatic-modal.d.ts +2 -2
- package/dist/es/ui/programmatic-modal.d.ts.map +1 -0
- package/dist/es/ui/programmatic-modal.js +55 -0
- package/{types → dist/es}/ui/proxy-click.d.ts +4 -4
- package/dist/es/ui/proxy-click.d.ts.map +1 -0
- package/dist/es/ui/proxy-click.js +44 -0
- package/{types → dist/es}/ui/resizer.d.ts +17 -17
- package/dist/es/ui/resizer.d.ts.map +1 -0
- package/dist/es/ui/resizer.js +242 -0
- package/{types → dist/es}/ui/scroll-slider.d.ts +1 -1
- package/dist/es/ui/scroll-slider.d.ts.map +1 -0
- package/dist/es/ui/scroll-slider.js +29 -0
- package/{types → dist/es}/ui/scrollpoint.d.ts +80 -12
- package/dist/es/ui/scrollpoint.d.ts.map +1 -0
- package/dist/es/ui/scrollpoint.js +178 -0
- package/{types → dist/es}/ui/slider.d.ts +16 -13
- package/dist/es/ui/slider.d.ts.map +1 -0
- package/dist/es/ui/slider.js +290 -0
- package/{types → dist/es}/ui/tabs.d.ts +2 -2
- package/dist/es/ui/tabs.d.ts.map +1 -0
- package/dist/es/ui/tabs.js +64 -0
- package/{types → dist/es}/ui/theme-toggle.d.ts +4 -4
- package/dist/es/ui/theme-toggle.d.ts.map +1 -0
- package/dist/es/ui/theme-toggle.js +190 -0
- package/{types → dist/es}/ui/tooltip.d.ts +5 -5
- package/dist/es/ui/tooltip.d.ts.map +1 -0
- package/dist/es/ui/tooltip.js +184 -0
- package/{types → dist/es}/utils/class-logger.d.ts +4 -4
- package/dist/es/utils/class-logger.d.ts.map +1 -0
- package/dist/es/utils/class-logger.js +37 -0
- package/dist/es/utils/css.d.ts.map +1 -0
- package/dist/es/utils/css.js +6 -0
- package/{types → dist/es}/utils/dom.d.ts +1 -1
- package/dist/es/utils/dom.d.ts.map +1 -0
- package/dist/es/utils/dom.js +29 -0
- package/{types → dist/es}/utils/file-save.d.ts +4 -1
- package/dist/es/utils/file-save.d.ts.map +1 -0
- package/dist/es/utils/file-save.js +46 -0
- package/{types → dist/es}/utils/floating-ui.d.ts +1 -1
- package/dist/es/utils/floating-ui.d.ts.map +1 -0
- package/dist/es/utils/floating-ui.js +46 -0
- package/dist/es/utils/font-awesome.d.ts.map +1 -0
- package/dist/es/utils/font-awesome.js +13 -0
- package/dist/es/utils/id.d.ts.map +1 -0
- package/dist/es/utils/id.js +11 -0
- package/dist/es/utils/index.d.ts +8 -0
- package/dist/es/utils/index.d.ts.map +1 -0
- package/dist/es/utils/pause-youtube-video.d.ts.map +1 -0
- package/dist/es/utils/pause-youtube-video.js +27 -0
- package/dist/umd/style.css +1 -0
- package/dist/umd/ulu-frontend.umd.js +70 -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 +40 -35
- 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 +165 -0
- package/{js → lib/js}/ui/modal-builder.js +11 -9
- 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 +25 -16
- 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 +13 -2
- package/{scss → lib/scss}/_typography.scss +15 -0
- package/lib/scss/components/_accordion.scss +268 -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 +23 -4
- package/{scss → lib/scss}/components/_card-grid.scss +8 -2
- package/lib/scss/components/_card.scss +655 -0
- package/lib/scss/components/_definition-list.scss +178 -0
- package/{scss → lib/scss}/components/_form-theme.scss +3 -3
- package/{scss → lib/scss}/components/_index.scss +25 -0
- package/{scss → lib/scss}/components/_menu-stack.scss +170 -16
- package/{scss → lib/scss}/components/_modal.scss +23 -13
- 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 +22 -3
- package/package.json +65 -43
- 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/scss/components/_card.scss +0 -596
- 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/es}/ui/overflow-scroller-pager.d.ts +0 -0
- /package/{types → dist/es}/ui/page.d.ts +0 -0
- /package/{types → dist/es}/ui/print-details.d.ts +0 -0
- /package/{types → dist/es}/ui/print.d.ts +0 -0
- /package/{types → dist/es}/utils/css.d.ts +0 -0
- /package/{types → dist/es}/utils/font-awesome.d.ts +0 -0
- /package/{types → dist/es}/utils/id.d.ts +0 -0
- /package/{types → dist/es}/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/_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,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @module
|
|
2
|
+
* @module core/component
|
|
3
3
|
* @description Core classes and mechanisms that define how UI components are created and managed within the library
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { hasRequiredProps } from "@ulu/utils/object.js";
|
|
7
7
|
import { getDatasetOptionalJson } from "@ulu/utils/browser/dom.js";
|
|
8
|
-
import { dataAttributeToDatasetKey } from "
|
|
9
|
-
import {
|
|
8
|
+
import { dataAttributeToDatasetKey } from "../utils/dom.js";
|
|
9
|
+
import { getCoreEventName } from "./events.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Class serves as a utility for UI modules, handling the selection of elements and the initialization of corresponding component instances, ensuring consistent setup within the module
|
|
@@ -45,18 +45,20 @@ export class ComponentInitializer {
|
|
|
45
45
|
* @param {Function} config.setup The setup function to call for each element.
|
|
46
46
|
* @param {String} config.key [null] The optional key to use with attribute selector.
|
|
47
47
|
* @param {Boolean} config.withData [null] Whether to retrieve element data.
|
|
48
|
-
* @param {Array} config.
|
|
49
|
-
* @param {Boolean} config.onPageResized [null] Whether to bind event listener for page resize end
|
|
48
|
+
* @param {Array} config.coreEvents [null] An array of core event names (e.g., 'pageModified') that should trigger a re-initialization.
|
|
50
49
|
* @param {HTMLElement} config.context [document] The context to query within.
|
|
51
50
|
*/
|
|
52
51
|
init(config) {
|
|
53
52
|
this.setupElements(config);
|
|
54
53
|
// Attach Handler to reinitialize if page is updated
|
|
55
|
-
// Specifically checking entire document
|
|
54
|
+
// Specifically checking entire document in case element that dispatched
|
|
56
55
|
// event made alterations outside of itself
|
|
57
|
-
if (config.
|
|
58
|
-
config.
|
|
59
|
-
|
|
56
|
+
if (config.coreEvents?.length) {
|
|
57
|
+
config.coreEvents.forEach(name => {
|
|
58
|
+
const eventName = getCoreEventName(name);
|
|
59
|
+
if (eventName) {
|
|
60
|
+
document.addEventListener(eventName, () => this.setupElements(config));
|
|
61
|
+
}
|
|
60
62
|
});
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -66,7 +68,6 @@ export class ComponentInitializer {
|
|
|
66
68
|
* @param {function} config.setup The setup function to call for each element.
|
|
67
69
|
* @param {string} config.key The optional key to use with attribute selector.
|
|
68
70
|
* @param {boolean} config.withData [false] Whether to retrieve element data.
|
|
69
|
-
* @param {boolean} config.onPageModified [true] Whether to bind event listener for page modifications.
|
|
70
71
|
* @param {HTMLElement} config.context [document] The context to query within.
|
|
71
72
|
*/
|
|
72
73
|
setupElements(config) {
|
|
@@ -150,6 +151,6 @@ export class ComponentInitializer {
|
|
|
150
151
|
/**
|
|
151
152
|
* Class serves as a base for representing individual occurrences of a UI component, providing a consistent structure for each
|
|
152
153
|
*/
|
|
153
|
-
export class ComponentInstance {
|
|
154
|
+
// export class ComponentInstance {
|
|
154
155
|
|
|
155
|
-
}
|
|
156
|
+
// }
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/events
|
|
3
|
+
* @description Internal implementation of global event handling.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { debounce } from "@ulu/utils/performance.js";
|
|
7
|
+
import { isBrowser } from "@ulu/utils/browser/dom.js";
|
|
8
|
+
|
|
9
|
+
// Setup global document events
|
|
10
|
+
if (isBrowser()) {
|
|
11
|
+
initResize();
|
|
12
|
+
initPrint();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Event object - called on dispatch
|
|
17
|
+
*/
|
|
18
|
+
const events = {
|
|
19
|
+
pageModified(context) {
|
|
20
|
+
context.dispatchEvent(createUluEvent("pageModified"));
|
|
21
|
+
},
|
|
22
|
+
pageResized(context) {
|
|
23
|
+
context.dispatchEvent(createUluEvent("pageResized"));
|
|
24
|
+
},
|
|
25
|
+
beforePrint(context) {
|
|
26
|
+
context.dispatchEvent(createUluEvent("beforePrint"));
|
|
27
|
+
},
|
|
28
|
+
afterPrint(context) {
|
|
29
|
+
context.dispatchEvent(createUluEvent("afterPrint"));
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const eventKeys = Object.keys(events);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Triggers one of the predefined core lifecycle events.
|
|
37
|
+
* @param {String} type Type of core event to dispatch.
|
|
38
|
+
* @param {Node} context Element to trigger the event from.
|
|
39
|
+
*/
|
|
40
|
+
export function dispatchCoreEvent(type, context) {
|
|
41
|
+
if (events[type]) {
|
|
42
|
+
events[type](context);
|
|
43
|
+
} else {
|
|
44
|
+
console.warn(`Unable to dispatch non-core event: ${type}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* A general-purpose utility to get a ULU-namespaced event name.
|
|
50
|
+
* @param {String} type The base name for the event.
|
|
51
|
+
* @returns {String} The `ulu:` prefixed event name.
|
|
52
|
+
*/
|
|
53
|
+
export function getUluEventName(type) {
|
|
54
|
+
return "ulu:" + type;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Safely gets the full namespaced name for a predefined core event.
|
|
59
|
+
* @param {String} type The base name of the core event (e.g., 'pageModified').
|
|
60
|
+
* @returns {String|null} The full event name if valid, otherwise null.
|
|
61
|
+
*/
|
|
62
|
+
export function getCoreEventName(type) {
|
|
63
|
+
if (eventKeys.includes(type)) {
|
|
64
|
+
return getUluEventName(type);
|
|
65
|
+
}
|
|
66
|
+
console.warn(`'${type}' is not a valid core event type.`);
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* A general-purpose utility to create a ULU-namespaced CustomEvent.
|
|
72
|
+
* @param {String} type Event base name.
|
|
73
|
+
* @param {any} data Custom data to pass with the event.
|
|
74
|
+
* @param {Object} options CustomEvent options.
|
|
75
|
+
* @returns {CustomEvent}
|
|
76
|
+
*/
|
|
77
|
+
export function createUluEvent(type, data = null, options = { bubbles: true }) {
|
|
78
|
+
return new CustomEvent(getUluEventName(type), { detail: data, ...options });
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Setup resize handler/dispatch
|
|
83
|
+
*/
|
|
84
|
+
function initResize() {
|
|
85
|
+
window.addEventListener("resize", debounce(() => dispatchCoreEvent("pageResized", document), 250));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Setup print listeners
|
|
90
|
+
*/
|
|
91
|
+
function initPrint() {
|
|
92
|
+
window.addEventListener("beforeprint", () => {
|
|
93
|
+
dispatchCoreEvent("beforePrint", document);
|
|
94
|
+
});
|
|
95
|
+
window.addEventListener("afterprint", () => {
|
|
96
|
+
dispatchCoreEvent("afterPrint", document);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core
|
|
3
|
+
* @description
|
|
4
|
+
* Public API for the core modules.
|
|
5
|
+
*
|
|
6
|
+
* This file re-exports the internal implementations from the `core` directory
|
|
7
|
+
* with new names where appropriate, defining the public-facing API for the
|
|
8
|
+
* library bundle.
|
|
9
|
+
*
|
|
10
|
+
* For internal library usage, import directly from the specific file within
|
|
11
|
+
* the `core` directory (e.g., `import { ... } from './settings.js'`).
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
dispatchCoreEvent,
|
|
16
|
+
getCoreEventName,
|
|
17
|
+
getUluEventName,
|
|
18
|
+
createUluEvent
|
|
19
|
+
} from './events.js';
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
getDefaultSettings,
|
|
23
|
+
updateSettings,
|
|
24
|
+
getSettings,
|
|
25
|
+
getSetting,
|
|
26
|
+
updateSetting,
|
|
27
|
+
wrapSettingString
|
|
28
|
+
} from './settings.js';
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
ComponentInitializer
|
|
32
|
+
} from './component.js';
|
|
33
|
+
|
|
34
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @module settings
|
|
3
|
-
* @description
|
|
2
|
+
* @module core/settings
|
|
3
|
+
* @description Internal implementation for managing shared configuration.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -94,4 +94,4 @@ export function wrapSettingString(key, transform) {
|
|
|
94
94
|
return transform ? transform(value) : value;
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
|
-
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Exports Map
|
|
2
|
+
|
|
3
|
+
## Example Import
|
|
4
|
+
|
|
5
|
+
All JavaScript modules are exported from the main `@ulu/frontend` package entry point.
|
|
6
|
+
|
|
7
|
+
**Example Usage:**
|
|
8
|
+
```javascript
|
|
9
|
+
import { dialogInit, Slider, updateSettings } from '@ulu/frontend';
|
|
10
|
+
|
|
11
|
+
// Update a library setting
|
|
12
|
+
updateSettings({ cssvarPrefix: "my-app" });
|
|
13
|
+
|
|
14
|
+
// Initialize all dialogs
|
|
15
|
+
dialogInit();
|
|
16
|
+
|
|
17
|
+
// Create a new slider
|
|
18
|
+
const slider = new Slider(...);
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Exports Map
|
|
22
|
+
|
|
23
|
+
### Core Modules
|
|
24
|
+
|
|
25
|
+
These exports originate from the `lib/js/core/` directory and provide the foundational, cross-cutting logic for the library.
|
|
26
|
+
|
|
27
|
+
- `ComponentInitializer`
|
|
28
|
+
- `createUluEvent`
|
|
29
|
+
- `dispatchCoreEvent`
|
|
30
|
+
- `getCoreEventName`
|
|
31
|
+
- `getDefaultSettings`
|
|
32
|
+
- `getSettings`
|
|
33
|
+
- `getSetting`
|
|
34
|
+
- `getUluEventName`
|
|
35
|
+
- `updateSetting`
|
|
36
|
+
- `updateSettings`
|
|
37
|
+
- `wrapSettingString`
|
|
38
|
+
|
|
39
|
+
### UI Modules
|
|
40
|
+
|
|
41
|
+
These exports originate from the `lib/js/ui/` directory.
|
|
42
|
+
|
|
43
|
+
- `BreakpointManager`
|
|
44
|
+
- `Collapsible`
|
|
45
|
+
- `detailsGroupInit`
|
|
46
|
+
- `detailsGroupInitializer`
|
|
47
|
+
- `detailsGroupSetupGroup`
|
|
48
|
+
- `dialogBaseAttribute`
|
|
49
|
+
- `dialogCloseAttribute`
|
|
50
|
+
- `dialogDefaults`
|
|
51
|
+
- `dialogGetDialogOptions`
|
|
52
|
+
- `dialogInit`
|
|
53
|
+
- `dialogInitializer`
|
|
54
|
+
- `dialogSetDefaults`
|
|
55
|
+
- `dialogSetupDialog`
|
|
56
|
+
- `dialogSetupTrigger`
|
|
57
|
+
- `Flipcard`
|
|
58
|
+
- `flipcardInit`
|
|
59
|
+
- `flipcardInitializer`
|
|
60
|
+
- `gridInit`
|
|
61
|
+
- `gridInitializer`
|
|
62
|
+
- `modalBuilderBuildModal`
|
|
63
|
+
- `modalBuilderDefaults`
|
|
64
|
+
- `modalBuilderInit`
|
|
65
|
+
- `modalBuilderInitializer`
|
|
66
|
+
- `modalBuilderSetDefaults`
|
|
67
|
+
- `OverflowScroller`
|
|
68
|
+
- `overflowScrollerCreatePager`
|
|
69
|
+
- `pageInit`
|
|
70
|
+
- `Popover`
|
|
71
|
+
- `popoverGetContentByTrigger`
|
|
72
|
+
- `popoverInit`
|
|
73
|
+
- `popoverInitializer`
|
|
74
|
+
- `popoverInstances`
|
|
75
|
+
- `popoverResolve`
|
|
76
|
+
- `printDetailsAttrs`
|
|
77
|
+
- `printDetailsInit`
|
|
78
|
+
- `printInit`
|
|
79
|
+
- `proxyClickAttachHandlers`
|
|
80
|
+
- `proxyClickDefaults`
|
|
81
|
+
- `proxyClickInit`
|
|
82
|
+
- `proxyClickInitializer`
|
|
83
|
+
- `proxyClickSetDefaults`
|
|
84
|
+
- `proxyClickSetupProxy`
|
|
85
|
+
- `Resizer`
|
|
86
|
+
- `scrollSliderInit`
|
|
87
|
+
- `scrollSliderInitializer`
|
|
88
|
+
- `Scrollpoint`
|
|
89
|
+
- `scrollpointInit`
|
|
90
|
+
- `scrollpointInitializer`
|
|
91
|
+
- `Slider`
|
|
92
|
+
- `sliderInit`
|
|
93
|
+
- `sliderInitializer`
|
|
94
|
+
- `sliderSetupSlider`
|
|
95
|
+
- `tabsInit`
|
|
96
|
+
- `tabsInitializer`
|
|
97
|
+
- `tabsInstances`
|
|
98
|
+
- `tabsSetup`
|
|
99
|
+
- `themeToggleDefaults`
|
|
100
|
+
- `themeToggleInit`
|
|
101
|
+
- `themeToggleInitializer`
|
|
102
|
+
- `themeToggleSetDefaults`
|
|
103
|
+
- `themeToggleSetupToggle`
|
|
104
|
+
- `Tooltip`
|
|
105
|
+
- `tooltipInit`
|
|
106
|
+
- `tooltipInitializer`
|
|
107
|
+
|
|
108
|
+
### Utility Modules
|
|
109
|
+
|
|
110
|
+
These exports originate from the `lib/js/utils/` directory.
|
|
111
|
+
|
|
112
|
+
- `classLoggerLog`
|
|
113
|
+
- `classLoggerLogError`
|
|
114
|
+
- `classLoggerLogWarning`
|
|
115
|
+
- `classLoggerSet`
|
|
116
|
+
- `fontAwesomeConfigureIcons`
|
|
117
|
+
- `createFloatingUi`
|
|
118
|
+
- `dataAttributeToDatasetKey`
|
|
119
|
+
- `ensureId`
|
|
120
|
+
- `FileSave`
|
|
121
|
+
- `floatingUiDefaults`
|
|
122
|
+
- `newId`
|
|
123
|
+
- `resolveClasses`
|
|
124
|
+
- `setPositionClasses`
|
|
125
|
+
- `youtubePauseVideos`
|
|
126
|
+
- `youtubePrepVideos`
|
package/lib/js/index.js
ADDED
|
@@ -4,18 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
// Pass breakpoints from CSS to stylesheet, use this to attach behaviors on breakpoints
|
|
6
6
|
import { removeArrayElement } from "@ulu/utils/array.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { isBrowser } from "@ulu/utils/browser/dom.js";
|
|
8
|
+
import { getCoreEventName } from "../core/events.js";
|
|
9
|
+
import { wrapSettingString } from "../core/settings.js";
|
|
9
10
|
import { getCustomProperty } from "../utils/css.js";
|
|
10
11
|
import { log, logError } from "../utils/class-logger.js";
|
|
11
12
|
|
|
12
13
|
const getDefaultCustomProperty = prefix => getCustomProperty(prefix, "breakpoint");
|
|
13
14
|
|
|
14
|
-
// Resize Handler to update breakpoints for all instances (Called after resize finished)
|
|
15
|
-
window.addEventListener(getName("pageResized"), () => {
|
|
16
|
-
BreakpointManager.instances.forEach(i => i.update());
|
|
17
|
-
});
|
|
18
|
-
|
|
19
15
|
/**
|
|
20
16
|
* @class
|
|
21
17
|
* Class that provides method for retrieving and acting on breakpoints passed
|
|
@@ -23,6 +19,17 @@ window.addEventListener(getName("pageResized"), () => {
|
|
|
23
19
|
*/
|
|
24
20
|
export class BreakpointManager {
|
|
25
21
|
static instances = [];
|
|
22
|
+
static globalsInitialized = false;
|
|
23
|
+
|
|
24
|
+
static _initializeGlobals() {
|
|
25
|
+
if (BreakpointManager.globalsInitialized || !isBrowser()) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
window.addEventListener(getCoreEventName("pageResized"), () => {
|
|
29
|
+
BreakpointManager.instances.forEach(i => i.update());
|
|
30
|
+
});
|
|
31
|
+
BreakpointManager.globalsInitialized = true;
|
|
32
|
+
}
|
|
26
33
|
static defaults = {
|
|
27
34
|
element: document?.documentElement,
|
|
28
35
|
valueFromPseudo: false,
|
|
@@ -41,6 +48,7 @@ export class BreakpointManager {
|
|
|
41
48
|
* @param {String} config.pseudoSelector Change pseudo selector used to get the breakpoint from the pseudo's content property
|
|
42
49
|
*/
|
|
43
50
|
constructor(config) {
|
|
51
|
+
BreakpointManager._initializeGlobals();
|
|
44
52
|
Object.assign(this, BreakpointManager.defaults, config);
|
|
45
53
|
this.active = null;
|
|
46
54
|
this.previous = null;
|
|
@@ -110,28 +118,23 @@ export class BreakpointManager {
|
|
|
110
118
|
const index = this.order.indexOf(name);
|
|
111
119
|
this.active = name;
|
|
112
120
|
this.activeIndex = index;
|
|
113
|
-
const activeBreakpoint = this.at(this.active);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
log(this, 'min:', min.map(b => b.name).join());
|
|
127
|
-
|
|
128
|
-
max.forEach(b => b._setDirection('max', true));
|
|
129
|
-
min.forEach(b => b._setDirection('min', true));
|
|
130
|
-
activeBreakpoint._setDirection('only', true);
|
|
121
|
+
// const activeBreakpoint = this.at(this.active);
|
|
122
|
+
|
|
123
|
+
// For each breakpoint, set its directional status based on the active index.
|
|
124
|
+
// This ensures the JS methods match the SCSS mixin behavior.
|
|
125
|
+
this.order.forEach((bpName, bpIndex) => {
|
|
126
|
+
const bp = this.breakpoints[bpName];
|
|
127
|
+
const activeIndex = this.activeIndex;
|
|
128
|
+
|
|
129
|
+
// at(NAME).min() is active if active breakpoint is >= NAME.
|
|
130
|
+
bp._setDirection('min', bpIndex <= activeIndex);
|
|
131
|
+
|
|
132
|
+
// at(NAME).max() is active if active breakpoint is < NAME.
|
|
133
|
+
bp._setDirection('max', bpIndex > activeIndex);
|
|
131
134
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
+
// at(NAME).only() is active if active breakpoint is == NAME.
|
|
136
|
+
bp._setDirection('only', bpIndex === activeIndex);
|
|
137
|
+
});
|
|
135
138
|
|
|
136
139
|
// Set direction (extra info if needed)
|
|
137
140
|
if (this.previousIndex !== null) {
|
|
@@ -246,18 +249,16 @@ class Breakpoint {
|
|
|
246
249
|
this.directions[direction].change(active);
|
|
247
250
|
}
|
|
248
251
|
/**
|
|
249
|
-
* Attach handler to be executed from the breakpoint and to all breakpoints below.
|
|
250
|
-
*
|
|
251
|
-
* and above the breakpoint name specified, this handler will fire
|
|
252
|
+
* Attach handler to be executed from the breakpoint and to all breakpoints below (inclusive).
|
|
253
|
+
* This corresponds to a `max-width` media query in SCSS.
|
|
252
254
|
* @param {Function} handler Handler to be executed
|
|
253
255
|
*/
|
|
254
256
|
max(handler) {
|
|
255
257
|
this.directions.max.add(handler);
|
|
256
258
|
}
|
|
257
259
|
/**
|
|
258
|
-
* Attach handler to be executed from the breakpoint and to all breakpoints
|
|
259
|
-
*
|
|
260
|
-
* and below the breakpoint name specified, this handler will fire
|
|
260
|
+
* Attach handler to be executed from the breakpoint and to all breakpoints above (inclusive).
|
|
261
|
+
* This corresponds to a `min-width` media query in SCSS.
|
|
261
262
|
* @param {Function} handler Handler to be executed
|
|
262
263
|
*/
|
|
263
264
|
min(handler) {
|
|
@@ -277,7 +278,11 @@ class Breakpoint {
|
|
|
277
278
|
*/
|
|
278
279
|
remove(handler, direction) {
|
|
279
280
|
const directions = direction ? [ direction ] : ['max', 'min', 'only'];
|
|
280
|
-
directions.forEach(d =>
|
|
281
|
+
directions.forEach(d => {
|
|
282
|
+
if (this.directions[d]) {
|
|
283
|
+
this.directions[d].remove(handler);
|
|
284
|
+
}
|
|
285
|
+
});
|
|
281
286
|
}
|
|
282
287
|
|
|
283
288
|
log(...msg) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module ui/collapsible
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { getUluEventName } from "../core/events.js";
|
|
6
6
|
import { log, logError } from "../utils/class-logger.js";
|
|
7
7
|
import { ensureId } from "../utils/id.js";
|
|
8
8
|
|
|
@@ -110,7 +110,7 @@ export class Collapsible {
|
|
|
110
110
|
this.setState(startOpen);
|
|
111
111
|
}
|
|
112
112
|
createEvent(name, detail) {
|
|
113
|
-
return new CustomEvent(
|
|
113
|
+
return new CustomEvent(getUluEventName("collapsible:" + name), { detail });
|
|
114
114
|
}
|
|
115
115
|
setState(isOpen, event) {
|
|
116
116
|
const ctx = {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @description Manages groups of details (ie. onlyOneOpen at a time)
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ComponentInitializer } from "../
|
|
6
|
+
import { ComponentInitializer } from "../core/component.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Dialog Component Initializer
|
|
@@ -26,7 +26,7 @@ const defaults = {
|
|
|
26
26
|
export function init() {
|
|
27
27
|
initializer.init({
|
|
28
28
|
withData: true,
|
|
29
|
-
|
|
29
|
+
coreEvents: ["pageModified"],
|
|
30
30
|
setup({ element, data, initialize }) {
|
|
31
31
|
setupGroup(element, data);
|
|
32
32
|
initialize();
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @module ui/dialog
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import { ComponentInitializer } from "../
|
|
5
|
+
import { getUluEventName } from "../core/events.js";
|
|
6
|
+
import { ComponentInitializer } from "../core/component.js";
|
|
7
7
|
import { wasClickOutside, preventScroll as setupPreventScroll } from "@ulu/utils/browser/dom.js";
|
|
8
8
|
import { pauseVideos as pauseYoutubeVideos, prepVideos as prepYoutubeVideos } from "../utils/pause-youtube-video.js";
|
|
9
9
|
|
|
@@ -73,7 +73,7 @@ export function setDefaults(options) {
|
|
|
73
73
|
export function init() {
|
|
74
74
|
// Initialize all the dialogs
|
|
75
75
|
initializer.init({
|
|
76
|
-
|
|
76
|
+
coreEvents: ["pageModified"],
|
|
77
77
|
withData: true,
|
|
78
78
|
setup({ element, initialize, data }) {
|
|
79
79
|
setupDialog(element, data);
|
|
@@ -84,7 +84,7 @@ export function init() {
|
|
|
84
84
|
// Initialize all triggers (things that trigger opening a dialog)
|
|
85
85
|
initializer.init({
|
|
86
86
|
key: "trigger",
|
|
87
|
-
|
|
87
|
+
coreEvents: ["pageModified"],
|
|
88
88
|
withData: true,
|
|
89
89
|
setup({ element, initialize, data: dialogId }) {
|
|
90
90
|
setupTrigger(element, dialogId);
|
|
@@ -137,8 +137,8 @@ export function setupDialog(dialog, userOptions) {
|
|
|
137
137
|
// is finished which is after the click is complete
|
|
138
138
|
let activeResizePointer;
|
|
139
139
|
|
|
140
|
-
dialog.addEventListener(
|
|
141
|
-
dialog.addEventListener(
|
|
140
|
+
dialog.addEventListener(getUluEventName("resizer:start"), handleResizeStart);
|
|
141
|
+
dialog.addEventListener(getUluEventName("resizer:end"), handleResizeEnd);
|
|
142
142
|
dialog.addEventListener("click", handleClicks);
|
|
143
143
|
|
|
144
144
|
if (options.documentEnd) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module ui/flipcard
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { ComponentInitializer } from "../
|
|
5
|
+
import { ComponentInitializer } from "../core/component.js";
|
|
6
6
|
import { trimWhitespace } from "@ulu/utils/string.js";
|
|
7
7
|
import { log, logError } from "../utils/class-logger.js";
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ export const initializer = new ComponentInitializer({
|
|
|
20
20
|
export function init() {
|
|
21
21
|
initializer.init({
|
|
22
22
|
withData: true,
|
|
23
|
-
|
|
23
|
+
coreEvents: ["pageModified"],
|
|
24
24
|
setup({ element, data, initialize }) {
|
|
25
25
|
const options = Object.assign({}, data);
|
|
26
26
|
const front = element.querySelector(initializer.attributeSelector("front"));
|
package/{js → lib/js}/ui/grid.js
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module ui/grid
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { ComponentInitializer } from "../
|
|
5
|
+
import { ComponentInitializer } from "../core/component.js";
|
|
6
6
|
import { setPositionClasses } from "../utils/dom.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -19,7 +19,7 @@ export const initializer = new ComponentInitializer({
|
|
|
19
19
|
*/
|
|
20
20
|
export function init(classes) {
|
|
21
21
|
initializer.init({
|
|
22
|
-
|
|
22
|
+
coreEvents: ["pageModified", "pageResized"],
|
|
23
23
|
setup({ element, initialize }) {
|
|
24
24
|
setPositionClasses(element, classes);
|
|
25
25
|
initialize();
|