@universityofmaryland/web-elements-library 1.4.7 → 1.5.0-beta.0
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/README.md +1 -1
- package/dist/atomic/actions/icon.d.ts.map +1 -1
- package/dist/atomic/actions/icon.js +21 -22
- package/dist/atomic/actions/icon.js.map +1 -1
- package/dist/atomic/actions/icon.mjs +20 -21
- package/dist/atomic/actions/icon.mjs.map +1 -1
- package/dist/atomic/actions/text.d.ts.map +1 -1
- package/dist/atomic/actions/text.js +22 -19
- package/dist/atomic/actions/text.js.map +1 -1
- package/dist/atomic/actions/text.mjs +21 -19
- package/dist/atomic/actions/text.mjs.map +1 -1
- package/dist/atomic/animations/actions/indicator.d.ts.map +1 -1
- package/dist/atomic/animations/actions/indicator.js +32 -21
- package/dist/atomic/animations/actions/indicator.js.map +1 -1
- package/dist/atomic/animations/actions/indicator.mjs +3 -9
- package/dist/atomic/animations/actions/indicator.mjs.map +1 -1
- package/dist/atomic/animations/brand/card-stack.d.ts.map +1 -1
- package/dist/atomic/animations/brand/card-stack.js +42 -32
- package/dist/atomic/animations/brand/card-stack.js.map +1 -1
- package/dist/atomic/animations/brand/card-stack.mjs +21 -11
- package/dist/atomic/animations/brand/card-stack.mjs.map +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.js +25 -8
- package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.mjs +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.mjs.map +1 -1
- package/dist/atomic/assets/image/gif.d.ts.map +1 -1
- package/dist/atomic/assets/image/gif.js +5 -8
- package/dist/atomic/assets/image/gif.js.map +1 -1
- package/dist/atomic/assets/image/gif.mjs +4 -7
- package/dist/atomic/assets/image/gif.mjs.map +1 -1
- package/dist/atomic/assets/video/observed-auto-play.js +2 -5
- package/dist/atomic/assets/video/observed-auto-play.js.map +1 -1
- package/dist/atomic/assets/video/observed-auto-play.mjs +2 -5
- package/dist/atomic/assets/video/observed-auto-play.mjs.map +1 -1
- package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
- package/dist/atomic/assets/video/toggle.js +4 -7
- package/dist/atomic/assets/video/toggle.js.map +1 -1
- package/dist/atomic/assets/video/toggle.mjs +4 -7
- package/dist/atomic/assets/video/toggle.mjs.map +1 -1
- package/dist/atomic/buttons/fullscreen.js +2 -5
- package/dist/atomic/buttons/fullscreen.js.map +1 -1
- package/dist/atomic/buttons/fullscreen.mjs +2 -5
- package/dist/atomic/buttons/fullscreen.mjs.map +1 -1
- package/dist/atomic/events/meta.d.ts.map +1 -1
- package/dist/atomic/events/meta.js +8 -10
- package/dist/atomic/events/meta.js.map +1 -1
- package/dist/atomic/events/meta.mjs +5 -7
- package/dist/atomic/events/meta.mjs.map +1 -1
- package/dist/atomic/events/sign.js +19 -2
- package/dist/atomic/events/sign.js.map +1 -1
- package/dist/atomic/events/sign.mjs +2 -2
- package/dist/atomic/events/sign.mjs.map +1 -1
- package/dist/atomic/layout/block/stacked.d.ts.map +1 -1
- package/dist/atomic/layout/block/stacked.js +37 -55
- package/dist/atomic/layout/block/stacked.js.map +1 -1
- package/dist/atomic/layout/block/stacked.mjs +36 -54
- package/dist/atomic/layout/block/stacked.mjs.map +1 -1
- package/dist/atomic/layout/overlay/modal.d.ts.map +1 -1
- package/dist/atomic/layout/overlay/modal.js +22 -8
- package/dist/atomic/layout/overlay/modal.js.map +1 -1
- package/dist/atomic/layout/overlay/modal.mjs +3 -6
- package/dist/atomic/layout/overlay/modal.mjs.map +1 -1
- package/dist/atomic/layout/person/columns.d.ts.map +1 -1
- package/dist/atomic/layout/person/columns.js +36 -34
- package/dist/atomic/layout/person/columns.js.map +1 -1
- package/dist/atomic/layout/person/columns.mjs +35 -33
- package/dist/atomic/layout/person/columns.mjs.map +1 -1
- package/dist/atomic/text/stat.d.ts.map +1 -1
- package/dist/atomic/text/stat.js +47 -29
- package/dist/atomic/text/stat.js.map +1 -1
- package/dist/atomic/text/stat.mjs +30 -29
- package/dist/atomic/text/stat.mjs.map +1 -1
- package/dist/atomic/text-lockup/contact.d.ts.map +1 -1
- package/dist/atomic/text-lockup/contact.js +13 -15
- package/dist/atomic/text-lockup/contact.js.map +1 -1
- package/dist/atomic/text-lockup/contact.mjs +18 -20
- package/dist/atomic/text-lockup/contact.mjs.map +1 -1
- package/dist/atomic/text-lockup/date.d.ts.map +1 -1
- package/dist/atomic/text-lockup/date.js +24 -20
- package/dist/atomic/text-lockup/date.js.map +1 -1
- package/dist/atomic/text-lockup/date.mjs +11 -9
- package/dist/atomic/text-lockup/date.mjs.map +1 -1
- package/dist/atomic/text-lockup/large.js +7 -7
- package/dist/atomic/text-lockup/large.js.map +1 -1
- package/dist/atomic/text-lockup/large.mjs +6 -6
- package/dist/atomic/text-lockup/large.mjs.map +1 -1
- package/dist/atomic/text-lockup/medium.js +9 -9
- package/dist/atomic/text-lockup/medium.js.map +1 -1
- package/dist/atomic/text-lockup/medium.mjs +8 -8
- package/dist/atomic/text-lockup/medium.mjs.map +1 -1
- package/dist/atomic/text-lockup/person.js +5 -5
- package/dist/atomic/text-lockup/person.js.map +1 -1
- package/dist/atomic/text-lockup/person.mjs +4 -4
- package/dist/atomic/text-lockup/person.mjs.map +1 -1
- package/dist/atomic/text-lockup/small.d.ts.map +1 -1
- package/dist/atomic/text-lockup/small.js +15 -14
- package/dist/atomic/text-lockup/small.js.map +1 -1
- package/dist/atomic/text-lockup/small.mjs +3 -3
- package/dist/atomic/text-lockup/small.mjs.map +1 -1
- package/dist/composite/accordion/item.d.ts.map +1 -1
- package/dist/composite/accordion/item.js +5 -5
- package/dist/composite/accordion/item.js.map +1 -1
- package/dist/composite/accordion/item.mjs +4 -4
- package/dist/composite/accordion/item.mjs.map +1 -1
- package/dist/composite/alert/elements/text.d.ts.map +1 -1
- package/dist/composite/alert/elements/text.js +34 -14
- package/dist/composite/alert/elements/text.js.map +1 -1
- package/dist/composite/alert/elements/text.mjs +5 -3
- package/dist/composite/alert/elements/text.mjs.map +1 -1
- package/dist/composite/alert/page.d.ts.map +1 -1
- package/dist/composite/alert/page.js +37 -22
- package/dist/composite/alert/page.js.map +1 -1
- package/dist/composite/alert/page.mjs +6 -8
- package/dist/composite/alert/page.mjs.map +1 -1
- package/dist/composite/alert/site.d.ts.map +1 -1
- package/dist/composite/alert/site.js +46 -27
- package/dist/composite/alert/site.js.map +1 -1
- package/dist/composite/alert/site.mjs +10 -9
- package/dist/composite/alert/site.mjs.map +1 -1
- package/dist/composite/banner/promo.d.ts.map +1 -1
- package/dist/composite/banner/promo.js +7 -8
- package/dist/composite/banner/promo.js.map +1 -1
- package/dist/composite/banner/promo.mjs +6 -7
- package/dist/composite/banner/promo.mjs.map +1 -1
- package/dist/composite/card/block.js +21 -9
- package/dist/composite/card/block.js.map +1 -1
- package/dist/composite/card/block.mjs +20 -8
- package/dist/composite/card/block.mjs.map +1 -1
- package/dist/composite/card/list.d.ts.map +1 -1
- package/dist/composite/card/list.js +47 -48
- package/dist/composite/card/list.js.map +1 -1
- package/dist/composite/card/list.mjs +46 -47
- package/dist/composite/card/list.mjs.map +1 -1
- package/dist/composite/card/overlay/color.d.ts.map +1 -1
- package/dist/composite/card/overlay/color.js +24 -12
- package/dist/composite/card/overlay/color.js.map +1 -1
- package/dist/composite/card/overlay/color.mjs +22 -11
- package/dist/composite/card/overlay/color.mjs.map +1 -1
- package/dist/composite/card/overlay/icon.js +21 -10
- package/dist/composite/card/overlay/icon.js.map +1 -1
- package/dist/composite/card/overlay/icon.mjs +20 -9
- package/dist/composite/card/overlay/icon.mjs.map +1 -1
- package/dist/composite/card/overlay/image.d.ts.map +1 -1
- package/dist/composite/card/overlay/image.js +29 -20
- package/dist/composite/card/overlay/image.js.map +1 -1
- package/dist/composite/card/overlay/image.mjs +27 -18
- package/dist/composite/card/overlay/image.mjs.map +1 -1
- package/dist/composite/card/video/block.js +15 -4
- package/dist/composite/card/video/block.js.map +1 -1
- package/dist/composite/card/video/block.mjs +15 -4
- package/dist/composite/card/video/block.mjs.map +1 -1
- package/dist/composite/carousel/cards/index.js +6 -6
- package/dist/composite/carousel/cards/index.js.map +1 -1
- package/dist/composite/carousel/cards/index.mjs +6 -6
- package/dist/composite/carousel/cards/index.mjs.map +1 -1
- package/dist/composite/carousel/default/index.js +24 -7
- package/dist/composite/carousel/default/index.js.map +1 -1
- package/dist/composite/carousel/default/index.mjs +1 -1
- package/dist/composite/carousel/default/index.mjs.map +1 -1
- package/dist/composite/carousel/elements/blocks.d.ts.map +1 -1
- package/dist/composite/carousel/elements/blocks.js +20 -22
- package/dist/composite/carousel/elements/blocks.js.map +1 -1
- package/dist/composite/carousel/elements/blocks.mjs +11 -14
- package/dist/composite/carousel/elements/blocks.mjs.map +1 -1
- package/dist/composite/carousel/elements/full-screen.js +36 -8
- package/dist/composite/carousel/elements/full-screen.js.map +1 -1
- package/dist/composite/carousel/elements/full-screen.mjs +17 -6
- package/dist/composite/carousel/elements/full-screen.mjs.map +1 -1
- package/dist/composite/carousel/elements/image.d.ts.map +1 -1
- package/dist/composite/carousel/elements/image.js +32 -21
- package/dist/composite/carousel/elements/image.js.map +1 -1
- package/dist/composite/carousel/elements/image.mjs +8 -14
- package/dist/composite/carousel/elements/image.mjs.map +1 -1
- package/dist/composite/carousel/elements/overlay.js +19 -2
- package/dist/composite/carousel/elements/overlay.js.map +1 -1
- package/dist/composite/carousel/elements/overlay.mjs +1 -1
- package/dist/composite/carousel/elements/overlay.mjs.map +1 -1
- package/dist/composite/carousel/image/multiple.d.ts.map +1 -1
- package/dist/composite/carousel/image/multiple.js +24 -12
- package/dist/composite/carousel/image/multiple.js.map +1 -1
- package/dist/composite/carousel/image/multiple.mjs +17 -6
- package/dist/composite/carousel/image/multiple.mjs.map +1 -1
- package/dist/composite/carousel/image/standard.d.ts.map +1 -1
- package/dist/composite/carousel/image/standard.js +44 -47
- package/dist/composite/carousel/image/standard.js.map +1 -1
- package/dist/composite/carousel/image/standard.mjs +19 -5
- package/dist/composite/carousel/image/standard.mjs.map +1 -1
- package/dist/composite/carousel/thumbnail/index.js +29 -12
- package/dist/composite/carousel/thumbnail/index.js.map +1 -1
- package/dist/composite/carousel/thumbnail/index.mjs +1 -1
- package/dist/composite/carousel/thumbnail/index.mjs.map +1 -1
- package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
- package/dist/composite/carousel/wide/controls.js +40 -30
- package/dist/composite/carousel/wide/controls.js.map +1 -1
- package/dist/composite/carousel/wide/controls.mjs +39 -29
- package/dist/composite/carousel/wide/controls.mjs.map +1 -1
- package/dist/composite/carousel/wide/frames.js +44 -33
- package/dist/composite/carousel/wide/frames.js.map +1 -1
- package/dist/composite/carousel/wide/frames.mjs +43 -32
- package/dist/composite/carousel/wide/frames.mjs.map +1 -1
- package/dist/composite/carousel/wide/index.d.ts.map +1 -1
- package/dist/composite/carousel/wide/index.js +17 -6
- package/dist/composite/carousel/wide/index.js.map +1 -1
- package/dist/composite/carousel/wide/index.mjs +16 -5
- package/dist/composite/carousel/wide/index.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/call-to-action.d.ts +5 -4
- package/dist/composite/footer/elements/main-section/call-to-action.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/call-to-action.js +56 -37
- package/dist/composite/footer/elements/main-section/call-to-action.js.map +1 -1
- package/dist/composite/footer/elements/main-section/call-to-action.mjs +40 -37
- package/dist/composite/footer/elements/main-section/call-to-action.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/campaign.d.ts +3 -3
- package/dist/composite/footer/elements/main-section/campaign.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/campaign.js +57 -22
- package/dist/composite/footer/elements/main-section/campaign.js.map +1 -1
- package/dist/composite/footer/elements/main-section/campaign.mjs +40 -22
- package/dist/composite/footer/elements/main-section/campaign.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/index.d.ts +3 -2
- package/dist/composite/footer/elements/main-section/index.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/index.js +81 -94
- package/dist/composite/footer/elements/main-section/index.js.map +1 -1
- package/dist/composite/footer/elements/main-section/index.mjs +82 -95
- package/dist/composite/footer/elements/main-section/index.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/index.d.ts +5 -5
- package/dist/composite/footer/elements/main-section/row-links/index.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/index.js +44 -72
- package/dist/composite/footer/elements/main-section/row-links/index.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/index.mjs +48 -75
- package/dist/composite/footer/elements/main-section/row-links/index.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts +5 -3
- package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/link-columns.js +178 -223
- package/dist/composite/footer/elements/main-section/row-links/link-columns.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs +180 -224
- package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts +5 -4
- package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/contact.js +165 -199
- package/dist/composite/footer/elements/main-section/row-logo/contact.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/contact.mjs +166 -199
- package/dist/composite/footer/elements/main-section/row-logo/contact.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/index.d.ts +6 -3
- package/dist/composite/footer/elements/main-section/row-logo/index.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/index.js +54 -95
- package/dist/composite/footer/elements/main-section/row-logo/index.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/index.mjs +59 -99
- package/dist/composite/footer/elements/main-section/row-logo/index.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts +4 -2
- package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/logo.js +78 -71
- package/dist/composite/footer/elements/main-section/row-logo/logo.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/logo.mjs +64 -74
- package/dist/composite/footer/elements/main-section/row-logo/logo.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/social.d.ts +5 -6
- package/dist/composite/footer/elements/main-section/social.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/social.js +128 -202
- package/dist/composite/footer/elements/main-section/social.js.map +1 -1
- package/dist/composite/footer/elements/main-section/social.mjs +130 -203
- package/dist/composite/footer/elements/main-section/social.mjs.map +1 -1
- package/dist/composite/footer/elements/utility-section/index.d.ts +4 -2
- package/dist/composite/footer/elements/utility-section/index.d.ts.map +1 -1
- package/dist/composite/footer/elements/utility-section/index.js +107 -116
- package/dist/composite/footer/elements/utility-section/index.js.map +1 -1
- package/dist/composite/footer/elements/utility-section/index.mjs +109 -117
- package/dist/composite/footer/elements/utility-section/index.mjs.map +1 -1
- package/dist/composite/footer/globals.d.ts +0 -32
- package/dist/composite/footer/globals.d.ts.map +1 -1
- package/dist/composite/footer/globals.js +0 -19
- package/dist/composite/footer/globals.js.map +1 -1
- package/dist/composite/footer/globals.mjs +1 -20
- package/dist/composite/footer/globals.mjs.map +1 -1
- package/dist/composite/footer/options.d.ts +1 -1
- package/dist/composite/footer/options.d.ts.map +1 -1
- package/dist/composite/footer/options.js +52 -30
- package/dist/composite/footer/options.js.map +1 -1
- package/dist/composite/footer/options.mjs +37 -33
- package/dist/composite/footer/options.mjs.map +1 -1
- package/dist/composite/hero/custom/expand.d.ts.map +1 -1
- package/dist/composite/hero/custom/expand.js +36 -25
- package/dist/composite/hero/custom/expand.js.map +1 -1
- package/dist/composite/hero/custom/expand.mjs +30 -19
- package/dist/composite/hero/custom/expand.mjs.map +1 -1
- package/dist/composite/hero/custom/grid.d.ts.map +1 -1
- package/dist/composite/hero/custom/grid.js +44 -31
- package/dist/composite/hero/custom/grid.js.map +1 -1
- package/dist/composite/hero/custom/grid.mjs +38 -25
- package/dist/composite/hero/custom/grid.mjs.map +1 -1
- package/dist/composite/hero/custom/video-arrow.d.ts.map +1 -1
- package/dist/composite/hero/custom/video-arrow.js +23 -15
- package/dist/composite/hero/custom/video-arrow.js.map +1 -1
- package/dist/composite/hero/custom/video-arrow.mjs +20 -14
- package/dist/composite/hero/custom/video-arrow.mjs.map +1 -1
- package/dist/composite/hero/logo.d.ts.map +1 -1
- package/dist/composite/hero/logo.js +28 -16
- package/dist/composite/hero/logo.js.map +1 -1
- package/dist/composite/hero/logo.mjs +26 -15
- package/dist/composite/hero/logo.mjs.map +1 -1
- package/dist/composite/hero/minimal.d.ts.map +1 -1
- package/dist/composite/hero/minimal.js +33 -22
- package/dist/composite/hero/minimal.js.map +1 -1
- package/dist/composite/hero/minimal.mjs +32 -21
- package/dist/composite/hero/minimal.mjs.map +1 -1
- package/dist/composite/hero/overlay.d.ts.map +1 -1
- package/dist/composite/hero/overlay.js +32 -21
- package/dist/composite/hero/overlay.js.map +1 -1
- package/dist/composite/hero/overlay.mjs +30 -20
- package/dist/composite/hero/overlay.mjs.map +1 -1
- package/dist/composite/hero/stacked.d.ts.map +1 -1
- package/dist/composite/hero/stacked.js +45 -34
- package/dist/composite/hero/stacked.js.map +1 -1
- package/dist/composite/hero/stacked.mjs +40 -30
- package/dist/composite/hero/stacked.mjs.map +1 -1
- package/dist/composite/hero/standard.d.ts.map +1 -1
- package/dist/composite/hero/standard.js +38 -27
- package/dist/composite/hero/standard.js.map +1 -1
- package/dist/composite/hero/standard.mjs +36 -26
- package/dist/composite/hero/standard.mjs.map +1 -1
- package/dist/composite/layout/box/logo.d.ts.map +1 -1
- package/dist/composite/layout/box/logo.js +33 -14
- package/dist/composite/layout/box/logo.js.map +1 -1
- package/dist/composite/layout/box/logo.mjs +5 -4
- package/dist/composite/layout/box/logo.mjs.map +1 -1
- package/dist/composite/layout/image/expand.d.ts.map +1 -1
- package/dist/composite/layout/image/expand.js +32 -13
- package/dist/composite/layout/image/expand.js.map +1 -1
- package/dist/composite/layout/image/expand.mjs +7 -6
- package/dist/composite/layout/image/expand.mjs.map +1 -1
- package/dist/composite/layout/scroll-top/index.d.ts.map +1 -1
- package/dist/composite/layout/scroll-top/index.js +25 -11
- package/dist/composite/layout/scroll-top/index.js.map +1 -1
- package/dist/composite/layout/scroll-top/index.mjs +4 -7
- package/dist/composite/layout/scroll-top/index.mjs.map +1 -1
- package/dist/composite/layout/section-intro/small.d.ts.map +1 -1
- package/dist/composite/layout/section-intro/small.js +33 -14
- package/dist/composite/layout/section-intro/small.js.map +1 -1
- package/dist/composite/layout/section-intro/small.mjs +2 -1
- package/dist/composite/layout/section-intro/small.mjs.map +1 -1
- package/dist/composite/layout/section-intro/wide.js +20 -3
- package/dist/composite/layout/section-intro/wide.js.map +1 -1
- package/dist/composite/layout/section-intro/wide.mjs +1 -1
- package/dist/composite/layout/section-intro/wide.mjs.map +1 -1
- package/dist/composite/layout/sticky-columns/index.d.ts.map +1 -1
- package/dist/composite/layout/sticky-columns/index.js +26 -8
- package/dist/composite/layout/sticky-columns/index.js.map +1 -1
- package/dist/composite/layout/sticky-columns/index.mjs +4 -4
- package/dist/composite/layout/sticky-columns/index.mjs.map +1 -1
- package/dist/composite/media/elements/caption.d.ts.map +1 -1
- package/dist/composite/media/elements/caption.js +28 -9
- package/dist/composite/media/elements/caption.js.map +1 -1
- package/dist/composite/media/elements/caption.mjs +5 -4
- package/dist/composite/media/elements/caption.mjs.map +1 -1
- package/dist/composite/media/elements/gif.js +15 -4
- package/dist/composite/media/elements/gif.js.map +1 -1
- package/dist/composite/media/elements/gif.mjs +15 -4
- package/dist/composite/media/elements/gif.mjs.map +1 -1
- package/dist/composite/media/inline/caption.js +21 -8
- package/dist/composite/media/inline/caption.js.map +1 -1
- package/dist/composite/media/inline/caption.mjs +2 -6
- package/dist/composite/media/inline/caption.mjs.map +1 -1
- package/dist/composite/media/inline/wrapped.js +23 -10
- package/dist/composite/media/inline/wrapped.js.map +1 -1
- package/dist/composite/media/inline/wrapped.mjs +2 -6
- package/dist/composite/media/inline/wrapped.mjs.map +1 -1
- package/dist/composite/navigation/elements/breadcrumb/index.d.ts.map +1 -1
- package/dist/composite/navigation/elements/breadcrumb/index.js +35 -16
- package/dist/composite/navigation/elements/breadcrumb/index.js.map +1 -1
- package/dist/composite/navigation/elements/breadcrumb/index.mjs +7 -6
- package/dist/composite/navigation/elements/breadcrumb/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/drawer/index.d.ts.map +1 -1
- package/dist/composite/navigation/elements/drawer/index.js +27 -13
- package/dist/composite/navigation/elements/drawer/index.js.map +1 -1
- package/dist/composite/navigation/elements/drawer/index.mjs +5 -8
- package/dist/composite/navigation/elements/drawer/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/item/index.d.ts.map +1 -1
- package/dist/composite/navigation/elements/item/index.js +47 -28
- package/dist/composite/navigation/elements/item/index.js.map +1 -1
- package/dist/composite/navigation/elements/item/index.mjs +13 -12
- package/dist/composite/navigation/elements/item/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/menu-button/index.js +20 -3
- package/dist/composite/navigation/elements/menu-button/index.js.map +1 -1
- package/dist/composite/navigation/elements/menu-button/index.mjs +1 -1
- package/dist/composite/navigation/elements/menu-button/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/slider/action.d.ts.map +1 -1
- package/dist/composite/navigation/elements/slider/action.js +32 -13
- package/dist/composite/navigation/elements/slider/action.js.map +1 -1
- package/dist/composite/navigation/elements/slider/action.mjs +6 -5
- package/dist/composite/navigation/elements/slider/action.mjs.map +1 -1
- package/dist/composite/navigation/elements/slider/index.d.ts.map +1 -1
- package/dist/composite/navigation/elements/slider/index.js +35 -21
- package/dist/composite/navigation/elements/slider/index.js.map +1 -1
- package/dist/composite/navigation/elements/slider/index.mjs +3 -6
- package/dist/composite/navigation/elements/slider/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/slider/slide-first.d.ts.map +1 -1
- package/dist/composite/navigation/elements/slider/slide-first.js +29 -10
- package/dist/composite/navigation/elements/slider/slide-first.js.map +1 -1
- package/dist/composite/navigation/elements/slider/slide-first.mjs +4 -3
- package/dist/composite/navigation/elements/slider/slide-first.mjs.map +1 -1
- package/dist/composite/navigation/elements/slider/slides.d.ts.map +1 -1
- package/dist/composite/navigation/elements/slider/slides.js +38 -19
- package/dist/composite/navigation/elements/slider/slides.js.map +1 -1
- package/dist/composite/navigation/elements/slider/slides.mjs +8 -7
- package/dist/composite/navigation/elements/slider/slides.mjs.map +1 -1
- package/dist/composite/navigation/elements/sticky/index.js +2 -5
- package/dist/composite/navigation/elements/sticky/index.js.map +1 -1
- package/dist/composite/navigation/elements/sticky/index.mjs +1 -4
- package/dist/composite/navigation/elements/sticky/index.mjs.map +1 -1
- package/dist/composite/navigation/header.d.ts.map +1 -1
- package/dist/composite/navigation/header.js +55 -36
- package/dist/composite/navigation/header.js.map +1 -1
- package/dist/composite/navigation/header.mjs +9 -8
- package/dist/composite/navigation/header.mjs.map +1 -1
- package/dist/composite/navigation/utility/alert.d.ts.map +1 -1
- package/dist/composite/navigation/utility/alert.js +18 -9
- package/dist/composite/navigation/utility/alert.js.map +1 -1
- package/dist/composite/navigation/utility/alert.mjs +18 -9
- package/dist/composite/navigation/utility/alert.mjs.map +1 -1
- package/dist/composite/navigation/utility/index.d.ts.map +1 -1
- package/dist/composite/navigation/utility/index.js +45 -41
- package/dist/composite/navigation/utility/index.js.map +1 -1
- package/dist/composite/navigation/utility/index.mjs +15 -13
- package/dist/composite/navigation/utility/index.mjs.map +1 -1
- package/dist/composite/navigation/utility/search.js +23 -6
- package/dist/composite/navigation/utility/search.js.map +1 -1
- package/dist/composite/navigation/utility/search.mjs +1 -1
- package/dist/composite/navigation/utility/search.mjs.map +1 -1
- package/dist/composite/pathway/_common.js +14 -3
- package/dist/composite/pathway/_common.js.map +1 -1
- package/dist/composite/pathway/_common.mjs +14 -3
- package/dist/composite/pathway/_common.mjs.map +1 -1
- package/dist/composite/pathway/hero.js +29 -19
- package/dist/composite/pathway/hero.js.map +1 -1
- package/dist/composite/pathway/hero.mjs +26 -16
- package/dist/composite/pathway/hero.mjs.map +1 -1
- package/dist/composite/pathway/highlight.js +21 -21
- package/dist/composite/pathway/highlight.js.map +1 -1
- package/dist/composite/pathway/highlight.mjs +20 -20
- package/dist/composite/pathway/highlight.mjs.map +1 -1
- package/dist/composite/pathway/overlay.js +19 -20
- package/dist/composite/pathway/overlay.js.map +1 -1
- package/dist/composite/pathway/overlay.mjs +14 -16
- package/dist/composite/pathway/overlay.mjs.map +1 -1
- package/dist/composite/pathway/standard.js +12 -15
- package/dist/composite/pathway/standard.js.map +1 -1
- package/dist/composite/pathway/standard.mjs +9 -12
- package/dist/composite/pathway/standard.mjs.map +1 -1
- package/dist/composite/pathway/sticky.d.ts.map +1 -1
- package/dist/composite/pathway/sticky.js +12 -10
- package/dist/composite/pathway/sticky.js.map +1 -1
- package/dist/composite/pathway/sticky.mjs +10 -9
- package/dist/composite/pathway/sticky.mjs.map +1 -1
- package/dist/composite/person/bio/full.d.ts.map +1 -1
- package/dist/composite/person/bio/full.js +24 -13
- package/dist/composite/person/bio/full.js.map +1 -1
- package/dist/composite/person/bio/full.mjs +22 -12
- package/dist/composite/person/bio/full.mjs.map +1 -1
- package/dist/composite/person/bio/small.js +33 -23
- package/dist/composite/person/bio/small.js.map +1 -1
- package/dist/composite/person/bio/small.mjs +32 -22
- package/dist/composite/person/bio/small.mjs.map +1 -1
- package/dist/composite/person/block.d.ts.map +1 -1
- package/dist/composite/person/block.js +26 -21
- package/dist/composite/person/block.js.map +1 -1
- package/dist/composite/person/block.mjs +24 -19
- package/dist/composite/person/block.mjs.map +1 -1
- package/dist/composite/person/hero.d.ts.map +1 -1
- package/dist/composite/person/hero.js +70 -43
- package/dist/composite/person/hero.js.map +1 -1
- package/dist/composite/person/hero.mjs +14 -4
- package/dist/composite/person/hero.mjs.map +1 -1
- package/dist/composite/person/list.d.ts.map +1 -1
- package/dist/composite/person/list.js +28 -21
- package/dist/composite/person/list.js.map +1 -1
- package/dist/composite/person/list.mjs +27 -20
- package/dist/composite/person/list.mjs.map +1 -1
- package/dist/composite/person/tabular.js +22 -11
- package/dist/composite/person/tabular.js.map +1 -1
- package/dist/composite/person/tabular.mjs +21 -10
- package/dist/composite/person/tabular.mjs.map +1 -1
- package/dist/composite/quote/_constants.d.ts +3 -0
- package/dist/composite/quote/_constants.d.ts.map +1 -0
- package/dist/composite/quote/_constants.js +7 -0
- package/dist/composite/quote/_constants.js.map +1 -0
- package/dist/composite/quote/_constants.mjs +7 -0
- package/dist/composite/quote/_constants.mjs.map +1 -0
- package/dist/composite/quote/_types.d.ts +24 -0
- package/dist/composite/quote/_types.d.ts.map +1 -0
- package/dist/composite/quote/elements/action.d.ts +11 -0
- package/dist/composite/quote/elements/action.d.ts.map +1 -0
- package/dist/composite/quote/elements/action.js +46 -0
- package/dist/composite/quote/elements/action.js.map +1 -0
- package/dist/composite/quote/elements/action.mjs +29 -0
- package/dist/composite/quote/elements/action.mjs.map +1 -0
- package/dist/composite/quote/elements/icon.d.ts +10 -0
- package/dist/composite/quote/elements/icon.d.ts.map +1 -0
- package/dist/composite/quote/elements/icon.js +67 -0
- package/dist/composite/quote/elements/icon.js.map +1 -0
- package/dist/composite/quote/elements/icon.mjs +51 -0
- package/dist/composite/quote/elements/icon.mjs.map +1 -0
- package/dist/composite/quote/elements/image.d.ts +7 -10
- package/dist/composite/quote/elements/image.d.ts.map +1 -1
- package/dist/composite/quote/elements/image.js +71 -12
- package/dist/composite/quote/elements/image.js.map +1 -1
- package/dist/composite/quote/elements/image.mjs +54 -12
- package/dist/composite/quote/elements/image.mjs.map +1 -1
- package/dist/composite/quote/elements/index.d.ts +4 -24
- package/dist/composite/quote/elements/index.d.ts.map +1 -1
- package/dist/composite/quote/elements/index.js +7 -5
- package/dist/composite/quote/elements/index.js.map +1 -1
- package/dist/composite/quote/elements/index.mjs +8 -7
- package/dist/composite/quote/elements/index.mjs.map +1 -1
- package/dist/composite/quote/elements/text.d.ts +5 -20
- package/dist/composite/quote/elements/text.d.ts.map +1 -1
- package/dist/composite/quote/elements/text.js +217 -194
- package/dist/composite/quote/elements/text.js.map +1 -1
- package/dist/composite/quote/elements/text.mjs +199 -194
- package/dist/composite/quote/elements/text.mjs.map +1 -1
- package/dist/composite/quote/featured.d.ts +4 -8
- package/dist/composite/quote/featured.d.ts.map +1 -1
- package/dist/composite/quote/featured.js +195 -243
- package/dist/composite/quote/featured.js.map +1 -1
- package/dist/composite/quote/featured.mjs +177 -242
- package/dist/composite/quote/featured.mjs.map +1 -1
- package/dist/composite/quote/helper/animation.d.ts +8 -0
- package/dist/composite/quote/helper/animation.d.ts.map +1 -0
- package/dist/composite/quote/helper/animation.js +74 -0
- package/dist/composite/quote/helper/animation.js.map +1 -0
- package/dist/composite/quote/helper/animation.mjs +74 -0
- package/dist/composite/quote/helper/animation.mjs.map +1 -0
- package/dist/composite/quote/index.d.ts +1 -1
- package/dist/composite/quote/index.d.ts.map +1 -1
- package/dist/composite/quote/index.mjs +6 -6
- package/dist/composite/quote/inline.d.ts +4 -9
- package/dist/composite/quote/inline.d.ts.map +1 -1
- package/dist/composite/quote/inline.js +72 -271
- package/dist/composite/quote/inline.js.map +1 -1
- package/dist/composite/quote/inline.mjs +56 -272
- package/dist/composite/quote/inline.mjs.map +1 -1
- package/dist/composite/quote/statement.d.ts +5 -7
- package/dist/composite/quote/statement.d.ts.map +1 -1
- package/dist/composite/slider/events.d.ts.map +1 -1
- package/dist/composite/slider/events.js +60 -46
- package/dist/composite/slider/events.js.map +1 -1
- package/dist/composite/slider/events.mjs +12 -16
- package/dist/composite/slider/events.mjs.map +1 -1
- package/dist/composite/social/sharing.d.ts.map +1 -1
- package/dist/composite/social/sharing.js +38 -23
- package/dist/composite/social/sharing.js.map +1 -1
- package/dist/composite/social/sharing.mjs +9 -11
- package/dist/composite/social/sharing.mjs.map +1 -1
- package/dist/composite/tabs/standard.d.ts.map +1 -1
- package/dist/composite/tabs/standard.js +44 -30
- package/dist/composite/tabs/standard.js.map +1 -1
- package/dist/composite/tabs/standard.mjs +9 -13
- package/dist/composite/tabs/standard.mjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -3
- package/dist/index.mjs.map +1 -1
- package/dist/layout/image.d.ts.map +1 -1
- package/dist/layout/image.js +25 -6
- package/dist/layout/image.js.map +1 -1
- package/dist/layout/image.mjs +4 -3
- package/dist/layout/image.mjs.map +1 -1
- package/dist/model/modifiers/index.d.ts +1 -1
- package/dist/model/modifiers/index.d.ts.map +1 -1
- package/dist/model/modifiers/index.js +12 -12
- package/dist/model/modifiers/index.js.map +1 -1
- package/dist/model/modifiers/index.mjs +2 -2
- package/dist/model/modifiers/index.mjs.map +1 -1
- package/dist/model/modifiers/style.js +7 -7
- package/dist/model/modifiers/style.js.map +1 -1
- package/dist/model/modifiers/style.mjs +2 -2
- package/dist/model/modifiers/style.mjs.map +1 -1
- package/package.json +17 -18
- package/dist/_virtual/___vite-browser-external.js +0 -8
- package/dist/_virtual/___vite-browser-external.js.map +0 -1
- package/dist/_virtual/___vite-browser-external.mjs +0 -7
- package/dist/_virtual/___vite-browser-external.mjs.map +0 -1
- package/dist/_virtual/__vite-browser-external.js +0 -4
- package/dist/_virtual/__vite-browser-external.js.map +0 -1
- package/dist/_virtual/__vite-browser-external.mjs +0 -5
- package/dist/_virtual/__vite-browser-external.mjs.map +0 -1
- package/dist/_virtual/_commonjsHelpers.js +0 -39
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/_commonjsHelpers.mjs +0 -39
- package/dist/_virtual/_commonjsHelpers.mjs.map +0 -1
- package/dist/_virtual/attribute.js +0 -5
- package/dist/_virtual/attribute.js.map +0 -1
- package/dist/_virtual/attribute.mjs +0 -5
- package/dist/_virtual/attribute.mjs.map +0 -1
- package/dist/_virtual/className.js +0 -5
- package/dist/_virtual/className.js.map +0 -1
- package/dist/_virtual/className.mjs +0 -5
- package/dist/_virtual/className.mjs.map +0 -1
- package/dist/_virtual/combinator.js +0 -5
- package/dist/_virtual/combinator.js.map +0 -1
- package/dist/_virtual/combinator.mjs +0 -5
- package/dist/_virtual/combinator.mjs.map +0 -1
- package/dist/_virtual/comment.js +0 -5
- package/dist/_virtual/comment.js.map +0 -1
- package/dist/_virtual/comment.mjs +0 -5
- package/dist/_virtual/comment.mjs.map +0 -1
- package/dist/_virtual/constructors.js +0 -5
- package/dist/_virtual/constructors.js.map +0 -1
- package/dist/_virtual/constructors.mjs +0 -5
- package/dist/_virtual/constructors.mjs.map +0 -1
- package/dist/_virtual/container.js +0 -5
- package/dist/_virtual/container.js.map +0 -1
- package/dist/_virtual/container.mjs +0 -5
- package/dist/_virtual/container.mjs.map +0 -1
- package/dist/_virtual/ensureObject.js +0 -5
- package/dist/_virtual/ensureObject.js.map +0 -1
- package/dist/_virtual/ensureObject.mjs +0 -5
- package/dist/_virtual/ensureObject.mjs.map +0 -1
- package/dist/_virtual/getProp.js +0 -5
- package/dist/_virtual/getProp.js.map +0 -1
- package/dist/_virtual/getProp.mjs +0 -5
- package/dist/_virtual/getProp.mjs.map +0 -1
- package/dist/_virtual/guards.js +0 -5
- package/dist/_virtual/guards.js.map +0 -1
- package/dist/_virtual/guards.mjs +0 -5
- package/dist/_virtual/guards.mjs.map +0 -1
- package/dist/_virtual/id.js +0 -5
- package/dist/_virtual/id.js.map +0 -1
- package/dist/_virtual/id.mjs +0 -5
- package/dist/_virtual/id.mjs.map +0 -1
- package/dist/_virtual/index.js +0 -7
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/index.mjs +0 -8
- package/dist/_virtual/index.mjs.map +0 -1
- package/dist/_virtual/index2.js +0 -7
- package/dist/_virtual/index2.js.map +0 -1
- package/dist/_virtual/index2.mjs +0 -8
- package/dist/_virtual/index2.mjs.map +0 -1
- package/dist/_virtual/index3.js +0 -5
- package/dist/_virtual/index3.js.map +0 -1
- package/dist/_virtual/index3.mjs +0 -5
- package/dist/_virtual/index3.mjs.map +0 -1
- package/dist/_virtual/index4.js +0 -5
- package/dist/_virtual/index4.js.map +0 -1
- package/dist/_virtual/index4.mjs +0 -5
- package/dist/_virtual/index4.mjs.map +0 -1
- package/dist/_virtual/index5.js +0 -5
- package/dist/_virtual/index5.js.map +0 -1
- package/dist/_virtual/index5.mjs +0 -5
- package/dist/_virtual/index5.mjs.map +0 -1
- package/dist/_virtual/namespace.js +0 -5
- package/dist/_virtual/namespace.js.map +0 -1
- package/dist/_virtual/namespace.mjs +0 -5
- package/dist/_virtual/namespace.mjs.map +0 -1
- package/dist/_virtual/nesting.js +0 -5
- package/dist/_virtual/nesting.js.map +0 -1
- package/dist/_virtual/nesting.mjs +0 -5
- package/dist/_virtual/nesting.mjs.map +0 -1
- package/dist/_virtual/node.js +0 -5
- package/dist/_virtual/node.js.map +0 -1
- package/dist/_virtual/node.mjs +0 -5
- package/dist/_virtual/node.mjs.map +0 -1
- package/dist/_virtual/parser.js +0 -5
- package/dist/_virtual/parser.js.map +0 -1
- package/dist/_virtual/parser.mjs +0 -5
- package/dist/_virtual/parser.mjs.map +0 -1
- package/dist/_virtual/picocolors.browser.js +0 -5
- package/dist/_virtual/picocolors.browser.js.map +0 -1
- package/dist/_virtual/picocolors.browser.mjs +0 -5
- package/dist/_virtual/picocolors.browser.mjs.map +0 -1
- package/dist/_virtual/postcss.js +0 -7
- package/dist/_virtual/postcss.js.map +0 -1
- package/dist/_virtual/postcss.mjs +0 -8
- package/dist/_virtual/postcss.mjs.map +0 -1
- package/dist/_virtual/processor.js +0 -5
- package/dist/_virtual/processor.js.map +0 -1
- package/dist/_virtual/processor.mjs +0 -5
- package/dist/_virtual/processor.mjs.map +0 -1
- package/dist/_virtual/pseudo.js +0 -5
- package/dist/_virtual/pseudo.js.map +0 -1
- package/dist/_virtual/pseudo.mjs +0 -5
- package/dist/_virtual/pseudo.mjs.map +0 -1
- package/dist/_virtual/root.js +0 -5
- package/dist/_virtual/root.js.map +0 -1
- package/dist/_virtual/root.mjs +0 -5
- package/dist/_virtual/root.mjs.map +0 -1
- package/dist/_virtual/selector.js +0 -5
- package/dist/_virtual/selector.js.map +0 -1
- package/dist/_virtual/selector.mjs +0 -5
- package/dist/_virtual/selector.mjs.map +0 -1
- package/dist/_virtual/sortAscending.js +0 -5
- package/dist/_virtual/sortAscending.js.map +0 -1
- package/dist/_virtual/sortAscending.mjs +0 -5
- package/dist/_virtual/sortAscending.mjs.map +0 -1
- package/dist/_virtual/string.js +0 -5
- package/dist/_virtual/string.js.map +0 -1
- package/dist/_virtual/string.mjs +0 -5
- package/dist/_virtual/string.mjs.map +0 -1
- package/dist/_virtual/stripComments.js +0 -5
- package/dist/_virtual/stripComments.js.map +0 -1
- package/dist/_virtual/stripComments.mjs +0 -5
- package/dist/_virtual/stripComments.mjs.map +0 -1
- package/dist/_virtual/symbols.js +0 -5
- package/dist/_virtual/symbols.js.map +0 -1
- package/dist/_virtual/symbols.mjs +0 -5
- package/dist/_virtual/symbols.mjs.map +0 -1
- package/dist/_virtual/tag.js +0 -5
- package/dist/_virtual/tag.js.map +0 -1
- package/dist/_virtual/tag.mjs +0 -5
- package/dist/_virtual/tag.mjs.map +0 -1
- package/dist/_virtual/tokenTypes.js +0 -5
- package/dist/_virtual/tokenTypes.js.map +0 -1
- package/dist/_virtual/tokenTypes.mjs +0 -5
- package/dist/_virtual/tokenTypes.mjs.map +0 -1
- package/dist/_virtual/tokenize.js +0 -5
- package/dist/_virtual/tokenize.js.map +0 -1
- package/dist/_virtual/tokenize.mjs +0 -5
- package/dist/_virtual/tokenize.mjs.map +0 -1
- package/dist/_virtual/types.js +0 -5
- package/dist/_virtual/types.js.map +0 -1
- package/dist/_virtual/types.mjs +0 -5
- package/dist/_virtual/types.mjs.map +0 -1
- package/dist/_virtual/unesc.js +0 -5
- package/dist/_virtual/unesc.js.map +0 -1
- package/dist/_virtual/unesc.mjs +0 -5
- package/dist/_virtual/unesc.mjs.map +0 -1
- package/dist/_virtual/universal.js +0 -5
- package/dist/_virtual/universal.js.map +0 -1
- package/dist/_virtual/universal.mjs +0 -5
- package/dist/_virtual/universal.mjs.map +0 -1
- package/dist/node_modules/@csstools/selector-specificity/dist/index.js +0 -96
- package/dist/node_modules/@csstools/selector-specificity/dist/index.js.map +0 -1
- package/dist/node_modules/@csstools/selector-specificity/dist/index.mjs +0 -96
- package/dist/node_modules/@csstools/selector-specificity/dist/index.mjs.map +0 -1
- package/dist/node_modules/camelcase-css/index-es5.js +0 -26
- package/dist/node_modules/camelcase-css/index-es5.js.map +0 -1
- package/dist/node_modules/camelcase-css/index-es5.mjs +0 -26
- package/dist/node_modules/camelcase-css/index-es5.mjs.map +0 -1
- package/dist/node_modules/cssesc/cssesc.js +0 -95
- package/dist/node_modules/cssesc/cssesc.js.map +0 -1
- package/dist/node_modules/cssesc/cssesc.mjs +0 -95
- package/dist/node_modules/cssesc/cssesc.mjs.map +0 -1
- package/dist/node_modules/nanoid/non-secure/index.js +0 -31
- package/dist/node_modules/nanoid/non-secure/index.js.map +0 -1
- package/dist/node_modules/nanoid/non-secure/index.mjs +0 -31
- package/dist/node_modules/nanoid/non-secure/index.mjs.map +0 -1
- package/dist/node_modules/picocolors/picocolors.browser.js +0 -17
- package/dist/node_modules/picocolors/picocolors.browser.js.map +0 -1
- package/dist/node_modules/picocolors/picocolors.browser.mjs +0 -17
- package/dist/node_modules/picocolors/picocolors.browser.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/at-rule.js +0 -30
- package/dist/node_modules/postcss/lib/at-rule.js.map +0 -1
- package/dist/node_modules/postcss/lib/at-rule.mjs +0 -30
- package/dist/node_modules/postcss/lib/at-rule.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/comment.js +0 -21
- package/dist/node_modules/postcss/lib/comment.js.map +0 -1
- package/dist/node_modules/postcss/lib/comment.mjs +0 -21
- package/dist/node_modules/postcss/lib/comment.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/container.js +0 -383
- package/dist/node_modules/postcss/lib/container.js.map +0 -1
- package/dist/node_modules/postcss/lib/container.mjs +0 -383
- package/dist/node_modules/postcss/lib/container.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/css-syntax-error.js +0 -92
- package/dist/node_modules/postcss/lib/css-syntax-error.js.map +0 -1
- package/dist/node_modules/postcss/lib/css-syntax-error.mjs +0 -92
- package/dist/node_modules/postcss/lib/css-syntax-error.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/declaration.js +0 -27
- package/dist/node_modules/postcss/lib/declaration.js.map +0 -1
- package/dist/node_modules/postcss/lib/declaration.mjs +0 -27
- package/dist/node_modules/postcss/lib/declaration.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/document.js +0 -34
- package/dist/node_modules/postcss/lib/document.js.map +0 -1
- package/dist/node_modules/postcss/lib/document.mjs +0 -34
- package/dist/node_modules/postcss/lib/document.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/fromJSON.js +0 -67
- package/dist/node_modules/postcss/lib/fromJSON.js.map +0 -1
- package/dist/node_modules/postcss/lib/fromJSON.mjs +0 -67
- package/dist/node_modules/postcss/lib/fromJSON.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/input.js +0 -216
- package/dist/node_modules/postcss/lib/input.js.map +0 -1
- package/dist/node_modules/postcss/lib/input.mjs +0 -216
- package/dist/node_modules/postcss/lib/input.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/lazy-result.js +0 -467
- package/dist/node_modules/postcss/lib/lazy-result.js.map +0 -1
- package/dist/node_modules/postcss/lib/lazy-result.mjs +0 -467
- package/dist/node_modules/postcss/lib/lazy-result.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/list.js +0 -60
- package/dist/node_modules/postcss/lib/list.js.map +0 -1
- package/dist/node_modules/postcss/lib/list.mjs +0 -60
- package/dist/node_modules/postcss/lib/list.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/map-generator.js +0 -314
- package/dist/node_modules/postcss/lib/map-generator.js.map +0 -1
- package/dist/node_modules/postcss/lib/map-generator.mjs +0 -314
- package/dist/node_modules/postcss/lib/map-generator.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/no-work-result.js +0 -113
- package/dist/node_modules/postcss/lib/no-work-result.js.map +0 -1
- package/dist/node_modules/postcss/lib/no-work-result.mjs +0 -113
- package/dist/node_modules/postcss/lib/no-work-result.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/node.js +0 -335
- package/dist/node_modules/postcss/lib/node.js.map +0 -1
- package/dist/node_modules/postcss/lib/node.mjs +0 -335
- package/dist/node_modules/postcss/lib/node.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/parse.js +0 -30
- package/dist/node_modules/postcss/lib/parse.js.map +0 -1
- package/dist/node_modules/postcss/lib/parse.mjs +0 -30
- package/dist/node_modules/postcss/lib/parse.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/parser.js +0 -543
- package/dist/node_modules/postcss/lib/parser.js.map +0 -1
- package/dist/node_modules/postcss/lib/parser.mjs +0 -543
- package/dist/node_modules/postcss/lib/parser.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/postcss.js +0 -28
- package/dist/node_modules/postcss/lib/postcss.js.map +0 -1
- package/dist/node_modules/postcss/lib/postcss.mjs +0 -29
- package/dist/node_modules/postcss/lib/postcss.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/postcss2.js +0 -110
- package/dist/node_modules/postcss/lib/postcss2.js.map +0 -1
- package/dist/node_modules/postcss/lib/postcss2.mjs +0 -110
- package/dist/node_modules/postcss/lib/postcss2.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/previous-map.js +0 -123
- package/dist/node_modules/postcss/lib/previous-map.js.map +0 -1
- package/dist/node_modules/postcss/lib/previous-map.mjs +0 -123
- package/dist/node_modules/postcss/lib/previous-map.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/processor.js +0 -61
- package/dist/node_modules/postcss/lib/processor.js.map +0 -1
- package/dist/node_modules/postcss/lib/processor.mjs +0 -61
- package/dist/node_modules/postcss/lib/processor.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/result.js +0 -44
- package/dist/node_modules/postcss/lib/result.js.map +0 -1
- package/dist/node_modules/postcss/lib/result.mjs +0 -44
- package/dist/node_modules/postcss/lib/result.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/root.js +0 -58
- package/dist/node_modules/postcss/lib/root.js.map +0 -1
- package/dist/node_modules/postcss/lib/root.mjs +0 -58
- package/dist/node_modules/postcss/lib/root.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/rule.js +0 -33
- package/dist/node_modules/postcss/lib/rule.js.map +0 -1
- package/dist/node_modules/postcss/lib/rule.mjs +0 -33
- package/dist/node_modules/postcss/lib/rule.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/stringifier.js +0 -308
- package/dist/node_modules/postcss/lib/stringifier.js.map +0 -1
- package/dist/node_modules/postcss/lib/stringifier.mjs +0 -308
- package/dist/node_modules/postcss/lib/stringifier.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/stringify.js +0 -19
- package/dist/node_modules/postcss/lib/stringify.js.map +0 -1
- package/dist/node_modules/postcss/lib/stringify.mjs +0 -19
- package/dist/node_modules/postcss/lib/stringify.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/symbols.js +0 -13
- package/dist/node_modules/postcss/lib/symbols.js.map +0 -1
- package/dist/node_modules/postcss/lib/symbols.mjs +0 -13
- package/dist/node_modules/postcss/lib/symbols.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/tokenize.js +0 -219
- package/dist/node_modules/postcss/lib/tokenize.js.map +0 -1
- package/dist/node_modules/postcss/lib/tokenize.mjs +0 -219
- package/dist/node_modules/postcss/lib/tokenize.mjs.map +0 -1
- package/dist/node_modules/postcss/lib/warning.js +0 -40
- package/dist/node_modules/postcss/lib/warning.js.map +0 -1
- package/dist/node_modules/postcss/lib/warning.mjs +0 -40
- package/dist/node_modules/postcss/lib/warning.mjs.map +0 -1
- package/dist/node_modules/postcss-js/async.js +0 -27
- package/dist/node_modules/postcss-js/async.js.map +0 -1
- package/dist/node_modules/postcss-js/async.mjs +0 -27
- package/dist/node_modules/postcss-js/async.mjs.map +0 -1
- package/dist/node_modules/postcss-js/index.js +0 -8
- package/dist/node_modules/postcss-js/index.js.map +0 -1
- package/dist/node_modules/postcss-js/index.mjs +0 -9
- package/dist/node_modules/postcss-js/index.mjs.map +0 -1
- package/dist/node_modules/postcss-js/index2.js +0 -25
- package/dist/node_modules/postcss-js/index2.js.map +0 -1
- package/dist/node_modules/postcss-js/index2.mjs +0 -25
- package/dist/node_modules/postcss-js/index2.mjs.map +0 -1
- package/dist/node_modules/postcss-js/objectifier.js +0 -92
- package/dist/node_modules/postcss-js/objectifier.js.map +0 -1
- package/dist/node_modules/postcss-js/objectifier.mjs +0 -92
- package/dist/node_modules/postcss-js/objectifier.mjs.map +0 -1
- package/dist/node_modules/postcss-js/parser.js +0 -102
- package/dist/node_modules/postcss-js/parser.js.map +0 -1
- package/dist/node_modules/postcss-js/parser.mjs +0 -102
- package/dist/node_modules/postcss-js/parser.mjs.map +0 -1
- package/dist/node_modules/postcss-js/process-result.js +0 -22
- package/dist/node_modules/postcss-js/process-result.js.map +0 -1
- package/dist/node_modules/postcss-js/process-result.mjs +0 -22
- package/dist/node_modules/postcss-js/process-result.mjs.map +0 -1
- package/dist/node_modules/postcss-js/sync.js +0 -24
- package/dist/node_modules/postcss-js/sync.js.map +0 -1
- package/dist/node_modules/postcss-js/sync.mjs +0 -24
- package/dist/node_modules/postcss-js/sync.mjs.map +0 -1
- package/dist/node_modules/postcss-nesting/dist/index.js +0 -267
- package/dist/node_modules/postcss-nesting/dist/index.js.map +0 -1
- package/dist/node_modules/postcss-nesting/dist/index.mjs +0 -268
- package/dist/node_modules/postcss-nesting/dist/index.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/index.js +0 -67
- package/dist/node_modules/postcss-selector-parser/dist/index.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/index.mjs +0 -67
- package/dist/node_modules/postcss-selector-parser/dist/index.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/parser.js +0 -1038
- package/dist/node_modules/postcss-selector-parser/dist/parser.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/parser.mjs +0 -1038
- package/dist/node_modules/postcss-selector-parser/dist/parser.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/processor.js +0 -137
- package/dist/node_modules/postcss-selector-parser/dist/processor.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/processor.mjs +0 -137
- package/dist/node_modules/postcss-selector-parser/dist/processor.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/attribute.js +0 -404
- package/dist/node_modules/postcss-selector-parser/dist/selectors/attribute.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/attribute.mjs +0 -404
- package/dist/node_modules/postcss-selector-parser/dist/selectors/attribute.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/className.js +0 -89
- package/dist/node_modules/postcss-selector-parser/dist/selectors/className.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/className.mjs +0 -89
- package/dist/node_modules/postcss-selector-parser/dist/selectors/className.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/combinator.js +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/combinator.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/combinator.mjs +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/combinator.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/comment.js +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/comment.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/comment.mjs +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/comment.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/constructors.js +0 -88
- package/dist/node_modules/postcss-selector-parser/dist/selectors/constructors.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/constructors.mjs +0 -88
- package/dist/node_modules/postcss-selector-parser/dist/selectors/constructors.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/container.js +0 -391
- package/dist/node_modules/postcss-selector-parser/dist/selectors/container.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/container.mjs +0 -391
- package/dist/node_modules/postcss-selector-parser/dist/selectors/container.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/guards.js +0 -68
- package/dist/node_modules/postcss-selector-parser/dist/selectors/guards.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/guards.mjs +0 -68
- package/dist/node_modules/postcss-selector-parser/dist/selectors/guards.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/id.js +0 -50
- package/dist/node_modules/postcss-selector-parser/dist/selectors/id.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/id.mjs +0 -50
- package/dist/node_modules/postcss-selector-parser/dist/selectors/id.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/index.js +0 -35
- package/dist/node_modules/postcss-selector-parser/dist/selectors/index.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/index.mjs +0 -35
- package/dist/node_modules/postcss-selector-parser/dist/selectors/index.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/namespace.js +0 -117
- package/dist/node_modules/postcss-selector-parser/dist/selectors/namespace.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/namespace.mjs +0 -117
- package/dist/node_modules/postcss-selector-parser/dist/selectors/namespace.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/nesting.js +0 -47
- package/dist/node_modules/postcss-selector-parser/dist/selectors/nesting.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/nesting.mjs +0 -47
- package/dist/node_modules/postcss-selector-parser/dist/selectors/nesting.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/node.js +0 -183
- package/dist/node_modules/postcss-selector-parser/dist/selectors/node.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/node.mjs +0 -183
- package/dist/node_modules/postcss-selector-parser/dist/selectors/node.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/pseudo.js +0 -51
- package/dist/node_modules/postcss-selector-parser/dist/selectors/pseudo.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/pseudo.mjs +0 -51
- package/dist/node_modules/postcss-selector-parser/dist/selectors/pseudo.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/root.js +0 -81
- package/dist/node_modules/postcss-selector-parser/dist/selectors/root.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/root.mjs +0 -81
- package/dist/node_modules/postcss-selector-parser/dist/selectors/root.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/selector.js +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/selector.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/selector.mjs +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/selector.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/string.js +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/string.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/string.mjs +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/string.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/tag.js +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/tag.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/tag.mjs +0 -46
- package/dist/node_modules/postcss-selector-parser/dist/selectors/tag.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/types.js +0 -37
- package/dist/node_modules/postcss-selector-parser/dist/selectors/types.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/types.mjs +0 -37
- package/dist/node_modules/postcss-selector-parser/dist/selectors/types.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/universal.js +0 -47
- package/dist/node_modules/postcss-selector-parser/dist/selectors/universal.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/selectors/universal.mjs +0 -47
- package/dist/node_modules/postcss-selector-parser/dist/selectors/universal.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/sortAscending.js +0 -21
- package/dist/node_modules/postcss-selector-parser/dist/sortAscending.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/sortAscending.mjs +0 -21
- package/dist/node_modules/postcss-selector-parser/dist/sortAscending.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/tokenTypes.js +0 -75
- package/dist/node_modules/postcss-selector-parser/dist/tokenTypes.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/tokenTypes.mjs +0 -75
- package/dist/node_modules/postcss-selector-parser/dist/tokenTypes.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/tokenize.js +0 -264
- package/dist/node_modules/postcss-selector-parser/dist/tokenize.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/tokenize.mjs +0 -264
- package/dist/node_modules/postcss-selector-parser/dist/tokenize.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/ensureObject.js +0 -28
- package/dist/node_modules/postcss-selector-parser/dist/util/ensureObject.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/ensureObject.mjs +0 -28
- package/dist/node_modules/postcss-selector-parser/dist/util/ensureObject.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/getProp.js +0 -29
- package/dist/node_modules/postcss-selector-parser/dist/util/getProp.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/getProp.mjs +0 -29
- package/dist/node_modules/postcss-selector-parser/dist/util/getProp.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/index.js +0 -28
- package/dist/node_modules/postcss-selector-parser/dist/util/index.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/index.mjs +0 -28
- package/dist/node_modules/postcss-selector-parser/dist/util/index.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/stripComments.js +0 -32
- package/dist/node_modules/postcss-selector-parser/dist/util/stripComments.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/stripComments.mjs +0 -32
- package/dist/node_modules/postcss-selector-parser/dist/util/stripComments.mjs.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/unesc.js +0 -68
- package/dist/node_modules/postcss-selector-parser/dist/util/unesc.js.map +0 -1
- package/dist/node_modules/postcss-selector-parser/dist/util/unesc.mjs +0 -68
- package/dist/node_modules/postcss-selector-parser/dist/util/unesc.mjs.map +0 -1
- package/dist/node_modules/util-deprecate/browser.js +0 -43
- package/dist/node_modules/util-deprecate/browser.js.map +0 -1
- package/dist/node_modules/util-deprecate/browser.mjs +0 -43
- package/dist/node_modules/util-deprecate/browser.mjs.map +0 -1
- package/dist/utilities/accessibility/index.d.ts +0 -13
- package/dist/utilities/accessibility/index.d.ts.map +0 -1
- package/dist/utilities/accessibility/index.js +0 -89
- package/dist/utilities/accessibility/index.js.map +0 -1
- package/dist/utilities/accessibility/index.mjs +0 -89
- package/dist/utilities/accessibility/index.mjs.map +0 -1
- package/dist/utilities/assets/icons.d.ts +0 -26
- package/dist/utilities/assets/icons.d.ts.map +0 -1
- package/dist/utilities/assets/icons.js +0 -53
- package/dist/utilities/assets/icons.js.map +0 -1
- package/dist/utilities/assets/icons.mjs +0 -53
- package/dist/utilities/assets/icons.mjs.map +0 -1
- package/dist/utilities/assets/index.d.ts +0 -4
- package/dist/utilities/assets/index.d.ts.map +0 -1
- package/dist/utilities/assets/index.js +0 -9
- package/dist/utilities/assets/index.js.map +0 -1
- package/dist/utilities/assets/index.mjs +0 -9
- package/dist/utilities/assets/index.mjs.map +0 -1
- package/dist/utilities/assets/logos.d.ts +0 -6
- package/dist/utilities/assets/logos.d.ts.map +0 -1
- package/dist/utilities/assets/logos.js +0 -14
- package/dist/utilities/assets/logos.js.map +0 -1
- package/dist/utilities/assets/logos.mjs +0 -14
- package/dist/utilities/assets/logos.mjs.map +0 -1
- package/dist/utilities/assets/social.d.ts +0 -8
- package/dist/utilities/assets/social.d.ts.map +0 -1
- package/dist/utilities/assets/social.js +0 -17
- package/dist/utilities/assets/social.js.map +0 -1
- package/dist/utilities/assets/social.mjs +0 -17
- package/dist/utilities/assets/social.mjs.map +0 -1
- package/dist/utilities/date.d.ts +0 -12
- package/dist/utilities/date.d.ts.map +0 -1
- package/dist/utilities/date.js +0 -36
- package/dist/utilities/date.js.map +0 -1
- package/dist/utilities/date.mjs +0 -36
- package/dist/utilities/date.mjs.map +0 -1
- package/dist/utilities/index.d.ts +0 -10
- package/dist/utilities/index.d.ts.map +0 -1
- package/dist/utilities/js-events/index.d.ts +0 -5
- package/dist/utilities/js-events/index.d.ts.map +0 -1
- package/dist/utilities/js-events/index.js +0 -37
- package/dist/utilities/js-events/index.js.map +0 -1
- package/dist/utilities/js-events/index.mjs +0 -37
- package/dist/utilities/js-events/index.mjs.map +0 -1
- package/dist/utilities/markup/create.d.ts +0 -13
- package/dist/utilities/markup/create.d.ts.map +0 -1
- package/dist/utilities/markup/create.js +0 -95
- package/dist/utilities/markup/create.js.map +0 -1
- package/dist/utilities/markup/create.mjs +0 -95
- package/dist/utilities/markup/create.mjs.map +0 -1
- package/dist/utilities/markup/get.d.ts +0 -4
- package/dist/utilities/markup/get.d.ts.map +0 -1
- package/dist/utilities/markup/get.js +0 -18
- package/dist/utilities/markup/get.js.map +0 -1
- package/dist/utilities/markup/get.mjs +0 -18
- package/dist/utilities/markup/get.mjs.map +0 -1
- package/dist/utilities/markup/index.d.ts +0 -5
- package/dist/utilities/markup/index.d.ts.map +0 -1
- package/dist/utilities/markup/index.js +0 -11
- package/dist/utilities/markup/index.js.map +0 -1
- package/dist/utilities/markup/index.mjs +0 -11
- package/dist/utilities/markup/index.mjs.map +0 -1
- package/dist/utilities/markup/locate.d.ts +0 -5
- package/dist/utilities/markup/locate.d.ts.map +0 -1
- package/dist/utilities/markup/locate.js +0 -26
- package/dist/utilities/markup/locate.js.map +0 -1
- package/dist/utilities/markup/locate.mjs +0 -26
- package/dist/utilities/markup/locate.mjs.map +0 -1
- package/dist/utilities/markup/modify.d.ts +0 -21
- package/dist/utilities/markup/modify.d.ts.map +0 -1
- package/dist/utilities/markup/modify.js +0 -93
- package/dist/utilities/markup/modify.js.map +0 -1
- package/dist/utilities/markup/modify.mjs +0 -93
- package/dist/utilities/markup/modify.mjs.map +0 -1
- package/dist/utilities/network/index.d.ts +0 -10
- package/dist/utilities/network/index.d.ts.map +0 -1
- package/dist/utilities/network/index.js +0 -35
- package/dist/utilities/network/index.js.map +0 -1
- package/dist/utilities/network/index.mjs +0 -35
- package/dist/utilities/network/index.mjs.map +0 -1
- package/dist/utilities/performance/index.d.ts +0 -2
- package/dist/utilities/performance/index.d.ts.map +0 -1
- package/dist/utilities/performance/index.js +0 -12
- package/dist/utilities/performance/index.js.map +0 -1
- package/dist/utilities/performance/index.mjs +0 -12
- package/dist/utilities/performance/index.mjs.map +0 -1
- package/dist/utilities/storage/index.d.ts +0 -2
- package/dist/utilities/storage/index.d.ts.map +0 -1
- package/dist/utilities/storage/index.js +0 -5
- package/dist/utilities/storage/index.js.map +0 -1
- package/dist/utilities/storage/index.mjs +0 -5
- package/dist/utilities/storage/index.mjs.map +0 -1
- package/dist/utilities/storage/local.d.ts +0 -7
- package/dist/utilities/storage/local.d.ts.map +0 -1
- package/dist/utilities/storage/local.js +0 -14
- package/dist/utilities/storage/local.js.map +0 -1
- package/dist/utilities/storage/local.mjs +0 -14
- package/dist/utilities/storage/local.mjs.map +0 -1
- package/dist/utilities/theme/animations.d.ts +0 -9
- package/dist/utilities/theme/animations.d.ts.map +0 -1
- package/dist/utilities/theme/animations.js +0 -70
- package/dist/utilities/theme/animations.js.map +0 -1
- package/dist/utilities/theme/animations.mjs +0 -70
- package/dist/utilities/theme/animations.mjs.map +0 -1
- package/dist/utilities/theme/assets.d.ts +0 -6
- package/dist/utilities/theme/assets.d.ts.map +0 -1
- package/dist/utilities/theme/assets.js +0 -17
- package/dist/utilities/theme/assets.js.map +0 -1
- package/dist/utilities/theme/assets.mjs +0 -17
- package/dist/utilities/theme/assets.mjs.map +0 -1
- package/dist/utilities/theme/index.d.ts +0 -11
- package/dist/utilities/theme/index.d.ts.map +0 -1
- package/dist/utilities/theme/index.js +0 -28
- package/dist/utilities/theme/index.js.map +0 -1
- package/dist/utilities/theme/index.mjs +0 -28
- package/dist/utilities/theme/index.mjs.map +0 -1
- package/dist/utilities/theme/media.d.ts +0 -12
- package/dist/utilities/theme/media.d.ts.map +0 -1
- package/dist/utilities/theme/media.js +0 -21
- package/dist/utilities/theme/media.js.map +0 -1
- package/dist/utilities/theme/media.mjs +0 -21
- package/dist/utilities/theme/media.mjs.map +0 -1
- package/dist/utilities.d.ts +0 -2
- package/dist/utilities.js +0 -21
- package/dist/utilities.js.map +0 -1
- package/dist/utilities.mjs +0 -21
- package/dist/utilities.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as carouselElements from '../elements';\n\ntype TypeCarouselRequirements = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n isThemeDark?: boolean;\n gridGap?: string | null;\n hasLeftButton?: boolean;\n hasRightButton?: boolean;\n mobileHint?: boolean;\n hint?: boolean;\n mobileSize?: number | null;\n tabletSize?: number | null;\n desktopSize?: number | null;\n mobileCount?: number | null;\n tabletCount?: number | null;\n desktopCount?: number | null;\n maxCount?: number | null;\n};\n\nconst ATTRIBUTE_THEME = 'data-theme';\nconst THEME_DARK = 'dark';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\n\nconst ELEMENT_NAME = 'umd-element-carousel';\nconst ELEMENT_DECLARATION = 'carousel-default-declaration';\nconst CAROUSEL_CONTAINER = 'element-carousel-default-container';\n\nconst OVERWRITE_ANIMATION_CAROUSEL_CONTAINER = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.container}`;\nconst OVERWRITE_ANIMATION_CAROUSEL_BUTTON = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.button}`;\nconst OVERWRITE_ANIMATION_BUTTON_PREVIOUS = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.previousButton}`;\nconst OVERWRITE_ANIMATION_BUTTON_NEXT = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.nextButton}`;\n\nconst OVERWRITE_THEME_DARK_CONTAINER = `.${CAROUSEL_CONTAINER}${IS_THEME_DARK}`;\nconst OVERWRITE_THEME_DARK_BUTTON = `${OVERWRITE_THEME_DARK_CONTAINER} .${carouselElements.blocks.Elements.button}`;\n\nconst OVERWRITE_SINGLE_COLUMN = `.${CAROUSEL_CONTAINER} ${carouselElements.blocks.Elements.containerSingleBlock}`;\nconst OVERWRITE_SINGLE_COLUMN_BUTTONS = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.button}`;\nconst OVERWRITE_SINGLE_COLUMN_PREVIOUS = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.previousButton}`;\nconst OVERWRITE_SINGLE_COLUMN_NEXT = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.nextButton}`;\n\n// prettier-ignore\nconst OverwriteThemeDark = `\n ${OVERWRITE_THEME_DARK_BUTTON} {\n background-color: ${token.color.red} !important;\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} > svg {\n fill: ${token.color.white} !important;\n }\n`;\n\n// prettier-ignore\nconst OverwriteCarouselStyles = `\n .${OVERWRITE_ANIMATION_CAROUSEL_CONTAINER} {\n padding-bottom: 0;\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {\n top: 50%;\n transform: translateY(-50%);\n background-color: ${token.color.white};\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} > svg {\n fill: ${token.color.black};\n }\n\n ${OVERWRITE_ANIMATION_BUTTON_PREVIOUS} {\n left: 0;\n }\n\n ${OVERWRITE_ANIMATION_BUTTON_NEXT} {\n right: 0;\n }\n\n ${OVERWRITE_SINGLE_COLUMN} {\n padding-bottom: 70px;\n }\n\n ${OVERWRITE_SINGLE_COLUMN_BUTTONS} {\n bottom: -19px;\n top: inherit;\n background-color: ${token.color.gray.lighter};\n }\n\n ${OVERWRITE_SINGLE_COLUMN_PREVIOUS} {\n left: calc(50% - 44px);\n }\n\n ${OVERWRITE_SINGLE_COLUMN_NEXT} {\n left: calc(50% + 4px);\n right: inherit;\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${CAROUSEL_CONTAINER} {\n position: relative;\n overflow: hidden;\n }\n`\n\n// prettier-ignore\nconst STYLES_CAROUSEL_ELEMENT = `\n .${ELEMENT_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_DECLARATION} * {\n color: ${token.color.white};\n }\n \n ${carouselElements.blocks.Styles}\n ${ContainerStyles}\n ${OverwriteCarouselStyles}\n ${OverwriteThemeDark}\n`;\n\nexport default (props: TypeCarouselRequirements) =>\n (() => {\n const {\n isThemeDark,\n gridGap,\n hasLeftButton = true,\n hasRightButton = true,\n mobileHint,\n hint,\n tabletSize,\n desktopSize,\n tabletCount,\n desktopCount,\n maxCount,\n } = props;\n\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const overwriteDisplayLogic: Record<string, number | boolean> = {\n tabletBreakpoint: tabletSize || 768,\n desktopBreakpoint: desktopSize || 1024,\n tabletCount: tabletCount || 2,\n desktopCount: desktopCount || 3,\n maxCount: maxCount || 4,\n hasLeftButton,\n hasRightButton,\n showMobileHint: true,\n showHint: true,\n };\n\n if (gridGap) {\n overwriteDisplayLogic.blockGap = parseInt(gridGap);\n overwriteDisplayLogic.tabletBreakpoint = 1000 + parseInt(gridGap);\n overwriteDisplayLogic.desktopBreakpoint = 1400 + parseInt(gridGap);\n }\n\n if (!mobileHint) overwriteDisplayLogic.showMobileHint = false;\n if (!hint) overwriteDisplayLogic.showHint = false;\n\n const carouselContainer = carouselElements.blocks.CreateElement({\n ...props,\n blocks: props.blocks,\n overwriteDisplayLogic,\n });\n\n wrapper.appendChild(carouselContainer.element);\n\n container.classList.add(CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n if (isThemeDark) container.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n\n declaration.classList.add(ELEMENT_DECLARATION);\n declaration.appendChild(container);\n\n return {\n element: declaration,\n styles: STYLES_CAROUSEL_ELEMENT,\n events: {\n resize: carouselContainer.events.resize,\n load: carouselContainer.events.load,\n },\n };\n })();\n"],"names":["carouselElements.blocks","token"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as carouselElements from '../elements';\n\ntype TypeCarouselRequirements = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n isThemeDark?: boolean;\n gridGap?: string | null;\n hasLeftButton?: boolean;\n hasRightButton?: boolean;\n mobileHint?: boolean;\n hint?: boolean;\n mobileSize?: number | null;\n tabletSize?: number | null;\n desktopSize?: number | null;\n mobileCount?: number | null;\n tabletCount?: number | null;\n desktopCount?: number | null;\n maxCount?: number | null;\n};\n\nconst ATTRIBUTE_THEME = 'data-theme';\nconst THEME_DARK = 'dark';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\n\nconst ELEMENT_NAME = 'umd-element-carousel';\nconst ELEMENT_DECLARATION = 'carousel-default-declaration';\nconst CAROUSEL_CONTAINER = 'element-carousel-default-container';\n\nconst OVERWRITE_ANIMATION_CAROUSEL_CONTAINER = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.container}`;\nconst OVERWRITE_ANIMATION_CAROUSEL_BUTTON = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.button}`;\nconst OVERWRITE_ANIMATION_BUTTON_PREVIOUS = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.previousButton}`;\nconst OVERWRITE_ANIMATION_BUTTON_NEXT = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.nextButton}`;\n\nconst OVERWRITE_THEME_DARK_CONTAINER = `.${CAROUSEL_CONTAINER}${IS_THEME_DARK}`;\nconst OVERWRITE_THEME_DARK_BUTTON = `${OVERWRITE_THEME_DARK_CONTAINER} .${carouselElements.blocks.Elements.button}`;\n\nconst OVERWRITE_SINGLE_COLUMN = `.${CAROUSEL_CONTAINER} ${carouselElements.blocks.Elements.containerSingleBlock}`;\nconst OVERWRITE_SINGLE_COLUMN_BUTTONS = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.button}`;\nconst OVERWRITE_SINGLE_COLUMN_PREVIOUS = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.previousButton}`;\nconst OVERWRITE_SINGLE_COLUMN_NEXT = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.nextButton}`;\n\n// prettier-ignore\nconst OverwriteThemeDark = `\n ${OVERWRITE_THEME_DARK_BUTTON} {\n background-color: ${token.color.red} !important;\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} > svg {\n fill: ${token.color.white} !important;\n }\n`;\n\n// prettier-ignore\nconst OverwriteCarouselStyles = `\n .${OVERWRITE_ANIMATION_CAROUSEL_CONTAINER} {\n padding-bottom: 0;\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {\n top: 50%;\n transform: translateY(-50%);\n background-color: ${token.color.white};\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} > svg {\n fill: ${token.color.black};\n }\n\n ${OVERWRITE_ANIMATION_BUTTON_PREVIOUS} {\n left: 0;\n }\n\n ${OVERWRITE_ANIMATION_BUTTON_NEXT} {\n right: 0;\n }\n\n ${OVERWRITE_SINGLE_COLUMN} {\n padding-bottom: 70px;\n }\n\n ${OVERWRITE_SINGLE_COLUMN_BUTTONS} {\n bottom: -19px;\n top: inherit;\n background-color: ${token.color.gray.lighter};\n }\n\n ${OVERWRITE_SINGLE_COLUMN_PREVIOUS} {\n left: calc(50% - 44px);\n }\n\n ${OVERWRITE_SINGLE_COLUMN_NEXT} {\n left: calc(50% + 4px);\n right: inherit;\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${CAROUSEL_CONTAINER} {\n position: relative;\n overflow: hidden;\n }\n`\n\n// prettier-ignore\nconst STYLES_CAROUSEL_ELEMENT = `\n .${ELEMENT_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_DECLARATION} * {\n color: ${token.color.white};\n }\n \n ${carouselElements.blocks.Styles}\n ${ContainerStyles}\n ${OverwriteCarouselStyles}\n ${OverwriteThemeDark}\n`;\n\nexport default (props: TypeCarouselRequirements) =>\n (() => {\n const {\n isThemeDark,\n gridGap,\n hasLeftButton = true,\n hasRightButton = true,\n mobileHint,\n hint,\n tabletSize,\n desktopSize,\n tabletCount,\n desktopCount,\n maxCount,\n } = props;\n\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const overwriteDisplayLogic: Record<string, number | boolean> = {\n tabletBreakpoint: tabletSize || 768,\n desktopBreakpoint: desktopSize || 1024,\n tabletCount: tabletCount || 2,\n desktopCount: desktopCount || 3,\n maxCount: maxCount || 4,\n hasLeftButton,\n hasRightButton,\n showMobileHint: true,\n showHint: true,\n };\n\n if (gridGap) {\n overwriteDisplayLogic.blockGap = parseInt(gridGap);\n overwriteDisplayLogic.tabletBreakpoint = 1000 + parseInt(gridGap);\n overwriteDisplayLogic.desktopBreakpoint = 1400 + parseInt(gridGap);\n }\n\n if (!mobileHint) overwriteDisplayLogic.showMobileHint = false;\n if (!hint) overwriteDisplayLogic.showHint = false;\n\n const carouselContainer = carouselElements.blocks.CreateElement({\n ...props,\n blocks: props.blocks,\n overwriteDisplayLogic,\n });\n\n wrapper.appendChild(carouselContainer.element);\n\n container.classList.add(CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n if (isThemeDark) container.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n\n declaration.classList.add(ELEMENT_DECLARATION);\n declaration.appendChild(container);\n\n return {\n element: declaration,\n styles: STYLES_CAROUSEL_ELEMENT,\n events: {\n resize: carouselContainer.events.resize,\n load: carouselContainer.events.load,\n },\n };\n })();\n"],"names":["carouselElements.blocks"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"names":[],"mappings":"AAOA,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,KAAK,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEvD,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,CAAC;;2BA8UyC,+BAA+B;;;;;;;;;;;;;;;;;AA+P1E,wBAWE"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
2
|
+
const token = require("@universityofmaryland/web-styles-library/token");
|
|
3
|
+
const elementStyles = require("@universityofmaryland/web-styles-library/element");
|
|
4
|
+
const arrows = require("@universityofmaryland/web-icons-library/arrows");
|
|
5
|
+
const performance = require("@universityofmaryland/web-utilities-library/performance");
|
|
6
|
+
const events = require("@universityofmaryland/web-utilities-library/events");
|
|
7
|
+
const styles = require("@universityofmaryland/web-utilities-library/styles");
|
|
7
8
|
function _interopNamespaceDefault(e) {
|
|
8
9
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
9
10
|
if (e) {
|
|
@@ -20,9 +21,9 @@ function _interopNamespaceDefault(e) {
|
|
|
20
21
|
n.default = e;
|
|
21
22
|
return Object.freeze(n);
|
|
22
23
|
}
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const fullScreenClassName =
|
|
24
|
+
const token__namespace = /* @__PURE__ */ _interopNamespaceDefault(token);
|
|
25
|
+
const elementStyles__namespace = /* @__PURE__ */ _interopNamespaceDefault(elementStyles);
|
|
26
|
+
const fullScreenClassName = elementStyles__namespace.action.button.fullScreen.className;
|
|
26
27
|
const ATTRIBUTE_SINGLE_BLOCK = "single";
|
|
27
28
|
const ANIMATION_DURATION = 750;
|
|
28
29
|
const HINT_MULTIPLER_MOBILE_SIZING = 0.2;
|
|
@@ -38,8 +39,8 @@ const ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-pre
|
|
|
38
39
|
const OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;
|
|
39
40
|
const ButtonStyles = `
|
|
40
41
|
.${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {
|
|
41
|
-
background-color: ${
|
|
42
|
-
padding: 10px ${
|
|
42
|
+
background-color: ${token__namespace.color.red};
|
|
43
|
+
padding: 10px ${token__namespace.spacing.xs};
|
|
43
44
|
position: absolute;
|
|
44
45
|
z-index: 9999;
|
|
45
46
|
display: flex;
|
|
@@ -56,7 +57,7 @@ const ButtonStyles = `
|
|
|
56
57
|
.${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {
|
|
57
58
|
width: 20px;
|
|
58
59
|
height: 20px;
|
|
59
|
-
fill: ${
|
|
60
|
+
fill: ${token__namespace.color.white};
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {
|
|
@@ -114,10 +115,10 @@ const EventScrollCarousel = (props) => {
|
|
|
114
115
|
const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);
|
|
115
116
|
if (orginalFullScreen && cloneFullScreen) {
|
|
116
117
|
const indexAttr = orginalFullScreen.getAttribute("data-index");
|
|
117
|
-
const
|
|
118
|
+
const index = indexAttr ? parseInt(indexAttr) : 0;
|
|
118
119
|
cloneFullScreen.addEventListener(
|
|
119
120
|
"click",
|
|
120
|
-
() => fullScreenCallback(
|
|
121
|
+
() => fullScreenCallback(index)
|
|
121
122
|
);
|
|
122
123
|
}
|
|
123
124
|
};
|
|
@@ -182,7 +183,7 @@ const EventSwipe = (props) => {
|
|
|
182
183
|
EventScrollCarousel({ ...props, isDirectionRight: false });
|
|
183
184
|
}
|
|
184
185
|
};
|
|
185
|
-
|
|
186
|
+
events.setupSwipeDetection({ container, callback: swipes });
|
|
186
187
|
};
|
|
187
188
|
const ButtonVisibility = (props) => {
|
|
188
189
|
const { GetElements, GetViewOptions } = props;
|
|
@@ -235,7 +236,7 @@ const CreateButton = ({
|
|
|
235
236
|
button.setAttribute("type", "button");
|
|
236
237
|
button.setAttribute("aria-label", "Next");
|
|
237
238
|
button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);
|
|
238
|
-
button.innerHTML =
|
|
239
|
+
button.innerHTML = arrows.arrow_right;
|
|
239
240
|
if (isRight) {
|
|
240
241
|
button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);
|
|
241
242
|
}
|
|
@@ -266,7 +267,7 @@ const CreateCarouselCardsElement = (props) => (() => {
|
|
|
266
267
|
tabletCount: 2,
|
|
267
268
|
desktopCount: 3,
|
|
268
269
|
maxCount: 4,
|
|
269
|
-
blockGap:
|
|
270
|
+
blockGap: styles.parsePixelValue(token__namespace.spacing.lg),
|
|
270
271
|
hasRightButton: true,
|
|
271
272
|
hasLeftButton: true,
|
|
272
273
|
showMobileHint: true,
|
|
@@ -365,8 +366,8 @@ const CreateCarouselCardsElement = (props) => (() => {
|
|
|
365
366
|
);
|
|
366
367
|
const isHint = GetViewOptions.shouldShowHint();
|
|
367
368
|
const isShowMobileHint = GetViewOptions.shouldShowMobileHint();
|
|
368
|
-
containerBlocks.forEach((block,
|
|
369
|
-
if (
|
|
369
|
+
containerBlocks.forEach((block, index) => {
|
|
370
|
+
if (index >= count) {
|
|
370
371
|
block.style.display = "none";
|
|
371
372
|
} else {
|
|
372
373
|
block.style.display = "block";
|
|
@@ -457,10 +458,7 @@ const CreateCarouselCardsElement = (props) => (() => {
|
|
|
457
458
|
container.appendChild(wrapper);
|
|
458
459
|
declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);
|
|
459
460
|
declaration.appendChild(container);
|
|
460
|
-
window.addEventListener(
|
|
461
|
-
"resize",
|
|
462
|
-
index$1.debounce(Event.resize, 30)
|
|
463
|
-
);
|
|
461
|
+
window.addEventListener("resize", performance.debounce(Event.resize, 30));
|
|
464
462
|
return {
|
|
465
463
|
element: declaration,
|
|
466
464
|
events: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.js","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as Utility from 'utilities';\n\ntype TypeDisplayLogic = {\n mobileCount: number;\n mobileBreakpoint: number;\n tabletCount: number;\n tabletBreakpoint: number;\n desktopCount: number;\n desktopBreakpoint: number;\n maxCount: number;\n blockGap: number;\n hasRightButton: boolean;\n hasLeftButton: boolean;\n showMobileHint: boolean;\n showHint: boolean;\n fullScreenCallback?: (index: number) => void;\n};\n\ntype TypeDisplayLogicProps = Partial<TypeDisplayLogic>;\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n overwriteDisplayLogic?: TypeDisplayLogicProps;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\n };\n GetViewOptions: {\n isTabletView: () => boolean;\n showCount: () => number;\n shouldShowMobileHint: () => boolean;\n shouldShowHint: () => boolean;\n shouldShowLeftButton: () => boolean;\n shouldShowRightButton: () => boolean;\n };\n GetSizes: {\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => number;\n };\n SetLayout: {\n blockWidth: ({ count }: { count: number }) => void;\n carouselWidth: ({ count }: { count: number }) => void;\n };\n};\n\ntype TypeEventScroll = TypeHelpers & {\n isDirectionRight?: boolean;\n};\n\nconst { token } = Styles;\nconst fullScreenClassName = Styles.element.action.button.fullScreen.className;\n\nconst ATTRIBUTE_SINGLE_BLOCK = 'single';\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;\n\nconst ELEMENT_NAME = 'umd-element-animation-carousel-block';\nconst ELEMENT_ANIMATION_CAROUSEL_DECLARATION =\n 'animation-carousel-block-declaration';\nconst ELEMENT_ANIMATION_CAROUSEL_CONTAINER =\n 'animation-carousel-block-container';\nconst ELEMENT_ANIMATION_CAROUSEL_WRAPPER = 'animation-carousel-block-wrapper';\nconst ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;\nconst ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;\nconst ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;\n\nconst OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;\n\n// prettier-ignore\nconst ButtonStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {\n background-color: ${token.color.red};\n padding: 10px ${token.spacing.xs};\n position: absolute;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n display: none;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {\n opacity: 0.5;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {\n width: 20px;\n height: 20px;\n fill: ${token.color.white};\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {\n transform: rotate(180deg);\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {\n position: relative;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {\n overflow: hidden;\n padding-right: 0;\n width: 100%;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n width: 100%;\n }\n\n ${ContainerStyles}\n ${ButtonStyles}\n`;\n\nconst EventScrollCarousel = (props: TypeEventScroll) => {\n const {\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n isDirectionRight = true,\n displayLogic,\n } = props;\n const carouselSlider = GetElements.slide();\n const slotContent = Array.from(\n carouselSlider.querySelectorAll(':scope > *'),\n ) as HTMLDivElement[];\n\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const count = GetViewOptions.showCount();\n\n // Force layout recalculation to get accurate measurements\n void slotContent[0]?.offsetHeight;\n const elementSize = slotContent[0]?.offsetWidth || 0;\n const carouselSize = GetSizes.carouselWidthBasedOnBlock({ count });\n const { fullScreenCallback } = displayLogic;\n\n if (!elementSize) return;\n\n const elementSizeWithSpace = elementSize;\n const temporaryCarouselSize = carouselSize + elementSizeWithSpace;\n\n const cloneReferenceEvents = ({\n orginal,\n clone,\n }: {\n orginal: HTMLElement;\n clone: HTMLElement;\n }) => {\n const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (orginalFullScreen && cloneFullScreen) {\n const indexAttr = orginalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\n };\n\n const animateRight = () => {\n const firstElement = slotContent[0];\n const clonedElement = firstElement.cloneNode(true) as HTMLDivElement;\n const upcomingElement = slotContent[count];\n const hintElement = slotContent[count + 1];\n\n // Prepare elements before animation\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n // Add clone but keep it hidden initially\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n // Set width first and force layout recalculation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(firstElement);\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n const animateLeft = () => {\n const lastElement = slotContent[slotContent.length - 1];\n const removedElement = slotContent[count - 1];\n const hintElementSibiling = slotContent[count];\n const clonedElement = lastElement.cloneNode(true) as HTMLDivElement;\n\n // Prepare clone with proper event handlers\n cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });\n\n // Set width first before DOM manipulation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n\n // Add cloned element at the beginning\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n\n // Set initial transform position\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n // Force layout recalculation\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(0)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(lastElement);\n\n if (!isShowMobileHint && !isShowHint) {\n removedElement.style.display = 'none';\n }\n\n if (isShowMobileHint || isShowHint) {\n hintElementSibiling.style.display = 'none';\n }\n\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n isDirectionRight ? animateRight() : animateLeft();\n};\n\nconst EventSwipe = (props: TypeHelpers) => {\n const { GetElements } = props;\n const container = GetElements.container();\n\n const swipes = (isrightswipe: Boolean) => {\n if (!isrightswipe) {\n EventScrollCarousel(props);\n } else {\n EventScrollCarousel({ ...props, isDirectionRight: false });\n }\n };\n\n Utility.javascriptEvents.CreateEventSwipe({ container, callback: swipes });\n};\n\nconst ButtonVisibility = (props: TypeHelpers) => {\n const { GetElements, GetViewOptions } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n const buttons = [nextButton, prevousButton];\n\n const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();\n const shouldShowRightButton = GetViewOptions.shouldShowRightButton();\n const showCount = GetViewOptions.showCount();\n const cardsTotal = GetElements.blocks().length;\n const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;\n const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;\n\n if (cardsTotal === showCount) {\n buttons.forEach((button) => (button.style.display = 'none'));\n return;\n }\n\n if (shouldHideLeftButton) {\n prevousButton.style.display = 'none';\n } else {\n prevousButton.style.display = 'block';\n }\n\n if (shouldHideRightButton) {\n nextButton.style.display = 'none';\n } else {\n nextButton.style.display = 'block';\n }\n};\n\nconst ButtonDisplay = (props: TypeHelpers) => {\n const { GetElements } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n\n prevousButton.setAttribute('aria-label', 'Previous');\n nextButton.setAttribute('aria-label', 'Next');\n\n ButtonVisibility(props);\n};\n\nconst CreateButton = ({\n EventMoveForward,\n EventMoveBackward,\n isRight = true,\n}: {\n EventMoveForward: () => void;\n EventMoveBackward: () => void;\n isRight?: boolean;\n}) => {\n const button = document.createElement('button');\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'Next');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);\n button.innerHTML = Utility.asset.icon.FORWARD_ARROW;\n\n if (isRight) {\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);\n }\n\n if (!isRight) {\n button.setAttribute('aria-label', 'Previous');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);\n }\n\n button.addEventListener('click', () => {\n if (isRight) EventMoveForward();\n if (!isRight) EventMoveBackward();\n button.disabled = true;\n\n setTimeout(() => {\n button.disabled = false;\n }, ANIMATION_DURATION);\n });\n\n return button;\n};\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint: 550,\n tabletBreakpoint: 768,\n desktopBreakpoint: 1000,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 3,\n maxCount: 4,\n blockGap: Utility.theme.convertPixelStringToNumber(token.spacing.lg),\n hasRightButton: true,\n hasLeftButton: true,\n showMobileHint: true,\n showHint: true,\n fullScreenCallback: undefined,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n\n if (overwriteDisplayLogic) {\n Object.keys(overwriteDisplayLogic).forEach((key) => {\n const refKey = key as keyof typeof displayLogic;\n const refValue = overwriteDisplayLogic[refKey] as never;\n\n displayLogic[refKey] = refValue;\n });\n }\n\n const GetElements = {\n container: () => container,\n slide: () => slide,\n blocks: () => blocks,\n };\n\n const GetViewOptions = {\n isMobileView: () => {\n return GetSizes.containerWidth() <= displayLogic.mobileBreakpoint;\n },\n isTabletView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.mobileBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.tabletBreakpoint\n );\n },\n\n isDesktopView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.tabletBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.desktopBreakpoint\n );\n },\n isHighView: () => {\n return GetSizes.containerWidth() > displayLogic.desktopBreakpoint;\n },\n showCount: () => {\n const isMobile = GetViewOptions.isMobileView();\n const isTablet = GetViewOptions.isTabletView();\n const isDesktop = GetViewOptions.isDesktopView();\n const isHighDef = GetViewOptions.isHighView();\n let count = 1;\n\n if (isMobile) count = displayLogic.mobileCount;\n if (isTablet) count = displayLogic.tabletCount;\n if (isDesktop) count = displayLogic.desktopCount;\n if (isHighDef) count = displayLogic.maxCount;\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const isShowMobileHint = displayLogic.showMobileHint;\n const isShowHint = displayLogic.showHint;\n\n return (\n (isShowMobileHint && isMobileView) || (isShowHint && isMobileView)\n );\n },\n shouldShowHint: () => {\n return displayLogic.showHint && !GetViewOptions.isMobileView();\n },\n shouldShowLeftButton: () => {\n return displayLogic.hasLeftButton || hasInteractionOccured;\n },\n shouldShowRightButton: () => {\n return displayLogic.hasRightButton || hasInteractionOccured;\n },\n };\n\n const GetSizes = {\n mobileHintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_SIZING;\n },\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => {\n const elementSize = blockWidth;\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n\n if (!elementSize) return window.innerWidth;\n\n if (isShowMobileHint || isShowHint) {\n return elementSize * (count + 1);\n }\n\n return elementSize * count;\n },\n containerWidth: () => {\n return container.offsetWidth;\n },\n };\n\n const SetLayout = {\n blockWidth: () =>\n blocks.forEach((block) => (block.style.width = `${blockWidth}px`)),\n carouselWidth: ({ count }: { count: number }) => {\n const elementSize = GetSizes.carouselWidthBasedOnBlock({ count });\n\n slide.style.width = `${elementSize}px`;\n slide.style.transition = 'none';\n slide.style.transform = 'translateX(0)';\n },\n blockDisplay: ({ count }: { count: number }) => {\n const containerBlocks = Array.from(\n slide.querySelectorAll(':scope > *'),\n ) as HTMLElement[];\n const isHint = GetViewOptions.shouldShowHint();\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n\n containerBlocks.forEach((block, index) => {\n if (index >= count) {\n block.style.display = 'none';\n } else {\n block.style.display = 'block';\n }\n });\n\n if (isShowMobileHint) containerBlocks[1].style.display = 'block';\n if (isHint) containerBlocks[count].style.display = 'block';\n },\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\n const count = GetViewOptions.showCount();\n const cacluateBlockWidth = ({ count }: { count: number }) => {\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const containerWidth = container.offsetWidth;\n\n if (isShowMobileHint || isShowHint) {\n let hintElementSize = GetSizes.hintWidth({ count });\n\n if (isShowMobileHint) {\n hintElementSize = GetSizes.mobileHintWidth({ count });\n }\n\n blockWidth = (containerWidth - hintElementSize) / count;\n } else {\n blockWidth = containerWidth / count;\n }\n };\n\n cacluateBlockWidth({ count });\n SetLayout.blockWidth();\n SetLayout.blockDisplay({ count });\n SetLayout.carouselWidth({ count });\n ButtonDisplay({ ...Event.helpers });\n\n if (count === 1) {\n container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, '');\n } else {\n container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);\n }\n },\n load: () => {\n slide.style.display = 'flex';\n slide.style.gap = `${displayLogic.blockGap}px`;\n\n Event.resize();\n EventSwipe({ ...Event.helpers });\n },\n forward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n backward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n isDirectionRight: false,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n };\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n }),\n );\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n }),\n );\n\n wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);\n\n if (shadowRef) {\n wrapper.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n wrapper.appendChild(slide);\n }\n\n container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);\n declaration.appendChild(container);\n\n window.addEventListener(\n 'resize',\n Utility.performance.debounce(Event.resize, 30),\n );\n\n return {\n element: declaration,\n events: {\n resize: Event.resize,\n load: Event.load,\n },\n };\n })();\n\nexport default {\n CreateElement: CreateCarouselCardsElement,\n Styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n Elements: {\n declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,\n container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,\n containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,\n button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,\n nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,\n previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS,\n },\n};\n"],"names":["Styles","index","Utility.javascriptEvents.CreateEventSwipe","Utility.asset.icon.FORWARD_ARROW","blocks","Utility.theme.convertPixelStringToNumber","count","Utility.performance.debounce"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocks.js","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as element from '@universityofmaryland/web-styles-library/element';\nimport { arrow_right as iconArrowRight } from '@universityofmaryland/web-icons-library/arrows';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { setupSwipeDetection } from '@universityofmaryland/web-utilities-library/events';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\n\ntype TypeDisplayLogic = {\n mobileCount: number;\n mobileBreakpoint: number;\n tabletCount: number;\n tabletBreakpoint: number;\n desktopCount: number;\n desktopBreakpoint: number;\n maxCount: number;\n blockGap: number;\n hasRightButton: boolean;\n hasLeftButton: boolean;\n showMobileHint: boolean;\n showHint: boolean;\n fullScreenCallback?: (index: number) => void;\n};\n\ntype TypeDisplayLogicProps = Partial<TypeDisplayLogic>;\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n overwriteDisplayLogic?: TypeDisplayLogicProps;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\n };\n GetViewOptions: {\n isTabletView: () => boolean;\n showCount: () => number;\n shouldShowMobileHint: () => boolean;\n shouldShowHint: () => boolean;\n shouldShowLeftButton: () => boolean;\n shouldShowRightButton: () => boolean;\n };\n GetSizes: {\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => number;\n };\n SetLayout: {\n blockWidth: ({ count }: { count: number }) => void;\n carouselWidth: ({ count }: { count: number }) => void;\n };\n};\n\ntype TypeEventScroll = TypeHelpers & {\n isDirectionRight?: boolean;\n};\n\nconst fullScreenClassName = element.action.button.fullScreen.className;\n\nconst ATTRIBUTE_SINGLE_BLOCK = 'single';\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;\n\nconst ELEMENT_NAME = 'umd-element-animation-carousel-block';\nconst ELEMENT_ANIMATION_CAROUSEL_DECLARATION =\n 'animation-carousel-block-declaration';\nconst ELEMENT_ANIMATION_CAROUSEL_CONTAINER =\n 'animation-carousel-block-container';\nconst ELEMENT_ANIMATION_CAROUSEL_WRAPPER = 'animation-carousel-block-wrapper';\nconst ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;\nconst ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;\nconst ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;\n\nconst OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;\n\n// prettier-ignore\nconst ButtonStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {\n background-color: ${token.color.red};\n padding: 10px ${token.spacing.xs};\n position: absolute;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n display: none;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {\n opacity: 0.5;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {\n width: 20px;\n height: 20px;\n fill: ${token.color.white};\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {\n transform: rotate(180deg);\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {\n position: relative;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {\n overflow: hidden;\n padding-right: 0;\n width: 100%;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n width: 100%;\n }\n\n ${ContainerStyles}\n ${ButtonStyles}\n`;\n\nconst EventScrollCarousel = (props: TypeEventScroll) => {\n const {\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n isDirectionRight = true,\n displayLogic,\n } = props;\n const carouselSlider = GetElements.slide();\n const slotContent = Array.from(\n carouselSlider.querySelectorAll(':scope > *'),\n ) as HTMLDivElement[];\n\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const count = GetViewOptions.showCount();\n\n // Force layout recalculation to get accurate measurements\n void slotContent[0]?.offsetHeight;\n const elementSize = slotContent[0]?.offsetWidth || 0;\n const carouselSize = GetSizes.carouselWidthBasedOnBlock({ count });\n const { fullScreenCallback } = displayLogic;\n\n if (!elementSize) return;\n\n const elementSizeWithSpace = elementSize;\n const temporaryCarouselSize = carouselSize + elementSizeWithSpace;\n\n const cloneReferenceEvents = ({\n orginal,\n clone,\n }: {\n orginal: HTMLElement;\n clone: HTMLElement;\n }) => {\n const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (orginalFullScreen && cloneFullScreen) {\n const indexAttr = orginalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\n };\n\n const animateRight = () => {\n const firstElement = slotContent[0];\n const clonedElement = firstElement.cloneNode(true) as HTMLDivElement;\n const upcomingElement = slotContent[count];\n const hintElement = slotContent[count + 1];\n\n // Prepare elements before animation\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n // Add clone but keep it hidden initially\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n // Set width first and force layout recalculation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(firstElement);\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n const animateLeft = () => {\n const lastElement = slotContent[slotContent.length - 1];\n const removedElement = slotContent[count - 1];\n const hintElementSibiling = slotContent[count];\n const clonedElement = lastElement.cloneNode(true) as HTMLDivElement;\n\n // Prepare clone with proper event handlers\n cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });\n\n // Set width first before DOM manipulation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n\n // Add cloned element at the beginning\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n\n // Set initial transform position\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n // Force layout recalculation\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(0)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(lastElement);\n\n if (!isShowMobileHint && !isShowHint) {\n removedElement.style.display = 'none';\n }\n\n if (isShowMobileHint || isShowHint) {\n hintElementSibiling.style.display = 'none';\n }\n\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n isDirectionRight ? animateRight() : animateLeft();\n};\n\nconst EventSwipe = (props: TypeHelpers) => {\n const { GetElements } = props;\n const container = GetElements.container();\n\n const swipes = (isrightswipe: Boolean) => {\n if (!isrightswipe) {\n EventScrollCarousel(props);\n } else {\n EventScrollCarousel({ ...props, isDirectionRight: false });\n }\n };\n\n setupSwipeDetection({ container, callback: swipes });\n};\n\nconst ButtonVisibility = (props: TypeHelpers) => {\n const { GetElements, GetViewOptions } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n const buttons = [nextButton, prevousButton];\n\n const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();\n const shouldShowRightButton = GetViewOptions.shouldShowRightButton();\n const showCount = GetViewOptions.showCount();\n const cardsTotal = GetElements.blocks().length;\n const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;\n const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;\n\n if (cardsTotal === showCount) {\n buttons.forEach((button) => (button.style.display = 'none'));\n return;\n }\n\n if (shouldHideLeftButton) {\n prevousButton.style.display = 'none';\n } else {\n prevousButton.style.display = 'block';\n }\n\n if (shouldHideRightButton) {\n nextButton.style.display = 'none';\n } else {\n nextButton.style.display = 'block';\n }\n};\n\nconst ButtonDisplay = (props: TypeHelpers) => {\n const { GetElements } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n\n prevousButton.setAttribute('aria-label', 'Previous');\n nextButton.setAttribute('aria-label', 'Next');\n\n ButtonVisibility(props);\n};\n\nconst CreateButton = ({\n EventMoveForward,\n EventMoveBackward,\n isRight = true,\n}: {\n EventMoveForward: () => void;\n EventMoveBackward: () => void;\n isRight?: boolean;\n}) => {\n const button = document.createElement('button');\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'Next');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);\n button.innerHTML = iconArrowRight;\n\n if (isRight) {\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);\n }\n\n if (!isRight) {\n button.setAttribute('aria-label', 'Previous');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);\n }\n\n button.addEventListener('click', () => {\n if (isRight) EventMoveForward();\n if (!isRight) EventMoveBackward();\n button.disabled = true;\n\n setTimeout(() => {\n button.disabled = false;\n }, ANIMATION_DURATION);\n });\n\n return button;\n};\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint: 550,\n tabletBreakpoint: 768,\n desktopBreakpoint: 1000,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 3,\n maxCount: 4,\n blockGap: parsePixelValue(token.spacing.lg),\n hasRightButton: true,\n hasLeftButton: true,\n showMobileHint: true,\n showHint: true,\n fullScreenCallback: undefined,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n\n if (overwriteDisplayLogic) {\n Object.keys(overwriteDisplayLogic).forEach((key) => {\n const refKey = key as keyof typeof displayLogic;\n const refValue = overwriteDisplayLogic[refKey] as never;\n\n displayLogic[refKey] = refValue;\n });\n }\n\n const GetElements = {\n container: () => container,\n slide: () => slide,\n blocks: () => blocks,\n };\n\n const GetViewOptions = {\n isMobileView: () => {\n return GetSizes.containerWidth() <= displayLogic.mobileBreakpoint;\n },\n isTabletView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.mobileBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.tabletBreakpoint\n );\n },\n\n isDesktopView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.tabletBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.desktopBreakpoint\n );\n },\n isHighView: () => {\n return GetSizes.containerWidth() > displayLogic.desktopBreakpoint;\n },\n showCount: () => {\n const isMobile = GetViewOptions.isMobileView();\n const isTablet = GetViewOptions.isTabletView();\n const isDesktop = GetViewOptions.isDesktopView();\n const isHighDef = GetViewOptions.isHighView();\n let count = 1;\n\n if (isMobile) count = displayLogic.mobileCount;\n if (isTablet) count = displayLogic.tabletCount;\n if (isDesktop) count = displayLogic.desktopCount;\n if (isHighDef) count = displayLogic.maxCount;\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const isShowMobileHint = displayLogic.showMobileHint;\n const isShowHint = displayLogic.showHint;\n\n return (\n (isShowMobileHint && isMobileView) || (isShowHint && isMobileView)\n );\n },\n shouldShowHint: () => {\n return displayLogic.showHint && !GetViewOptions.isMobileView();\n },\n shouldShowLeftButton: () => {\n return displayLogic.hasLeftButton || hasInteractionOccured;\n },\n shouldShowRightButton: () => {\n return displayLogic.hasRightButton || hasInteractionOccured;\n },\n };\n\n const GetSizes = {\n mobileHintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_SIZING;\n },\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => {\n const elementSize = blockWidth;\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n\n if (!elementSize) return window.innerWidth;\n\n if (isShowMobileHint || isShowHint) {\n return elementSize * (count + 1);\n }\n\n return elementSize * count;\n },\n containerWidth: () => {\n return container.offsetWidth;\n },\n };\n\n const SetLayout = {\n blockWidth: () =>\n blocks.forEach((block) => (block.style.width = `${blockWidth}px`)),\n carouselWidth: ({ count }: { count: number }) => {\n const elementSize = GetSizes.carouselWidthBasedOnBlock({ count });\n\n slide.style.width = `${elementSize}px`;\n slide.style.transition = 'none';\n slide.style.transform = 'translateX(0)';\n },\n blockDisplay: ({ count }: { count: number }) => {\n const containerBlocks = Array.from(\n slide.querySelectorAll(':scope > *'),\n ) as HTMLElement[];\n const isHint = GetViewOptions.shouldShowHint();\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n\n containerBlocks.forEach((block, index) => {\n if (index >= count) {\n block.style.display = 'none';\n } else {\n block.style.display = 'block';\n }\n });\n\n if (isShowMobileHint) containerBlocks[1].style.display = 'block';\n if (isHint) containerBlocks[count].style.display = 'block';\n },\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\n const count = GetViewOptions.showCount();\n const cacluateBlockWidth = ({ count }: { count: number }) => {\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const containerWidth = container.offsetWidth;\n\n if (isShowMobileHint || isShowHint) {\n let hintElementSize = GetSizes.hintWidth({ count });\n\n if (isShowMobileHint) {\n hintElementSize = GetSizes.mobileHintWidth({ count });\n }\n\n blockWidth = (containerWidth - hintElementSize) / count;\n } else {\n blockWidth = containerWidth / count;\n }\n };\n\n cacluateBlockWidth({ count });\n SetLayout.blockWidth();\n SetLayout.blockDisplay({ count });\n SetLayout.carouselWidth({ count });\n ButtonDisplay({ ...Event.helpers });\n\n if (count === 1) {\n container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, '');\n } else {\n container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);\n }\n },\n load: () => {\n slide.style.display = 'flex';\n slide.style.gap = `${displayLogic.blockGap}px`;\n\n Event.resize();\n EventSwipe({ ...Event.helpers });\n },\n forward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n backward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n isDirectionRight: false,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n };\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n }),\n );\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n }),\n );\n\n wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);\n\n if (shadowRef) {\n wrapper.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n wrapper.appendChild(slide);\n }\n\n container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);\n declaration.appendChild(container);\n\n window.addEventListener('resize', debounce(Event.resize, 30));\n\n return {\n element: declaration,\n events: {\n resize: Event.resize,\n load: Event.load,\n },\n };\n })();\n\nexport default {\n CreateElement: CreateCarouselCardsElement,\n Styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n Elements: {\n declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,\n container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,\n containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,\n button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,\n nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,\n previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS,\n },\n};\n"],"names":["element","token","setupSwipeDetection","iconArrowRight","blocks","parsePixelValue","count","debounce"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import { debounce } from "
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
const fullScreenClassName =
|
|
1
|
+
import * as token from "@universityofmaryland/web-styles-library/token";
|
|
2
|
+
import * as elementStyles from "@universityofmaryland/web-styles-library/element";
|
|
3
|
+
import { arrow_right } from "@universityofmaryland/web-icons-library/arrows";
|
|
4
|
+
import { debounce } from "@universityofmaryland/web-utilities-library/performance";
|
|
5
|
+
import { setupSwipeDetection } from "@universityofmaryland/web-utilities-library/events";
|
|
6
|
+
import { parsePixelValue } from "@universityofmaryland/web-utilities-library/styles";
|
|
7
|
+
const fullScreenClassName = elementStyles.action.button.fullScreen.className;
|
|
8
8
|
const ATTRIBUTE_SINGLE_BLOCK = "single";
|
|
9
9
|
const ANIMATION_DURATION = 750;
|
|
10
10
|
const HINT_MULTIPLER_MOBILE_SIZING = 0.2;
|
|
@@ -164,7 +164,7 @@ const EventSwipe = (props) => {
|
|
|
164
164
|
EventScrollCarousel({ ...props, isDirectionRight: false });
|
|
165
165
|
}
|
|
166
166
|
};
|
|
167
|
-
|
|
167
|
+
setupSwipeDetection({ container, callback: swipes });
|
|
168
168
|
};
|
|
169
169
|
const ButtonVisibility = (props) => {
|
|
170
170
|
const { GetElements, GetViewOptions } = props;
|
|
@@ -217,7 +217,7 @@ const CreateButton = ({
|
|
|
217
217
|
button.setAttribute("type", "button");
|
|
218
218
|
button.setAttribute("aria-label", "Next");
|
|
219
219
|
button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);
|
|
220
|
-
button.innerHTML =
|
|
220
|
+
button.innerHTML = arrow_right;
|
|
221
221
|
if (isRight) {
|
|
222
222
|
button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);
|
|
223
223
|
}
|
|
@@ -248,7 +248,7 @@ const CreateCarouselCardsElement = (props) => (() => {
|
|
|
248
248
|
tabletCount: 2,
|
|
249
249
|
desktopCount: 3,
|
|
250
250
|
maxCount: 4,
|
|
251
|
-
blockGap:
|
|
251
|
+
blockGap: parsePixelValue(token.spacing.lg),
|
|
252
252
|
hasRightButton: true,
|
|
253
253
|
hasLeftButton: true,
|
|
254
254
|
showMobileHint: true,
|
|
@@ -439,10 +439,7 @@ const CreateCarouselCardsElement = (props) => (() => {
|
|
|
439
439
|
container.appendChild(wrapper);
|
|
440
440
|
declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);
|
|
441
441
|
declaration.appendChild(container);
|
|
442
|
-
window.addEventListener(
|
|
443
|
-
"resize",
|
|
444
|
-
debounce(Event.resize, 30)
|
|
445
|
-
);
|
|
442
|
+
window.addEventListener("resize", debounce(Event.resize, 30));
|
|
446
443
|
return {
|
|
447
444
|
element: declaration,
|
|
448
445
|
events: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.mjs","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as Utility from 'utilities';\n\ntype TypeDisplayLogic = {\n mobileCount: number;\n mobileBreakpoint: number;\n tabletCount: number;\n tabletBreakpoint: number;\n desktopCount: number;\n desktopBreakpoint: number;\n maxCount: number;\n blockGap: number;\n hasRightButton: boolean;\n hasLeftButton: boolean;\n showMobileHint: boolean;\n showHint: boolean;\n fullScreenCallback?: (index: number) => void;\n};\n\ntype TypeDisplayLogicProps = Partial<TypeDisplayLogic>;\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n overwriteDisplayLogic?: TypeDisplayLogicProps;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\n };\n GetViewOptions: {\n isTabletView: () => boolean;\n showCount: () => number;\n shouldShowMobileHint: () => boolean;\n shouldShowHint: () => boolean;\n shouldShowLeftButton: () => boolean;\n shouldShowRightButton: () => boolean;\n };\n GetSizes: {\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => number;\n };\n SetLayout: {\n blockWidth: ({ count }: { count: number }) => void;\n carouselWidth: ({ count }: { count: number }) => void;\n };\n};\n\ntype TypeEventScroll = TypeHelpers & {\n isDirectionRight?: boolean;\n};\n\nconst { token } = Styles;\nconst fullScreenClassName = Styles.element.action.button.fullScreen.className;\n\nconst ATTRIBUTE_SINGLE_BLOCK = 'single';\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;\n\nconst ELEMENT_NAME = 'umd-element-animation-carousel-block';\nconst ELEMENT_ANIMATION_CAROUSEL_DECLARATION =\n 'animation-carousel-block-declaration';\nconst ELEMENT_ANIMATION_CAROUSEL_CONTAINER =\n 'animation-carousel-block-container';\nconst ELEMENT_ANIMATION_CAROUSEL_WRAPPER = 'animation-carousel-block-wrapper';\nconst ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;\nconst ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;\nconst ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;\n\nconst OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;\n\n// prettier-ignore\nconst ButtonStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {\n background-color: ${token.color.red};\n padding: 10px ${token.spacing.xs};\n position: absolute;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n display: none;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {\n opacity: 0.5;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {\n width: 20px;\n height: 20px;\n fill: ${token.color.white};\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {\n transform: rotate(180deg);\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {\n position: relative;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {\n overflow: hidden;\n padding-right: 0;\n width: 100%;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n width: 100%;\n }\n\n ${ContainerStyles}\n ${ButtonStyles}\n`;\n\nconst EventScrollCarousel = (props: TypeEventScroll) => {\n const {\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n isDirectionRight = true,\n displayLogic,\n } = props;\n const carouselSlider = GetElements.slide();\n const slotContent = Array.from(\n carouselSlider.querySelectorAll(':scope > *'),\n ) as HTMLDivElement[];\n\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const count = GetViewOptions.showCount();\n\n // Force layout recalculation to get accurate measurements\n void slotContent[0]?.offsetHeight;\n const elementSize = slotContent[0]?.offsetWidth || 0;\n const carouselSize = GetSizes.carouselWidthBasedOnBlock({ count });\n const { fullScreenCallback } = displayLogic;\n\n if (!elementSize) return;\n\n const elementSizeWithSpace = elementSize;\n const temporaryCarouselSize = carouselSize + elementSizeWithSpace;\n\n const cloneReferenceEvents = ({\n orginal,\n clone,\n }: {\n orginal: HTMLElement;\n clone: HTMLElement;\n }) => {\n const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (orginalFullScreen && cloneFullScreen) {\n const indexAttr = orginalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\n };\n\n const animateRight = () => {\n const firstElement = slotContent[0];\n const clonedElement = firstElement.cloneNode(true) as HTMLDivElement;\n const upcomingElement = slotContent[count];\n const hintElement = slotContent[count + 1];\n\n // Prepare elements before animation\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n // Add clone but keep it hidden initially\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n // Set width first and force layout recalculation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(firstElement);\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n const animateLeft = () => {\n const lastElement = slotContent[slotContent.length - 1];\n const removedElement = slotContent[count - 1];\n const hintElementSibiling = slotContent[count];\n const clonedElement = lastElement.cloneNode(true) as HTMLDivElement;\n\n // Prepare clone with proper event handlers\n cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });\n\n // Set width first before DOM manipulation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n\n // Add cloned element at the beginning\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n\n // Set initial transform position\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n // Force layout recalculation\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(0)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(lastElement);\n\n if (!isShowMobileHint && !isShowHint) {\n removedElement.style.display = 'none';\n }\n\n if (isShowMobileHint || isShowHint) {\n hintElementSibiling.style.display = 'none';\n }\n\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n isDirectionRight ? animateRight() : animateLeft();\n};\n\nconst EventSwipe = (props: TypeHelpers) => {\n const { GetElements } = props;\n const container = GetElements.container();\n\n const swipes = (isrightswipe: Boolean) => {\n if (!isrightswipe) {\n EventScrollCarousel(props);\n } else {\n EventScrollCarousel({ ...props, isDirectionRight: false });\n }\n };\n\n Utility.javascriptEvents.CreateEventSwipe({ container, callback: swipes });\n};\n\nconst ButtonVisibility = (props: TypeHelpers) => {\n const { GetElements, GetViewOptions } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n const buttons = [nextButton, prevousButton];\n\n const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();\n const shouldShowRightButton = GetViewOptions.shouldShowRightButton();\n const showCount = GetViewOptions.showCount();\n const cardsTotal = GetElements.blocks().length;\n const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;\n const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;\n\n if (cardsTotal === showCount) {\n buttons.forEach((button) => (button.style.display = 'none'));\n return;\n }\n\n if (shouldHideLeftButton) {\n prevousButton.style.display = 'none';\n } else {\n prevousButton.style.display = 'block';\n }\n\n if (shouldHideRightButton) {\n nextButton.style.display = 'none';\n } else {\n nextButton.style.display = 'block';\n }\n};\n\nconst ButtonDisplay = (props: TypeHelpers) => {\n const { GetElements } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n\n prevousButton.setAttribute('aria-label', 'Previous');\n nextButton.setAttribute('aria-label', 'Next');\n\n ButtonVisibility(props);\n};\n\nconst CreateButton = ({\n EventMoveForward,\n EventMoveBackward,\n isRight = true,\n}: {\n EventMoveForward: () => void;\n EventMoveBackward: () => void;\n isRight?: boolean;\n}) => {\n const button = document.createElement('button');\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'Next');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);\n button.innerHTML = Utility.asset.icon.FORWARD_ARROW;\n\n if (isRight) {\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);\n }\n\n if (!isRight) {\n button.setAttribute('aria-label', 'Previous');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);\n }\n\n button.addEventListener('click', () => {\n if (isRight) EventMoveForward();\n if (!isRight) EventMoveBackward();\n button.disabled = true;\n\n setTimeout(() => {\n button.disabled = false;\n }, ANIMATION_DURATION);\n });\n\n return button;\n};\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint: 550,\n tabletBreakpoint: 768,\n desktopBreakpoint: 1000,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 3,\n maxCount: 4,\n blockGap: Utility.theme.convertPixelStringToNumber(token.spacing.lg),\n hasRightButton: true,\n hasLeftButton: true,\n showMobileHint: true,\n showHint: true,\n fullScreenCallback: undefined,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n\n if (overwriteDisplayLogic) {\n Object.keys(overwriteDisplayLogic).forEach((key) => {\n const refKey = key as keyof typeof displayLogic;\n const refValue = overwriteDisplayLogic[refKey] as never;\n\n displayLogic[refKey] = refValue;\n });\n }\n\n const GetElements = {\n container: () => container,\n slide: () => slide,\n blocks: () => blocks,\n };\n\n const GetViewOptions = {\n isMobileView: () => {\n return GetSizes.containerWidth() <= displayLogic.mobileBreakpoint;\n },\n isTabletView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.mobileBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.tabletBreakpoint\n );\n },\n\n isDesktopView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.tabletBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.desktopBreakpoint\n );\n },\n isHighView: () => {\n return GetSizes.containerWidth() > displayLogic.desktopBreakpoint;\n },\n showCount: () => {\n const isMobile = GetViewOptions.isMobileView();\n const isTablet = GetViewOptions.isTabletView();\n const isDesktop = GetViewOptions.isDesktopView();\n const isHighDef = GetViewOptions.isHighView();\n let count = 1;\n\n if (isMobile) count = displayLogic.mobileCount;\n if (isTablet) count = displayLogic.tabletCount;\n if (isDesktop) count = displayLogic.desktopCount;\n if (isHighDef) count = displayLogic.maxCount;\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const isShowMobileHint = displayLogic.showMobileHint;\n const isShowHint = displayLogic.showHint;\n\n return (\n (isShowMobileHint && isMobileView) || (isShowHint && isMobileView)\n );\n },\n shouldShowHint: () => {\n return displayLogic.showHint && !GetViewOptions.isMobileView();\n },\n shouldShowLeftButton: () => {\n return displayLogic.hasLeftButton || hasInteractionOccured;\n },\n shouldShowRightButton: () => {\n return displayLogic.hasRightButton || hasInteractionOccured;\n },\n };\n\n const GetSizes = {\n mobileHintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_SIZING;\n },\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => {\n const elementSize = blockWidth;\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n\n if (!elementSize) return window.innerWidth;\n\n if (isShowMobileHint || isShowHint) {\n return elementSize * (count + 1);\n }\n\n return elementSize * count;\n },\n containerWidth: () => {\n return container.offsetWidth;\n },\n };\n\n const SetLayout = {\n blockWidth: () =>\n blocks.forEach((block) => (block.style.width = `${blockWidth}px`)),\n carouselWidth: ({ count }: { count: number }) => {\n const elementSize = GetSizes.carouselWidthBasedOnBlock({ count });\n\n slide.style.width = `${elementSize}px`;\n slide.style.transition = 'none';\n slide.style.transform = 'translateX(0)';\n },\n blockDisplay: ({ count }: { count: number }) => {\n const containerBlocks = Array.from(\n slide.querySelectorAll(':scope > *'),\n ) as HTMLElement[];\n const isHint = GetViewOptions.shouldShowHint();\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n\n containerBlocks.forEach((block, index) => {\n if (index >= count) {\n block.style.display = 'none';\n } else {\n block.style.display = 'block';\n }\n });\n\n if (isShowMobileHint) containerBlocks[1].style.display = 'block';\n if (isHint) containerBlocks[count].style.display = 'block';\n },\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\n const count = GetViewOptions.showCount();\n const cacluateBlockWidth = ({ count }: { count: number }) => {\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const containerWidth = container.offsetWidth;\n\n if (isShowMobileHint || isShowHint) {\n let hintElementSize = GetSizes.hintWidth({ count });\n\n if (isShowMobileHint) {\n hintElementSize = GetSizes.mobileHintWidth({ count });\n }\n\n blockWidth = (containerWidth - hintElementSize) / count;\n } else {\n blockWidth = containerWidth / count;\n }\n };\n\n cacluateBlockWidth({ count });\n SetLayout.blockWidth();\n SetLayout.blockDisplay({ count });\n SetLayout.carouselWidth({ count });\n ButtonDisplay({ ...Event.helpers });\n\n if (count === 1) {\n container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, '');\n } else {\n container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);\n }\n },\n load: () => {\n slide.style.display = 'flex';\n slide.style.gap = `${displayLogic.blockGap}px`;\n\n Event.resize();\n EventSwipe({ ...Event.helpers });\n },\n forward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n backward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n isDirectionRight: false,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n };\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n }),\n );\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n }),\n );\n\n wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);\n\n if (shadowRef) {\n wrapper.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n wrapper.appendChild(slide);\n }\n\n container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);\n declaration.appendChild(container);\n\n window.addEventListener(\n 'resize',\n Utility.performance.debounce(Event.resize, 30),\n );\n\n return {\n element: declaration,\n events: {\n resize: Event.resize,\n load: Event.load,\n },\n };\n })();\n\nexport default {\n CreateElement: CreateCarouselCardsElement,\n Styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n Elements: {\n declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,\n container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,\n containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,\n button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,\n nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,\n previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS,\n },\n};\n"],"names":["Utility.javascriptEvents.CreateEventSwipe","Utility.asset.icon.FORWARD_ARROW","blocks","Utility.theme.convertPixelStringToNumber","count","Utility.performance.debounce"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocks.mjs","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as element from '@universityofmaryland/web-styles-library/element';\nimport { arrow_right as iconArrowRight } from '@universityofmaryland/web-icons-library/arrows';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { setupSwipeDetection } from '@universityofmaryland/web-utilities-library/events';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\n\ntype TypeDisplayLogic = {\n mobileCount: number;\n mobileBreakpoint: number;\n tabletCount: number;\n tabletBreakpoint: number;\n desktopCount: number;\n desktopBreakpoint: number;\n maxCount: number;\n blockGap: number;\n hasRightButton: boolean;\n hasLeftButton: boolean;\n showMobileHint: boolean;\n showHint: boolean;\n fullScreenCallback?: (index: number) => void;\n};\n\ntype TypeDisplayLogicProps = Partial<TypeDisplayLogic>;\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n overwriteDisplayLogic?: TypeDisplayLogicProps;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\n };\n GetViewOptions: {\n isTabletView: () => boolean;\n showCount: () => number;\n shouldShowMobileHint: () => boolean;\n shouldShowHint: () => boolean;\n shouldShowLeftButton: () => boolean;\n shouldShowRightButton: () => boolean;\n };\n GetSizes: {\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => number;\n };\n SetLayout: {\n blockWidth: ({ count }: { count: number }) => void;\n carouselWidth: ({ count }: { count: number }) => void;\n };\n};\n\ntype TypeEventScroll = TypeHelpers & {\n isDirectionRight?: boolean;\n};\n\nconst fullScreenClassName = element.action.button.fullScreen.className;\n\nconst ATTRIBUTE_SINGLE_BLOCK = 'single';\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;\n\nconst ELEMENT_NAME = 'umd-element-animation-carousel-block';\nconst ELEMENT_ANIMATION_CAROUSEL_DECLARATION =\n 'animation-carousel-block-declaration';\nconst ELEMENT_ANIMATION_CAROUSEL_CONTAINER =\n 'animation-carousel-block-container';\nconst ELEMENT_ANIMATION_CAROUSEL_WRAPPER = 'animation-carousel-block-wrapper';\nconst ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;\nconst ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;\nconst ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;\n\nconst OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;\n\n// prettier-ignore\nconst ButtonStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {\n background-color: ${token.color.red};\n padding: 10px ${token.spacing.xs};\n position: absolute;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n display: none;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {\n opacity: 0.5;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {\n width: 20px;\n height: 20px;\n fill: ${token.color.white};\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {\n transform: rotate(180deg);\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {\n position: relative;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {\n overflow: hidden;\n padding-right: 0;\n width: 100%;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n width: 100%;\n }\n\n ${ContainerStyles}\n ${ButtonStyles}\n`;\n\nconst EventScrollCarousel = (props: TypeEventScroll) => {\n const {\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n isDirectionRight = true,\n displayLogic,\n } = props;\n const carouselSlider = GetElements.slide();\n const slotContent = Array.from(\n carouselSlider.querySelectorAll(':scope > *'),\n ) as HTMLDivElement[];\n\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const count = GetViewOptions.showCount();\n\n // Force layout recalculation to get accurate measurements\n void slotContent[0]?.offsetHeight;\n const elementSize = slotContent[0]?.offsetWidth || 0;\n const carouselSize = GetSizes.carouselWidthBasedOnBlock({ count });\n const { fullScreenCallback } = displayLogic;\n\n if (!elementSize) return;\n\n const elementSizeWithSpace = elementSize;\n const temporaryCarouselSize = carouselSize + elementSizeWithSpace;\n\n const cloneReferenceEvents = ({\n orginal,\n clone,\n }: {\n orginal: HTMLElement;\n clone: HTMLElement;\n }) => {\n const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (orginalFullScreen && cloneFullScreen) {\n const indexAttr = orginalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\n };\n\n const animateRight = () => {\n const firstElement = slotContent[0];\n const clonedElement = firstElement.cloneNode(true) as HTMLDivElement;\n const upcomingElement = slotContent[count];\n const hintElement = slotContent[count + 1];\n\n // Prepare elements before animation\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n // Add clone but keep it hidden initially\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n // Set width first and force layout recalculation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(firstElement);\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n const animateLeft = () => {\n const lastElement = slotContent[slotContent.length - 1];\n const removedElement = slotContent[count - 1];\n const hintElementSibiling = slotContent[count];\n const clonedElement = lastElement.cloneNode(true) as HTMLDivElement;\n\n // Prepare clone with proper event handlers\n cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });\n\n // Set width first before DOM manipulation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n\n // Add cloned element at the beginning\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n\n // Set initial transform position\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n // Force layout recalculation\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(0)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(lastElement);\n\n if (!isShowMobileHint && !isShowHint) {\n removedElement.style.display = 'none';\n }\n\n if (isShowMobileHint || isShowHint) {\n hintElementSibiling.style.display = 'none';\n }\n\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n isDirectionRight ? animateRight() : animateLeft();\n};\n\nconst EventSwipe = (props: TypeHelpers) => {\n const { GetElements } = props;\n const container = GetElements.container();\n\n const swipes = (isrightswipe: Boolean) => {\n if (!isrightswipe) {\n EventScrollCarousel(props);\n } else {\n EventScrollCarousel({ ...props, isDirectionRight: false });\n }\n };\n\n setupSwipeDetection({ container, callback: swipes });\n};\n\nconst ButtonVisibility = (props: TypeHelpers) => {\n const { GetElements, GetViewOptions } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n const buttons = [nextButton, prevousButton];\n\n const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();\n const shouldShowRightButton = GetViewOptions.shouldShowRightButton();\n const showCount = GetViewOptions.showCount();\n const cardsTotal = GetElements.blocks().length;\n const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;\n const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;\n\n if (cardsTotal === showCount) {\n buttons.forEach((button) => (button.style.display = 'none'));\n return;\n }\n\n if (shouldHideLeftButton) {\n prevousButton.style.display = 'none';\n } else {\n prevousButton.style.display = 'block';\n }\n\n if (shouldHideRightButton) {\n nextButton.style.display = 'none';\n } else {\n nextButton.style.display = 'block';\n }\n};\n\nconst ButtonDisplay = (props: TypeHelpers) => {\n const { GetElements } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n\n prevousButton.setAttribute('aria-label', 'Previous');\n nextButton.setAttribute('aria-label', 'Next');\n\n ButtonVisibility(props);\n};\n\nconst CreateButton = ({\n EventMoveForward,\n EventMoveBackward,\n isRight = true,\n}: {\n EventMoveForward: () => void;\n EventMoveBackward: () => void;\n isRight?: boolean;\n}) => {\n const button = document.createElement('button');\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'Next');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);\n button.innerHTML = iconArrowRight;\n\n if (isRight) {\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);\n }\n\n if (!isRight) {\n button.setAttribute('aria-label', 'Previous');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);\n }\n\n button.addEventListener('click', () => {\n if (isRight) EventMoveForward();\n if (!isRight) EventMoveBackward();\n button.disabled = true;\n\n setTimeout(() => {\n button.disabled = false;\n }, ANIMATION_DURATION);\n });\n\n return button;\n};\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint: 550,\n tabletBreakpoint: 768,\n desktopBreakpoint: 1000,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 3,\n maxCount: 4,\n blockGap: parsePixelValue(token.spacing.lg),\n hasRightButton: true,\n hasLeftButton: true,\n showMobileHint: true,\n showHint: true,\n fullScreenCallback: undefined,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n\n if (overwriteDisplayLogic) {\n Object.keys(overwriteDisplayLogic).forEach((key) => {\n const refKey = key as keyof typeof displayLogic;\n const refValue = overwriteDisplayLogic[refKey] as never;\n\n displayLogic[refKey] = refValue;\n });\n }\n\n const GetElements = {\n container: () => container,\n slide: () => slide,\n blocks: () => blocks,\n };\n\n const GetViewOptions = {\n isMobileView: () => {\n return GetSizes.containerWidth() <= displayLogic.mobileBreakpoint;\n },\n isTabletView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.mobileBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.tabletBreakpoint\n );\n },\n\n isDesktopView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.tabletBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.desktopBreakpoint\n );\n },\n isHighView: () => {\n return GetSizes.containerWidth() > displayLogic.desktopBreakpoint;\n },\n showCount: () => {\n const isMobile = GetViewOptions.isMobileView();\n const isTablet = GetViewOptions.isTabletView();\n const isDesktop = GetViewOptions.isDesktopView();\n const isHighDef = GetViewOptions.isHighView();\n let count = 1;\n\n if (isMobile) count = displayLogic.mobileCount;\n if (isTablet) count = displayLogic.tabletCount;\n if (isDesktop) count = displayLogic.desktopCount;\n if (isHighDef) count = displayLogic.maxCount;\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const isShowMobileHint = displayLogic.showMobileHint;\n const isShowHint = displayLogic.showHint;\n\n return (\n (isShowMobileHint && isMobileView) || (isShowHint && isMobileView)\n );\n },\n shouldShowHint: () => {\n return displayLogic.showHint && !GetViewOptions.isMobileView();\n },\n shouldShowLeftButton: () => {\n return displayLogic.hasLeftButton || hasInteractionOccured;\n },\n shouldShowRightButton: () => {\n return displayLogic.hasRightButton || hasInteractionOccured;\n },\n };\n\n const GetSizes = {\n mobileHintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_SIZING;\n },\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => {\n const elementSize = blockWidth;\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n\n if (!elementSize) return window.innerWidth;\n\n if (isShowMobileHint || isShowHint) {\n return elementSize * (count + 1);\n }\n\n return elementSize * count;\n },\n containerWidth: () => {\n return container.offsetWidth;\n },\n };\n\n const SetLayout = {\n blockWidth: () =>\n blocks.forEach((block) => (block.style.width = `${blockWidth}px`)),\n carouselWidth: ({ count }: { count: number }) => {\n const elementSize = GetSizes.carouselWidthBasedOnBlock({ count });\n\n slide.style.width = `${elementSize}px`;\n slide.style.transition = 'none';\n slide.style.transform = 'translateX(0)';\n },\n blockDisplay: ({ count }: { count: number }) => {\n const containerBlocks = Array.from(\n slide.querySelectorAll(':scope > *'),\n ) as HTMLElement[];\n const isHint = GetViewOptions.shouldShowHint();\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n\n containerBlocks.forEach((block, index) => {\n if (index >= count) {\n block.style.display = 'none';\n } else {\n block.style.display = 'block';\n }\n });\n\n if (isShowMobileHint) containerBlocks[1].style.display = 'block';\n if (isHint) containerBlocks[count].style.display = 'block';\n },\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\n const count = GetViewOptions.showCount();\n const cacluateBlockWidth = ({ count }: { count: number }) => {\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const containerWidth = container.offsetWidth;\n\n if (isShowMobileHint || isShowHint) {\n let hintElementSize = GetSizes.hintWidth({ count });\n\n if (isShowMobileHint) {\n hintElementSize = GetSizes.mobileHintWidth({ count });\n }\n\n blockWidth = (containerWidth - hintElementSize) / count;\n } else {\n blockWidth = containerWidth / count;\n }\n };\n\n cacluateBlockWidth({ count });\n SetLayout.blockWidth();\n SetLayout.blockDisplay({ count });\n SetLayout.carouselWidth({ count });\n ButtonDisplay({ ...Event.helpers });\n\n if (count === 1) {\n container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, '');\n } else {\n container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);\n }\n },\n load: () => {\n slide.style.display = 'flex';\n slide.style.gap = `${displayLogic.blockGap}px`;\n\n Event.resize();\n EventSwipe({ ...Event.helpers });\n },\n forward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n backward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n isDirectionRight: false,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n };\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n }),\n );\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n }),\n );\n\n wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);\n\n if (shadowRef) {\n wrapper.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n wrapper.appendChild(slide);\n }\n\n container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);\n declaration.appendChild(container);\n\n window.addEventListener('resize', debounce(Event.resize, 30));\n\n return {\n element: declaration,\n events: {\n resize: Event.resize,\n load: Event.load,\n },\n };\n })();\n\nexport default {\n CreateElement: CreateCarouselCardsElement,\n Styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n Elements: {\n declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,\n container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,\n containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,\n button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,\n nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,\n previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS,\n },\n};\n"],"names":["element","iconArrowRight","blocks","count"],"mappings":"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"}
|