@universityofmaryland/web-elements-library 1.5.3 → 1.5.5
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/_types.d.ts +2 -9
- package/dist/_types.d.ts.map +1 -1
- package/dist/atomic/_types.d.ts +2 -2
- package/dist/atomic/_types.d.ts.map +1 -1
- package/dist/atomic/actions/icon.d.ts +1 -5
- package/dist/atomic/actions/icon.d.ts.map +1 -1
- package/dist/atomic/actions/icon.js +43 -48
- package/dist/atomic/actions/icon.js.map +1 -1
- package/dist/atomic/actions/icon.mjs +43 -48
- package/dist/atomic/actions/icon.mjs.map +1 -1
- package/dist/atomic/actions/text.d.ts +4 -16
- package/dist/atomic/actions/text.d.ts.map +1 -1
- package/dist/atomic/actions/text.js +82 -104
- package/dist/atomic/actions/text.js.map +1 -1
- package/dist/atomic/actions/text.mjs +81 -106
- package/dist/atomic/actions/text.mjs.map +1 -1
- package/dist/atomic/animations/actions/indicator.js +1 -1
- package/dist/atomic/animations/actions/indicator.js.map +1 -1
- package/dist/atomic/animations/actions/indicator.mjs +1 -1
- package/dist/atomic/animations/actions/indicator.mjs.map +1 -1
- package/dist/atomic/animations/brand/card-stack.d.ts +2 -1
- package/dist/atomic/animations/brand/card-stack.d.ts.map +1 -1
- package/dist/atomic/animations/brand/card-stack.js +148 -172
- package/dist/atomic/animations/brand/card-stack.js.map +1 -1
- package/dist/atomic/animations/brand/card-stack.mjs +140 -164
- package/dist/atomic/animations/brand/card-stack.mjs.map +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.js +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.mjs +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.mjs.map +1 -1
- package/dist/atomic/assets/image/background.d.ts +1 -5
- package/dist/atomic/assets/image/background.d.ts.map +1 -1
- package/dist/atomic/assets/image/background.js +40 -40
- package/dist/atomic/assets/image/background.js.map +1 -1
- package/dist/atomic/assets/image/background.mjs +23 -40
- package/dist/atomic/assets/image/background.mjs.map +1 -1
- package/dist/atomic/assets/image/gif.d.ts +1 -5
- package/dist/atomic/assets/image/gif.d.ts.map +1 -1
- package/dist/atomic/assets/image/gif.js +28 -12
- package/dist/atomic/assets/image/gif.js.map +1 -1
- package/dist/atomic/assets/image/gif.mjs +11 -12
- package/dist/atomic/assets/image/gif.mjs.map +1 -1
- package/dist/atomic/assets/image/placeholder.d.ts +1 -5
- package/dist/atomic/assets/image/placeholder.d.ts.map +1 -1
- package/dist/atomic/assets/video/observed-auto-play.d.ts +1 -9
- package/dist/atomic/assets/video/observed-auto-play.d.ts.map +1 -1
- package/dist/atomic/assets/video/observed-auto-play.js +9 -5
- package/dist/atomic/assets/video/observed-auto-play.js.map +1 -1
- package/dist/atomic/assets/video/observed-auto-play.mjs +9 -5
- package/dist/atomic/assets/video/observed-auto-play.mjs.map +1 -1
- package/dist/atomic/assets/video/toggle.d.ts +1 -9
- package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
- package/dist/atomic/assets/video/toggle.js +38 -40
- package/dist/atomic/assets/video/toggle.js.map +1 -1
- package/dist/atomic/assets/video/toggle.mjs +21 -40
- package/dist/atomic/assets/video/toggle.mjs.map +1 -1
- package/dist/atomic/buttons/fullscreen.d.ts +1 -5
- package/dist/atomic/buttons/fullscreen.d.ts.map +1 -1
- package/dist/atomic/buttons/fullscreen.js +21 -15
- package/dist/atomic/buttons/fullscreen.js.map +1 -1
- package/dist/atomic/buttons/fullscreen.mjs +4 -15
- package/dist/atomic/buttons/fullscreen.mjs.map +1 -1
- package/dist/atomic/events/meta.d.ts +1 -5
- package/dist/atomic/events/meta.d.ts.map +1 -1
- package/dist/atomic/events/meta.js +48 -48
- package/dist/atomic/events/meta.js.map +1 -1
- package/dist/atomic/events/meta.mjs +31 -48
- package/dist/atomic/events/meta.mjs.map +1 -1
- package/dist/atomic/events/sign.d.ts +1 -5
- package/dist/atomic/events/sign.d.ts.map +1 -1
- package/dist/atomic/events/sign.js +84 -93
- package/dist/atomic/events/sign.js.map +1 -1
- package/dist/atomic/events/sign.mjs +82 -93
- package/dist/atomic/events/sign.mjs.map +1 -1
- package/dist/atomic/layout/block/stacked.d.ts +7 -19
- package/dist/atomic/layout/block/stacked.d.ts.map +1 -1
- package/dist/atomic/layout/block/stacked.js +14 -20
- package/dist/atomic/layout/block/stacked.js.map +1 -1
- package/dist/atomic/layout/block/stacked.mjs +14 -20
- package/dist/atomic/layout/block/stacked.mjs.map +1 -1
- package/dist/atomic/layout/overlay/modal.js +1 -1
- package/dist/atomic/layout/overlay/modal.js.map +1 -1
- package/dist/atomic/layout/overlay/modal.mjs +1 -1
- package/dist/atomic/layout/overlay/modal.mjs.map +1 -1
- package/dist/atomic/layout/person/columns.d.ts +4 -20
- package/dist/atomic/layout/person/columns.d.ts.map +1 -1
- package/dist/atomic/layout/person/columns.js +56 -66
- package/dist/atomic/layout/person/columns.js.map +1 -1
- package/dist/atomic/layout/person/columns.mjs +56 -66
- package/dist/atomic/layout/person/columns.mjs.map +1 -1
- package/dist/atomic/text/stat.d.ts +2 -3
- package/dist/atomic/text/stat.d.ts.map +1 -1
- package/dist/atomic/text/stat.js +101 -119
- package/dist/atomic/text/stat.js.map +1 -1
- package/dist/atomic/text/stat.mjs +100 -119
- package/dist/atomic/text/stat.mjs.map +1 -1
- package/dist/atomic/text-lockup/contact.d.ts +1 -5
- package/dist/atomic/text-lockup/contact.d.ts.map +1 -1
- package/dist/atomic/text-lockup/contact.js +65 -105
- package/dist/atomic/text-lockup/contact.js.map +1 -1
- package/dist/atomic/text-lockup/contact.mjs +60 -103
- package/dist/atomic/text-lockup/contact.mjs.map +1 -1
- package/dist/atomic/text-lockup/date.d.ts.map +1 -1
- package/dist/atomic/text-lockup/date.js +6 -1
- package/dist/atomic/text-lockup/date.js.map +1 -1
- package/dist/atomic/text-lockup/date.mjs +6 -1
- package/dist/atomic/text-lockup/date.mjs.map +1 -1
- package/dist/atomic/text-lockup/large.d.ts +3 -7
- package/dist/atomic/text-lockup/large.d.ts.map +1 -1
- package/dist/atomic/text-lockup/large.js +62 -71
- package/dist/atomic/text-lockup/large.js.map +1 -1
- package/dist/atomic/text-lockup/large.mjs +59 -71
- package/dist/atomic/text-lockup/large.mjs.map +1 -1
- package/dist/atomic/text-lockup/medium.d.ts +5 -9
- package/dist/atomic/text-lockup/medium.d.ts.map +1 -1
- package/dist/atomic/text-lockup/medium.js +76 -84
- package/dist/atomic/text-lockup/medium.js.map +1 -1
- package/dist/atomic/text-lockup/medium.mjs +70 -82
- package/dist/atomic/text-lockup/medium.mjs.map +1 -1
- package/dist/atomic/text-lockup/person.d.ts +1 -5
- package/dist/atomic/text-lockup/person.d.ts.map +1 -1
- package/dist/atomic/text-lockup/person.js +102 -101
- package/dist/atomic/text-lockup/person.js.map +1 -1
- package/dist/atomic/text-lockup/person.mjs +99 -101
- package/dist/atomic/text-lockup/person.mjs.map +1 -1
- package/dist/atomic/text-lockup/small-scaling.d.ts +1 -5
- package/dist/atomic/text-lockup/small-scaling.d.ts.map +1 -1
- package/dist/atomic/text-lockup/small-scaling.js +64 -39
- package/dist/atomic/text-lockup/small-scaling.js.map +1 -1
- package/dist/atomic/text-lockup/small-scaling.mjs +44 -38
- package/dist/atomic/text-lockup/small-scaling.mjs.map +1 -1
- package/dist/atomic/text-lockup/small.d.ts +11 -25
- package/dist/atomic/text-lockup/small.d.ts.map +1 -1
- package/dist/atomic/text-lockup/small.js +70 -69
- package/dist/atomic/text-lockup/small.js.map +1 -1
- package/dist/atomic/text-lockup/small.mjs +64 -66
- package/dist/atomic/text-lockup/small.mjs.map +1 -1
- package/dist/composite/alert/elements/closeButton.d.ts +7 -0
- package/dist/composite/alert/elements/closeButton.d.ts.map +1 -0
- package/dist/composite/alert/elements/closeButton.js +51 -0
- package/dist/composite/alert/elements/closeButton.js.map +1 -0
- package/dist/composite/alert/elements/closeButton.mjs +34 -0
- package/dist/composite/alert/elements/closeButton.mjs.map +1 -0
- package/dist/composite/alert/elements/text.d.ts +3 -13
- package/dist/composite/alert/elements/text.d.ts.map +1 -1
- package/dist/composite/alert/elements/text.js +60 -81
- package/dist/composite/alert/elements/text.js.map +1 -1
- package/dist/composite/alert/elements/text.mjs +56 -80
- package/dist/composite/alert/elements/text.mjs.map +1 -1
- package/dist/composite/alert/globals.d.ts +4 -0
- package/dist/composite/alert/globals.d.ts.map +1 -0
- package/dist/composite/alert/globals.js +7 -0
- package/dist/composite/alert/globals.js.map +1 -0
- package/dist/composite/alert/globals.mjs +7 -0
- package/dist/composite/alert/globals.mjs.map +1 -0
- package/dist/composite/alert/index.d.ts +2 -2
- package/dist/composite/alert/index.d.ts.map +1 -1
- package/dist/composite/alert/index.js +2 -2
- package/dist/composite/alert/index.mjs +4 -4
- package/dist/composite/alert/page.d.ts +5 -12
- package/dist/composite/alert/page.d.ts.map +1 -1
- package/dist/composite/alert/page.js +44 -113
- package/dist/composite/alert/page.js.map +1 -1
- package/dist/composite/alert/page.mjs +44 -112
- package/dist/composite/alert/page.mjs.map +1 -1
- package/dist/composite/alert/site.d.ts +5 -11
- package/dist/composite/alert/site.d.ts.map +1 -1
- package/dist/composite/alert/site.js +60 -109
- package/dist/composite/alert/site.js.map +1 -1
- package/dist/composite/alert/site.mjs +61 -109
- package/dist/composite/alert/site.mjs.map +1 -1
- package/dist/composite/banner/promo.js +1 -1
- package/dist/composite/banner/promo.js.map +1 -1
- package/dist/composite/banner/promo.mjs +1 -1
- package/dist/composite/banner/promo.mjs.map +1 -1
- package/dist/composite/card/block.d.ts +1 -5
- package/dist/composite/card/block.d.ts.map +1 -1
- package/dist/composite/card/block.js +7 -5
- package/dist/composite/card/block.js.map +1 -1
- package/dist/composite/card/block.mjs +7 -5
- package/dist/composite/card/block.mjs.map +1 -1
- package/dist/composite/card/list.d.ts +1 -5
- package/dist/composite/card/list.d.ts.map +1 -1
- package/dist/composite/card/list.js +52 -64
- package/dist/composite/card/list.js.map +1 -1
- package/dist/composite/card/list.mjs +52 -64
- package/dist/composite/card/list.mjs.map +1 -1
- package/dist/composite/card/overlay/color.d.ts +1 -5
- package/dist/composite/card/overlay/color.d.ts.map +1 -1
- package/dist/composite/card/overlay/color.js +36 -41
- package/dist/composite/card/overlay/color.js.map +1 -1
- package/dist/composite/card/overlay/color.mjs +36 -41
- package/dist/composite/card/overlay/color.mjs.map +1 -1
- package/dist/composite/card/overlay/icon.d.ts +1 -5
- package/dist/composite/card/overlay/icon.d.ts.map +1 -1
- package/dist/composite/card/overlay/icon.js +27 -31
- package/dist/composite/card/overlay/icon.js.map +1 -1
- package/dist/composite/card/overlay/icon.mjs +27 -31
- package/dist/composite/card/overlay/icon.mjs.map +1 -1
- package/dist/composite/card/overlay/image.d.ts +2 -1
- package/dist/composite/card/overlay/image.d.ts.map +1 -1
- package/dist/composite/card/overlay/image.js +74 -93
- package/dist/composite/card/overlay/image.js.map +1 -1
- package/dist/composite/card/overlay/image.mjs +73 -93
- package/dist/composite/card/overlay/image.mjs.map +1 -1
- package/dist/composite/card/video/block.d.ts +1 -9
- package/dist/composite/card/video/block.d.ts.map +1 -1
- package/dist/composite/card/video/block.js +7 -5
- package/dist/composite/card/video/block.js.map +1 -1
- package/dist/composite/card/video/block.mjs +7 -5
- package/dist/composite/card/video/block.mjs.map +1 -1
- package/dist/composite/card/video/short.d.ts +1 -5
- package/dist/composite/card/video/short.d.ts.map +1 -1
- package/dist/composite/card/video/short.js +16 -21
- package/dist/composite/card/video/short.js.map +1 -1
- package/dist/composite/card/video/short.mjs +16 -21
- package/dist/composite/card/video/short.mjs.map +1 -1
- package/dist/composite/carousel/_types.d.ts.map +1 -1
- package/dist/composite/carousel/default/index.js +1 -1
- package/dist/composite/carousel/default/index.js.map +1 -1
- package/dist/composite/carousel/default/index.mjs +1 -1
- package/dist/composite/carousel/default/index.mjs.map +1 -1
- package/dist/composite/carousel/elements/blocks.js +2 -2
- package/dist/composite/carousel/elements/blocks.js.map +1 -1
- package/dist/composite/carousel/elements/blocks.mjs +2 -2
- package/dist/composite/carousel/elements/blocks.mjs.map +1 -1
- package/dist/composite/carousel/elements/full-screen.js +7 -5
- package/dist/composite/carousel/elements/full-screen.js.map +1 -1
- package/dist/composite/carousel/elements/full-screen.mjs +7 -5
- package/dist/composite/carousel/elements/full-screen.mjs.map +1 -1
- package/dist/composite/carousel/elements/image.js +2 -2
- package/dist/composite/carousel/elements/image.js.map +1 -1
- package/dist/composite/carousel/elements/image.mjs +2 -2
- package/dist/composite/carousel/elements/image.mjs.map +1 -1
- package/dist/composite/carousel/elements/overlay.js +2 -2
- package/dist/composite/carousel/elements/overlay.js.map +1 -1
- package/dist/composite/carousel/elements/overlay.mjs +2 -2
- package/dist/composite/carousel/elements/overlay.mjs.map +1 -1
- package/dist/composite/carousel/image/multiple.js +11 -9
- package/dist/composite/carousel/image/multiple.js.map +1 -1
- package/dist/composite/carousel/image/multiple.mjs +11 -9
- package/dist/composite/carousel/image/multiple.mjs.map +1 -1
- package/dist/composite/carousel/image/standard.js +10 -8
- package/dist/composite/carousel/image/standard.js.map +1 -1
- package/dist/composite/carousel/image/standard.mjs +10 -8
- package/dist/composite/carousel/image/standard.mjs.map +1 -1
- package/dist/composite/carousel/thumbnail/index.js +1 -1
- package/dist/composite/carousel/thumbnail/index.js.map +1 -1
- package/dist/composite/carousel/thumbnail/index.mjs +1 -1
- package/dist/composite/carousel/thumbnail/index.mjs.map +1 -1
- package/dist/composite/carousel/wide/_elementModel.d.ts +2 -2
- package/dist/composite/carousel/wide/_elementModel.d.ts.map +1 -1
- package/dist/composite/carousel/wide/_elementModel.js +20 -7
- package/dist/composite/carousel/wide/_elementModel.js.map +1 -1
- package/dist/composite/carousel/wide/_elementModel.mjs +20 -7
- package/dist/composite/carousel/wide/_elementModel.mjs.map +1 -1
- package/dist/composite/carousel/wide/container.d.ts.map +1 -1
- package/dist/composite/carousel/wide/container.js +9 -15
- package/dist/composite/carousel/wide/container.js.map +1 -1
- package/dist/composite/carousel/wide/container.mjs +9 -15
- package/dist/composite/carousel/wide/container.mjs.map +1 -1
- package/dist/composite/carousel/wide/controls.d.ts +1 -5
- package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
- package/dist/composite/carousel/wide/controls.js +55 -56
- package/dist/composite/carousel/wide/controls.js.map +1 -1
- package/dist/composite/carousel/wide/controls.mjs +55 -56
- package/dist/composite/carousel/wide/controls.mjs.map +1 -1
- package/dist/composite/carousel/wide/frames.d.ts.map +1 -1
- package/dist/composite/carousel/wide/frames.js +156 -171
- package/dist/composite/carousel/wide/frames.js.map +1 -1
- package/dist/composite/carousel/wide/frames.mjs +153 -169
- package/dist/composite/carousel/wide/frames.mjs.map +1 -1
- package/dist/composite/carousel/wide/index.d.ts +1 -5
- package/dist/composite/carousel/wide/index.d.ts.map +1 -1
- package/dist/composite/carousel/wide/index.js +23 -17
- package/dist/composite/carousel/wide/index.js.map +1 -1
- package/dist/composite/carousel/wide/index.mjs +23 -17
- package/dist/composite/carousel/wide/index.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/call-to-action.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/call-to-action.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/call-to-action.js +19 -28
- package/dist/composite/footer/elements/main-section/call-to-action.js.map +1 -1
- package/dist/composite/footer/elements/main-section/call-to-action.mjs +18 -28
- package/dist/composite/footer/elements/main-section/call-to-action.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/campaign.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/campaign.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/campaign.js +27 -35
- package/dist/composite/footer/elements/main-section/campaign.js.map +1 -1
- package/dist/composite/footer/elements/main-section/campaign.mjs +27 -35
- package/dist/composite/footer/elements/main-section/campaign.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/index.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/index.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/index.js +38 -50
- package/dist/composite/footer/elements/main-section/index.js.map +1 -1
- package/dist/composite/footer/elements/main-section/index.mjs +38 -50
- package/dist/composite/footer/elements/main-section/index.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/index.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/row-links/index.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/index.js +24 -36
- package/dist/composite/footer/elements/main-section/row-links/index.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/index.mjs +24 -36
- package/dist/composite/footer/elements/main-section/row-links/index.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/link-columns.js +75 -95
- package/dist/composite/footer/elements/main-section/row-links/link-columns.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs +73 -93
- package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/contact.js +88 -98
- package/dist/composite/footer/elements/main-section/row-logo/contact.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/contact.mjs +88 -98
- package/dist/composite/footer/elements/main-section/row-logo/contact.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/index.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/row-logo/index.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/index.js +30 -43
- package/dist/composite/footer/elements/main-section/row-logo/index.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/index.mjs +30 -43
- package/dist/composite/footer/elements/main-section/row-logo/index.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/logo.js +24 -32
- package/dist/composite/footer/elements/main-section/row-logo/logo.js.map +1 -1
- package/dist/composite/footer/elements/main-section/row-logo/logo.mjs +24 -32
- package/dist/composite/footer/elements/main-section/row-logo/logo.mjs.map +1 -1
- package/dist/composite/footer/elements/main-section/social.d.ts +2 -2
- package/dist/composite/footer/elements/main-section/social.d.ts.map +1 -1
- package/dist/composite/footer/elements/main-section/social.js +74 -97
- package/dist/composite/footer/elements/main-section/social.js.map +1 -1
- package/dist/composite/footer/elements/main-section/social.mjs +74 -97
- package/dist/composite/footer/elements/main-section/social.mjs.map +1 -1
- package/dist/composite/footer/elements/utility-section/index.d.ts +1 -5
- package/dist/composite/footer/elements/utility-section/index.d.ts.map +1 -1
- package/dist/composite/footer/elements/utility-section/index.js +56 -83
- package/dist/composite/footer/elements/utility-section/index.js.map +1 -1
- package/dist/composite/footer/elements/utility-section/index.mjs +56 -83
- package/dist/composite/footer/elements/utility-section/index.mjs.map +1 -1
- package/dist/composite/footer/options.d.ts +1 -4
- package/dist/composite/footer/options.d.ts.map +1 -1
- package/dist/composite/footer/options.js +19 -27
- package/dist/composite/footer/options.js.map +1 -1
- package/dist/composite/footer/options.mjs +19 -27
- package/dist/composite/footer/options.mjs.map +1 -1
- package/dist/composite/hero/_types.d.ts.map +1 -1
- package/dist/composite/hero/custom/expand.d.ts +3 -2
- package/dist/composite/hero/custom/expand.d.ts.map +1 -1
- package/dist/composite/hero/custom/expand.js +151 -192
- package/dist/composite/hero/custom/expand.js.map +1 -1
- package/dist/composite/hero/custom/expand.mjs +145 -187
- package/dist/composite/hero/custom/expand.mjs.map +1 -1
- package/dist/composite/hero/custom/grid.d.ts +1 -5
- package/dist/composite/hero/custom/grid.d.ts.map +1 -1
- package/dist/composite/hero/custom/grid.js +122 -171
- package/dist/composite/hero/custom/grid.js.map +1 -1
- package/dist/composite/hero/custom/grid.mjs +116 -166
- package/dist/composite/hero/custom/grid.mjs.map +1 -1
- package/dist/composite/hero/custom/video-arrow.d.ts +2 -1
- package/dist/composite/hero/custom/video-arrow.d.ts.map +1 -1
- package/dist/composite/hero/custom/video-arrow.js +83 -105
- package/dist/composite/hero/custom/video-arrow.js.map +1 -1
- package/dist/composite/hero/custom/video-arrow.mjs +77 -99
- package/dist/composite/hero/custom/video-arrow.mjs.map +1 -1
- package/dist/composite/hero/logo.d.ts +1 -5
- package/dist/composite/hero/logo.d.ts.map +1 -1
- package/dist/composite/hero/logo.js +71 -89
- package/dist/composite/hero/logo.js.map +1 -1
- package/dist/composite/hero/logo.mjs +68 -87
- package/dist/composite/hero/logo.mjs.map +1 -1
- package/dist/composite/hero/minimal.d.ts +1 -5
- package/dist/composite/hero/minimal.d.ts.map +1 -1
- package/dist/composite/hero/minimal.js +67 -86
- package/dist/composite/hero/minimal.js.map +1 -1
- package/dist/composite/hero/minimal.mjs +63 -83
- package/dist/composite/hero/minimal.mjs.map +1 -1
- package/dist/composite/hero/overlay.d.ts +1 -5
- package/dist/composite/hero/overlay.d.ts.map +1 -1
- package/dist/composite/hero/overlay.js +107 -135
- package/dist/composite/hero/overlay.js.map +1 -1
- package/dist/composite/hero/overlay.mjs +103 -132
- package/dist/composite/hero/overlay.mjs.map +1 -1
- package/dist/composite/hero/stacked.d.ts +1 -5
- package/dist/composite/hero/stacked.d.ts.map +1 -1
- package/dist/composite/hero/stacked.js +114 -137
- package/dist/composite/hero/stacked.js.map +1 -1
- package/dist/composite/hero/stacked.mjs +110 -134
- package/dist/composite/hero/stacked.mjs.map +1 -1
- package/dist/composite/hero/standard.d.ts +1 -5
- package/dist/composite/hero/standard.d.ts.map +1 -1
- package/dist/composite/hero/standard.js +103 -116
- package/dist/composite/hero/standard.js.map +1 -1
- package/dist/composite/hero/standard.mjs +100 -114
- package/dist/composite/hero/standard.mjs.map +1 -1
- package/dist/composite/layout/box/logo.js +1 -1
- package/dist/composite/layout/box/logo.js.map +1 -1
- package/dist/composite/layout/box/logo.mjs +1 -1
- package/dist/composite/layout/box/logo.mjs.map +1 -1
- package/dist/composite/layout/image/expand.js +1 -1
- package/dist/composite/layout/image/expand.js.map +1 -1
- package/dist/composite/layout/image/expand.mjs +1 -1
- package/dist/composite/layout/image/expand.mjs.map +1 -1
- package/dist/composite/layout/scroll-top/index.js +1 -1
- package/dist/composite/layout/scroll-top/index.js.map +1 -1
- package/dist/composite/layout/scroll-top/index.mjs +1 -1
- package/dist/composite/layout/scroll-top/index.mjs.map +1 -1
- package/dist/composite/layout/section-intro/small.d.ts +2 -1
- package/dist/composite/layout/section-intro/small.d.ts.map +1 -1
- package/dist/composite/layout/section-intro/small.js +97 -107
- package/dist/composite/layout/section-intro/small.js.map +1 -1
- package/dist/composite/layout/section-intro/small.mjs +95 -106
- package/dist/composite/layout/section-intro/small.mjs.map +1 -1
- package/dist/composite/layout/section-intro/wide.d.ts +2 -2
- package/dist/composite/layout/section-intro/wide.d.ts.map +1 -1
- package/dist/composite/layout/section-intro/wide.js +40 -53
- package/dist/composite/layout/section-intro/wide.js.map +1 -1
- package/dist/composite/layout/section-intro/wide.mjs +39 -53
- package/dist/composite/layout/section-intro/wide.mjs.map +1 -1
- package/dist/composite/layout/sticky-columns/index.js +1 -1
- package/dist/composite/layout/sticky-columns/index.js.map +1 -1
- package/dist/composite/layout/sticky-columns/index.mjs +1 -1
- package/dist/composite/layout/sticky-columns/index.mjs.map +1 -1
- package/dist/composite/media/elements/caption.js +1 -1
- package/dist/composite/media/elements/caption.js.map +1 -1
- package/dist/composite/media/elements/caption.mjs +1 -1
- package/dist/composite/media/elements/caption.mjs.map +1 -1
- package/dist/composite/media/elements/gif.d.ts +3 -2
- package/dist/composite/media/elements/gif.d.ts.map +1 -1
- package/dist/composite/media/elements/gif.js +25 -27
- package/dist/composite/media/elements/gif.js.map +1 -1
- package/dist/composite/media/elements/gif.mjs +25 -27
- package/dist/composite/media/elements/gif.mjs.map +1 -1
- package/dist/composite/media/inline/caption.js +2 -2
- package/dist/composite/media/inline/caption.js.map +1 -1
- package/dist/composite/media/inline/caption.mjs +2 -2
- package/dist/composite/media/inline/caption.mjs.map +1 -1
- package/dist/composite/media/inline/wrapped.js +2 -2
- package/dist/composite/media/inline/wrapped.js.map +1 -1
- package/dist/composite/media/inline/wrapped.mjs +2 -2
- package/dist/composite/media/inline/wrapped.mjs.map +1 -1
- package/dist/composite/navigation/elements/breadcrumb/index.js +1 -1
- package/dist/composite/navigation/elements/breadcrumb/index.js.map +1 -1
- package/dist/composite/navigation/elements/breadcrumb/index.mjs +1 -1
- package/dist/composite/navigation/elements/breadcrumb/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/drawer/index.js +1 -1
- package/dist/composite/navigation/elements/drawer/index.js.map +1 -1
- package/dist/composite/navigation/elements/drawer/index.mjs +1 -1
- package/dist/composite/navigation/elements/drawer/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/item/index.js +1 -1
- package/dist/composite/navigation/elements/item/index.js.map +1 -1
- package/dist/composite/navigation/elements/item/index.mjs +1 -1
- package/dist/composite/navigation/elements/item/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/menu-button/index.js +1 -1
- package/dist/composite/navigation/elements/menu-button/index.js.map +1 -1
- package/dist/composite/navigation/elements/menu-button/index.mjs +1 -1
- package/dist/composite/navigation/elements/menu-button/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/slider/action.js +1 -1
- package/dist/composite/navigation/elements/slider/action.js.map +1 -1
- package/dist/composite/navigation/elements/slider/action.mjs +1 -1
- package/dist/composite/navigation/elements/slider/action.mjs.map +1 -1
- package/dist/composite/navigation/elements/slider/index.js +1 -1
- package/dist/composite/navigation/elements/slider/index.js.map +1 -1
- package/dist/composite/navigation/elements/slider/index.mjs +1 -1
- package/dist/composite/navigation/elements/slider/index.mjs.map +1 -1
- package/dist/composite/navigation/elements/slider/slide-first.js +1 -1
- package/dist/composite/navigation/elements/slider/slide-first.js.map +1 -1
- package/dist/composite/navigation/elements/slider/slide-first.mjs +1 -1
- package/dist/composite/navigation/elements/slider/slide-first.mjs.map +1 -1
- package/dist/composite/navigation/elements/slider/slides.js +1 -1
- package/dist/composite/navigation/elements/slider/slides.js.map +1 -1
- package/dist/composite/navigation/elements/slider/slides.mjs +1 -1
- package/dist/composite/navigation/elements/slider/slides.mjs.map +1 -1
- package/dist/composite/navigation/header.js +1 -1
- package/dist/composite/navigation/header.js.map +1 -1
- package/dist/composite/navigation/header.mjs +1 -1
- package/dist/composite/navigation/header.mjs.map +1 -1
- package/dist/composite/navigation/utility/alert.js +8 -4
- package/dist/composite/navigation/utility/alert.js.map +1 -1
- package/dist/composite/navigation/utility/alert.mjs +8 -4
- package/dist/composite/navigation/utility/alert.mjs.map +1 -1
- package/dist/composite/navigation/utility/index.d.ts.map +1 -1
- package/dist/composite/navigation/utility/index.js +90 -13
- package/dist/composite/navigation/utility/index.js.map +1 -1
- package/dist/composite/navigation/utility/index.mjs +90 -13
- package/dist/composite/navigation/utility/index.mjs.map +1 -1
- package/dist/composite/navigation/utility/search.js +1 -1
- package/dist/composite/navigation/utility/search.js.map +1 -1
- package/dist/composite/navigation/utility/search.mjs +1 -1
- package/dist/composite/navigation/utility/search.mjs.map +1 -1
- package/dist/composite/pathway/_common.d.ts +4 -20
- package/dist/composite/pathway/_common.d.ts.map +1 -1
- package/dist/composite/pathway/_common.js +62 -64
- package/dist/composite/pathway/_common.js.map +1 -1
- package/dist/composite/pathway/_common.mjs +56 -60
- package/dist/composite/pathway/_common.mjs.map +1 -1
- package/dist/composite/pathway/hero.d.ts +1 -5
- package/dist/composite/pathway/hero.d.ts.map +1 -1
- package/dist/composite/pathway/hero.js +119 -140
- package/dist/composite/pathway/hero.js.map +1 -1
- package/dist/composite/pathway/hero.mjs +113 -135
- package/dist/composite/pathway/hero.mjs.map +1 -1
- package/dist/composite/pathway/highlight.d.ts +1 -5
- package/dist/composite/pathway/highlight.d.ts.map +1 -1
- package/dist/composite/pathway/highlight.js +99 -129
- package/dist/composite/pathway/highlight.js.map +1 -1
- package/dist/composite/pathway/highlight.mjs +98 -129
- package/dist/composite/pathway/highlight.mjs.map +1 -1
- package/dist/composite/pathway/overlay.d.ts +2 -1
- package/dist/composite/pathway/overlay.d.ts.map +1 -1
- package/dist/composite/pathway/overlay.js +125 -153
- package/dist/composite/pathway/overlay.js.map +1 -1
- package/dist/composite/pathway/overlay.mjs +122 -151
- package/dist/composite/pathway/overlay.mjs.map +1 -1
- package/dist/composite/pathway/standard.d.ts +2 -1
- package/dist/composite/pathway/standard.d.ts.map +1 -1
- package/dist/composite/pathway/standard.js +96 -123
- package/dist/composite/pathway/standard.js.map +1 -1
- package/dist/composite/pathway/standard.mjs +95 -123
- package/dist/composite/pathway/standard.mjs.map +1 -1
- package/dist/composite/pathway/sticky.d.ts +1 -5
- package/dist/composite/pathway/sticky.d.ts.map +1 -1
- package/dist/composite/pathway/sticky.js +91 -116
- package/dist/composite/pathway/sticky.js.map +1 -1
- package/dist/composite/pathway/sticky.mjs +88 -114
- package/dist/composite/pathway/sticky.mjs.map +1 -1
- package/dist/composite/person/bio/full.d.ts +2 -5
- package/dist/composite/person/bio/full.d.ts.map +1 -1
- package/dist/composite/person/bio/full.js +53 -57
- package/dist/composite/person/bio/full.js.map +1 -1
- package/dist/composite/person/bio/full.mjs +52 -57
- package/dist/composite/person/bio/full.mjs.map +1 -1
- package/dist/composite/person/bio/small.d.ts +2 -5
- package/dist/composite/person/bio/small.d.ts.map +1 -1
- package/dist/composite/person/bio/small.js +85 -98
- package/dist/composite/person/bio/small.js.map +1 -1
- package/dist/composite/person/bio/small.mjs +84 -98
- package/dist/composite/person/bio/small.mjs.map +1 -1
- package/dist/composite/person/block.d.ts +2 -5
- package/dist/composite/person/block.d.ts.map +1 -1
- package/dist/composite/person/block.js +34 -42
- package/dist/composite/person/block.js.map +1 -1
- package/dist/composite/person/block.mjs +34 -42
- package/dist/composite/person/block.mjs.map +1 -1
- package/dist/composite/person/hero.d.ts +2 -5
- package/dist/composite/person/hero.d.ts.map +1 -1
- package/dist/composite/person/hero.js +160 -220
- package/dist/composite/person/hero.js.map +1 -1
- package/dist/composite/person/hero.mjs +159 -220
- package/dist/composite/person/hero.mjs.map +1 -1
- package/dist/composite/person/list.d.ts +2 -5
- package/dist/composite/person/list.d.ts.map +1 -1
- package/dist/composite/person/list.js +19 -19
- package/dist/composite/person/list.js.map +1 -1
- package/dist/composite/person/list.mjs +19 -19
- package/dist/composite/person/list.mjs.map +1 -1
- package/dist/composite/person/tabular.d.ts +2 -5
- package/dist/composite/person/tabular.d.ts.map +1 -1
- package/dist/composite/person/tabular.js +40 -36
- package/dist/composite/person/tabular.js.map +1 -1
- package/dist/composite/person/tabular.mjs +38 -36
- package/dist/composite/person/tabular.mjs.map +1 -1
- package/dist/composite/quote/elements/action.d.ts +1 -5
- package/dist/composite/quote/elements/action.d.ts.map +1 -1
- package/dist/composite/quote/elements/action.js +13 -17
- package/dist/composite/quote/elements/action.js.map +1 -1
- package/dist/composite/quote/elements/action.mjs +13 -17
- package/dist/composite/quote/elements/action.mjs.map +1 -1
- package/dist/composite/quote/elements/icon.d.ts +1 -5
- package/dist/composite/quote/elements/icon.d.ts.map +1 -1
- package/dist/composite/quote/elements/icon.js +37 -40
- package/dist/composite/quote/elements/icon.js.map +1 -1
- package/dist/composite/quote/elements/icon.mjs +37 -40
- package/dist/composite/quote/elements/icon.mjs.map +1 -1
- package/dist/composite/quote/elements/image.d.ts +1 -5
- package/dist/composite/quote/elements/image.d.ts.map +1 -1
- package/dist/composite/quote/elements/image.js +27 -35
- package/dist/composite/quote/elements/image.js.map +1 -1
- package/dist/composite/quote/elements/image.mjs +27 -35
- package/dist/composite/quote/elements/image.mjs.map +1 -1
- package/dist/composite/quote/elements/quote.d.ts +1 -5
- package/dist/composite/quote/elements/quote.d.ts.map +1 -1
- package/dist/composite/quote/elements/quote.js +37 -48
- package/dist/composite/quote/elements/quote.js.map +1 -1
- package/dist/composite/quote/elements/quote.mjs +35 -46
- package/dist/composite/quote/elements/quote.mjs.map +1 -1
- package/dist/composite/quote/elements/text.d.ts +1 -5
- package/dist/composite/quote/elements/text.d.ts.map +1 -1
- package/dist/composite/quote/elements/text.js +60 -73
- package/dist/composite/quote/elements/text.js.map +1 -1
- package/dist/composite/quote/elements/text.mjs +60 -73
- package/dist/composite/quote/elements/text.mjs.map +1 -1
- package/dist/composite/quote/featured.d.ts +2 -1
- package/dist/composite/quote/featured.d.ts.map +1 -1
- package/dist/composite/quote/featured.js +102 -135
- package/dist/composite/quote/featured.js.map +1 -1
- package/dist/composite/quote/featured.mjs +102 -135
- package/dist/composite/quote/featured.mjs.map +1 -1
- package/dist/composite/quote/helper/animation.d.ts +2 -2
- package/dist/composite/quote/helper/animation.d.ts.map +1 -1
- package/dist/composite/quote/helper/animation.js.map +1 -1
- package/dist/composite/quote/helper/animation.mjs.map +1 -1
- package/dist/composite/quote/inline.d.ts +2 -1
- package/dist/composite/quote/inline.d.ts.map +1 -1
- package/dist/composite/quote/inline.js +29 -45
- package/dist/composite/quote/inline.js.map +1 -1
- package/dist/composite/quote/inline.mjs +29 -45
- package/dist/composite/quote/inline.mjs.map +1 -1
- package/dist/composite/quote/statement.d.ts +1 -5
- package/dist/composite/quote/statement.d.ts.map +1 -1
- package/dist/composite/slider/events.js +1 -1
- package/dist/composite/slider/events.js.map +1 -1
- package/dist/composite/slider/events.mjs +1 -1
- package/dist/composite/slider/events.mjs.map +1 -1
- package/dist/composite/social/sharing.js +1 -1
- package/dist/composite/social/sharing.js.map +1 -1
- package/dist/composite/social/sharing.mjs +1 -1
- package/dist/composite/social/sharing.mjs.map +1 -1
- package/dist/composite/tabs/standard.d.ts.map +1 -1
- package/dist/composite/tabs/standard.js +3 -2
- package/dist/composite/tabs/standard.js.map +1 -1
- package/dist/composite/tabs/standard.mjs +3 -2
- package/dist/composite/tabs/standard.mjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -3
- package/dist/index.mjs.map +1 -1
- package/dist/layout/image.js +1 -1
- package/dist/layout/image.js.map +1 -1
- package/dist/layout/image.mjs +1 -1
- package/dist/layout/image.mjs.map +1 -1
- package/package.json +10 -9
- package/dist/model/elements/actions.d.ts +0 -62
- package/dist/model/elements/actions.d.ts.map +0 -1
- package/dist/model/elements/actions.js +0 -71
- package/dist/model/elements/actions.js.map +0 -1
- package/dist/model/elements/actions.mjs +0 -54
- package/dist/model/elements/actions.mjs.map +0 -1
- package/dist/model/elements/assets.d.ts +0 -30
- package/dist/model/elements/assets.d.ts.map +0 -1
- package/dist/model/elements/assets.js +0 -42
- package/dist/model/elements/assets.js.map +0 -1
- package/dist/model/elements/assets.mjs +0 -25
- package/dist/model/elements/assets.mjs.map +0 -1
- package/dist/model/elements/buttons.d.ts +0 -12
- package/dist/model/elements/buttons.d.ts.map +0 -1
- package/dist/model/elements/buttons.js +0 -26
- package/dist/model/elements/buttons.js.map +0 -1
- package/dist/model/elements/buttons.mjs +0 -9
- package/dist/model/elements/buttons.mjs.map +0 -1
- package/dist/model/elements/event.d.ts +0 -22
- package/dist/model/elements/event.d.ts.map +0 -1
- package/dist/model/elements/event.js +0 -30
- package/dist/model/elements/event.js.map +0 -1
- package/dist/model/elements/event.mjs +0 -13
- package/dist/model/elements/event.mjs.map +0 -1
- package/dist/model/elements/headline.d.ts +0 -67
- package/dist/model/elements/headline.d.ts.map +0 -1
- package/dist/model/elements/headline.js +0 -74
- package/dist/model/elements/headline.js.map +0 -1
- package/dist/model/elements/headline.mjs +0 -57
- package/dist/model/elements/headline.mjs.map +0 -1
- package/dist/model/elements/index.d.ts +0 -34
- package/dist/model/elements/index.d.ts.map +0 -1
- package/dist/model/elements/index.js +0 -37
- package/dist/model/elements/index.js.map +0 -1
- package/dist/model/elements/index.mjs +0 -37
- package/dist/model/elements/index.mjs.map +0 -1
- package/dist/model/elements/layout.d.ts +0 -64
- package/dist/model/elements/layout.d.ts.map +0 -1
- package/dist/model/elements/layout.js +0 -68
- package/dist/model/elements/layout.js.map +0 -1
- package/dist/model/elements/layout.mjs +0 -51
- package/dist/model/elements/layout.mjs.map +0 -1
- package/dist/model/elements/rich-text.d.ts +0 -27
- package/dist/model/elements/rich-text.d.ts.map +0 -1
- package/dist/model/elements/rich-text.js +0 -68
- package/dist/model/elements/rich-text.js.map +0 -1
- package/dist/model/elements/rich-text.mjs +0 -51
- package/dist/model/elements/rich-text.mjs.map +0 -1
- package/dist/model/elements/text.d.ts +0 -22
- package/dist/model/elements/text.d.ts.map +0 -1
- package/dist/model/elements/text.js +0 -30
- package/dist/model/elements/text.js.map +0 -1
- package/dist/model/elements/text.mjs +0 -13
- package/dist/model/elements/text.mjs.map +0 -1
- package/dist/model/index.d.ts +0 -2
- package/dist/model/index.d.ts.map +0 -1
- package/dist/model/modifiers/_types.d.ts +0 -41
- package/dist/model/modifiers/_types.d.ts.map +0 -1
- package/dist/model/modifiers/index.d.ts +0 -44
- package/dist/model/modifiers/index.d.ts.map +0 -1
- package/dist/model/modifiers/index.js +0 -136
- package/dist/model/modifiers/index.js.map +0 -1
- package/dist/model/modifiers/index.mjs +0 -136
- package/dist/model/modifiers/index.mjs.map +0 -1
- package/dist/model/modifiers/style.d.ts +0 -19
- package/dist/model/modifiers/style.d.ts.map +0 -1
- package/dist/model/modifiers/style.js +0 -122
- package/dist/model/modifiers/style.js.map +0 -1
- package/dist/model/modifiers/style.mjs +0 -105
- package/dist/model/modifiers/style.mjs.map +0 -1
- package/dist/model.d.ts +0 -2
- package/dist/model.js +0 -5
- package/dist/model.js.map +0 -1
- package/dist/model.mjs +0 -5
- package/dist/model.mjs.map +0 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ElementBuilder } from "@universityofmaryland/web-builder-library";
|
|
2
|
+
import * as token from "@universityofmaryland/web-token-library";
|
|
3
|
+
import * as elementStyles from "@universityofmaryland/web-styles-library/element";
|
|
2
4
|
import { sans, stats } from "@universityofmaryland/web-styles-library/typography";
|
|
3
|
-
import { createDiv, create } from "../../model/elements/index.mjs";
|
|
4
|
-
import { simpleLargest, simpleLarge } from "../../model/elements/rich-text.mjs";
|
|
5
5
|
const BLOCK_TEXTURE = `<svg id="stat_block-texture" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" ><defs><style>.cls-1{opacity:.02;}.cls-1,.cls-2{fill:#454545;fill-rule:evenodd;isolation:isolate;stroke-width:0px;}.cls-2{opacity:.04;}</style></defs><path class="cls-1" d="M109.49,0H0v63.18l181.67,182.32L0,427.82v63.18h109.49l244.61-245.5L109.49,0Z"/><path class="cls-2" d="M108.94,0h172.44l244.61,245.5-244.61,245.5H108.94l244.61-245.5L108.94,0ZM0,179.11l58.16-58.29L0,62.54v116.57Z"/></svg>`;
|
|
6
|
-
const createStat = (
|
|
7
|
-
|
|
6
|
+
const createStat = ({
|
|
7
|
+
stat: statElement,
|
|
8
|
+
isThemeDark,
|
|
9
|
+
isSizeLarge
|
|
10
|
+
}) => {
|
|
8
11
|
if (!statElement) return;
|
|
9
12
|
let rawText = statElement.textContent;
|
|
10
13
|
if (!rawText) return;
|
|
@@ -13,157 +16,135 @@ const createStat = (props) => {
|
|
|
13
16
|
console.error("Stat text is too long. Please limit to 6 characters.");
|
|
14
17
|
statElement.textContent = rawText.slice(0, 6);
|
|
15
18
|
}
|
|
16
|
-
return
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
...isSizeLarge && stats.large
|
|
32
|
-
},
|
|
33
|
-
[`& + *`]: { marginTop: token.spacing.min }
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
});
|
|
19
|
+
return new ElementBuilder(statElement).withClassName("stat-display").styled(
|
|
20
|
+
stats.compose(isSizeLarge ? "large" : "medium", {
|
|
21
|
+
theme: isThemeDark ? "dark" : "light"
|
|
22
|
+
})
|
|
23
|
+
).withStyles({
|
|
24
|
+
element: {
|
|
25
|
+
WebkitFontSmoothing: "antialiased",
|
|
26
|
+
[`& *`]: {
|
|
27
|
+
color: "currentColor",
|
|
28
|
+
WebkitFontSmoothing: "antialiased"
|
|
29
|
+
},
|
|
30
|
+
[`& + *`]: { marginTop: token.spacing.min }
|
|
31
|
+
},
|
|
32
|
+
siblingAfter: { marginTop: token.spacing.min }
|
|
33
|
+
}).build();
|
|
37
34
|
};
|
|
38
35
|
const createSubtext = (props) => {
|
|
39
36
|
const { subText, isThemeDark, isSizeLarge } = props;
|
|
40
37
|
if (!subText) return;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
color:
|
|
49
|
-
...isSizeLarge && sans.small,
|
|
50
|
-
...isThemeDark && { color: token.color.gray.light },
|
|
51
|
-
["& *"]: {
|
|
52
|
-
...sans.min,
|
|
53
|
-
color: "currentColor",
|
|
54
|
-
...isSizeLarge && sans.small
|
|
55
|
-
}
|
|
38
|
+
const fontStyle = isSizeLarge ? sans.small : sans.min;
|
|
39
|
+
return new ElementBuilder(subText).withClassName("stat-sub-text").styled(fontStyle).withStyles({
|
|
40
|
+
element: {
|
|
41
|
+
marginTop: token.spacing.min,
|
|
42
|
+
color: token.color.gray.mediumAA,
|
|
43
|
+
...isThemeDark && { color: token.color.gray.light },
|
|
44
|
+
["& *"]: {
|
|
45
|
+
color: "currentColor"
|
|
56
46
|
}
|
|
57
47
|
}
|
|
58
|
-
});
|
|
48
|
+
}).build();
|
|
59
49
|
};
|
|
60
50
|
const createText = (props) => {
|
|
61
51
|
const { text, isThemeDark, isSizeLarge } = props;
|
|
62
52
|
if (!text) return;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
isThemeDark,
|
|
67
|
-
elementStyles: {
|
|
68
|
-
siblingAfter: { marginTop: token.spacing.md }
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
return simpleLarge({
|
|
73
|
-
element: text,
|
|
74
|
-
isThemeDark,
|
|
75
|
-
elementStyles: {
|
|
76
|
-
siblingAfter: { marginTop: token.spacing.min }
|
|
77
|
-
}
|
|
53
|
+
const styles = elementStyles.text.rich.composeSimple({
|
|
54
|
+
size: isSizeLarge ? "largest" : "large",
|
|
55
|
+
theme: isThemeDark ? "dark" : "light"
|
|
78
56
|
});
|
|
57
|
+
const marginTop = isSizeLarge ? token.spacing.md : token.spacing.min;
|
|
58
|
+
return new ElementBuilder(text).styled(styles).withStyles({
|
|
59
|
+
siblingAfter: { marginTop }
|
|
60
|
+
}).build();
|
|
79
61
|
};
|
|
80
62
|
const createWrapper = (props) => {
|
|
81
63
|
const { isThemeDark, hasLine, isSizeLarge, stat: stat2, text, subText } = props;
|
|
82
64
|
const subTextElement = createSubtext({ subText, isThemeDark, isSizeLarge });
|
|
83
65
|
const textElement = createText({ text, isThemeDark, isSizeLarge });
|
|
84
66
|
const statElement = createStat({ stat: stat2, isThemeDark, isSizeLarge });
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
...hasLine && {
|
|
96
|
-
paddingLeft: token.spacing.md,
|
|
97
|
-
borderLeft: `2px solid ${token.color.gold}`,
|
|
98
|
-
[`@container umd-element-stat (min-width: 400px)`]: {
|
|
99
|
-
paddingLeft: token.spacing.xl
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
...isThemeDark && {
|
|
103
|
-
[`& .stat-sub-text`]: { color: token.color.gray.light }
|
|
67
|
+
const isDark = isThemeDark;
|
|
68
|
+
const wrapper = new ElementBuilder().withClassName("stat-wrapper").withStyles({
|
|
69
|
+
element: {
|
|
70
|
+
maxWidth: "720px",
|
|
71
|
+
position: "relative",
|
|
72
|
+
...hasLine && {
|
|
73
|
+
paddingLeft: token.spacing.md,
|
|
74
|
+
borderLeft: `2px solid ${token.color.gold}`,
|
|
75
|
+
[`@container umd-element-stat (min-width: 400px)`]: {
|
|
76
|
+
paddingLeft: token.spacing.xl
|
|
104
77
|
}
|
|
78
|
+
},
|
|
79
|
+
...isDark && {
|
|
80
|
+
[`& .stat-sub-text`]: { color: token.color.gray.light }
|
|
105
81
|
}
|
|
106
82
|
}
|
|
107
83
|
});
|
|
84
|
+
if (statElement) {
|
|
85
|
+
wrapper.withChild(statElement);
|
|
86
|
+
}
|
|
87
|
+
if (textElement) {
|
|
88
|
+
wrapper.withChild(textElement);
|
|
89
|
+
}
|
|
90
|
+
if (subTextElement) {
|
|
91
|
+
wrapper.withChild(subTextElement);
|
|
92
|
+
}
|
|
93
|
+
return wrapper.build();
|
|
108
94
|
};
|
|
109
95
|
const createDisplayBlock = (props) => {
|
|
110
96
|
const { isDisplayBlock, wrapperElement } = props;
|
|
111
97
|
if (!isDisplayBlock) return null;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
left: 0,
|
|
135
|
-
width: "100%",
|
|
136
|
-
height: "100%"
|
|
137
|
-
}
|
|
98
|
+
return new ElementBuilder().withClassName("stat-display-block").withStyles({
|
|
99
|
+
element: {
|
|
100
|
+
padding: `${token.spacing.lg} ${token.spacing.sm}`,
|
|
101
|
+
borderTop: `2px solid ${token.color.red}`,
|
|
102
|
+
backgroundColor: `${token.color.gray.lightest}`,
|
|
103
|
+
position: "relative",
|
|
104
|
+
overflow: "hidden",
|
|
105
|
+
height: `100%`,
|
|
106
|
+
display: `flex`,
|
|
107
|
+
alignItems: `center`,
|
|
108
|
+
[`@media (min-width: ${token.media.breakpoints.large.min})`]: {
|
|
109
|
+
padding: token.spacing.lg
|
|
110
|
+
},
|
|
111
|
+
[`@media (min-width: ${token.media.breakpoints.highDef.min})`]: {
|
|
112
|
+
padding: `${token.spacing["2xl"]} ${token.spacing["3xl"]}`
|
|
113
|
+
},
|
|
114
|
+
[`& > svg`]: {
|
|
115
|
+
position: "absolute",
|
|
116
|
+
top: 0,
|
|
117
|
+
left: 0,
|
|
118
|
+
width: "100%",
|
|
119
|
+
height: "100%"
|
|
138
120
|
}
|
|
139
121
|
}
|
|
140
|
-
})
|
|
141
|
-
|
|
142
|
-
|
|
122
|
+
}).withModifier((el) => {
|
|
123
|
+
el.insertAdjacentHTML("afterbegin", BLOCK_TEXTURE);
|
|
124
|
+
}).withChild(wrapperElement).build();
|
|
143
125
|
};
|
|
144
126
|
const createContainer = (containerChild) => {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
element: {
|
|
150
|
-
container: `umd-element-stat / inline-size`,
|
|
151
|
-
height: `inherit`
|
|
152
|
-
}
|
|
127
|
+
const container = new ElementBuilder().withClassName("stat-container").withStyles({
|
|
128
|
+
element: {
|
|
129
|
+
containerType: `inline-size`,
|
|
130
|
+
height: `inherit`
|
|
153
131
|
}
|
|
154
132
|
});
|
|
133
|
+
if (containerChild) {
|
|
134
|
+
container.withChild(containerChild);
|
|
135
|
+
}
|
|
136
|
+
return container.build();
|
|
155
137
|
};
|
|
156
138
|
const stat = (props) => {
|
|
157
139
|
const wrapperElement = createWrapper(props);
|
|
158
|
-
const blockElement = createDisplayBlock({
|
|
159
|
-
isDisplayBlock: props.isDisplayBlock,
|
|
160
|
-
wrapperElement
|
|
161
|
-
});
|
|
162
140
|
if (props.isDisplayBlock) {
|
|
141
|
+
const blockElement = createDisplayBlock({
|
|
142
|
+
isDisplayBlock: props.isDisplayBlock,
|
|
143
|
+
wrapperElement
|
|
144
|
+
});
|
|
163
145
|
return createContainer(blockElement);
|
|
164
|
-
} else {
|
|
165
|
-
return createContainer(wrapperElement);
|
|
166
146
|
}
|
|
147
|
+
return createContainer(wrapperElement);
|
|
167
148
|
};
|
|
168
149
|
export {
|
|
169
150
|
stat as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stat.mjs","sources":["../../../source/atomic/text/stat.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport {\n stats as statsFont,\n sans as sansFonts,\n} from '@universityofmaryland/web-styles-library/typography';\nimport { ElementModel } from 'model';\nimport { type ElementVisual } from '../../_types';\n\nexport interface StatProps {\n isThemeDark: boolean;\n isDisplayBlock: boolean;\n isSizeLarge: boolean;\n hasLine: boolean;\n stat?: HTMLElement;\n text?: HTMLElement;\n subText?: HTMLElement;\n}\n\nconst BLOCK_TEXTURE = `<svg id=\"stat_block-texture\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" ><defs><style>.cls-1{opacity:.02;}.cls-1,.cls-2{fill:#454545;fill-rule:evenodd;isolation:isolate;stroke-width:0px;}.cls-2{opacity:.04;}</style></defs><path class=\"cls-1\" d=\"M109.49,0H0v63.18l181.67,182.32L0,427.82v63.18h109.49l244.61-245.5L109.49,0Z\"/><path class=\"cls-2\" d=\"M108.94,0h172.44l244.61,245.5-244.61,245.5H108.94l244.61-245.5L108.94,0ZM0,179.11l58.16-58.29L0,62.54v116.57Z\"/></svg>`;\n\nconst createStat = (\n props: Pick<StatProps, 'stat' | 'isThemeDark' | 'isSizeLarge'>,\n) => {\n const { stat: statElement, isThemeDark, isSizeLarge } = props;\n if (!statElement) return;\n\n let rawText = statElement.textContent;\n if (!rawText) return;\n\n rawText = rawText.trim();\n if (rawText.length > 6) {\n console.error('Stat text is too long. Please limit to 6 characters.');\n statElement.textContent = rawText.slice(0, 6);\n }\n\n return ElementModel.create({\n element: statElement,\n className: 'stat-display',\n elementStyles: {\n siblingAfter: { marginTop: token.spacing.min },\n\n element: {\n ...statsFont.medium,\n color: token.color.red,\n WebkitFontSmoothing: 'antialiased',\n\n ...(isThemeDark && { color: token.color.gold }),\n ...(isSizeLarge && { ...statsFont.large }),\n\n [`& *`]: {\n ...statsFont.medium,\n color: 'currentColor',\n WebkitFontSmoothing: 'antialiased',\n\n ...(isSizeLarge && statsFont.large),\n },\n\n [`& + *`]: { marginTop: token.spacing.min },\n },\n },\n });\n};\n\nconst createSubtext = (\n props: Pick<StatProps, 'subText' | 'isThemeDark' | 'isSizeLarge'>,\n) => {\n const { subText, isThemeDark, isSizeLarge } = props;\n if (!subText) return;\n\n return ElementModel.create({\n element: subText,\n className: 'stat-sub-text',\n elementStyles: {\n element: {\n ...sansFonts.min,\n marginTop: token.spacing.min,\n color: token.color.gray.mediumAA,\n\n ...(isSizeLarge && sansFonts.small),\n ...(isThemeDark && { color: token.color.gray.light }),\n\n ['& *']: {\n ...sansFonts.min,\n color: 'currentColor',\n\n ...(isSizeLarge && sansFonts.small),\n },\n },\n },\n });\n};\n\nconst createText = (\n props: Pick<StatProps, 'text' | 'isThemeDark' | 'isSizeLarge'>,\n) => {\n const { text, isThemeDark, isSizeLarge } = props;\n if (!text) return;\n\n if (isSizeLarge) {\n return ElementModel.richText.simpleLargest({\n element: text,\n isThemeDark,\n elementStyles: {\n siblingAfter: { marginTop: token.spacing.md },\n },\n });\n }\n\n return ElementModel.richText.simpleLarge({\n element: text,\n isThemeDark,\n elementStyles: {\n siblingAfter: { marginTop: token.spacing.min },\n },\n });\n};\n\nconst createWrapper = (\n props: Pick<\n StatProps,\n 'isThemeDark' | 'hasLine' | 'isSizeLarge' | 'stat' | 'text' | 'subText'\n >,\n) => {\n const { isThemeDark, hasLine, isSizeLarge, stat, text, subText } = props;\n\n const subTextElement = createSubtext({ subText, isThemeDark, isSizeLarge });\n const textElement = createText({ text, isThemeDark, isSizeLarge });\n const statElement = createStat({ stat, isThemeDark, isSizeLarge });\n\n const childElements = [statElement, textElement, subTextElement].filter(\n Boolean,\n ) as ElementVisual[];\n\n return ElementModel.createDiv({\n className: 'stat-wrapper',\n children: childElements,\n elementStyles: {\n element: {\n maxWidth: '720px',\n position: 'relative',\n\n ...(hasLine && {\n paddingLeft: token.spacing.md,\n borderLeft: `2px solid ${token.color.gold}`,\n\n [`@container umd-element-stat (min-width: 400px)`]: {\n paddingLeft: token.spacing.xl,\n },\n }),\n\n ...(isThemeDark && {\n [`& .stat-sub-text`]: { color: token.color.gray.light },\n }),\n },\n },\n });\n};\n\nconst createDisplayBlock = (\n props: Pick<StatProps, 'isDisplayBlock'> & { wrapperElement: ElementVisual },\n) => {\n const { isDisplayBlock, wrapperElement } = props;\n if (!isDisplayBlock) return null;\n\n const block = ElementModel.createDiv({\n className: 'stat-display-block',\n children: [wrapperElement],\n elementStyles: {\n element: {\n padding: `${token.spacing.lg} ${token.spacing.sm}`,\n borderTop: `2px solid ${token.color.red}`,\n backgroundColor: `${token.color.gray.lightest}`,\n position: 'relative',\n overflow: 'hidden',\n height: `100%`,\n display: `flex`,\n alignItems: `center`,\n\n [`@media (min-width: ${token.media.breakpoints.large.min})`]: {\n padding: token.spacing.lg,\n },\n\n [`@media (min-width: ${token.media.breakpoints.highDef.min})`]: {\n padding: `${token.spacing['2xl']} ${token.spacing['3xl']}`,\n },\n\n [`& > svg`]: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n },\n },\n },\n });\n\n block.element.insertAdjacentHTML('afterbegin', BLOCK_TEXTURE);\n\n return block;\n};\n\nconst createContainer = (containerChild: ElementVisual) => {\n return ElementModel.createDiv({\n className: 'stat-container',\n children: [containerChild],\n elementStyles: {\n element: {\n container: `umd-element-stat / inline-size`,\n height: `inherit`,\n },\n },\n });\n};\n\nexport default (props: StatProps): ElementVisual => {\n const wrapperElement = createWrapper(props);\n const blockElement = createDisplayBlock({\n isDisplayBlock: props.isDisplayBlock,\n wrapperElement,\n });\n\n if (props.isDisplayBlock) {\n return createContainer(blockElement as ElementVisual);\n } else {\n return createContainer(wrapperElement as ElementVisual);\n }\n};\n"],"names":["ElementModel.create","statsFont","sansFonts","ElementModel.richText.simpleLargest","ElementModel.richText.simpleLarge","stat","ElementModel.createDiv"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stat.mjs","sources":["../../../source/atomic/text/stat.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport {\n stats as statsFont,\n sans as sansFonts,\n} from '@universityofmaryland/web-styles-library/typography';\nimport { type ElementModel } from '../../_types';\n\nexport interface StatProps {\n isThemeDark?: boolean;\n isDisplayBlock: boolean;\n isSizeLarge: boolean;\n hasLine: boolean;\n stat?: HTMLElement;\n text?: HTMLElement;\n subText?: HTMLElement;\n}\n\nconst BLOCK_TEXTURE = `<svg id=\"stat_block-texture\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" ><defs><style>.cls-1{opacity:.02;}.cls-1,.cls-2{fill:#454545;fill-rule:evenodd;isolation:isolate;stroke-width:0px;}.cls-2{opacity:.04;}</style></defs><path class=\"cls-1\" d=\"M109.49,0H0v63.18l181.67,182.32L0,427.82v63.18h109.49l244.61-245.5L109.49,0Z\"/><path class=\"cls-2\" d=\"M108.94,0h172.44l244.61,245.5-244.61,245.5H108.94l244.61-245.5L108.94,0ZM0,179.11l58.16-58.29L0,62.54v116.57Z\"/></svg>`;\n\nconst createStat = ({\n stat: statElement,\n isThemeDark,\n isSizeLarge,\n}: Pick<StatProps, 'stat' | 'isThemeDark' | 'isSizeLarge'>) => {\n if (!statElement) return;\n\n let rawText = statElement.textContent;\n if (!rawText) return;\n\n rawText = rawText.trim();\n\n if (rawText.length > 6) {\n console.error('Stat text is too long. Please limit to 6 characters.');\n statElement.textContent = rawText.slice(0, 6);\n }\n\n return new ElementBuilder(statElement)\n .withClassName('stat-display')\n .styled(\n statsFont.compose(isSizeLarge ? 'large' : 'medium', {\n theme: isThemeDark ? 'dark' : 'light',\n }),\n )\n .withStyles({\n element: {\n WebkitFontSmoothing: 'antialiased',\n\n [`& *`]: {\n color: 'currentColor',\n WebkitFontSmoothing: 'antialiased',\n },\n\n [`& + *`]: { marginTop: token.spacing.min },\n },\n\n siblingAfter: { marginTop: token.spacing.min },\n })\n .build();\n};\n\nconst createSubtext = (\n props: Pick<StatProps, 'subText' | 'isThemeDark' | 'isSizeLarge'>,\n) => {\n const { subText, isThemeDark, isSizeLarge } = props;\n if (!subText) return;\n\n const fontStyle = isSizeLarge ? sansFonts.small : sansFonts.min;\n\n return new ElementBuilder(subText)\n .withClassName('stat-sub-text')\n .styled(fontStyle)\n .withStyles({\n element: {\n marginTop: token.spacing.min,\n color: token.color.gray.mediumAA,\n\n ...(isThemeDark && { color: token.color.gray.light }),\n\n ['& *']: {\n color: 'currentColor',\n },\n },\n })\n .build();\n};\n\nconst createText = (\n props: Pick<StatProps, 'text' | 'isThemeDark' | 'isSizeLarge'>,\n) => {\n const { text, isThemeDark, isSizeLarge } = props;\n if (!text) return;\n\n const styles = elementStyles.text.rich.composeSimple({\n size: isSizeLarge ? 'largest' : 'large',\n theme: isThemeDark ? 'dark' : 'light',\n });\n\n const marginTop = isSizeLarge ? token.spacing.md : token.spacing.min;\n\n return new ElementBuilder(text)\n .styled(styles)\n .withStyles({\n siblingAfter: { marginTop },\n })\n .build();\n};\n\nconst createWrapper = (\n props: Pick<\n StatProps,\n 'isThemeDark' | 'hasLine' | 'isSizeLarge' | 'stat' | 'text' | 'subText'\n >,\n) => {\n const { isThemeDark, hasLine, isSizeLarge, stat, text, subText } = props;\n\n const subTextElement = createSubtext({ subText, isThemeDark, isSizeLarge });\n const textElement = createText({ text, isThemeDark, isSizeLarge });\n const statElement = createStat({ stat, isThemeDark, isSizeLarge });\n\n const isDark = isThemeDark;\n\n const wrapper = new ElementBuilder()\n .withClassName('stat-wrapper')\n .withStyles({\n element: {\n maxWidth: '720px',\n position: 'relative',\n\n ...(hasLine && {\n paddingLeft: token.spacing.md,\n borderLeft: `2px solid ${token.color.gold}`,\n\n [`@container umd-element-stat (min-width: 400px)`]: {\n paddingLeft: token.spacing.xl,\n },\n }),\n\n ...(isDark && {\n [`& .stat-sub-text`]: { color: token.color.gray.light },\n }),\n },\n });\n\n if (statElement) {\n wrapper.withChild(statElement);\n }\n\n if (textElement) {\n wrapper.withChild(textElement);\n }\n\n if (subTextElement) {\n wrapper.withChild(subTextElement);\n }\n\n return wrapper.build();\n};\n\nconst createDisplayBlock = (\n props: Pick<StatProps, 'isDisplayBlock'> & { wrapperElement: ElementModel },\n) => {\n const { isDisplayBlock, wrapperElement } = props;\n if (!isDisplayBlock) return null;\n\n return new ElementBuilder()\n .withClassName('stat-display-block')\n .withStyles({\n element: {\n padding: `${token.spacing.lg} ${token.spacing.sm}`,\n borderTop: `2px solid ${token.color.red}`,\n backgroundColor: `${token.color.gray.lightest}`,\n position: 'relative',\n overflow: 'hidden',\n height: `100%`,\n display: `flex`,\n alignItems: `center`,\n\n [`@media (min-width: ${token.media.breakpoints.large.min})`]: {\n padding: token.spacing.lg,\n },\n\n [`@media (min-width: ${token.media.breakpoints.highDef.min})`]: {\n padding: `${token.spacing['2xl']} ${token.spacing['3xl']}`,\n },\n\n [`& > svg`]: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n },\n },\n })\n .withModifier((el) => {\n el.insertAdjacentHTML('afterbegin', BLOCK_TEXTURE);\n })\n .withChild(wrapperElement)\n .build();\n};\n\nconst createContainer = (containerChild: ElementModel) => {\n const container = new ElementBuilder()\n .withClassName('stat-container')\n .withStyles({\n element: {\n containerType: `inline-size`,\n height: `inherit`,\n },\n });\n\n if (containerChild) {\n container.withChild(containerChild);\n }\n\n return container.build();\n};\n\nexport default (props: StatProps) => {\n const wrapperElement = createWrapper(props);\n\n if (props.isDisplayBlock) {\n const blockElement = createDisplayBlock({\n isDisplayBlock: props.isDisplayBlock,\n wrapperElement,\n });\n return createContainer(blockElement!);\n }\n\n return createContainer(wrapperElement);\n};\n"],"names":["statsFont","sansFonts","stat"],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { PersonContactProps } from '../_types';
|
|
2
|
-
declare const _default: ({ actions, address, email, isThemeDark, linkendIn, phone, }: PersonContactProps) =>
|
|
3
|
-
element: HTMLElement;
|
|
4
|
-
className: string;
|
|
5
|
-
styles: string;
|
|
6
|
-
};
|
|
2
|
+
declare const _default: ({ actions, address, email, isThemeDark, linkendIn, phone, }: PersonContactProps) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
|
|
7
3
|
export default _default;
|
|
8
4
|
//# sourceMappingURL=contact.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/contact.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/contact.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;yBA4FpC,6DAOb,kBAAkB;AAPrB,wBA8EE"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const
|
|
2
|
+
const webBuilderLibrary = require("@universityofmaryland/web-builder-library");
|
|
3
|
+
const token = require("@universityofmaryland/web-token-library");
|
|
4
|
+
const typography = require("@universityofmaryland/web-styles-library/typography");
|
|
5
|
+
const layout = require("@universityofmaryland/web-styles-library/layout");
|
|
6
|
+
const elementStyles = require("@universityofmaryland/web-styles-library/element");
|
|
7
|
+
const theme = require("@universityofmaryland/web-utilities-library/theme");
|
|
3
8
|
const communication = require("@universityofmaryland/web-icons-library/communication");
|
|
4
9
|
const location = require("@universityofmaryland/web-icons-library/location");
|
|
5
10
|
const social = require("@universityofmaryland/web-icons-library/social");
|
|
6
|
-
const index = require("../../model/elements/index.js");
|
|
7
|
-
const layout = require("../../model/elements/layout.js");
|
|
8
|
-
const headline = require("../../model/elements/headline.js");
|
|
9
|
-
const actions = require("../../model/elements/actions.js");
|
|
10
11
|
function _interopNamespaceDefault(e) {
|
|
11
12
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
12
13
|
if (e) {
|
|
@@ -24,32 +25,32 @@ function _interopNamespaceDefault(e) {
|
|
|
24
25
|
return Object.freeze(n);
|
|
25
26
|
}
|
|
26
27
|
const token__namespace = /* @__PURE__ */ _interopNamespaceDefault(token);
|
|
28
|
+
const typography__namespace = /* @__PURE__ */ _interopNamespaceDefault(typography);
|
|
29
|
+
const layout__namespace = /* @__PURE__ */ _interopNamespaceDefault(layout);
|
|
30
|
+
const elementStyles__namespace = /* @__PURE__ */ _interopNamespaceDefault(elementStyles);
|
|
27
31
|
const makeIcon = ({
|
|
28
32
|
icon,
|
|
29
33
|
isThemeDark
|
|
30
34
|
}) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return iconElement;
|
|
35
|
+
return new webBuilderLibrary.ElementBuilder("span").withHTML(icon).styled(
|
|
36
|
+
elementStyles__namespace.action.icon.composeIcon({
|
|
37
|
+
theme: theme.theme.variant(isThemeDark)
|
|
38
|
+
})
|
|
39
|
+
).build();
|
|
37
40
|
};
|
|
38
41
|
const makeText = ({
|
|
39
42
|
text,
|
|
40
43
|
isThemeDark
|
|
41
44
|
}) => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
45
|
+
return new webBuilderLibrary.ElementBuilder("span").withHTML(text).styled(
|
|
46
|
+
typography__namespace.sans.compose("smaller", {
|
|
47
|
+
theme: theme.theme.fontColor(isThemeDark)
|
|
48
|
+
})
|
|
49
|
+
).withStyles({
|
|
50
|
+
element: {
|
|
51
|
+
...!isThemeDark && { color: `${token__namespace.color.gray.dark}` }
|
|
49
52
|
}
|
|
50
|
-
});
|
|
51
|
-
textElement.element.innerHTML = text;
|
|
52
|
-
return textElement;
|
|
53
|
+
}).build();
|
|
53
54
|
};
|
|
54
55
|
const makeContactLink = ({
|
|
55
56
|
element,
|
|
@@ -64,115 +65,74 @@ const makeContactLink = ({
|
|
|
64
65
|
marginTop: "4px",
|
|
65
66
|
lineHeight: "1.2em",
|
|
66
67
|
[`&a:hover, &a:focus`]: {
|
|
67
|
-
textDecoration: "underline"
|
|
68
|
+
textDecoration: "underline",
|
|
69
|
+
...isThemeDark && {
|
|
70
|
+
color: `${token__namespace.color.white}`
|
|
71
|
+
}
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
};
|
|
71
75
|
if (isLink) {
|
|
72
|
-
const link = layout.gridInlineRow({
|
|
73
|
-
element: document.createElement("a"),
|
|
74
|
-
elementStyles: containerStyles,
|
|
75
|
-
isThemeDark,
|
|
76
|
-
children: [iconSpan, textSpan]
|
|
77
|
-
});
|
|
78
76
|
const ariaLabel = element.getAttribute("aria-label");
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
const href = element.getAttribute("href") || "";
|
|
78
|
+
const linkBuilder = new webBuilderLibrary.ElementBuilder("a").styled(layout__namespace.grid.inline.row).withStyles(containerStyles).withChildren(iconSpan, textSpan).withAttribute("href", href);
|
|
79
|
+
if (ariaLabel) {
|
|
80
|
+
linkBuilder.withAttribute("aria-label", ariaLabel);
|
|
81
|
+
}
|
|
82
|
+
return linkBuilder.build();
|
|
82
83
|
}
|
|
83
|
-
return
|
|
84
|
-
element: document.createElement("div"),
|
|
85
|
-
elementStyles: containerStyles,
|
|
86
|
-
isThemeDark,
|
|
87
|
-
children: [iconSpan, textSpan]
|
|
88
|
-
});
|
|
84
|
+
return new webBuilderLibrary.ElementBuilder().styled(layout__namespace.grid.inline.row).withStyles(containerStyles).withChildren(iconSpan, textSpan).build();
|
|
89
85
|
};
|
|
90
86
|
const contact = ({
|
|
91
|
-
actions
|
|
87
|
+
actions,
|
|
92
88
|
address,
|
|
93
89
|
email,
|
|
94
90
|
isThemeDark,
|
|
95
91
|
linkendIn,
|
|
96
92
|
phone
|
|
97
93
|
}) => {
|
|
98
|
-
|
|
94
|
+
const container = new webBuilderLibrary.ElementBuilder().withClassName("text-lockup-contact").withStyles({
|
|
95
|
+
element: {
|
|
96
|
+
marginTop: `${token__namespace.spacing.sm}`
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
99
|
if (phone) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
makeContactLink({
|
|
105
|
-
element: phone,
|
|
106
|
-
icon: communication.phone,
|
|
107
|
-
isThemeDark
|
|
108
|
-
})
|
|
109
|
-
]
|
|
110
|
-
})
|
|
111
|
-
);
|
|
100
|
+
const phoneElement = new webBuilderLibrary.ElementBuilder().withClassName("text-lockup-contact-phone").withChild(
|
|
101
|
+
makeContactLink({ element: phone, icon: communication.phone, isThemeDark })
|
|
102
|
+
).build();
|
|
103
|
+
container.withChild(phoneElement);
|
|
112
104
|
}
|
|
113
105
|
if (email) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
makeContactLink({
|
|
119
|
-
element: email,
|
|
120
|
-
icon: communication.email,
|
|
121
|
-
isThemeDark
|
|
122
|
-
})
|
|
123
|
-
]
|
|
124
|
-
})
|
|
125
|
-
);
|
|
106
|
+
const emailElement = new webBuilderLibrary.ElementBuilder().withClassName("text-lockup-contact-email").withChild(
|
|
107
|
+
makeContactLink({ element: email, icon: communication.email, isThemeDark })
|
|
108
|
+
).build();
|
|
109
|
+
container.withChild(emailElement);
|
|
126
110
|
}
|
|
127
111
|
if (linkendIn) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
element: linkendIn,
|
|
134
|
-
icon: social.linkedin,
|
|
135
|
-
isThemeDark
|
|
136
|
-
})
|
|
137
|
-
]
|
|
112
|
+
const linkedInElement = new webBuilderLibrary.ElementBuilder().withClassName("text-lockup-contact-linkedin").withChild(
|
|
113
|
+
makeContactLink({
|
|
114
|
+
element: linkendIn,
|
|
115
|
+
icon: social.linkedin,
|
|
116
|
+
isThemeDark
|
|
138
117
|
})
|
|
139
|
-
);
|
|
118
|
+
).build();
|
|
119
|
+
container.withChild(linkedInElement);
|
|
140
120
|
}
|
|
141
121
|
if (address) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
makeContactLink({
|
|
147
|
-
element: address,
|
|
148
|
-
icon: location.pin,
|
|
149
|
-
isThemeDark
|
|
150
|
-
})
|
|
151
|
-
]
|
|
152
|
-
})
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
if (actions2) {
|
|
156
|
-
children.push(
|
|
157
|
-
layout.gridInlineTabletRows({
|
|
158
|
-
element: actions2,
|
|
159
|
-
elementStyles: {
|
|
160
|
-
element: {
|
|
161
|
-
marginTop: token__namespace.spacing.sm
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
})
|
|
165
|
-
);
|
|
122
|
+
const addressElement = new webBuilderLibrary.ElementBuilder().withClassName("text-lockup-contact-address").withChild(
|
|
123
|
+
makeContactLink({ element: address, icon: location.pin, isThemeDark })
|
|
124
|
+
).build();
|
|
125
|
+
container.withChild(addressElement);
|
|
166
126
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
children,
|
|
170
|
-
elementStyles: {
|
|
127
|
+
if (actions) {
|
|
128
|
+
const actionsElement = new webBuilderLibrary.ElementBuilder(actions).styled(layout__namespace.grid.inline.tabletRows).withStyles({
|
|
171
129
|
element: {
|
|
172
|
-
marginTop:
|
|
130
|
+
marginTop: token__namespace.spacing.sm
|
|
173
131
|
}
|
|
174
|
-
}
|
|
175
|
-
|
|
132
|
+
}).build();
|
|
133
|
+
container.withChild(actionsElement);
|
|
134
|
+
}
|
|
135
|
+
return container.build();
|
|
176
136
|
};
|
|
177
137
|
module.exports = contact;
|
|
178
138
|
//# sourceMappingURL=contact.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact.js","sources":["../../../source/atomic/text-lockup/contact.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/
|
|
1
|
+
{"version":3,"file":"contact.js","sources":["../../../source/atomic/text-lockup/contact.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport {\n email as iconEmail,\n phone as iconPhone,\n} from '@universityofmaryland/web-icons-library/communication';\nimport { pin as iconPin } from '@universityofmaryland/web-icons-library/location';\nimport { linkedin as iconLinkedIn } from '@universityofmaryland/web-icons-library/social';\nimport { type PersonContactProps } from '../_types';\n\nconst makeIcon = ({\n icon,\n isThemeDark,\n}: {\n icon: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(icon)\n .styled(\n elementStyles.action.icon.composeIcon({\n theme: theme.variant(isThemeDark),\n }),\n )\n .build();\n};\n\nconst makeText = ({\n text,\n isThemeDark,\n}: {\n text: string;\n isThemeDark?: boolean;\n}) => {\n return new ElementBuilder('span')\n .withHTML(text)\n .styled(\n typography.sans.compose('smaller', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n ...(!isThemeDark && { color: `${token.color.gray.dark}` }),\n },\n })\n .build();\n};\n\nconst makeContactLink = ({\n element,\n icon,\n isThemeDark,\n}: {\n element: HTMLElement | HTMLAnchorElement;\n icon: string;\n isThemeDark?: boolean;\n}) => {\n const isLink = element.getAttribute('href') && icon !== iconPin;\n const textSpan = makeText({ text: element.innerHTML, isThemeDark });\n const iconSpan = makeIcon({ icon, isThemeDark });\n const containerStyles = {\n element: {\n marginTop: '4px',\n lineHeight: '1.2em',\n\n [`&a:hover, &a:focus`]: {\n textDecoration: 'underline',\n\n ...(isThemeDark && {\n color: `${token.color.white}`,\n }),\n },\n },\n };\n\n if (isLink) {\n const ariaLabel = element.getAttribute('aria-label');\n const href = element.getAttribute('href') || '';\n\n const linkBuilder = new ElementBuilder('a')\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .withAttribute('href', href);\n\n if (ariaLabel) {\n linkBuilder.withAttribute('aria-label', ariaLabel);\n }\n\n return linkBuilder.build();\n }\n\n return new ElementBuilder()\n .styled(layout.grid.inline.row)\n .withStyles(containerStyles)\n .withChildren(iconSpan, textSpan)\n .build();\n};\n\nexport default ({\n actions,\n address,\n email,\n isThemeDark,\n linkendIn,\n phone,\n}: PersonContactProps) => {\n const container = new ElementBuilder()\n .withClassName('text-lockup-contact')\n .withStyles({\n element: {\n marginTop: `${token.spacing.sm}`,\n },\n });\n\n if (phone) {\n const phoneElement = new ElementBuilder()\n .withClassName('text-lockup-contact-phone')\n .withChild(\n makeContactLink({ element: phone, icon: iconPhone, isThemeDark }),\n )\n .build();\n\n container.withChild(phoneElement);\n }\n\n if (email) {\n const emailElement = new ElementBuilder()\n .withClassName('text-lockup-contact-email')\n .withChild(\n makeContactLink({ element: email, icon: iconEmail, isThemeDark }),\n )\n .build();\n\n container.withChild(emailElement);\n }\n\n if (linkendIn) {\n const linkedInElement = new ElementBuilder()\n .withClassName('text-lockup-contact-linkedin')\n .withChild(\n makeContactLink({\n element: linkendIn,\n icon: iconLinkedIn,\n isThemeDark,\n }),\n )\n .build();\n\n container.withChild(linkedInElement);\n }\n\n if (address) {\n const addressElement = new ElementBuilder()\n .withClassName('text-lockup-contact-address')\n .withChild(\n makeContactLink({ element: address, icon: iconPin, isThemeDark }),\n )\n .build();\n\n container.withChild(addressElement);\n }\n\n if (actions) {\n const actionsElement = new ElementBuilder(actions)\n .styled(layout.grid.inline.tabletRows)\n .withStyles({\n element: {\n marginTop: token.spacing.sm,\n },\n })\n .build();\n\n container.withChild(actionsElement);\n }\n\n return container.build();\n};\n"],"names":["ElementBuilder","elementStyles","theme","typography","token","iconPin","layout","iconPhone","iconEmail","iconLinkedIn"],"mappings":"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"}
|