@universityofmaryland/web-components-library 1.16.4 → 1.17.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/_event-Duz7QGRD.js.map +1 -1
- package/dist/bundle.d.ts +4 -5
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +17486 -16232
- package/dist/bundle.js.map +1 -1
- package/dist/cdn.js +1409 -1433
- package/dist/cdn.js.map +1 -1
- package/dist/components/accordion.d.ts +1 -1
- package/dist/components/accordion.js +3 -2
- package/dist/components/actions.d.ts +1 -1
- package/dist/components/actions.js +2 -1
- package/dist/components/alert.d.ts +1 -1
- package/dist/components/alert.js +7 -4
- package/dist/components/brand.d.ts +1 -1
- package/dist/components/brand.js +5 -3
- package/dist/components/card.d.ts +1 -1
- package/dist/components/card.js +13 -7
- package/dist/components/carousel.d.ts +1 -1
- package/dist/components/carousel.js +13 -7
- package/dist/components/feed.d.ts +1 -1
- package/dist/components/feed.js +21 -7
- package/dist/components/footer.d.ts +1 -1
- package/dist/components/footer.js +3 -2
- package/dist/components/hero.d.ts +1 -1
- package/dist/components/hero.js +13 -7
- package/dist/components/layout.d.ts +1 -1
- package/dist/components/layout.js +15 -8
- package/dist/components/media.d.ts +1 -1
- package/dist/components/media.js +5 -3
- package/dist/components/navigation.d.ts +1 -1
- package/dist/components/navigation.js +13 -7
- package/dist/components/pathway.d.ts +1 -1
- package/dist/components/pathway.js +5 -3
- package/dist/components/person.d.ts +1 -1
- package/dist/components/person.js +6 -3
- package/dist/components/quote.d.ts +1 -1
- package/dist/components/quote.js +3 -2
- package/dist/components/slider.d.ts +1 -1
- package/dist/components/slider.js +5 -3
- package/dist/components/social.d.ts +1 -1
- package/dist/components/social.js +3 -2
- package/dist/components/stat.d.ts +1 -1
- package/dist/components/stat.js +3 -2
- package/dist/components/tab.d.ts +1 -1
- package/dist/components/tab.js +3 -2
- package/dist/components/text.d.ts +1 -1
- package/dist/components/text.js +2 -1
- package/dist/content.d.ts +0 -4
- package/dist/content.js +30 -14
- package/dist/content.js.map +1 -1
- package/dist/exports/bundle.d.ts +4 -5
- package/dist/exports/bundle.d.ts.map +1 -1
- package/dist/exports/cdn.d.ts +1 -1
- package/dist/exports/cdn.d.ts.map +1 -1
- package/dist/exports/content.d.ts +9 -1
- package/dist/exports/content.d.ts.map +1 -1
- package/dist/exports/feed.d.ts +4 -1
- package/dist/exports/feed.d.ts.map +1 -1
- package/dist/exports/interactive.d.ts +6 -1
- package/dist/exports/interactive.d.ts.map +1 -1
- package/dist/exports/loader.d.ts +1 -0
- package/dist/exports/loader.d.ts.map +1 -1
- package/dist/exports/structural.d.ts +5 -1
- package/dist/exports/structural.d.ts.map +1 -1
- package/dist/feed.d.ts +0 -4
- package/dist/feed.js +13 -9
- package/dist/feed.js.map +1 -1
- package/dist/{highlight-BAbE0FOj.js → index--j6GLFih.js} +35 -31
- package/dist/index--j6GLFih.js.map +1 -0
- package/dist/index-BIkAyrlD.js +224 -0
- package/dist/index-BIkAyrlD.js.map +1 -0
- package/dist/{video-C2XikZ0X.js → index-BPYb3H7i.js} +60 -56
- package/dist/index-BPYb3H7i.js.map +1 -0
- package/dist/index-BXNlNViX.js +45 -0
- package/dist/index-BXNlNViX.js.map +1 -0
- package/dist/{display-CLcyGpEO.js → index-BgXjsdgw.js} +20 -16
- package/dist/index-BgXjsdgw.js.map +1 -0
- package/dist/{chevron-scroll-sN9hWLoU.js → index-BqwGw7fw.js} +25 -21
- package/dist/index-BqwGw7fw.js.map +1 -0
- package/dist/index-BrpAs-2C.js +55 -0
- package/dist/index-BrpAs-2C.js.map +1 -0
- package/dist/{sticky-columns-CRvJYWgm.js → index-BuxmclJv.js} +76 -72
- package/dist/index-BuxmclJv.js.map +1 -0
- package/dist/{sticky-CU-Yvr4D.js → index-CGx0DywL.js} +356 -349
- package/dist/index-CGx0DywL.js.map +1 -0
- package/dist/{display-Dt1OomBK.js → index-CSEUxTcU.js} +17 -13
- package/dist/index-CSEUxTcU.js.map +1 -0
- package/dist/index-CoevyLaX.js +41 -0
- package/dist/index-CoevyLaX.js.map +1 -0
- package/dist/index-CwiTV8_N.js +63 -0
- package/dist/index-CwiTV8_N.js.map +1 -0
- package/dist/index-DOqPBmZz.js +53 -0
- package/dist/index-DOqPBmZz.js.map +1 -0
- package/dist/{hero-CJSHG7uN.js → index-Ddu-BAv9.js} +44 -41
- package/dist/index-Ddu-BAv9.js.map +1 -0
- package/dist/index-DvXDxhj1.js +39 -0
- package/dist/index-DvXDxhj1.js.map +1 -0
- package/dist/index-OptCax2o.js +66 -0
- package/dist/index-OptCax2o.js.map +1 -0
- package/dist/index-XkoJrs3Q.js +24 -0
- package/dist/index-XkoJrs3Q.js.map +1 -0
- package/dist/{minimal-lg-8HdqL.js → index-ZR5YJ3lO.js} +55 -51
- package/dist/index-ZR5YJ3lO.js.map +1 -0
- package/dist/index-iRIPq52d.js +245 -0
- package/dist/index-iRIPq52d.js.map +1 -0
- package/dist/index-kYufzuXV.js +65 -0
- package/dist/index-kYufzuXV.js.map +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +109 -10
- package/dist/index.js.map +1 -1
- package/dist/interactive.d.ts +0 -4
- package/dist/interactive.js +21 -13
- package/dist/interactive.js.map +1 -1
- package/dist/loader-BppZi79o.js +124 -0
- package/dist/loader-BppZi79o.js.map +1 -0
- package/dist/structural.d.ts +0 -4
- package/dist/structural.js +18 -12
- package/dist/structural.js.map +1 -1
- package/dist/web-components/_event.d.ts.map +1 -0
- package/dist/{api → web-components}/_types.d.ts.map +1 -1
- package/dist/web-components/accordion/index.d.ts +2 -0
- package/dist/web-components/accordion/index.d.ts.map +1 -0
- package/dist/web-components/accordion/item.d.ts +3 -0
- package/dist/web-components/accordion/item.d.ts.map +1 -0
- package/dist/web-components/actions/display.d.ts +4 -0
- package/dist/web-components/actions/display.d.ts.map +1 -0
- package/dist/web-components/actions/index.d.ts +2 -0
- package/dist/web-components/actions/index.d.ts.map +1 -0
- package/dist/web-components/alert/_model.d.ts.map +1 -0
- package/dist/web-components/alert/index.d.ts +4 -0
- package/dist/web-components/alert/index.d.ts.map +1 -0
- package/dist/web-components/alert/page.d.ts +4 -0
- package/dist/web-components/alert/page.d.ts.map +1 -0
- package/dist/web-components/alert/promo.d.ts +4 -0
- package/dist/web-components/alert/promo.d.ts.map +1 -0
- package/dist/web-components/alert/site.d.ts +4 -0
- package/dist/web-components/alert/site.d.ts.map +1 -0
- package/dist/web-components/brand/chevron-scroll.d.ts +4 -0
- package/dist/web-components/brand/chevron-scroll.d.ts.map +1 -0
- package/dist/web-components/brand/index.d.ts +3 -0
- package/dist/web-components/brand/index.d.ts.map +1 -0
- package/dist/web-components/brand/stack.d.ts +4 -0
- package/dist/web-components/brand/stack.d.ts.map +1 -0
- package/dist/{api → web-components}/card/_model.d.ts +1 -1
- package/dist/web-components/card/_model.d.ts.map +1 -0
- package/dist/web-components/card/article.d.ts +4 -0
- package/dist/web-components/card/article.d.ts.map +1 -0
- package/dist/web-components/card/event.d.ts +4 -0
- package/dist/web-components/card/event.d.ts.map +1 -0
- package/dist/web-components/card/icon.d.ts +4 -0
- package/dist/web-components/card/icon.d.ts.map +1 -0
- package/dist/web-components/card/index.d.ts +7 -0
- package/dist/web-components/card/index.d.ts.map +1 -0
- package/dist/web-components/card/overlay.d.ts +4 -0
- package/dist/web-components/card/overlay.d.ts.map +1 -0
- package/dist/web-components/card/standard.d.ts +3 -0
- package/dist/web-components/card/standard.d.ts.map +1 -0
- package/dist/web-components/card/video.d.ts +4 -0
- package/dist/web-components/card/video.d.ts.map +1 -0
- package/dist/web-components/carousel/base.d.ts +4 -0
- package/dist/web-components/carousel/base.d.ts.map +1 -0
- package/dist/web-components/carousel/cards.d.ts +4 -0
- package/dist/web-components/carousel/cards.d.ts.map +1 -0
- package/dist/web-components/carousel/image/multiple.d.ts +4 -0
- package/dist/web-components/carousel/image/multiple.d.ts.map +1 -0
- package/dist/web-components/carousel/image/single.d.ts +4 -0
- package/dist/web-components/carousel/image/single.d.ts.map +1 -0
- package/dist/web-components/carousel/index.d.ts +7 -0
- package/dist/web-components/carousel/index.d.ts.map +1 -0
- package/dist/web-components/carousel/thumbnail.d.ts +4 -0
- package/dist/web-components/carousel/thumbnail.d.ts.map +1 -0
- package/dist/web-components/carousel/wide.d.ts +4 -0
- package/dist/web-components/carousel/wide.d.ts.map +1 -0
- package/dist/web-components/feed/_types.d.ts.map +1 -0
- package/dist/web-components/feed/alert/index.d.ts +3 -0
- package/dist/web-components/feed/alert/index.d.ts.map +1 -0
- package/dist/web-components/feed/events/common.d.ts.map +1 -0
- package/dist/web-components/feed/events/grid.d.ts +4 -0
- package/dist/web-components/feed/events/grid.d.ts.map +1 -0
- package/dist/web-components/feed/events/grouped.d.ts +4 -0
- package/dist/web-components/feed/events/grouped.d.ts.map +1 -0
- package/dist/web-components/feed/events/list.d.ts +4 -0
- package/dist/web-components/feed/events/list.d.ts.map +1 -0
- package/dist/web-components/feed/experts/bio.d.ts +4 -0
- package/dist/web-components/feed/experts/bio.d.ts.map +1 -0
- package/dist/web-components/feed/experts/grid.d.ts +4 -0
- package/dist/web-components/feed/experts/grid.d.ts.map +1 -0
- package/dist/web-components/feed/experts/list.d.ts +4 -0
- package/dist/web-components/feed/experts/list.d.ts.map +1 -0
- package/dist/web-components/feed/index.d.ts +11 -0
- package/dist/web-components/feed/index.d.ts.map +1 -0
- package/dist/web-components/feed/news/common.d.ts.map +1 -0
- package/dist/web-components/feed/news/featured.d.ts +4 -0
- package/dist/web-components/feed/news/featured.d.ts.map +1 -0
- package/dist/web-components/feed/news/grid.d.ts +4 -0
- package/dist/web-components/feed/news/grid.d.ts.map +1 -0
- package/dist/web-components/feed/news/list.d.ts +4 -0
- package/dist/web-components/feed/news/list.d.ts.map +1 -0
- package/dist/web-components/footer/index.d.ts +2 -0
- package/dist/web-components/footer/index.d.ts.map +1 -0
- package/dist/{api → web-components}/footer/options.d.ts +2 -2
- package/dist/web-components/footer/options.d.ts.map +1 -0
- package/dist/web-components/hero/base.d.ts +4 -0
- package/dist/web-components/hero/base.d.ts.map +1 -0
- package/dist/web-components/hero/custom/expand.d.ts +4 -0
- package/dist/web-components/hero/custom/expand.d.ts.map +1 -0
- package/dist/web-components/hero/custom/grid.d.ts +4 -0
- package/dist/web-components/hero/custom/grid.d.ts.map +1 -0
- package/dist/web-components/hero/custom/video.d.ts +4 -0
- package/dist/web-components/hero/custom/video.d.ts.map +1 -0
- package/dist/web-components/hero/index.d.ts +7 -0
- package/dist/web-components/hero/index.d.ts.map +1 -0
- package/dist/web-components/hero/logo.d.ts +4 -0
- package/dist/web-components/hero/logo.d.ts.map +1 -0
- package/dist/web-components/hero/minimal.d.ts +4 -0
- package/dist/web-components/hero/minimal.d.ts.map +1 -0
- package/dist/web-components/index.d.ts +41 -0
- package/dist/web-components/index.d.ts.map +1 -0
- package/dist/web-components/layout/box-logo.d.ts +4 -0
- package/dist/web-components/layout/box-logo.d.ts.map +1 -0
- package/dist/web-components/layout/image-expand.d.ts +4 -0
- package/dist/web-components/layout/image-expand.d.ts.map +1 -0
- package/dist/web-components/layout/index.d.ts +8 -0
- package/dist/web-components/layout/index.d.ts.map +1 -0
- package/dist/web-components/layout/modal.d.ts +4 -0
- package/dist/web-components/layout/modal.d.ts.map +1 -0
- package/dist/web-components/layout/scroll-top.d.ts +4 -0
- package/dist/web-components/layout/scroll-top.d.ts.map +1 -0
- package/dist/web-components/layout/section-intro/common.d.ts.map +1 -0
- package/dist/web-components/layout/section-intro/small.d.ts +4 -0
- package/dist/web-components/layout/section-intro/small.d.ts.map +1 -0
- package/dist/web-components/layout/section-intro/wide.d.ts +4 -0
- package/dist/web-components/layout/section-intro/wide.d.ts.map +1 -0
- package/dist/web-components/layout/sticky-columns.d.ts +4 -0
- package/dist/web-components/layout/sticky-columns.d.ts.map +1 -0
- package/dist/web-components/media/gif.d.ts +4 -0
- package/dist/web-components/media/gif.d.ts.map +1 -0
- package/dist/web-components/media/index.d.ts +3 -0
- package/dist/web-components/media/index.d.ts.map +1 -0
- package/dist/web-components/media/inline/index.d.ts +3 -0
- package/dist/web-components/media/inline/index.d.ts.map +1 -0
- package/dist/web-components/navigation/breadcrumb.d.ts +3 -0
- package/dist/web-components/navigation/breadcrumb.d.ts.map +1 -0
- package/dist/web-components/navigation/common.d.ts.map +1 -0
- package/dist/{api → web-components}/navigation/drawer.d.ts +2 -2
- package/dist/web-components/navigation/drawer.d.ts.map +1 -0
- package/dist/{api → web-components}/navigation/header.d.ts +2 -2
- package/dist/web-components/navigation/header.d.ts.map +1 -0
- package/dist/web-components/navigation/index.d.ts +7 -0
- package/dist/web-components/navigation/index.d.ts.map +1 -0
- package/dist/{api → web-components}/navigation/item.d.ts +2 -2
- package/dist/web-components/navigation/item.d.ts.map +1 -0
- package/dist/{api → web-components}/navigation/slider.d.ts +2 -2
- package/dist/web-components/navigation/slider.d.ts.map +1 -0
- package/dist/web-components/navigation/sticky.d.ts +3 -0
- package/dist/web-components/navigation/sticky.d.ts.map +1 -0
- package/dist/web-components/pathway/highlight.d.ts +4 -0
- package/dist/web-components/pathway/highlight.d.ts.map +1 -0
- package/dist/web-components/pathway/image.d.ts +4 -0
- package/dist/web-components/pathway/image.d.ts.map +1 -0
- package/dist/web-components/pathway/index.d.ts +3 -0
- package/dist/web-components/pathway/index.d.ts.map +1 -0
- package/dist/web-components/person/bio.d.ts +4 -0
- package/dist/web-components/person/bio.d.ts.map +1 -0
- package/dist/{api → web-components}/person/common.d.ts +1 -1
- package/dist/web-components/person/common.d.ts.map +1 -0
- package/dist/web-components/person/display.d.ts +4 -0
- package/dist/web-components/person/display.d.ts.map +1 -0
- package/dist/web-components/person/hero.d.ts +4 -0
- package/dist/web-components/person/hero.d.ts.map +1 -0
- package/dist/web-components/person/index.d.ts +4 -0
- package/dist/web-components/person/index.d.ts.map +1 -0
- package/dist/web-components/quote/display.d.ts +4 -0
- package/dist/web-components/quote/display.d.ts.map +1 -0
- package/dist/web-components/quote/index.d.ts +2 -0
- package/dist/web-components/quote/index.d.ts.map +1 -0
- package/dist/web-components/slider/event/display.d.ts +4 -0
- package/dist/web-components/slider/event/display.d.ts.map +1 -0
- package/dist/web-components/slider/event/feed.d.ts +4 -0
- package/dist/web-components/slider/event/feed.d.ts.map +1 -0
- package/dist/web-components/slider/index.d.ts +3 -0
- package/dist/web-components/slider/index.d.ts.map +1 -0
- package/dist/web-components/social/index.d.ts +2 -0
- package/dist/web-components/social/index.d.ts.map +1 -0
- package/dist/web-components/social/sharing.d.ts +4 -0
- package/dist/web-components/social/sharing.d.ts.map +1 -0
- package/dist/web-components/stat/display.d.ts +4 -0
- package/dist/web-components/stat/display.d.ts.map +1 -0
- package/dist/web-components/stat/index.d.ts +2 -0
- package/dist/web-components/stat/index.d.ts.map +1 -0
- package/dist/web-components/tab/display.d.ts +4 -0
- package/dist/web-components/tab/display.d.ts.map +1 -0
- package/dist/web-components/tab/index.d.ts +2 -0
- package/dist/web-components/tab/index.d.ts.map +1 -0
- package/dist/web-components/text/event-lockup.d.ts +4 -0
- package/dist/web-components/text/event-lockup.d.ts.map +1 -0
- package/dist/web-components/text/index.d.ts +2 -0
- package/dist/web-components/text/index.d.ts.map +1 -0
- package/package.json +10 -17
- package/dist/api/_event.d.ts.map +0 -1
- package/dist/api/accordion/index.d.ts +0 -2
- package/dist/api/accordion/index.d.ts.map +0 -1
- package/dist/api/accordion/item.d.ts +0 -3
- package/dist/api/accordion/item.d.ts.map +0 -1
- package/dist/api/actions/display.d.ts +0 -4
- package/dist/api/actions/display.d.ts.map +0 -1
- package/dist/api/actions/index.d.ts +0 -2
- package/dist/api/actions/index.d.ts.map +0 -1
- package/dist/api/alert/_model.d.ts.map +0 -1
- package/dist/api/alert/index.d.ts +0 -4
- package/dist/api/alert/index.d.ts.map +0 -1
- package/dist/api/alert/page.d.ts +0 -4
- package/dist/api/alert/page.d.ts.map +0 -1
- package/dist/api/alert/promo.d.ts +0 -4
- package/dist/api/alert/promo.d.ts.map +0 -1
- package/dist/api/alert/site.d.ts +0 -4
- package/dist/api/alert/site.d.ts.map +0 -1
- package/dist/api/brand/chevron-scroll.d.ts +0 -4
- package/dist/api/brand/chevron-scroll.d.ts.map +0 -1
- package/dist/api/brand/index.d.ts +0 -3
- package/dist/api/brand/index.d.ts.map +0 -1
- package/dist/api/brand/stack.d.ts +0 -4
- package/dist/api/brand/stack.d.ts.map +0 -1
- package/dist/api/card/_model.d.ts.map +0 -1
- package/dist/api/card/article.d.ts +0 -4
- package/dist/api/card/article.d.ts.map +0 -1
- package/dist/api/card/event.d.ts +0 -4
- package/dist/api/card/event.d.ts.map +0 -1
- package/dist/api/card/icon.d.ts +0 -4
- package/dist/api/card/icon.d.ts.map +0 -1
- package/dist/api/card/index.d.ts +0 -7
- package/dist/api/card/index.d.ts.map +0 -1
- package/dist/api/card/overlay.d.ts +0 -4
- package/dist/api/card/overlay.d.ts.map +0 -1
- package/dist/api/card/standard.d.ts +0 -3
- package/dist/api/card/standard.d.ts.map +0 -1
- package/dist/api/card/video.d.ts +0 -4
- package/dist/api/card/video.d.ts.map +0 -1
- package/dist/api/carousel/base.d.ts +0 -4
- package/dist/api/carousel/base.d.ts.map +0 -1
- package/dist/api/carousel/cards.d.ts +0 -4
- package/dist/api/carousel/cards.d.ts.map +0 -1
- package/dist/api/carousel/image/multiple.d.ts +0 -4
- package/dist/api/carousel/image/multiple.d.ts.map +0 -1
- package/dist/api/carousel/image/single.d.ts +0 -4
- package/dist/api/carousel/image/single.d.ts.map +0 -1
- package/dist/api/carousel/index.d.ts +0 -7
- package/dist/api/carousel/index.d.ts.map +0 -1
- package/dist/api/carousel/thumbnail.d.ts +0 -4
- package/dist/api/carousel/thumbnail.d.ts.map +0 -1
- package/dist/api/carousel/wide.d.ts +0 -4
- package/dist/api/carousel/wide.d.ts.map +0 -1
- package/dist/api/feed/_types.d.ts.map +0 -1
- package/dist/api/feed/alert/index.d.ts +0 -3
- package/dist/api/feed/alert/index.d.ts.map +0 -1
- package/dist/api/feed/events/common.d.ts.map +0 -1
- package/dist/api/feed/events/grid.d.ts +0 -4
- package/dist/api/feed/events/grid.d.ts.map +0 -1
- package/dist/api/feed/events/grouped.d.ts +0 -4
- package/dist/api/feed/events/grouped.d.ts.map +0 -1
- package/dist/api/feed/events/list.d.ts +0 -4
- package/dist/api/feed/events/list.d.ts.map +0 -1
- package/dist/api/feed/index.d.ts +0 -7
- package/dist/api/feed/index.d.ts.map +0 -1
- package/dist/api/feed/news/common.d.ts.map +0 -1
- package/dist/api/feed/news/featured.d.ts +0 -4
- package/dist/api/feed/news/featured.d.ts.map +0 -1
- package/dist/api/feed/news/grid.d.ts +0 -4
- package/dist/api/feed/news/grid.d.ts.map +0 -1
- package/dist/api/feed/news/list.d.ts +0 -4
- package/dist/api/feed/news/list.d.ts.map +0 -1
- package/dist/api/footer/index.d.ts +0 -2
- package/dist/api/footer/index.d.ts.map +0 -1
- package/dist/api/footer/options.d.ts.map +0 -1
- package/dist/api/hero/base.d.ts +0 -4
- package/dist/api/hero/base.d.ts.map +0 -1
- package/dist/api/hero/custom/expand.d.ts +0 -4
- package/dist/api/hero/custom/expand.d.ts.map +0 -1
- package/dist/api/hero/custom/grid.d.ts +0 -4
- package/dist/api/hero/custom/grid.d.ts.map +0 -1
- package/dist/api/hero/custom/video.d.ts +0 -4
- package/dist/api/hero/custom/video.d.ts.map +0 -1
- package/dist/api/hero/index.d.ts +0 -7
- package/dist/api/hero/index.d.ts.map +0 -1
- package/dist/api/hero/logo.d.ts +0 -4
- package/dist/api/hero/logo.d.ts.map +0 -1
- package/dist/api/hero/minimal.d.ts +0 -4
- package/dist/api/hero/minimal.d.ts.map +0 -1
- package/dist/api/index.d.ts +0 -161
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/layout/box-logo.d.ts +0 -4
- package/dist/api/layout/box-logo.d.ts.map +0 -1
- package/dist/api/layout/image-expand.d.ts +0 -4
- package/dist/api/layout/image-expand.d.ts.map +0 -1
- package/dist/api/layout/index.d.ts +0 -8
- package/dist/api/layout/index.d.ts.map +0 -1
- package/dist/api/layout/modal.d.ts +0 -3
- package/dist/api/layout/modal.d.ts.map +0 -1
- package/dist/api/layout/scroll-top.d.ts +0 -3
- package/dist/api/layout/scroll-top.d.ts.map +0 -1
- package/dist/api/layout/section-intro/common.d.ts.map +0 -1
- package/dist/api/layout/section-intro/small.d.ts +0 -4
- package/dist/api/layout/section-intro/small.d.ts.map +0 -1
- package/dist/api/layout/section-intro/wide.d.ts +0 -4
- package/dist/api/layout/section-intro/wide.d.ts.map +0 -1
- package/dist/api/layout/sticky-columns.d.ts +0 -4
- package/dist/api/layout/sticky-columns.d.ts.map +0 -1
- package/dist/api/media/gif.d.ts +0 -3
- package/dist/api/media/gif.d.ts.map +0 -1
- package/dist/api/media/index.d.ts +0 -3
- package/dist/api/media/index.d.ts.map +0 -1
- package/dist/api/media/inline/index.d.ts +0 -3
- package/dist/api/media/inline/index.d.ts.map +0 -1
- package/dist/api/navigation/breadcrumb.d.ts +0 -3
- package/dist/api/navigation/breadcrumb.d.ts.map +0 -1
- package/dist/api/navigation/common.d.ts.map +0 -1
- package/dist/api/navigation/drawer.d.ts.map +0 -1
- package/dist/api/navigation/header.d.ts.map +0 -1
- package/dist/api/navigation/index.d.ts +0 -7
- package/dist/api/navigation/index.d.ts.map +0 -1
- package/dist/api/navigation/item.d.ts.map +0 -1
- package/dist/api/navigation/slider.d.ts.map +0 -1
- package/dist/api/navigation/sticky.d.ts +0 -3
- package/dist/api/navigation/sticky.d.ts.map +0 -1
- package/dist/api/pathway/highlight.d.ts +0 -3
- package/dist/api/pathway/highlight.d.ts.map +0 -1
- package/dist/api/pathway/image.d.ts +0 -3
- package/dist/api/pathway/image.d.ts.map +0 -1
- package/dist/api/pathway/index.d.ts +0 -3
- package/dist/api/pathway/index.d.ts.map +0 -1
- package/dist/api/person/bio.d.ts +0 -4
- package/dist/api/person/bio.d.ts.map +0 -1
- package/dist/api/person/common.d.ts.map +0 -1
- package/dist/api/person/display.d.ts +0 -4
- package/dist/api/person/display.d.ts.map +0 -1
- package/dist/api/person/hero.d.ts +0 -4
- package/dist/api/person/hero.d.ts.map +0 -1
- package/dist/api/person/index.d.ts +0 -4
- package/dist/api/person/index.d.ts.map +0 -1
- package/dist/api/quote/display.d.ts +0 -4
- package/dist/api/quote/display.d.ts.map +0 -1
- package/dist/api/quote/index.d.ts +0 -2
- package/dist/api/quote/index.d.ts.map +0 -1
- package/dist/api/slider/event/display.d.ts +0 -4
- package/dist/api/slider/event/display.d.ts.map +0 -1
- package/dist/api/slider/event/feed.d.ts +0 -4
- package/dist/api/slider/event/feed.d.ts.map +0 -1
- package/dist/api/slider/index.d.ts +0 -3
- package/dist/api/slider/index.d.ts.map +0 -1
- package/dist/api/social/index.d.ts +0 -2
- package/dist/api/social/index.d.ts.map +0 -1
- package/dist/api/social/sharing.d.ts +0 -4
- package/dist/api/social/sharing.d.ts.map +0 -1
- package/dist/api/stat/display.d.ts +0 -4
- package/dist/api/stat/display.d.ts.map +0 -1
- package/dist/api/stat/index.d.ts +0 -2
- package/dist/api/stat/index.d.ts.map +0 -1
- package/dist/api/tab/display.d.ts +0 -4
- package/dist/api/tab/display.d.ts.map +0 -1
- package/dist/api/tab/index.d.ts +0 -2
- package/dist/api/tab/index.d.ts.map +0 -1
- package/dist/api/text/event-lockup.d.ts +0 -4
- package/dist/api/text/event-lockup.d.ts.map +0 -1
- package/dist/api/text/index.d.ts +0 -2
- package/dist/api/text/index.d.ts.map +0 -1
- package/dist/chevron-scroll-sN9hWLoU.js.map +0 -1
- package/dist/display-BCuspULn.js +0 -37
- package/dist/display-BCuspULn.js.map +0 -1
- package/dist/display-BURSSsTh.js +0 -62
- package/dist/display-BURSSsTh.js.map +0 -1
- package/dist/display-CLcyGpEO.js.map +0 -1
- package/dist/display-Dt1OomBK.js.map +0 -1
- package/dist/event-lockup-DYOdwoC5.js +0 -41
- package/dist/event-lockup-DYOdwoC5.js.map +0 -1
- package/dist/feed-DbSsTiki.js +0 -51
- package/dist/feed-DbSsTiki.js.map +0 -1
- package/dist/gif-Bv0nF1ip.js +0 -49
- package/dist/gif-Bv0nF1ip.js.map +0 -1
- package/dist/hero-CJSHG7uN.js.map +0 -1
- package/dist/highlight-BAbE0FOj.js.map +0 -1
- package/dist/item-CmgWZBOy.js +0 -35
- package/dist/item-CmgWZBOy.js.map +0 -1
- package/dist/list--1BnmUBS.js +0 -153
- package/dist/list--1BnmUBS.js.map +0 -1
- package/dist/loader-DMOMf4KN.js +0 -235
- package/dist/loader-DMOMf4KN.js.map +0 -1
- package/dist/minimal-lg-8HdqL.js.map +0 -1
- package/dist/options-CK6woa0h.js +0 -61
- package/dist/options-CK6woa0h.js.map +0 -1
- package/dist/sharing-BdbhS9ui.js +0 -20
- package/dist/sharing-BdbhS9ui.js.map +0 -1
- package/dist/site-BhZ-sVOW.js +0 -59
- package/dist/site-BhZ-sVOW.js.map +0 -1
- package/dist/sticky-CU-Yvr4D.js.map +0 -1
- package/dist/sticky-columns-CRvJYWgm.js.map +0 -1
- package/dist/video-C2XikZ0X.js.map +0 -1
- package/dist/wide-B08z0PJj.js +0 -220
- package/dist/wide-B08z0PJj.js.map +0 -1
- /package/dist/{api → web-components}/_event.d.ts +0 -0
- /package/dist/{api → web-components}/_types.d.ts +0 -0
- /package/dist/{api → web-components}/alert/_model.d.ts +0 -0
- /package/dist/{api → web-components}/feed/_types.d.ts +0 -0
- /package/dist/{api → web-components}/feed/events/common.d.ts +0 -0
- /package/dist/{api → web-components}/feed/news/common.d.ts +0 -0
- /package/dist/{api → web-components}/layout/section-intro/common.d.ts +0 -0
- /package/dist/{api → web-components}/navigation/common.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sticky-columns-CRvJYWgm.js","sources":["../source/api/layout/box-logo.ts","../source/api/layout/image-expand.ts","../source/api/layout/modal.ts","../source/api/layout/scroll-top.ts","../source/api/layout/section-intro/common.ts","../source/api/layout/section-intro/small.ts","../source/api/layout/section-intro/wide.ts","../source/api/layout/sticky-columns.ts"],"sourcesContent":["import { layout } from '@universityofmaryland/web-elements-library/composite';\nimport * as validation from '@universityofmaryland/web-utilities-library/validation';\nimport { Attributes, Slots, Register } from '@universityofmaryland/web-model-library';\nimport {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-logo';\n\nconst slots: SlotConfiguration = {\n image: {\n required: true,\n },\n};\n\nconst createComponent: CreateComponentFunction = (element) =>\n layout.box.logo({\n image: validation.getValidatedSlotImage({\n element,\n slotName: Slots.name.assets.image,\n }) as HTMLImageElement,\n text: Slots.text.default({ element }),\n isThemeDark: Attributes.isTheme.dark({ element }),\n isBordered: Attributes.isVisual.bordered({ element }),\n });\n\n/**\n * Box Logo\n *\n * A layout component that displays a logo image with optional text content in a boxed layout.\n * Commonly used for brand identity sections, partner logos, or featured organization displays.\n *\n * ## Custom Element\n * `<umd-element-logo>`\n *\n * ## Slots\n * - `image` - Logo image (required, accepts: img)\n * - Default slot - Optional text content to display alongside the logo\n *\n * ## Attributes\n * - `data-theme` - Theme options:\n * - `dark` - Dark background with light text\n * - `data-visual` - Visual styling options:\n * - `bordered` - Adds a border around the component\n *\n * @example\n * ```html\n * <!-- Basic logo display -->\n * <umd-element-logo>\n * <img slot=\"image\" src=\"logo.png\" alt=\"Company Logo\" />\n * </umd-element-logo>\n * ```\n *\n * @example\n * ```html\n * <!-- Logo with text and dark theme -->\n * <umd-element-logo data-theme=\"dark\">\n * <img slot=\"image\" src=\"partner-logo.png\" alt=\"Partner Logo\" />\n * <p>Official University Partner</p>\n * </umd-element-logo>\n * ```\n *\n * @example\n * ```html\n * <!-- Bordered logo box -->\n * <umd-element-logo data-visual=\"bordered\">\n * <img slot=\"image\" src=\"sponsor.png\" alt=\"Sponsor Logo\" />\n * <span>Gold Sponsor</span>\n * </umd-element-logo>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n});\n\nexport default registration;\n","import { layout } from '@universityofmaryland/web-elements-library/composite';\nimport { createSlot } from '@universityofmaryland/web-utilities-library/elements';\nimport * as validation from '@universityofmaryland/web-utilities-library/validation';\nimport { Slots, Register } from '@universityofmaryland/web-model-library';\nimport {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-layout-image-expand';\n\nconst slots: SlotConfiguration = {\n content: {\n required: true,\n },\n image: {\n required: true,\n },\n};\n\nconst createComponent: CreateComponentFunction = (element) =>\n layout.image.expand({\n content: createSlot('content'),\n image: validation.getValidatedSlotImage({\n element,\n slotName: Slots.name.assets.image,\n }) as HTMLImageElement,\n });\n\n/**\n * Image Expand Layout\n *\n * A layout component that presents content alongside an expandable image. The image can extend\n * beyond the normal content boundaries to create visual impact. Ideal for showcasing featured\n * content, hero sections, or highlighting important information with striking visuals.\n *\n * ## Custom Element\n * `<umd-layout-image-expand>`\n *\n * ## Slots\n * - `content` - Main content area (required, accepts: any elements)\n * - `image` - Featured image that can expand (required, accepts: img)\n *\n * @example\n * ```html\n * <!-- Basic image expand layout -->\n * <umd-layout-image-expand>\n * <div slot=\"content\">\n * <h2>Featured Research</h2>\n * <p>Breakthrough discoveries in quantum computing...</p>\n * </div>\n * <img slot=\"image\" src=\"research-lab.jpg\" alt=\"Quantum Lab\" />\n * </umd-layout-image-expand>\n * ```\n *\n * @example\n * ```html\n * <!-- With rich content -->\n * <umd-layout-image-expand>\n * <article slot=\"content\">\n * <h1>Campus Innovation Hub</h1>\n * <p>The new Innovation Hub brings together students, faculty, and industry partners...</p>\n * <a href=\"/innovation\">Learn More</a>\n * </article>\n * <img slot=\"image\" src=\"innovation-hub.jpg\" alt=\"Innovation Hub Interior\" />\n * </umd-layout-image-expand>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n});\n\nexport default registration;\n","import { layout } from '@universityofmaryland/web-elements-library/atomic';\nimport { Attributes, Slots, Register } from '@universityofmaryland/web-model-library';\nimport { CreateComponentFunction, LayoutProps } from '../../_types';\n\ninterface ModalProps extends LayoutProps {\n content: HTMLElement | null;\n context: HTMLElement;\n callback: () => void;\n}\n\nconst tagName = 'umd-element-modal';\n\nconst createComponent: CreateComponentFunction = (element) => {\n const callback = () => {\n element.setAttribute(\n Attributes.names.layout.hidden,\n Attributes.values.state.TRUE,\n );\n };\n\n const props: ModalProps = {\n content: Slots.content.default({ element, isDefaultStyling: false }),\n isHidden: Attributes.isLayout.hidden({ element }),\n context: element,\n callback,\n };\n\n return layout.overlay.modal(props);\n};\n\nconst attributes = Attributes.handler.common.visualShowHide({\n onShow: (element) => element.events?.show(),\n onHide: (element) => element.events?.hide(),\n});\n\n/**\n * Modal\n *\n * A modal overlay component that displays content in a focused dialog window.\n * Includes backdrop, close functionality, and proper focus management for accessibility.\n * The modal can be controlled programmatically through observed attributes.\n *\n * ## Custom Element\n * `<umd-element-modal>`\n *\n * ## Slots\n * - Default slot - Content to display inside the modal\n *\n * ## Attributes\n * - `data-layout-hidden` - Initial visibility state:\n * - `true` - Modal starts hidden\n * - Absence implies visible\n *\n * ## Observed Attributes\n * - `data-visual-open` - Shows the modal when set to \"true\"\n * - `data-visual-closed` - Hides the modal when set to \"true\"\n *\n * @example\n * ```html\n * <!-- Basic modal -->\n * <umd-element-modal data-layout-hidden=\"true\">\n * <h2>Welcome</h2>\n * <p>This is modal content.</p>\n * <button>Close</button>\n * </umd-element-modal>\n * ```\n *\n * @example\n * ```html\n * <!-- Programmatic control -->\n * <button id=\"open-modal\">Open Modal</button>\n * <umd-element-modal id=\"my-modal\" data-layout-hidden=\"true\">\n * <div class=\"modal-content\">\n * <h2>Important Information</h2>\n * <p>Please read this carefully...</p>\n * <button id=\"close-modal\">I Understand</button>\n * </div>\n * </umd-element-modal>\n *\n * <script>\n * const modal = document.getElementById('my-modal');\n * document.getElementById('open-modal').addEventListener('click', () => {\n * modal.setAttribute('data-visual-open', 'true');\n * });\n * document.getElementById('close-modal').addEventListener('click', () => {\n * modal.setAttribute('data-visual-closed', 'true');\n * });\n * </script>\n * ```\n *\n * @example\n * ```html\n * <!-- Form modal -->\n * <umd-element-modal data-layout-hidden=\"true\">\n * <form>\n * <h2>Contact Us</h2>\n * <label>\n * Name:\n * <input type=\"text\" name=\"name\" required>\n * </label>\n * <label>\n * Email:\n * <input type=\"email\" name=\"email\" required>\n * </label>\n * <textarea name=\"message\" placeholder=\"Your message\"></textarea>\n * <button type=\"submit\">Send</button>\n * </form>\n * </umd-element-modal>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nexport default Register.webComponent({\n tagName,\n attributes,\n createComponent,\n});\n","import { layout } from '@universityofmaryland/web-elements-library/composite';\nimport { Attributes, Register, Lifecycle } from '@universityofmaryland/web-model-library';\nimport { CreateComponentFunction, LayoutProps } from '../../_types';\n\ninterface ScrollTopProps extends Pick<LayoutProps, 'isFixed'> {}\n\nconst tagName = 'umd-element-scroll-top';\n\nconst createComponent: CreateComponentFunction = (element) => {\n const props: ScrollTopProps = {\n isFixed: element.hasAttribute(\n Attributes.names.deprecated.layout.LAYOUT_FIXED,\n ),\n };\n\n return layout.scrollTop(props);\n};\n\n/**\n * Scroll to Top\n *\n * A utility component that provides a smooth scroll-to-top functionality.\n * Displays a button that appears after scrolling down and returns users to the top of the page.\n * Can be positioned fixed or absolute within its container.\n *\n * ## Custom Element\n * `<umd-element-scroll-top>`\n *\n * ## Attributes\n * - `data-layout-fixed` - Positioning mode:\n * - When present - Fixed positioning relative to viewport\n * - When absent - Absolute positioning within parent container\n *\n * @example\n * ```html\n * <!-- Basic scroll to top button -->\n * <umd-element-scroll-top></umd-element-scroll-top>\n * ```\n *\n * @example\n * ```html\n * <!-- Fixed position scroll to top -->\n * <umd-element-scroll-top data-layout-fixed></umd-element-scroll-top>\n * ```\n *\n * @example\n * ```html\n * <!-- Within a specific container -->\n * <div class=\"content-wrapper\" style=\"position: relative;\">\n * <article>\n * <!-- Long content here -->\n * </article>\n * <umd-element-scroll-top></umd-element-scroll-top>\n * </div>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nexport default Register.webComponent({\n tagName,\n createComponent,\n afterConnect: Lifecycle.hooks.loadOnConnect,\n});\n","import { Slots } from '@universityofmaryland/web-model-library';\n\nexport const CommonIntroData = ({\n element,\n isThemeDark,\n}: {\n element: HTMLElement;\n isThemeDark?: boolean;\n}) => ({\n headline: Slots.headline.default({ element }),\n actions: Slots.actions.default({ element }),\n isThemeDark,\n});\n","import { layout } from '@universityofmaryland/web-elements-library/composite';\nimport { Attributes, Slots, Register, Lifecycle } from '@universityofmaryland/web-model-library';\nimport { CommonIntroData } from './common';\nimport {\n CreateComponentFunction,\n ComponentRegistration,\n} from '../../../_types';\n\nconst tagName = 'umd-element-section-intro';\n\nconst createComponent: CreateComponentFunction = (element) =>\n layout.sectionIntro.small({\n ...CommonIntroData({\n element,\n isThemeDark: Attributes.isTheme.dark({ element }),\n }),\n text: Slots.text.default({ element }),\n hasSeparator: element.hasAttribute(\n Attributes.names.deprecated.option.OPTIONAL_HAS_SEPARATOR,\n ),\n includesAnimation: Attributes.includesFeature.animation({ element }),\n });\n\n/**\n * Section Introduction (Small)\n *\n * A compact section introduction component that provides a headline, descriptive text,\n * and optional action buttons. Designed for introducing content sections with minimal\n * space usage. Supports animation on scroll and optional visual separator.\n *\n * ## Custom Element\n * `<umd-element-section-intro>`\n *\n * ## Slots\n * - `headline` - Section headline/title\n * - `actions` - Call-to-action buttons or links\n * - Default slot - Descriptive text content\n *\n * ## Attributes\n * - `data-theme` - Theme options:\n * - `dark` - Dark background with light text\n * - `data-has-separator` - Adds visual separator line\n * - `data-animation` - Enable scroll-triggered animations:\n * - `true` - Enables entrance animations\n *\n * @example\n * ```html\n * <!-- Basic section intro -->\n * <umd-element-section-intro>\n * <h2 slot=\"headline\">Our Mission</h2>\n * <p>We are committed to excellence in education and research.</p>\n * </umd-element-section-intro>\n * ```\n *\n * @example\n * ```html\n * <!-- With actions and separator -->\n * <umd-element-section-intro data-has-separator>\n * <h2 slot=\"headline\">Get Started</h2>\n * <p>Join our community of innovators and leaders.</p>\n * <div slot=\"actions\">\n * <a href=\"/apply\">Apply Now</a>\n * <a href=\"/info\">Learn More</a>\n * </div>\n * </umd-element-section-intro>\n * ```\n *\n * @example\n * ```html\n * <!-- Dark theme with animation -->\n * <umd-element-section-intro data-theme=\"dark\" data-animation=\"true\">\n * <h2 slot=\"headline\">Research Excellence</h2>\n * <p>Discover groundbreaking research across multiple disciplines.</p>\n * <a slot=\"actions\" href=\"/research\">Explore Research</a>\n * </umd-element-section-intro>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n createComponent,\n afterConnect: Lifecycle.hooks.loadAnimation,\n});\n\nexport default registration;\n","import { layout } from '@universityofmaryland/web-elements-library/composite';\nimport { Attributes, Register } from '@universityofmaryland/web-model-library';\nimport { CommonIntroData } from './common';\nimport {\n CreateComponentFunction,\n ComponentRegistration,\n} from '../../../_types';\n\nconst tagName = 'umd-element-section-intro-wide';\n\nconst createComponent: CreateComponentFunction = (element) =>\n layout.sectionIntro.wide(\n CommonIntroData({\n element,\n isThemeDark: Attributes.isTheme.dark({ element }),\n }),\n );\n\n/**\n * Section Introduction (Wide)\n *\n * A full-width section introduction component that spans the entire container width.\n * Provides a bold headline and optional action buttons for high-impact section openings.\n * Ideal for major content divisions or landing page sections.\n *\n * ## Custom Element\n * `<umd-element-section-intro-wide>`\n *\n * ## Slots\n * - `headline` - Section headline/title\n * - `actions` - Call-to-action buttons or links\n *\n * ## Attributes\n * - `data-theme` - Theme options:\n * - `dark` - Dark background with light text\n *\n * @example\n * ```html\n * <!-- Basic wide section intro -->\n * <umd-element-section-intro-wide>\n * <h1 slot=\"headline\">Welcome to the University of Maryland</h1>\n * </umd-element-section-intro-wide>\n * ```\n *\n * @example\n * ```html\n * <!-- With call-to-action -->\n * <umd-element-section-intro-wide>\n * <h2 slot=\"headline\">Discover Your Path</h2>\n * <div slot=\"actions\">\n * <a href=\"/programs\" class=\"button\">Explore Programs</a>\n * <a href=\"/visit\" class=\"button-outline\">Plan a Visit</a>\n * </div>\n * </umd-element-section-intro-wide>\n * ```\n *\n * @example\n * ```html\n * <!-- Dark theme variant -->\n * <umd-element-section-intro-wide data-theme=\"dark\">\n * <h1 slot=\"headline\">Innovation Starts Here</h1>\n * <a slot=\"actions\" href=\"/innovation\">Join the Movement</a>\n * </umd-element-section-intro-wide>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n createComponent,\n});\n\nexport default registration;\n","import { layout } from '@universityofmaryland/web-elements-library/composite';\nimport { createSlot } from '@universityofmaryland/web-utilities-library/elements';\nimport { Attributes, Slots, Register } from '@universityofmaryland/web-model-library';\nimport {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-sticky-columns';\n\nconst slots: SlotConfiguration = {\n [`sticky-column`]: {\n required: true,\n },\n [`static-column`]: {\n required: true,\n },\n};\n\nconst attributes = Attributes.handler.combine(\n Attributes.handler.observe.visuallyPosition({\n callback: (element, topPosition) =>\n element.events?.setPosition({ value: topPosition }),\n }),\n // Deprecated\n Attributes.handler.observe.visuallyPosition({\n name: Attributes.names.deprecated.layout.LAYOUT_STICKY_TOP,\n callback: (element, topPosition) =>\n element.events?.setPosition({ value: topPosition }),\n }),\n);\n\nconst createComponent: CreateComponentFunction = (element) =>\n layout.stickyColumns({\n stickyColumn: createSlot(Slots.name.STICKY_COLUMN),\n staticColumn: createSlot(Slots.name.STATIC_COLUMN),\n isStickyLast: !Attributes.isVisual.stickyFirst({ element }),\n topPosition: Attributes.getValue.topPosition({ element }),\n });\n\n/**\n * Sticky Columns\n *\n * A two-column layout component where one column remains sticky during scroll while\n * the other scrolls normally. Useful for keeping navigation, table of contents, or\n * supplementary information visible while scrolling through main content.\n *\n * ## Custom Element\n * `<umd-element-sticky-columns>`\n *\n * ## Slots\n * - `sticky-column` - Content that remains fixed during scroll (required)\n * - `static-column` - Content that scrolls normally (required)\n *\n * ## Attributes\n * - `data-visual` - Column order options:\n * - `sticky-first` - Sticky column appears first (left on desktop)\n *\n * ## Observed Attributes\n * - `data-visual-position` - Sets the top position offset for the sticky column (in pixels)\n *\n * @example\n * ```html\n * <!-- Basic sticky columns with navigation -->\n * <umd-element-sticky-columns>\n * <nav slot=\"sticky-column\">\n * <ul>\n * <li><a href=\"#section1\">Section 1</a></li>\n * <li><a href=\"#section2\">Section 2</a></li>\n * <li><a href=\"#section3\">Section 3</a></li>\n * </ul>\n * </nav>\n * <article slot=\"static-column\">\n * <section id=\"section1\">...</section>\n * <section id=\"section2\">...</section>\n * <section id=\"section3\">...</section>\n * </article>\n * </umd-element-sticky-columns>\n * ```\n *\n * @example\n * ```html\n * <!-- Sticky column first with custom offset -->\n * <umd-element-sticky-columns data-visual=\"sticky-first\" data-visual-position=\"100\">\n * <aside slot=\"sticky-column\">\n * <h3>Quick Facts</h3>\n * <ul>\n * <li>Founded: 1856</li>\n * <li>Students: 40,000+</li>\n * <li>Location: College Park, MD</li>\n * </ul>\n * </aside>\n * <main slot=\"static-column\">\n * <h1>About the University</h1>\n * <p>Long content about the university...</p>\n * </main>\n * </umd-element-sticky-columns>\n * ```\n *\n * @example\n * ```html\n * <!-- Dynamic sticky position adjustment -->\n * <umd-element-sticky-columns id=\"sticky-layout\">\n * <div slot=\"sticky-column\">Sticky content</div>\n * <div slot=\"static-column\">Scrollable content</div>\n * </umd-element-sticky-columns>\n *\n * <script>\n * // Adjust sticky position based on header height\n * const stickyLayout = document.getElementById('sticky-layout');\n * const headerHeight = document.querySelector('header').offsetHeight;\n * stickyLayout.setAttribute('data-visual-position', headerHeight + 20);\n * </script>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n attributes,\n});\n\nexport default registration;\n"],"names":["tagName","slots","createComponent","element","layout","validation","Slots","Attributes","registration","Register","box_logo_default","createSlot","image_expand_default","callback","props","attributes","modal_default","scroll_top_default","Lifecycle","CommonIntroData","isThemeDark","small_default","wide_default","topPosition","sticky_columns_default"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"video-C2XikZ0X.js","sources":["../source/api/card/_model.ts","../source/api/card/article.ts","../source/api/card/event.ts","../source/api/card/icon.ts","../source/api/card/overlay.ts","../source/api/card/standard.ts","../source/api/card/video.ts"],"sourcesContent":["import { card } from '@universityofmaryland/web-elements-library/composite';\nimport * as validation from '@universityofmaryland/web-utilities-library/validation';\nimport { Attributes, Model, Register, Slots } from '@universityofmaryland/web-model-library';\n\ninterface CardData {\n image: HTMLImageElement | null;\n eyebrow: HTMLElement | null;\n headline: HTMLElement | null;\n text: HTMLElement | null;\n date: HTMLElement | null;\n actions: HTMLElement | null;\n isTransparent: boolean;\n isThemeDark: boolean;\n isAligned?: boolean;\n isBordered?: boolean;\n}\n\ninterface CardConfig {\n tagName: string;\n}\n\nconst createCardComponent = ({ tagName }: CardConfig) => {\n const slots = {\n headline: {\n required: true,\n ...Slots.element.allowed.subHeadline,\n },\n body: Slots.element.allowed.text,\n };\n\n const createComponentData = (element: HTMLElement): CardData => ({\n image: validation.getValidatedSlotImage({\n element,\n slotName: Slots.name.assets.image,\n }),\n eyebrow: Slots.eyebrow.default({ element }),\n headline: Slots.headline.default({ element }),\n text: Slots.text.default({ element }),\n date: Slots.date.default({ element }),\n actions: Slots.actions.default({ element }),\n isTransparent: Attributes.isVisual.transparent({ element }),\n isThemeDark: Attributes.isTheme.dark({ element }),\n });\n\n const createComponent = (element: HTMLElement) => {\n const isAligned = Attributes.isVisual.aligned({ element });\n const hasBorder = Attributes.isVisual.bordered({ element });\n const isDisplayList = Attributes.isDisplay.list({ element });\n const cardData = createComponentData(element);\n\n if (isDisplayList) {\n return card.list({\n ...cardData,\n isAligned,\n });\n }\n\n return card.block({\n ...cardData,\n isAligned,\n hasBorder,\n });\n };\n\n return () => {\n Register.registerWebComponent({\n name: tagName,\n element: Model.createCustomElement({\n tagName,\n slots,\n createComponent,\n }),\n });\n };\n};\n\nexport default createCardComponent;\n","import CardModel from './_model';\nimport type { ComponentRegistration } from '../../_types';\n\nconst tagName = 'umd-element-article';\n\n/**\n * Article Card\n *\n * A specialized card component optimized for displaying article and news content.\n * Inherits all features from the standard card with article-specific semantics.\n *\n * ## Custom Element\n * `<umd-element-article>`\n *\n * ## Slots\n * - `headline` - Article title (required, accepts: h2-h6, p)\n * - `text` - Article excerpt or summary (accepts: p)\n * - `eyebrow` - Category or section label\n * - `image` - Article featured image\n * - `actions` - Read more links or sharing options\n * - `date` - Publication date\n *\n * ## Attributes\n * - `data-theme` - Theme styling options:\n * - `dark` - Dark theme styling\n * - `light` - Light theme styling\n * - `data-display` - Display mode options:\n * - `list` - List display format\n * - `data-visual` - Visual display options:\n * - `transparent` - Transparent background\n * - `aligned` - Aligned content layout\n * - `bordered` - Add border styling\n *\n *\n * @example\n * ```html\n * <!-- Basic article card -->\n * <umd-element-article>\n * <p slot=\"eyebrow\">Faculty Research</p>\n * <h3 slot=\"headline\">Professor Wins Nobel Prize in Physics</h3>\n * <p slot=\"text\">Groundbreaking work in quantum computing recognized.</p>\n * <p slot=\"date\">December 10, 2023</p>\n * </umd-element-article>\n * ```\n *\n * @example\n * ```html\n * <!-- Article with image and actions -->\n * <umd-element-article>\n * <img slot=\"image\" src=\"research-lab.jpg\" alt=\"Research laboratory\">\n * <p slot=\"eyebrow\">Science & Technology</p>\n * <h2 slot=\"headline\">New Climate Research Center Opens</h2>\n * <p slot=\"text\">\n * The facility will advance understanding of climate change impacts\n * and develop sustainable solutions.\n * </p>\n * <p slot=\"date\">November 15, 2023</p>\n * <div slot=\"actions\">\n * <a href=\"/full-article\">Read Full Article</a>\n * <a href=\"/share\">Share</a>\n * </div>\n * </umd-element-article>\n * ```\n *\n * @example\n * ```html\n * <!-- List layout article -->\n * <umd-element-article data-display=\"list\" data-theme=\"light\">\n * <h4 slot=\"headline\">Campus Sustainability Initiative</h4>\n * <p slot=\"text\">New programs reduce carbon footprint by 30%.</p>\n * <p slot=\"date\">October 5, 2023</p>\n * </umd-element-article>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = CardModel({ tagName });\n\nexport default registration;\n","import { card } from '@universityofmaryland/web-elements-library/composite';\nimport { toUMDElement } from '@universityofmaryland/web-utilities-library/adapters';\nimport { Attributes, Slots, Register } from '@universityofmaryland/web-model-library';\nimport { extractEventData } from '../_event';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-event';\n\nconst slots: SlotConfiguration = {\n headline: {\n ...Slots.element.allowed.headline,\n required: true,\n },\n text: Slots.element.allowed.text,\n 'date-start-iso': Slots.element.allowed.time,\n 'date-end-iso': Slots.element.allowed.time,\n location: Slots.element.allowed.text,\n image: Slots.element.allowed.imageLink,\n eyebrow: Slots.element.allowed.eyebrow,\n actions: Slots.element.allowed.actions,\n};\n\n/**\n * Creates an event card component with date, time, and location information\n * @param element - The host HTML element\n * @returns Configured event card component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n const eventComponents = extractEventData(element);\n\n // Start date is missing - required field\n if (!eventComponents) {\n return { element: document.createElement('div'), styles: '' };\n }\n\n // Feature layout: large date sign, eyebrow ribbon\n\n if (Attributes.isDisplay.feature({ element })) {\n const featureEvents = extractEventData(element, {\n isLargeSize: true,\n isDateSignDark: false,\n });\n\n return card.block({\n actions: Slots.actions.default({ element }),\n dateSign: toUMDElement(featureEvents?.dateSign),\n eventMeta: toUMDElement(featureEvents?.eventMeta),\n eyebrow: Slots.eyebrow.default({ element }),\n hasEyebrowRibbon: true,\n headline: Slots.headline.default({ element }),\n image: Slots.assets.image({ element }) as HTMLImageElement,\n isThemeDark: Attributes.isTheme.dark({ element }),\n isTransparent: Attributes.isVisual.transparent({ element }),\n text: Slots.text.default({ element }),\n });\n }\n\n // Promo layout: overlay style with forced dark theme for meta\n\n if (Attributes.isDisplay.promo({ element })) {\n const promoEvents = extractEventData(element, {\n isThemeDark: true, // Force dark theme for meta in overlay\n isDateSignDark: false,\n });\n\n return card.overlay.image({\n actions: Slots.actions.default({ element }),\n backgroundImage: Slots.assets.image({ element }) as HTMLImageElement,\n dateSign: toUMDElement(promoEvents?.dateSign),\n eventMeta: toUMDElement(promoEvents?.eventMeta),\n headline: Slots.headline.default({ element }),\n isThemeDark: Attributes.isTheme.dark({ element }),\n text: Slots.text.default({ element }),\n });\n }\n\n // List layout: large date sign, uses element's theme\n\n if (Attributes.isDisplay.list({ element })) {\n const listEvents = extractEventData(element, {\n isLargeSize: true,\n });\n\n return card.list({\n actions: Slots.actions.default({ element }),\n dateSign: toUMDElement(listEvents?.dateSign),\n eventMeta: toUMDElement(listEvents?.eventMeta),\n headline: Slots.headline.default({ element }),\n image: Slots.assets.image({ element }) as HTMLImageElement,\n isThemeDark: Attributes.isTheme.dark({ element }),\n text: Slots.text.default({ element }),\n });\n }\n\n // Default: block layout with standard configuration\n\n const { eventMeta } = eventComponents;\n return card.block({\n actions: Slots.actions.default({ element }),\n eventMeta: toUMDElement(eventMeta) as any,\n headline: Slots.headline.default({ element }),\n image: Slots.assets.image({ element }) as HTMLImageElement,\n isThemeDark: Attributes.isTheme.dark({ element }),\n isTransparent: Attributes.isVisual.transparent({ element }),\n text: Slots.text.default({ element }),\n });\n};\n\n/**\n * Event Card\n *\n * A specialized card for displaying event information with date, time, and location.\n * Supports multiple display formats including feature, promo, and list layouts.\n *\n * ## Custom Element\n * `<umd-element-event>`\n *\n * ## Slots\n * - `headline` - Event title (required, accepts: h2-h6, p)\n * - `text` - Event description (accepts: p)\n * - `date-start-iso` - Event start date/time (required, time element)\n * - `date-end-iso` - Event end date/time (optional, time element)\n * - `location` - Event location\n * - `image` - Event image\n * - `eyebrow` - Category or type label\n * - `actions` - Registration or info links\n *\n * ## Attributes\n * - `data-display` - Display layout options:\n * - `feature` - Featured event layout with prominent date\n * - `promo` - Promotional layout with image overlay\n * - `list` - Compact list layout\n * - `data-visual-time` - Time display options:\n * - `true` - Show time in event details\n * - `data-theme` - Theme styling options:\n * - `dark` - Dark theme styling\n * - `data-visual-transparent` - Visual display options:\n * - `true` - Transparent background\n *\n * @example\n * ```html\n * <!-- Basic event card -->\n * <umd-element-event>\n * <h3 slot=\"headline\">Annual Research Symposium</h3>\n * <p slot=\"text\">Join us for presentations from leading researchers.</p>\n * <time slot=\"date-start-iso\" datetime=\"2024-03-15T09:00:00\">March 15, 2024 at 9:00 AM</time>\n * <time slot=\"date-end-iso\" datetime=\"2024-03-15T17:00:00\">March 15, 2024 at 5:00 PM</time>\n * <p slot=\"location\">Stamp Student Union</p>\n * </umd-element-event>\n * ```\n *\n * @example\n * ```html\n * <!-- Featured event with image -->\n * <umd-element-event data-display=\"feature\" data-feature=\"visual-time\">\n * <img slot=\"image\" src=\"symposium.jpg\" alt=\"Research symposium\">\n * <p slot=\"eyebrow\">Featured Event</p>\n * <h2 slot=\"headline\">Maryland Day 2024</h2>\n * <p slot=\"text\">Experience the university through hands-on activities and demonstrations.</p>\n * <time slot=\"date-start-iso\" datetime=\"2024-04-27T10:00:00\">April 27, 2024</time>\n * <p slot=\"location\">Campus-wide</p>\n * <div slot=\"actions\">\n * <a href=\"/register\">Register Now</a>\n * </div>\n * </umd-element-event>\n * ```\n *\n * @example\n * ```html\n * <!-- Promo event with overlay -->\n * <umd-element-event data-display=\"promo\">\n * <img slot=\"image\" src=\"concert.jpg\" alt=\"Concert venue\">\n * <h3 slot=\"headline\">Spring Concert Series</h3>\n * <p slot=\"text\">Featuring the UMD Symphony Orchestra</p>\n * <time slot=\"date-start-iso\" datetime=\"2024-05-10T19:30:00\">May 10, 2024 at 7:30 PM</time>\n * <p slot=\"location\">Clarice Smith Performing Arts Center</p>\n * </umd-element-event>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n});\n\nexport default registration;\n","import { card } from '@universityofmaryland/web-elements-library/composite';\nimport * as validation from '@universityofmaryland/web-utilities-library/validation';\nimport { Attributes, Slots, Register } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-card-icon';\n\nconst slots: SlotConfiguration = {\n headline: {\n ...Slots.element.allowed.headline,\n required: true,\n },\n text: Slots.element.allowed.text,\n image: Slots.element.allowed.image,\n};\n\n/**\n * Creates an icon card component with overlay styling\n * @param element - The host HTML element\n * @returns Configured icon card component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) =>\n card.overlay.icon({\n image: validation.getValidatedSlotImage({\n element,\n slotName: Slots.name.assets.image,\n }),\n headline: Slots.headline.default({ element }),\n text: Slots.text.default({ element }),\n isThemeDark: Attributes.isTheme.dark({ element }),\n });\n\n/**\n * Icon Card\n *\n * A card component with an icon overlay design, perfect for highlighting\n * services, features, or categories with visual emphasis.\n *\n * ## Custom Element\n * `<umd-element-card-icon>`\n *\n * ## Slots\n * - `headline` - Card title (required, accepts: h2-h6, p)\n * - `text` - Card description (optional, accepts: p)\n * - `image` - Icon or image (required)\n *\n * ## Attributes\n * - `data-theme` - Theme styling options:\n * - `dark` - Dark theme styling\n *\n * @example\n * ```html\n * <!-- Basic icon card -->\n * <umd-element-card-icon>\n * <img slot=\"image\" src=\"/icons/research.svg\" alt=\"Research icon\">\n * <h3 slot=\"headline\">Research Excellence</h3>\n * <p slot=\"text\">Cutting-edge research across disciplines</p>\n * </umd-element-card-icon>\n * ```\n *\n * @example\n * ```html\n * <!-- Dark theme icon card -->\n * <umd-element-card-icon data-theme=\"dark\">\n * <img slot=\"image\" src=\"/icons/education.svg\" alt=\"Education icon\">\n * <h3 slot=\"headline\">Academic Programs</h3>\n * <p slot=\"text\">Over 200 degree programs to choose from</p>\n * </umd-element-card-icon>\n * ```\n *\n * @example\n * ```html\n * <!-- Service highlight cards -->\n * <div class=\"services-grid\">\n * <umd-element-card-icon>\n * <img slot=\"image\" src=\"/icons/library.svg\" alt=\"Library\">\n * <h4 slot=\"headline\">Libraries</h4>\n * <p slot=\"text\">Access to millions of resources</p>\n * </umd-element-card-icon>\n * <umd-element-card-icon>\n * <img slot=\"image\" src=\"/icons/support.svg\" alt=\"Support\">\n * <h4 slot=\"headline\">Student Support</h4>\n * <p slot=\"text\">Comprehensive academic assistance</p>\n * </umd-element-card-icon>\n * </div>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n});\n\nexport default registration;\n","import { card } from '@universityofmaryland/web-elements-library/composite';\nimport { createStyledSlotOrClone } from '@universityofmaryland/web-utilities-library/elements';\nimport { Attributes, Slots, Register, Lifecycle } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-card-overlay';\n\nconst slots: SlotConfiguration = {\n headline: {\n ...Slots.element.allowed.headline,\n required: true,\n },\n text: Slots.element.allowed.text,\n eyebrow: Slots.element.allowed.eyebrow,\n image: Slots.element.allowed.image,\n actions: Slots.element.allowed.actions,\n date: Slots.element.allowed.time,\n 'cta-icon': {\n allowedElements: ['a'],\n },\n};\n\n/**\n * Extracts overlay content from element slots\n * @internal\n */\nconst MakeOverlayContent = ({ element }: { element: HTMLElement }) => ({\n eyebrow: Slots.eyebrow.default({ element }),\n headline: Slots.headline.default({ element }),\n text: Slots.text.default({ element }),\n date: Slots.date.default({ element }),\n actions: Slots.actions.default({ element }),\n ctaIcon: createStyledSlotOrClone({\n element,\n slotRef: Slots.name.CTA_ICON,\n }),\n isQuote: Attributes.isVisual.quote({ element }),\n isThemeDark: Attributes.isTheme.dark({ element }),\n isThemeLight: Attributes.isTheme.light({ element }),\n});\n\n/**\n * Creates an overlay card component with image or color background\n * @param element - The host HTML element\n * @returns Configured overlay card component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n if (Attributes.isLayout.image({ element })) {\n const ImageOverlay = card.overlay.image({\n ...MakeOverlayContent({ element }),\n backgroundImage: Slots.assets.image({ element }) as HTMLImageElement,\n });\n\n if (ImageOverlay) {\n return ImageOverlay;\n }\n }\n\n return card.overlay.color({ ...MakeOverlayContent({ element }) });\n};\n\n/**\n * Overlay Card\n *\n * A dramatic card component with overlay styling, supporting both image\n * and color backgrounds. Perfect for hero sections and featured content.\n *\n * ## Custom Element\n * `<umd-element-card-overlay>`\n *\n * ## Slots\n * - `headline` - Card title (required, accepts: h2-h6, p)\n * - `text` - Card content (optional, accepts: p)\n * - `eyebrow` - Small text above headline\n * - `image` - Background image (required for layout-image)\n * - `actions` - Action buttons or links\n * - `date` - Date information\n * - `cta-icon` - Call-to-action icon\n *\n * ## Attributes\n * - `data-layout` - Layout options:\n * - `image` - Use image as background\n * - `data-visual` - Visual display options:\n * - `quote` - Quote styling\n * - `data-theme` - Theme styling options:\n * - `dark` - Dark overlay theme\n * - `light` - Light overlay theme\n *\n * @example\n * ```html\n * <!-- Image overlay card -->\n * <umd-element-card-overlay data-layout=\"image\">\n * <img slot=\"image\" src=\"campus-hero.jpg\" alt=\"Campus view\">\n * <p slot=\"eyebrow\">Welcome</p>\n * <h2 slot=\"headline\">Discover Maryland</h2>\n * <p slot=\"text\">Join a community of innovators and leaders</p>\n * <div slot=\"actions\">\n * <a href=\"/apply\">Apply Now</a>\n * </div>\n * </umd-element-card-overlay>\n * ```\n *\n * @example\n * ```html\n * <!-- Color overlay with quote -->\n * <umd-element-card-overlay data-visual=\"quote\" data-theme=\"dark\">\n * <h3 slot=\"headline\">\"The best investment in our future is education.\"</h3>\n * <p slot=\"text\">- President Darryll J. Pines</p>\n * </umd-element-card-overlay>\n * ```\n *\n * @example\n * ```html\n * <!-- Feature card with CTA icon -->\n * <umd-element-card-overlay data-layout=\"image\" data-theme=\"light\">\n * <img slot=\"image\" src=\"research-bg.jpg\" alt=\"Research lab\">\n * <p slot=\"eyebrow\">Innovation</p>\n * <h2 slot=\"headline\">Breakthrough Research</h2>\n * <p slot=\"text\">Solving tomorrow's challenges today</p>\n * <span slot=\"cta-icon\">→</span>\n * <div slot=\"actions\">\n * <a href=\"/research\">Explore Research</a>\n * </div>\n * </umd-element-card-overlay>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n afterConnect: Lifecycle.hooks.loadOnConnect,\n});\n\nexport default registration;\n","import CardModel from './_model';\n\n/**\n * Standard Card\n *\n * A versatile card component for displaying content with optional images, actions, and themes.\n * Supports multiple display modes including block, list, and transparent variations.\n *\n * ## Custom Element\n * `<umd-element-card>`\n *\n * ## Slots\n * - `headline` - Card title (required, accepts: h2-h6, p)\n * - `text` - Card content (accepts: p)\n * - `eyebrow` - Small text above headline\n * - `image` - Card image\n * - `actions` - Action buttons or links\n * - `date` - Date information\n *\n * ## Attributes\n * - `data-theme` - Theme styling options:\n * - `dark` - Dark theme styling\n * - `light` - Light theme styling\n * - `data-visual-transparent` - Visual display options:\n * - `true` - Transparent background\n * - `data-visual-image-aligned` - Visual display options:\n * - `true` - Aligned content layout\n * - `data-visual-bordered` - Visual display options:\n * - `true` - Add border styling\n * - `data-display` - Display options:\n * - `list` - List display format\n *\n * @example\n * ```html\n * <!-- Basic card -->\n * <umd-element-card>\n * <h3 slot=\"headline\">Research Breakthrough</h3>\n * <p slot=\"text\">Scientists discover new method for sustainable energy.</p>\n * </umd-element-card>\n * ```\n *\n * @example\n * ```html\n * <!-- Card with image and actions -->\n * <umd-element-card>\n * <img slot=\"image\" src=\"campus.jpg\" alt=\"Campus view\">\n * <p slot=\"eyebrow\">Campus News</p>\n * <h3 slot=\"headline\">New Student Center Opens</h3>\n * <p slot=\"text\">State-of-the-art facility welcomes students.</p>\n * <div slot=\"actions\">\n * <a href=\"/read-more\">Read More</a>\n * </div>\n * </umd-element-card>\n * ```\n *\n * @example\n * ```html\n * <!-- List layout with dark theme -->\n * <umd-element-card data-theme=\"dark\" data-display=\"list\">\n * <h4 slot=\"headline\">Quick Links</h4>\n * <p slot=\"text\">Access important resources and tools.</p>\n * </umd-element-card>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nexport default CardModel({ tagName: 'umd-element-card' });\n","import { card } from '@universityofmaryland/web-elements-library/composite';\nimport { Attributes, Slots, Register } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-card-video';\n\nconst slots: SlotConfiguration = {\n video: {\n ...Slots.element.allowed.video,\n required: true,\n },\n};\n\n/**\n * Creates an overlay card component with image or color background\n * @param element - The host HTML element\n * @returns Configured overlay card component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n const video = Slots.assets.video({ element }) as HTMLVideoElement;\n const isTypeShort = Attributes.isDisplay.short({ element });\n const isAutoplay = Attributes.isVisual.play({ element });\n\n if (!video) {\n console.error('Video slot is required for umd-element-card-video');\n return { element: document.createElement('div'), styles: '' };\n }\n\n if (isTypeShort) {\n return card.video.short({\n video,\n });\n }\n\n return card.video.block({\n video,\n isAutoplay,\n });\n};\n\n/**\n * Video Card\n *\n * A card component for displaying video content with configurable display formats\n * and autoplay behavior. Supports both short-form (9:16) and block (1:1) aspect ratios.\n *\n * ## Custom Element\n * `<umd-element-card-video>`\n *\n * ## Slots\n * - `video` - Video element (required, accepts: video element)\n *\n * ## Attributes\n * - `data-display` - Display format:\n * - `short` - 9:16 aspect ratio (vertical video format) with hover/focus controls\n * - Default - 1:1 aspect ratio (square format) with optional autoplay\n * - `data-visual-play` - Autoplay behavior (only for default display):\n * - `true` - Video autoplays when 25% visible in viewport\n * - Default - No autoplay behavior\n *\n * ## Visual Behavior\n * ### Short Display (data-display=\"short\")\n * - Maintains 9:16 aspect ratio (vertical video format)\n * - Auto-plays (muted) on hover or focus\n * - Auto-pauses when user moves away\n * - Shows video controls with restricted features (no download, fullscreen, etc.)\n * - Video covers entire card area with object-fit: cover\n *\n * ### Default Display\n * - Maintains 1:1 aspect ratio (square format)\n * - Optional autoplay when visible in viewport (data-visual-play=\"true\")\n * - No visible controls\n * - Video loops continuously when playing\n *\n * @example\n * ```html\n * <!-- Basic video card (square format) -->\n * <umd-element-card-video>\n * <video slot=\"video\" src=\"campus-tour.mp4\" poster=\"tour-thumb.jpg\">\n * <source src=\"campus-tour.mp4\" type=\"video/mp4\">\n * </video>\n * </umd-element-card-video>\n * ```\n *\n * @example\n * ```html\n * <!-- Short-form video card with hover controls -->\n * <umd-element-card-video data-display=\"short\">\n * <video slot=\"video\" poster=\"preview.jpg\">\n * <source src=\"student-life.webm\" type=\"video/webm\">\n * <source src=\"student-life.mp4\" type=\"video/mp4\">\n * Your browser does not support the video tag.\n * </video>\n * </umd-element-card-video>\n * ```\n *\n * @example\n * ```html\n * <!-- Video card with autoplay when visible -->\n * <umd-element-card-video data-visual-play=\"true\">\n * <video slot=\"video\" poster=\"athletics.jpg\">\n * <source src=\"athletics-highlight.mp4\" type=\"video/mp4\">\n * <track kind=\"captions\" src=\"captions.vtt\" srclang=\"en\" label=\"English\">\n * </video>\n * </umd-element-card-video>\n * ```\n *\n * @category Components\n * @since 1.12.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n});\n\nexport default registration;\n"],"names":["createCardComponent","tagName","slots","Slots","createComponentData","element","validation","Attributes","createComponent","isAligned","hasBorder","isDisplayList","cardData","card","Register","Model","model_default","registration","CardModel","article_default","eventComponents","extractEventData","featureEvents","toUMDElement","promoEvents","listEvents","eventMeta","event_default","icon_default","MakeOverlayContent","createStyledSlotOrClone","ImageOverlay","Lifecycle","overlay_default","standard_default","video","isTypeShort","isAutoplay","video_default"],"mappings":"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"}
|
package/dist/wide-B08z0PJj.js
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { carousel as c } from "@universityofmaryland/web-elements-library/composite";
|
|
2
|
-
import { createSlot as v } from "@universityofmaryland/web-utilities-library/elements";
|
|
3
|
-
import { Attributes as a, Register as u, Lifecycle as p, Slots as o } from "@universityofmaryland/web-model-library";
|
|
4
|
-
import { imageHasAlt as f } from "@universityofmaryland/web-utilities-library/accessibility";
|
|
5
|
-
const z = "umd-element-carousel", x = {
|
|
6
|
-
blocks: {
|
|
7
|
-
required: !0
|
|
8
|
-
}
|
|
9
|
-
}, R = a.handler.common.resize(
|
|
10
|
-
(t) => t.events?.resize()
|
|
11
|
-
), I = (t) => {
|
|
12
|
-
const i = t.shadowRoot, r = a.isTheme.dark({
|
|
13
|
-
element: t
|
|
14
|
-
}), s = t.getAttribute("left-button"), d = t.getAttribute("right-button"), l = t.getAttribute("mobile-hint"), n = t.getAttribute("hint"), e = t.getAttribute("tablet-size"), m = t.getAttribute("desktop-size"), b = t.getAttribute("tablet-count"), g = t.getAttribute("desktop-count"), h = t.getAttribute("max-count"), w = t.getAttribute("grid-gap-pixels"), C = t.querySelector(
|
|
15
|
-
`[slot="${o.name.BLOCKS}"]`
|
|
16
|
-
), y = Array.from(
|
|
17
|
-
C.querySelectorAll(":scope > *")
|
|
18
|
-
);
|
|
19
|
-
let S = !0, A = !0, $ = !0, k = !0;
|
|
20
|
-
s === "false" && (S = !1), d === "false" && (A = !1), l === "false" && ($ = !1), n === "false" && (k = !1), (() => {
|
|
21
|
-
const q = v(o.name.BLOCKS);
|
|
22
|
-
i.appendChild(q);
|
|
23
|
-
})();
|
|
24
|
-
const N = i.querySelector(
|
|
25
|
-
`[name="${o.name.BLOCKS}"]`
|
|
26
|
-
);
|
|
27
|
-
return c.macro({
|
|
28
|
-
slide: C,
|
|
29
|
-
shadowRef: N,
|
|
30
|
-
blocks: y,
|
|
31
|
-
isThemeDark: r,
|
|
32
|
-
hasLeftButton: S,
|
|
33
|
-
hasRightButton: A,
|
|
34
|
-
mobileHint: $,
|
|
35
|
-
hint: k,
|
|
36
|
-
tabletSize: e ? parseInt(e) : void 0,
|
|
37
|
-
desktopSize: m ? parseInt(m) : void 0,
|
|
38
|
-
tabletCount: b ? parseInt(b) : void 0,
|
|
39
|
-
desktopCount: g ? parseInt(g) : void 0,
|
|
40
|
-
maxCount: h ? parseInt(h) : void 0,
|
|
41
|
-
gridGap: w
|
|
42
|
-
});
|
|
43
|
-
}, T = u.webComponent({
|
|
44
|
-
tagName: z,
|
|
45
|
-
slots: x,
|
|
46
|
-
createComponent: I,
|
|
47
|
-
attributes: [R],
|
|
48
|
-
afterConnect: p.hooks.loadOnConnect
|
|
49
|
-
});
|
|
50
|
-
var ct = T;
|
|
51
|
-
const B = "umd-element-carousel-cards", E = {
|
|
52
|
-
cards: {
|
|
53
|
-
required: !0
|
|
54
|
-
},
|
|
55
|
-
headline: o.element.allowed.headline,
|
|
56
|
-
text: o.element.allowed.text,
|
|
57
|
-
actions: o.element.allowed.actions
|
|
58
|
-
}, O = a.handler.common.resize(
|
|
59
|
-
(t) => t.events?.resize()
|
|
60
|
-
), D = (t) => {
|
|
61
|
-
const i = t.shadowRoot, r = t.querySelector(
|
|
62
|
-
`[slot="${o.name.CARDS}"]`
|
|
63
|
-
), s = Array.from(
|
|
64
|
-
r.querySelectorAll(":scope > *")
|
|
65
|
-
);
|
|
66
|
-
(() => {
|
|
67
|
-
const n = v(o.name.CARDS);
|
|
68
|
-
i.appendChild(n);
|
|
69
|
-
})();
|
|
70
|
-
const l = i.querySelector(
|
|
71
|
-
`[name="${o.name.CARDS}"]`
|
|
72
|
-
);
|
|
73
|
-
return c.cards({
|
|
74
|
-
slide: r,
|
|
75
|
-
shadowRef: l,
|
|
76
|
-
cards: s,
|
|
77
|
-
headline: o.headline.default({ element: t }),
|
|
78
|
-
text: o.text.default({ element: t }),
|
|
79
|
-
actions: o.actions.default({ element: t })
|
|
80
|
-
});
|
|
81
|
-
}, L = u.webComponent({
|
|
82
|
-
tagName: B,
|
|
83
|
-
slots: E,
|
|
84
|
-
createComponent: D,
|
|
85
|
-
attributes: [O],
|
|
86
|
-
afterConnect: p.hooks.loadOnConnect
|
|
87
|
-
});
|
|
88
|
-
var ut = L;
|
|
89
|
-
const H = "umd-element-carousel-image", _ = {
|
|
90
|
-
images: {
|
|
91
|
-
required: !0,
|
|
92
|
-
allowedElements: ["img", "div"]
|
|
93
|
-
},
|
|
94
|
-
headlines: {
|
|
95
|
-
allowedElements: ["div"]
|
|
96
|
-
},
|
|
97
|
-
texts: {
|
|
98
|
-
allowedElements: ["div"]
|
|
99
|
-
}
|
|
100
|
-
}, G = a.handler.common.resize(
|
|
101
|
-
(t) => t.events?.SetEventReize()
|
|
102
|
-
), M = (t) => {
|
|
103
|
-
const i = Array.from(
|
|
104
|
-
t.querySelectorAll(`[slot="${o.name.IMAGES}"] > *`)
|
|
105
|
-
), r = Array.from(
|
|
106
|
-
t.querySelectorAll(`[slot="${o.name.HEADLINES}"] > *`)
|
|
107
|
-
), s = Array.from(
|
|
108
|
-
t.querySelectorAll(`[slot="${o.name.TEXTS}"] > *`)
|
|
109
|
-
), d = r.map(
|
|
110
|
-
(e) => e.cloneNode(!0)
|
|
111
|
-
), l = s.map(
|
|
112
|
-
(e) => e.cloneNode(!0)
|
|
113
|
-
), n = i.map((e) => e.nodeName === "IMG" && f(e) ? e.cloneNode(!0) : null).filter((e) => e !== null);
|
|
114
|
-
return c.image({
|
|
115
|
-
images: n,
|
|
116
|
-
headlines: d,
|
|
117
|
-
texts: l,
|
|
118
|
-
isThemeDark: a.isTheme.dark({ element: t }),
|
|
119
|
-
isFullScreenOption: a.includesFeature.fullScreenOption({
|
|
120
|
-
element: t
|
|
121
|
-
})
|
|
122
|
-
});
|
|
123
|
-
}, F = u.webComponent({
|
|
124
|
-
tagName: H,
|
|
125
|
-
slots: _,
|
|
126
|
-
createComponent: M,
|
|
127
|
-
attributes: [G]
|
|
128
|
-
});
|
|
129
|
-
var dt = F;
|
|
130
|
-
const K = "umd-element-carousel-multiple-image", X = {
|
|
131
|
-
images: {
|
|
132
|
-
required: !0,
|
|
133
|
-
allowedElements: ["div", "img"]
|
|
134
|
-
}
|
|
135
|
-
}, j = a.handler.common.resize(
|
|
136
|
-
(t) => t.events?.SetEventReize()
|
|
137
|
-
), J = (t) => {
|
|
138
|
-
const r = Array.from(
|
|
139
|
-
t.querySelectorAll(`[slot="${o.name.IMAGES}"] > *`)
|
|
140
|
-
).map((s) => s.nodeName === "IMG" && f(s) ? s.cloneNode(!0) : null).filter((s) => s !== null);
|
|
141
|
-
return c.images({
|
|
142
|
-
images: r,
|
|
143
|
-
isThemeDark: a.isTheme.dark({ element: t }),
|
|
144
|
-
isFullScreenOption: a.includesFeature.fullScreenOption({
|
|
145
|
-
element: t
|
|
146
|
-
})
|
|
147
|
-
});
|
|
148
|
-
}, P = u.webComponent({
|
|
149
|
-
tagName: K,
|
|
150
|
-
slots: X,
|
|
151
|
-
createComponent: J,
|
|
152
|
-
attributes: [j]
|
|
153
|
-
});
|
|
154
|
-
var mt = P;
|
|
155
|
-
const Q = "umd-element-carousel-thumbnail", U = {
|
|
156
|
-
blocks: {
|
|
157
|
-
required: !0
|
|
158
|
-
}
|
|
159
|
-
}, V = a.handler.common.resize(
|
|
160
|
-
(t) => t.events?.resize()
|
|
161
|
-
), W = (t) => {
|
|
162
|
-
const r = Array.from(
|
|
163
|
-
t.querySelectorAll(`[slot="${o.name.BLOCKS}"] > *`)
|
|
164
|
-
).map(
|
|
165
|
-
(s) => s.cloneNode(!0)
|
|
166
|
-
);
|
|
167
|
-
return c.thumbnail({
|
|
168
|
-
blocks: r,
|
|
169
|
-
isThemeDark: a.isTheme.dark({ element: t })
|
|
170
|
-
});
|
|
171
|
-
}, Y = u.webComponent({
|
|
172
|
-
tagName: Q,
|
|
173
|
-
slots: U,
|
|
174
|
-
createComponent: W,
|
|
175
|
-
attributes: [V],
|
|
176
|
-
afterConnect: p.hooks.loadOnConnect
|
|
177
|
-
});
|
|
178
|
-
var bt = Y;
|
|
179
|
-
const Z = "umd-element-carousel-image-wide", tt = {
|
|
180
|
-
slides: {
|
|
181
|
-
required: !0,
|
|
182
|
-
allowedElements: ["figure", "div"]
|
|
183
|
-
}
|
|
184
|
-
}, et = a.handler.common.resize(
|
|
185
|
-
(t) => t.events?.resize()
|
|
186
|
-
), ot = (t) => {
|
|
187
|
-
const i = t.getAttribute("title"), r = t.getAttribute("animation-time"), s = t.getAttribute("mobile-breakpoint"), l = Array.from(
|
|
188
|
-
t.querySelectorAll('[slot="slides"] > *')
|
|
189
|
-
).map((n) => {
|
|
190
|
-
const e = n.querySelector("img"), m = n.querySelector("[data-headline]"), b = n.querySelector("[data-text]");
|
|
191
|
-
return e && !f(e) ? (console.warn("Carousel slide image missing alt text:", e), null) : {
|
|
192
|
-
image: e ? e.cloneNode(!0) : null,
|
|
193
|
-
headline: m ? m.cloneNode(!0) : void 0,
|
|
194
|
-
text: b ? b.cloneNode(!0) : void 0
|
|
195
|
-
};
|
|
196
|
-
}).filter((n) => n && n.image);
|
|
197
|
-
return c.wide({
|
|
198
|
-
slides: l,
|
|
199
|
-
title: i || void 0,
|
|
200
|
-
isThemeDark: a.isTheme.dark({ element: t }),
|
|
201
|
-
animationTime: r ? parseInt(r) : void 0,
|
|
202
|
-
mobileBreakpoint: s ? parseInt(s) : void 0
|
|
203
|
-
});
|
|
204
|
-
}, st = u.webComponent({
|
|
205
|
-
tagName: Z,
|
|
206
|
-
slots: tt,
|
|
207
|
-
createComponent: ot,
|
|
208
|
-
attributes: [et],
|
|
209
|
-
afterConnect: p.hooks.loadOnConnect
|
|
210
|
-
});
|
|
211
|
-
var pt = st;
|
|
212
|
-
export {
|
|
213
|
-
ct as b,
|
|
214
|
-
ut as c,
|
|
215
|
-
mt as m,
|
|
216
|
-
dt as s,
|
|
217
|
-
bt as t,
|
|
218
|
-
pt as w
|
|
219
|
-
};
|
|
220
|
-
//# sourceMappingURL=wide-B08z0PJj.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wide-B08z0PJj.js","sources":["../source/api/carousel/base.ts","../source/api/carousel/cards.ts","../source/api/carousel/image/single.ts","../source/api/carousel/image/multiple.ts","../source/api/carousel/thumbnail.ts","../source/api/carousel/wide.ts"],"sourcesContent":["import { carousel } from '@universityofmaryland/web-elements-library/composite';\nimport { createSlot } from '@universityofmaryland/web-utilities-library/elements';\nimport { Attributes, Slots, Register, Lifecycle } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\n// Tag name for the base carousel component\nconst tagName = 'umd-element-carousel';\n\n// Slot configuration for the base carousel component\nconst slots: SlotConfiguration = {\n blocks: {\n required: true,\n },\n};\n\n// Attribute handlers for the base carousel component\nconst attributes = Attributes.handler.common.resize((element) =>\n element.events?.resize(),\n);\n\n/**\n * Creates a base carousel component\n * @param element - The host HTML element\n * @returns Configured carousel component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n const shadow = element.shadowRoot as ShadowRoot;\n const isThemeDark = Attributes.isTheme.dark({\n element,\n });\n const attributeLeftButton = element.getAttribute('left-button');\n const attributeRightButton = element.getAttribute('right-button');\n const attributeMobileHint = element.getAttribute('mobile-hint');\n const attributeHint = element.getAttribute('hint');\n const tabletSize = element.getAttribute('tablet-size');\n const desktopSize = element.getAttribute('desktop-size');\n const tabletCount = element.getAttribute('tablet-count');\n const desktopCount = element.getAttribute('desktop-count');\n const maxCount = element.getAttribute('max-count');\n const gridGap = element.getAttribute('grid-gap-pixels');\n const slide = element.querySelector(\n `[slot=\"${Slots.name.BLOCKS}\"]`,\n ) as HTMLElement;\n const blocks = Array.from(\n slide.querySelectorAll(':scope > *'),\n ) as HTMLElement[];\n let hasLeftButton = true;\n let hasRightButton = true;\n let mobileHint = true;\n let hint = true;\n\n if (attributeLeftButton === 'false') hasLeftButton = false;\n if (attributeRightButton === 'false') hasRightButton = false;\n if (attributeMobileHint === 'false') mobileHint = false;\n if (attributeHint === 'false') hint = false;\n\n const createCardShadowRef = () => {\n const slot = createSlot(Slots.name.BLOCKS);\n shadow.appendChild(slot);\n };\n\n createCardShadowRef();\n\n const shadowRef = shadow.querySelector(\n `[name=\"${Slots.name.BLOCKS}\"]`,\n ) as HTMLElement;\n\n return carousel.macro({\n slide,\n shadowRef,\n blocks,\n isThemeDark,\n hasLeftButton,\n hasRightButton,\n mobileHint,\n hint,\n tabletSize: tabletSize ? parseInt(tabletSize) : undefined,\n desktopSize: desktopSize ? parseInt(desktopSize) : undefined,\n tabletCount: tabletCount ? parseInt(tabletCount) : undefined,\n desktopCount: desktopCount ? parseInt(desktopCount) : undefined,\n maxCount: maxCount ? parseInt(maxCount) : undefined,\n gridGap,\n });\n};\n\n/**\n * Base Carousel\n *\n * A versatile carousel component for displaying scrollable content blocks with navigation controls.\n *\n * ## Custom Element\n * `<umd-element-carousel>`\n *\n * ## Slots\n * - `blocks` - Container for carousel items (required, accepts: any element)\n *\n * ## Attributes\n * - `left-button` - Left navigation button visibility:\n * - `true` - Show left navigation button (default)\n * - `false` - Hide left navigation button\n * - `right-button` - Right navigation button visibility:\n * - `true` - Show right navigation button (default)\n * - `false` - Hide right navigation button\n * - `mobile-hint` - Mobile swipe hint visibility:\n * - `true` - Show mobile swipe hint (default)\n * - `false` - Hide mobile swipe hint\n * - `hint` - Navigation hint visibility:\n * - `true` - Show navigation hint (default)\n * - `false` - Hide navigation hint\n * - `data-theme` - Visual theme:\n * - `light` - Light theme (default)\n * - `dark` - Dark theme\n * - `tablet-size` - Number of visible items on tablet\n * - `desktop-size` - Number of visible items on desktop\n * - `tablet-count` - Total item count for tablet view\n * - `desktop-count` - Total item count for desktop view\n * - `max-count` - Maximum number of items to display\n * - `grid-gap-pixels` - Gap between items in pixels\n *\n * ## Observed Attributes\n * - `resize` - Triggers carousel size recalculation\n *\n * @example\n * ```html\n * <umd-element-carousel>\n * <div slot=\"blocks\">\n * <div>Item 1</div>\n * <div>Item 2</div>\n * <div>Item 3</div>\n * </div>\n * </umd-element-carousel>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n attributes: [attributes],\n afterConnect: Lifecycle.hooks.loadOnConnect,\n});\n\nexport default registration;\n","import { carousel } from '@universityofmaryland/web-elements-library/composite';\nimport { createSlot } from '@universityofmaryland/web-utilities-library/elements';\nimport { Attributes, Slots, Register, Lifecycle } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-carousel-cards';\n\nconst slots: SlotConfiguration = {\n cards: {\n required: true,\n },\n headline: Slots.element.allowed.headline,\n text: Slots.element.allowed.text,\n actions: Slots.element.allowed.actions,\n};\n\nconst attributes = Attributes.handler.common.resize((element) =>\n element.events?.resize(),\n);\n\n/**\n * Creates a cards carousel component\n * @param element - The host HTML element\n * @returns Configured cards carousel component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n const shadow = element.shadowRoot as ShadowRoot;\n const slide = element.querySelector(\n `[slot=\"${Slots.name.CARDS}\"]`,\n ) as HTMLElement;\n const cards = Array.from(\n slide.querySelectorAll(':scope > *'),\n ) as HTMLElement[];\n\n const createCardShadowRef = () => {\n const slot = createSlot(Slots.name.CARDS);\n shadow.appendChild(slot);\n };\n\n createCardShadowRef();\n\n const shadowRef = shadow.querySelector(\n `[name=\"${Slots.name.CARDS}\"]`,\n ) as HTMLElement;\n\n return carousel.cards({\n slide,\n shadowRef,\n cards,\n headline: Slots.headline.default({ element }),\n text: Slots.text.default({ element }),\n actions: Slots.actions.default({ element }),\n });\n};\n\n/**\n * Cards Carousel\n *\n * A carousel component specifically designed for displaying card components.\n *\n * ## Custom Element\n * `<umd-element-carousel-cards>`\n *\n * ## Slots\n * - `cards` - Container for card components (required, accepts: card elements)\n * - `headline` - Carousel headline (optional, accepts: heading elements)\n * - `text` - Carousel description (optional, accepts: text elements)\n * - `actions` - Carousel action buttons/links (optional, accepts: links or buttons)\n *\n * ## Observed Attributes\n * - `resize` - Triggers carousel size recalculation\n *\n * @example\n * ```html\n * <umd-element-carousel-cards>\n * <div slot=\"cards\">\n * <umd-element-card>\n * <h3 slot=\"headline\">Card 1</h3>\n * <p slot=\"text\">Card content</p>\n * </umd-element-card>\n * <umd-element-card>\n * <h3 slot=\"headline\">Card 2</h3>\n * <p slot=\"text\">Card content</p>\n * </umd-element-card>\n * </div>\n * </umd-element-carousel-cards>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n attributes: [attributes],\n afterConnect: Lifecycle.hooks.loadOnConnect,\n});\n\nexport default registration;\n","import { carousel } from '@universityofmaryland/web-elements-library/composite';\nimport { imageHasAlt } from '@universityofmaryland/web-utilities-library/accessibility';\nimport { Attributes, Slots, Register } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../../_types';\n\nconst tagName = 'umd-element-carousel-image';\n\nconst slots: SlotConfiguration = {\n images: {\n required: true,\n allowedElements: ['img', 'div'],\n },\n headlines: {\n allowedElements: ['div'],\n },\n texts: {\n allowedElements: ['div'],\n },\n};\n\nconst attributes = Attributes.handler.common.resize((element) =>\n element.events?.SetEventReize(),\n);\n\n/**\n * Creates a single image carousel component\n * @param element - The host HTML element\n * @returns Configured single image carousel component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n const slottedImages = Array.from(\n element.querySelectorAll(`[slot=\"${Slots.name.IMAGES}\"] > *`),\n ) as HTMLImageElement[];\n const slottedHeadlines = Array.from(\n element.querySelectorAll(`[slot=\"${Slots.name.HEADLINES}\"] > *`),\n );\n const slottedTexts = Array.from(\n element.querySelectorAll(`[slot=\"${Slots.name.TEXTS}\"] > *`),\n );\n\n const headlines = slottedHeadlines.map((headline) =>\n headline.cloneNode(true),\n ) as HTMLElement[];\n\n const texts = slottedTexts.map((text) =>\n text.cloneNode(true),\n ) as HTMLElement[];\n\n const images = slottedImages\n .map((image) => {\n if (image.nodeName === 'IMG') {\n if (imageHasAlt(image)) return image.cloneNode(true);\n }\n return null;\n })\n .filter((image) => image !== null) as HTMLImageElement[];\n\n return carousel.image({\n images,\n headlines,\n texts,\n isThemeDark: Attributes.isTheme.dark({ element }),\n isFullScreenOption: Attributes.includesFeature.fullScreenOption({\n element,\n }),\n });\n};\n\n/**\n * Single Image Carousel\n *\n * A carousel component for displaying images with optional captions and headlines.\n *\n * ## Custom Element\n * `<umd-element-carousel-image>`\n *\n * ## Slots\n * - `images` - Container for images (required, accepts: img elements with alt text)\n * - `headlines` - Container for image headlines (optional, accepts: heading elements)\n * - `texts` - Container for image descriptions (optional, accepts: text elements)\n *\n * ## Attributes\n * - `data-theme` - Visual theme:\n * - `light` - Light theme (default)\n * - `dark` - Dark theme\n * - `data-feature` - Additional features:\n * - `fullscreen` - Enable fullscreen viewing option\n *\n * ## Observed Attributes\n * - `resize` - Triggers carousel size recalculation\n *\n * @example\n * ```html\n * <umd-element-carousel-image>\n * <div slot=\"images\">\n * <img src=\"photo1.jpg\" alt=\"Campus view\">\n * <img src=\"photo2.jpg\" alt=\"Student center\">\n * <img src=\"photo3.jpg\" alt=\"Library entrance\">\n * </div>\n * </umd-element-carousel-image>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n attributes: [attributes],\n});\n\nexport default registration;\n","import { carousel } from '@universityofmaryland/web-elements-library/composite';\nimport { imageHasAlt } from '@universityofmaryland/web-utilities-library/accessibility';\nimport { Attributes, Slots, Register } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../../_types';\n\nconst tagName = 'umd-element-carousel-multiple-image';\n\nconst slots: SlotConfiguration = {\n images: {\n required: true,\n allowedElements: ['div', 'img'],\n },\n};\n\nconst attributes = Attributes.handler.common.resize((element) =>\n element.events?.SetEventReize(),\n);\n\n/**\n * Creates a multiple image carousel component\n * @param element - The host HTML element\n * @returns Configured multiple image carousel component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n const slottedImages = Array.from(\n element.querySelectorAll(`[slot=\"${Slots.name.IMAGES}\"] > *`),\n ) as HTMLImageElement[];\n\n const images = slottedImages\n .map((image) => {\n if (image.nodeName === 'IMG') {\n if (imageHasAlt(image)) return image.cloneNode(true);\n }\n return null;\n })\n .filter((image) => image !== null) as HTMLImageElement[];\n\n return carousel.images({\n images,\n isThemeDark: Attributes.isTheme.dark({ element }),\n isFullScreenOption: Attributes.includesFeature.fullScreenOption({\n element,\n }),\n });\n};\n\n/**\n * Multiple Image Carousel\n *\n * A carousel component for displaying multiple images in a gallery format.\n *\n * ## Custom Element\n * `<umd-element-carousel-multiple-image>`\n *\n * ## Slots\n * - `images` - Container for images (required, accepts: img elements with alt text)\n *\n * ## Attributes\n * - `data-theme` - Visual theme:\n * - `light` - Light theme (default)\n * - `dark` - Dark theme\n * - `data-feature` - Additional features:\n * - `fullscreen` - Enable fullscreen viewing option\n *\n * ## Observed Attributes\n * - `resize` - Triggers carousel size recalculation\n *\n * @example\n * ```html\n * <umd-element-carousel-multiple-image>\n * <div slot=\"images\">\n * <img src=\"gallery1.jpg\" alt=\"Gallery image 1\">\n * <img src=\"gallery2.jpg\" alt=\"Gallery image 2\">\n * <img src=\"gallery3.jpg\" alt=\"Gallery image 3\">\n * <img src=\"gallery4.jpg\" alt=\"Gallery image 4\">\n * </div>\n * </umd-element-carousel-multiple-image>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n attributes: [attributes],\n});\n\nexport default registration;\n","import { carousel } from '@universityofmaryland/web-elements-library/composite';\nimport { Attributes, Slots, Register, Lifecycle } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-carousel-thumbnail';\n\nconst slots: SlotConfiguration = {\n blocks: {\n required: true,\n },\n};\n\nconst attributes = Attributes.handler.common.resize((element) =>\n element.events?.resize(),\n);\n\n/**\n * Creates a thumbnail carousel component\n * @param element - The host HTML element\n * @returns Configured thumbnail carousel component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n const slottedBlocks = Array.from(\n element.querySelectorAll(`[slot=\"${Slots.name.BLOCKS}\"] > *`),\n ) as HTMLElement[];\n\n const blocks = slottedBlocks.map((block) =>\n block.cloneNode(true),\n ) as HTMLElement[];\n\n return carousel.thumbnail({\n blocks,\n isThemeDark: Attributes.isTheme.dark({ element }),\n });\n};\n\n/**\n * Thumbnail Carousel\n *\n * A carousel component with thumbnail navigation for browsing through content.\n *\n * ## Custom Element\n * `<umd-element-carousel-thumbnail>`\n *\n * ## Slots\n * - `blocks` - Container for carousel items with thumbnails (required, accepts: elements with data-thumbnail attribute)\n *\n * ## Attributes\n * - `data-theme` - Visual theme:\n * - `light` - Light theme (default)\n * - `dark` - Dark theme\n *\n * ## Observed Attributes\n * - `resize` - Triggers carousel size recalculation\n *\n * @example\n * ```html\n * <umd-element-carousel-thumbnail>\n * <div slot=\"blocks\">\n * <div data-thumbnail=\"thumb1.jpg\">\n * <img src=\"image1.jpg\" alt=\"Image 1\">\n * <p>Caption for image 1</p>\n * </div>\n * <div data-thumbnail=\"thumb2.jpg\">\n * <img src=\"image2.jpg\" alt=\"Image 2\">\n * <p>Caption for image 2</p>\n * </div>\n * </div>\n * </umd-element-carousel-thumbnail>\n * ```\n *\n * @category Components\n * @since 1.0.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n attributes: [attributes],\n afterConnect: Lifecycle.hooks.loadOnConnect,\n});\n\nexport default registration;\n","import { carousel } from '@universityofmaryland/web-elements-library/composite';\nimport { imageHasAlt } from '@universityofmaryland/web-utilities-library/accessibility';\nimport { Attributes, Register, Lifecycle } from '@universityofmaryland/web-model-library';\nimport type {\n CreateComponentFunction,\n ComponentRegistration,\n SlotConfiguration,\n} from '../../_types';\n\nconst tagName = 'umd-element-carousel-image-wide';\n\nconst slots: SlotConfiguration = {\n slides: {\n required: true,\n allowedElements: ['figure', 'div'],\n },\n};\n\nconst attributes = Attributes.handler.common.resize((element) =>\n element.events?.resize(),\n);\n\n/**\n * Creates a wide carousel component\n * @param element - The host HTML element\n * @returns Configured wide carousel component\n * @internal\n */\nconst createComponent: CreateComponentFunction = (element) => {\n const title = element.getAttribute('title');\n const animationTime = element.getAttribute('animation-time');\n const mobileBreakpoint = element.getAttribute('mobile-breakpoint');\n\n const slottedSlides = Array.from(\n element.querySelectorAll(`[slot=\"slides\"] > *`),\n ) as HTMLElement[];\n\n const slides = slottedSlides\n .map((slide) => {\n const image = slide.querySelector('img');\n const headline = slide.querySelector('[data-headline]');\n const text = slide.querySelector('[data-text]');\n\n if (image && !imageHasAlt(image)) {\n console.warn('Carousel slide image missing alt text:', image);\n return null;\n }\n\n return {\n image: image ? (image.cloneNode(true) as HTMLImageElement) : null,\n headline: headline\n ? (headline.cloneNode(true) as HTMLElement)\n : undefined,\n text: text ? (text.cloneNode(true) as HTMLElement) : undefined,\n };\n })\n .filter((slide) => slide && slide.image) as Array<{\n image: HTMLImageElement;\n headline?: HTMLElement;\n text?: HTMLElement;\n }>;\n\n return carousel.wide({\n slides,\n title: title || undefined,\n isThemeDark: Attributes.isTheme.dark({ element }),\n animationTime: animationTime ? parseInt(animationTime) : undefined,\n mobileBreakpoint: mobileBreakpoint ? parseInt(mobileBreakpoint) : undefined,\n });\n};\n\n/**\n * Wide Carousel\n *\n * A full-width carousel component with slide previews, optimized for showcasing\n * featured content with optional text overlays.\n *\n * ## Custom Element\n * `<umd-element-carousel-wide>`\n *\n * ## Slots\n * - `slides` - Container for carousel slides (required, accepts: figure or div elements)\n * - Each slide should contain:\n * - An `img` element with alt text (required)\n * - An element with `data-headline` attribute for headlines (optional)\n * - An element with `data-text` attribute for descriptions (optional)\n *\n * ## Attributes\n * - `title` - Accessible title for the carousel (default: \"Animated Image Carousel\")\n * - `data-theme` - Visual theme:\n * - `light` - Light theme (default)\n * - `dark` - Dark theme\n * - `animation-time` - Animation duration in milliseconds (default: 500)\n * - `mobile-breakpoint` - Breakpoint for mobile behavior in pixels (default: 650)\n *\n * ## Observed Attributes\n * - `resize` - Triggers carousel size recalculation\n *\n * @example\n * ```html\n * <umd-element-carousel-wide title=\"Featured Stories\">\n * <div slot=\"slides\">\n * <figure>\n * <img src=\"hero1.jpg\" alt=\"Research breakthrough\">\n * <div data-headline>\n * <h2>Major Research Discovery</h2>\n * </div>\n * <div data-text>\n * <p>Scientists make groundbreaking discovery in quantum computing.</p>\n * </div>\n * </figure>\n * <figure>\n * <img src=\"hero2.jpg\" alt=\"Campus expansion\">\n * <div data-headline>\n * <h2>New Science Center Opens</h2>\n * </div>\n * <div data-text>\n * <p>State-of-the-art facility enhances research capabilities.</p>\n * </div>\n * </figure>\n * </div>\n * </umd-element-carousel-wide>\n * ```\n *\n * @category Components\n * @since 1.13.0\n */\nconst registration: ComponentRegistration = Register.webComponent({\n tagName,\n slots,\n createComponent,\n attributes: [attributes],\n afterConnect: Lifecycle.hooks.loadOnConnect,\n});\n\nexport default registration;\n"],"names":["tagName","slots","attributes","Attributes","element","createComponent","shadow","isThemeDark","attributeLeftButton","attributeRightButton","attributeMobileHint","attributeHint","tabletSize","desktopSize","tabletCount","desktopCount","maxCount","gridGap","slide","Slots","blocks","hasLeftButton","hasRightButton","mobileHint","hint","slot","createSlot","shadowRef","carousel","registration","Register","Lifecycle","base_default","cards","cards_default","slottedImages","slottedHeadlines","slottedTexts","headlines","headline","texts","text","images","image","imageHasAlt","single_default","multiple_default","block","thumbnail_default","title","animationTime","mobileBreakpoint","slides","wide_default"],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|