@universityofmaryland/web-elements-library 1.6.0-beta.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atomic/animations/actions/_types.d.ts +7 -0
- package/dist/atomic/animations/actions/_types.d.ts.map +1 -0
- package/dist/atomic/animations/actions/indicator.d.ts +7 -10
- package/dist/atomic/animations/actions/indicator.d.ts.map +1 -1
- package/dist/atomic/animations/actions/indicator.js +102 -104
- package/dist/atomic/animations/actions/indicator.js.map +1 -1
- package/dist/atomic/animations/brand/card-stack.js +1 -2
- package/dist/atomic/animations/brand/card-stack.js.map +1 -1
- package/dist/atomic/layout/person/columns.js +1 -2
- package/dist/atomic/layout/person/columns.js.map +1 -1
- package/dist/atomic/text-lockup/small.d.ts +3 -0
- package/dist/atomic/text-lockup/small.d.ts.map +1 -1
- package/dist/atomic/text-lockup/small.js +4 -1
- package/dist/atomic/text-lockup/small.js.map +1 -1
- package/dist/composite/card/block.js +1 -2
- package/dist/composite/card/block.js.map +1 -1
- package/dist/composite/card/list.js +1 -2
- package/dist/composite/card/list.js.map +1 -1
- package/dist/composite/card/overlay/color.js +1 -2
- package/dist/composite/card/overlay/color.js.map +1 -1
- package/dist/composite/card/overlay/icon.js +1 -2
- package/dist/composite/card/overlay/icon.js.map +1 -1
- package/dist/composite/card/overlay/image.js +1 -2
- package/dist/composite/card/overlay/image.js.map +1 -1
- package/dist/composite/card/video/block.js +1 -2
- package/dist/composite/card/video/block.js.map +1 -1
- package/dist/composite/carousel/elements/full-screen.js +1 -2
- package/dist/composite/carousel/elements/full-screen.js.map +1 -1
- package/dist/composite/carousel/image/multiple.js +1 -2
- package/dist/composite/carousel/image/multiple.js.map +1 -1
- package/dist/composite/carousel/image/standard.d.ts.map +1 -1
- package/dist/composite/carousel/image/standard.js +3 -1
- package/dist/composite/carousel/image/standard.js.map +1 -1
- package/dist/composite/carousel/wide/container.d.ts +5 -3
- package/dist/composite/carousel/wide/container.d.ts.map +1 -1
- package/dist/composite/carousel/wide/controls.d.ts +5 -3
- package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
- package/dist/composite/carousel/wide/frames.js +1 -2
- package/dist/composite/carousel/wide/frames.js.map +1 -1
- package/dist/composite/carousel/wide/index.js +1 -2
- package/dist/composite/carousel/wide/index.js.map +1 -1
- package/dist/composite/footer/base.d.ts +1 -1
- package/dist/composite/hero/custom/expand.js +1 -2
- package/dist/composite/hero/custom/expand.js.map +1 -1
- package/dist/composite/hero/custom/grid.js +1 -2
- package/dist/composite/hero/custom/grid.js.map +1 -1
- package/dist/composite/hero/custom/video-arrow.js +0 -1
- package/dist/composite/hero/custom/video-arrow.js.map +1 -1
- package/dist/composite/hero/logo.js +1 -2
- package/dist/composite/hero/logo.js.map +1 -1
- package/dist/composite/hero/minimal.js +1 -2
- package/dist/composite/hero/minimal.js.map +1 -1
- package/dist/composite/hero/overlay.js +1 -2
- package/dist/composite/hero/overlay.js.map +1 -1
- package/dist/composite/hero/stacked.js +1 -2
- package/dist/composite/hero/stacked.js.map +1 -1
- package/dist/composite/hero/standard.js +1 -2
- package/dist/composite/hero/standard.js.map +1 -1
- package/dist/composite/media/elements/gif.js +1 -2
- package/dist/composite/media/elements/gif.js.map +1 -1
- package/dist/composite/navigation/utility/alert.js +1 -2
- package/dist/composite/navigation/utility/alert.js.map +1 -1
- package/dist/composite/pathway/_common.js +1 -2
- package/dist/composite/pathway/_common.js.map +1 -1
- package/dist/composite/pathway/hero.js +1 -2
- package/dist/composite/pathway/hero.js.map +1 -1
- package/dist/composite/person/bio/full.js +1 -2
- package/dist/composite/person/bio/full.js.map +1 -1
- package/dist/composite/person/bio/small.js +1 -2
- package/dist/composite/person/bio/small.js.map +1 -1
- package/dist/composite/person/block.js +1 -2
- package/dist/composite/person/block.js.map +1 -1
- package/dist/composite/person/hero.js +1 -2
- package/dist/composite/person/hero.js.map +1 -1
- package/dist/composite/person/list.js +1 -2
- package/dist/composite/person/list.js.map +1 -1
- package/dist/composite/person/tabular.js +1 -2
- package/dist/composite/person/tabular.js.map +1 -1
- package/package.json +13 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"small.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/small.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,SAAS,GAAG;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG,SAAS,GAAG;IAC7B,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAkBF,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"small.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/small.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,KAAK,SAAS,GAAG;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG,SAAS,GAAG;IAC7B,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAkBF,eAAO,MAAM,aAAa;;;;;;;;;;CAWzB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,cAAc,OAAO;;;;;;;;;;CAc9C,CAAC;AAEH,eAAO,MAAM,UAAU,GAAI,cAAc,OAAO;;;;;;;;;;;CAc9C,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,0BAA0B,WAAW,kFAQvD,CAAC;AAEb,eAAO,MAAM,mBAAmB,GAAI,aAAa,WAAW,kFAIhD,CAAC;AAEb,eAAO,MAAM,aAAa,GAAI,aAAa,WAAW,kFAQ1C,CAAC;AAEb,eAAO,MAAM,qBAAqB,GAAI,qEAQnC,mBAAmB,kFAyErB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"small.js","sources":["../../../source/atomic/text-lockup/small.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 * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as animationStyles from '@universityofmaryland/web-styles-library/animation';\nimport { wrapTextNodeInSpan } from '@universityofmaryland/web-utilities-library/dom';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport { type UMDElement } from '../../_types';\n\ntype TypeTheme = {\n isThemeDark?: boolean;\n};\n\ntype TypeEyebrow = TypeTheme & {\n eyebrow: HTMLElement;\n};\n\ntype TypeActions = {\n actions: HTMLElement;\n};\n\nexport type TypeTextLockupSmall = TypeTheme & {\n headline: HTMLElement | null;\n eyebrow?: HTMLElement | null;\n text?: HTMLElement | null;\n date?: HTMLElement | null;\n actions?: HTMLElement | null;\n eventMeta?: UMDElement;\n hasEyebrowRibbon?: boolean;\n};\n\nconst ELEMENT_TEXT_LOCKUP_SMALL_CONTAINER = 'text-lockup-small-container';\nconst metaContainer = elementStyles?.event?.meta?.container;\nconst metaClass: string = (() => {\n if (!metaContainer?.className) return '';\n\n if (Array.isArray(metaContainer.className)) {\n return metaContainer.className[0] || '';\n }\n\n if (typeof metaContainer.className === 'string') {\n return metaContainer.className;\n }\n\n return '';\n})();\n\nexport const eyebrowStyles = {\n element: {\n display: 'block',\n },\n siblingAfter: {\n marginTop: token.spacing.min,\n },\n};\n\nexport const ribbonStyles = {\n siblingAfter: {\n marginTop: token.spacing.sm,\n },\n};\n\nexport const headlineStyles = {\n element: {\n fontWeight: '700',\n\n [`& + *`]: {\n marginTop: token.spacing.sm,\n },\n\n [`& + .${metaClass}`]: {\n [`@media (max-width: 479px)`]: {\n marginTop: token.spacing.min,\n },\n },\n },\n subElement: {\n color: 'currentColor',\n },\n};\n\nexport const textStyles = (isThemeDark?: boolean) => ({\n element: {\n ...(!isThemeDark && {\n color: `${token.color.gray.dark}`,\n }),\n },\n child: {\n ...(!isThemeDark && {\n color: `${token.color.gray.dark}`,\n }),\n },\n siblingAfter: {\n marginTop: token.spacing.min,\n },\n});\n\nexport const dateStyles = (isThemeDark?: boolean) => ({\n element: {\n display: 'block',\n\n ...(!isThemeDark && {\n color: `${token.color.gray.mediumAA}`,\n }),\n },\n child: {\n color: 'currentColor',\n },\n siblingAfter: {\n marginTop: token.spacing.min,\n },\n});\n\nexport const createEyebrow = ({ eyebrow, isThemeDark }: TypeEyebrow) =>\n new ElementBuilder(eyebrow)\n .styled(\n typography.elements.compose('eyebrow', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles(eyebrowStyles)\n .build();\n\nexport const createRibbonEyebrow = ({ eyebrow }: TypeEyebrow) =>\n new ElementBuilder(eyebrow)\n .styled(elementStyles.text.decoration.ribbon)\n .withStyles(ribbonStyles)\n .build();\n\nexport const createActions = ({ actions }: TypeActions) =>\n new ElementBuilder(actions)\n .styled(layout.grid.inline.tabletRows)\n .withStyles({\n element: {\n marginTop: token.spacing.sm,\n },\n })\n .build();\n\nexport const createTextLockupSmall = ({\n eyebrow,\n headline,\n text,\n actions,\n date,\n eventMeta,\n isThemeDark,\n}: TypeTextLockupSmall) => {\n const container = new ElementBuilder()\n .withClassName(ELEMENT_TEXT_LOCKUP_SMALL_CONTAINER)\n .withStyles({\n element: {\n zIndex: '9',\n position: 'relative',\n },\n });\n\n if (eyebrow) {\n const eyebrowElement = createEyebrow({ eyebrow, isThemeDark });\n container.withChild(eyebrowElement);\n }\n\n if (headline) {\n const composeHeadlineStyles = {\n ...typography.sans.compose('larger', {\n theme: theme.fontColor(isThemeDark),\n }),\n ...animationStyles.line.composeSlideUnder({\n color: theme.foreground(isThemeDark),\n }),\n };\n\n const headlineElement = new ElementBuilder(headline)\n .styled(composeHeadlineStyles)\n .withStyles(headlineStyles)\n .withModifier((el) => wrapTextNodeInSpan(el))\n .build();\n\n container.withChild(headlineElement);\n }\n\n if (eventMeta) {\n container.withChild(eventMeta);\n }\n\n if (text) {\n const textElement = new ElementBuilder(text)\n .styled(\n elementStyles.text.rich.composeSimple({\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles(textStyles(isThemeDark))\n .build();\n\n container.withChild(textElement);\n }\n\n if (date) {\n const dateElement = new ElementBuilder('slot')\n .withClassName('umd-headline-sans-min')\n .styled(\n typography.sans.compose('min', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withAnimation('slideUnder')\n .withChild(date)\n .withStyles(dateStyles(isThemeDark))\n .build();\n\n container.withChild(dateElement);\n }\n\n if (actions) {\n const actionsElement = createActions({ actions });\n container.withChild(actionsElement);\n }\n\n return container.build();\n};\n"],"names":["animationStyles"],"mappings":";;;;;;;;AAgCA,MAAM,sCAAsC;AAC5C,MAAM,gBAAgB,eAAe,OAAO,MAAM;AAClD,MAAM,aAAqB,MAAM;AAC/B,MAAI,CAAC,eAAe,UAAW,QAAO;AAEtC,MAAI,MAAM,QAAQ,cAAc,SAAS,GAAG;AAC1C,WAAO,cAAc,UAAU,CAAC,KAAK;AAAA,EACvC;AAEA,MAAI,OAAO,cAAc,cAAc,UAAU;AAC/C,WAAO,cAAc;AAAA,EACvB;AAEA,SAAO;AACT,GAAA;AAEO,MAAM,gBAAgB;AAAA,EAC3B,SAAS;AAAA,IACP,SAAS;AAAA,
|
|
1
|
+
{"version":3,"file":"small.js","sources":["../../../source/atomic/text-lockup/small.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 * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport * as animationStyles from '@universityofmaryland/web-styles-library/animation';\nimport { wrapTextNodeInSpan } from '@universityofmaryland/web-utilities-library/dom';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport { type UMDElement } from '../../_types';\n\ntype TypeTheme = {\n isThemeDark?: boolean;\n};\n\ntype TypeEyebrow = TypeTheme & {\n eyebrow: HTMLElement;\n};\n\ntype TypeActions = {\n actions: HTMLElement;\n};\n\nexport type TypeTextLockupSmall = TypeTheme & {\n headline: HTMLElement | null;\n eyebrow?: HTMLElement | null;\n text?: HTMLElement | null;\n date?: HTMLElement | null;\n actions?: HTMLElement | null;\n eventMeta?: UMDElement;\n hasEyebrowRibbon?: boolean;\n};\n\nconst ELEMENT_TEXT_LOCKUP_SMALL_CONTAINER = 'text-lockup-small-container';\nconst metaContainer = elementStyles?.event?.meta?.container;\nconst metaClass: string = (() => {\n if (!metaContainer?.className) return '';\n\n if (Array.isArray(metaContainer.className)) {\n return metaContainer.className[0] || '';\n }\n\n if (typeof metaContainer.className === 'string') {\n return metaContainer.className;\n }\n\n return '';\n})();\n\nexport const eyebrowStyles = {\n element: {\n display: 'block',\n\n ['*']: {\n color: 'currentColor',\n },\n },\n siblingAfter: {\n marginTop: token.spacing.min,\n },\n};\n\nexport const ribbonStyles = {\n siblingAfter: {\n marginTop: token.spacing.sm,\n },\n};\n\nexport const headlineStyles = {\n element: {\n fontWeight: '700',\n\n [`& + *`]: {\n marginTop: token.spacing.sm,\n },\n\n [`& + .${metaClass}`]: {\n [`@media (max-width: 479px)`]: {\n marginTop: token.spacing.min,\n },\n },\n },\n subElement: {\n color: 'currentColor',\n },\n};\n\nexport const textStyles = (isThemeDark?: boolean) => ({\n element: {\n ...(!isThemeDark && {\n color: `${token.color.gray.dark}`,\n }),\n },\n child: {\n ...(!isThemeDark && {\n color: `${token.color.gray.dark}`,\n }),\n },\n siblingAfter: {\n marginTop: token.spacing.min,\n },\n});\n\nexport const dateStyles = (isThemeDark?: boolean) => ({\n element: {\n display: 'block',\n\n ...(!isThemeDark && {\n color: `${token.color.gray.mediumAA}`,\n }),\n },\n child: {\n color: 'currentColor',\n },\n siblingAfter: {\n marginTop: token.spacing.min,\n },\n});\n\nexport const createEyebrow = ({ eyebrow, isThemeDark }: TypeEyebrow) =>\n new ElementBuilder(eyebrow)\n .styled(\n typography.elements.compose('eyebrow', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles(eyebrowStyles)\n .build();\n\nexport const createRibbonEyebrow = ({ eyebrow }: TypeEyebrow) =>\n new ElementBuilder(eyebrow)\n .styled(elementStyles.text.decoration.ribbon)\n .withStyles(ribbonStyles)\n .build();\n\nexport const createActions = ({ actions }: TypeActions) =>\n new ElementBuilder(actions)\n .styled(layout.grid.inline.tabletRows)\n .withStyles({\n element: {\n marginTop: token.spacing.sm,\n },\n })\n .build();\n\nexport const createTextLockupSmall = ({\n eyebrow,\n headline,\n text,\n actions,\n date,\n eventMeta,\n isThemeDark,\n}: TypeTextLockupSmall) => {\n const container = new ElementBuilder()\n .withClassName(ELEMENT_TEXT_LOCKUP_SMALL_CONTAINER)\n .withStyles({\n element: {\n zIndex: '9',\n position: 'relative',\n },\n });\n\n if (eyebrow) {\n const eyebrowElement = createEyebrow({ eyebrow, isThemeDark });\n container.withChild(eyebrowElement);\n }\n\n if (headline) {\n const composeHeadlineStyles = {\n ...typography.sans.compose('larger', {\n theme: theme.fontColor(isThemeDark),\n }),\n ...animationStyles.line.composeSlideUnder({\n color: theme.foreground(isThemeDark),\n }),\n };\n\n const headlineElement = new ElementBuilder(headline)\n .styled(composeHeadlineStyles)\n .withStyles(headlineStyles)\n .withModifier((el) => wrapTextNodeInSpan(el))\n .build();\n\n container.withChild(headlineElement);\n }\n\n if (eventMeta) {\n container.withChild(eventMeta);\n }\n\n if (text) {\n const textElement = new ElementBuilder(text)\n .styled(\n elementStyles.text.rich.composeSimple({\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles(textStyles(isThemeDark))\n .build();\n\n container.withChild(textElement);\n }\n\n if (date) {\n const dateElement = new ElementBuilder('slot')\n .withClassName('umd-headline-sans-min')\n .styled(\n typography.sans.compose('min', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withAnimation('slideUnder')\n .withChild(date)\n .withStyles(dateStyles(isThemeDark))\n .build();\n\n container.withChild(dateElement);\n }\n\n if (actions) {\n const actionsElement = createActions({ actions });\n container.withChild(actionsElement);\n }\n\n return container.build();\n};\n"],"names":["animationStyles"],"mappings":"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"}
|
|
@@ -12,12 +12,11 @@ import "@universityofmaryland/web-icons-library/communication";
|
|
|
12
12
|
import "@universityofmaryland/web-icons-library/files";
|
|
13
13
|
import "@universityofmaryland/web-icons-library/brand";
|
|
14
14
|
import "@universityofmaryland/web-icons-library/arrows";
|
|
15
|
-
import "
|
|
15
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
16
16
|
import "../../atomic/animations/brand/chevron-scroll.js";
|
|
17
17
|
import "../../atomic/animations/brand/card-stack.js";
|
|
18
18
|
import { createImageBackground } from "../../atomic/assets/image/background.js";
|
|
19
19
|
import "@universityofmaryland/web-styles-library";
|
|
20
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
21
20
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
22
21
|
import "@universityofmaryland/web-icons-library/location";
|
|
23
22
|
import "@universityofmaryland/web-icons-library/calendar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sources":["../../../source/composite/card/block.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { assets, layout, textLockup } from 'atomic';\nimport { CardBlockProps } from './_types';\nimport { type UMDElement } from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\n\nexport const createCompositeCardBlock = (props: CardBlockProps) => {\n const {\n dateSign,\n hasBorder,\n hasEyebrowRibbon,\n image,\n isAligned,\n isThemeDark,\n isTransparent,\n newsId,\n } = props;\n const shouldImageBeFullWidth = hasEyebrowRibbon;\n const children: UMDElement[] = [];\n const sizingProps = {\n isThemeDark,\n isTransparent,\n hasBorder,\n };\n\n if (image) {\n children.push(\n layout.block.stacked.image({\n children: [\n assets.image.background({\n element: image,\n isScaled: true,\n isAspectStandard: isAligned,\n dateSign,\n }),\n ],\n customStyles: {\n ...(shouldImageBeFullWidth && {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginBottom: token.spacing.md,\n width: '100%',\n }),\n }),\n },\n ...sizingProps,\n }),\n );\n }\n\n children.push(\n layout.block.stacked.textContainer({\n children: [textLockup.smallScaling(props)],\n ...sizingProps,\n }),\n );\n\n const composite = layout.block.stacked.container({\n children,\n ...sizingProps,\n });\n\n if (newsId) {\n composite?.element.setAttribute('news-id', newsId);\n }\n\n return composite;\n};\n"],"names":["image","layout.block.stacked.image","assets.image.background","layout.block.stacked.textContainer","textLockup.smallScaling","layout.block.stacked.container"],"mappings":"
|
|
1
|
+
{"version":3,"file":"block.js","sources":["../../../source/composite/card/block.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { assets, layout, textLockup } from 'atomic';\nimport { CardBlockProps } from './_types';\nimport { type UMDElement } from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\n\nexport const createCompositeCardBlock = (props: CardBlockProps) => {\n const {\n dateSign,\n hasBorder,\n hasEyebrowRibbon,\n image,\n isAligned,\n isThemeDark,\n isTransparent,\n newsId,\n } = props;\n const shouldImageBeFullWidth = hasEyebrowRibbon;\n const children: UMDElement[] = [];\n const sizingProps = {\n isThemeDark,\n isTransparent,\n hasBorder,\n };\n\n if (image) {\n children.push(\n layout.block.stacked.image({\n children: [\n assets.image.background({\n element: image,\n isScaled: true,\n isAspectStandard: isAligned,\n dateSign,\n }),\n ],\n customStyles: {\n ...(shouldImageBeFullWidth && {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginBottom: token.spacing.md,\n width: '100%',\n }),\n }),\n },\n ...sizingProps,\n }),\n );\n }\n\n children.push(\n layout.block.stacked.textContainer({\n children: [textLockup.smallScaling(props)],\n ...sizingProps,\n }),\n );\n\n const composite = layout.block.stacked.container({\n children,\n ...sizingProps,\n });\n\n if (newsId) {\n composite?.element.setAttribute('news-id', newsId);\n }\n\n return composite;\n};\n"],"names":["image","layout.block.stacked.image","assets.image.background","layout.block.stacked.textContainer","textLockup.smallScaling","layout.block.stacked.container"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,kBAAkB,MAAM,MAAM,iBAAiB,MAAM;AAEpD,MAAM,2BAA2B,CAAC,UAA0B;AACjE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IAAA,OACAA;AAAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,QAAM,yBAAyB;AAC/B,QAAM,WAAyB,CAAA;AAC/B,QAAM,cAAc;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,MAAIA,SAAO;AACT,aAAS;AAAA,MACPC,MAA2B;AAAA,QACzB,UAAU;AAAA,UACRC,sBAAwB;AAAA,YACtB,SAASF;AAAAA,YACT,UAAU;AAAA,YACV,kBAAkB;AAAA,YAClB;AAAA,UAAA,CACD;AAAA,QAAA;AAAA,QAEH,cAAc;AAAA,UACZ,GAAI,0BAA0B;AAAA,YAC5B,GAAG,iBAAiB,aAAa,iBAAiB;AAAA,cAChD,cAAc,MAAM,QAAQ;AAAA,cAC5B,OAAO;AAAA,YAAA,CACR;AAAA,UAAA;AAAA,QACH;AAAA,QAEF,GAAG;AAAA,MAAA,CACJ;AAAA,IAAA;AAAA,EAEL;AAEA,WAAS;AAAA,IACPG,cAAmC;AAAA,MACjC,UAAU,CAACC,6BAAwB,KAAK,CAAC;AAAA,MACzC,GAAG;AAAA,IAAA,CACJ;AAAA,EAAA;AAGH,QAAM,YAAYC,UAA+B;AAAA,IAC/C;AAAA,IACA,GAAG;AAAA,EAAA,CACJ;AAED,MAAI,QAAQ;AACV,eAAW,QAAQ,aAAa,WAAW,MAAM;AAAA,EACnD;AAEA,SAAO;AACT;"}
|
|
@@ -12,12 +12,11 @@ import "@universityofmaryland/web-icons-library/communication";
|
|
|
12
12
|
import "@universityofmaryland/web-icons-library/files";
|
|
13
13
|
import "@universityofmaryland/web-icons-library/brand";
|
|
14
14
|
import "@universityofmaryland/web-icons-library/arrows";
|
|
15
|
-
import "
|
|
15
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
16
16
|
import "../../atomic/animations/brand/chevron-scroll.js";
|
|
17
17
|
import "../../atomic/animations/brand/card-stack.js";
|
|
18
18
|
import { createImageBackground } from "../../atomic/assets/image/background.js";
|
|
19
19
|
import "@universityofmaryland/web-styles-library";
|
|
20
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
21
20
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
22
21
|
import "@universityofmaryland/web-icons-library/location";
|
|
23
22
|
import "@universityofmaryland/web-icons-library/calendar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sources":["../../../source/composite/card/list.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { textLockup, assets } from 'atomic';\nimport { CardListProps } from './_types';\nimport { type UMDElement } from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\nconst mediumBreakpointStart = token.media.breakpointValues.medium.min;\nconst mediumBreakpoint = token.media.breakpointValues.large.min;\n\nconst makeDateColumn = (dateSign: UMDElement) =>\n new ElementBuilder()\n .withClassName('card-list-date-sign-wrapper')\n .withStyles({\n element: {\n width: `${token.spacing.xl}`,\n order: 1,\n alignSelf: 'flex-start',\n\n ...createMediaQuery('max-width', mediumBreakpoint, {\n display: 'none',\n }),\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: `${token.spacing['8xl']}`,\n }),\n },\n })\n .withChild(dateSign)\n .build();\n\nconst makeTextColumn = (props: CardListProps) => {\n const lockup = textLockup.small(props);\n\n return new ElementBuilder()\n .withClassName('card-list-text-wrapper')\n .withStyles({\n element: {\n flex: '1 0',\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n paddingRight: `${token.spacing.md}`,\n order: '2',\n }),\n\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: '208px',\n }),\n },\n })\n .withChild(lockup)\n .build();\n};\n\nconst makeImageColumn = ({\n image,\n isAligned,\n}: {\n image: NonNullable<CardListProps['image']>;\n isAligned?: CardListProps['isAligned'];\n}) => {\n const backgroundImage = assets.image.background({\n element: image,\n isScaled: isAligned,\n isGifAllowed: false,\n });\n\n return new ElementBuilder()\n .withClassName('card-list-image-wrapper')\n .withStyles({\n element: {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginLeft: token.spacing.min,\n marginBottom: token.spacing.md,\n width: '120px',\n float: 'right',\n position: 'relative',\n zIndex: 99,\n\n ...(isAligned && {\n height: '104px',\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'block',\n width: '160px',\n order: '3',\n\n ...(isAligned && {\n height: '160px',\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: '208px',\n }),\n\n '& img': {\n ...createMediaQuery('max-width', smallBreakpoint, {\n height: 'auto !important',\n }),\n },\n },\n })\n .withChild(backgroundImage)\n .build();\n};\n\nexport const createCompositeCardList = (props: CardListProps) => {\n const { image, isAligned, isThemeDark, dateSign } = props;\n let children: UMDElement[] = [];\n\n if (image) {\n children.push(makeImageColumn({ image, isAligned }));\n }\n\n if (dateSign) {\n children.push(makeDateColumn(dateSign));\n }\n\n children.push(makeTextColumn(props));\n\n const wrapper = new ElementBuilder()\n .withClassName('card-list-wrapper')\n .withStyles({\n element: {\n containerType: 'inline-size',\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'flex',\n justifyContent: 'space-between',\n }),\n },\n })\n .withChildren(...children)\n .build();\n\n return new ElementBuilder()\n .withClassName('card-list-container')\n .withStyles({\n element: {\n height: '100%',\n overflow: 'hidden',\n\n ...(isThemeDark && {\n backgroundColor: token.color.black,\n color: token.color.white,\n }),\n },\n })\n .withChild(wrapper)\n .build();\n};\n"],"names":["textLockup.small","assets.image.background"],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.js","sources":["../../../source/composite/card/list.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { textLockup, assets } from 'atomic';\nimport { CardListProps } from './_types';\nimport { type UMDElement } from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\nconst mediumBreakpointStart = token.media.breakpointValues.medium.min;\nconst mediumBreakpoint = token.media.breakpointValues.large.min;\n\nconst makeDateColumn = (dateSign: UMDElement) =>\n new ElementBuilder()\n .withClassName('card-list-date-sign-wrapper')\n .withStyles({\n element: {\n width: `${token.spacing.xl}`,\n order: 1,\n alignSelf: 'flex-start',\n\n ...createMediaQuery('max-width', mediumBreakpoint, {\n display: 'none',\n }),\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: `${token.spacing['8xl']}`,\n }),\n },\n })\n .withChild(dateSign)\n .build();\n\nconst makeTextColumn = (props: CardListProps) => {\n const lockup = textLockup.small(props);\n\n return new ElementBuilder()\n .withClassName('card-list-text-wrapper')\n .withStyles({\n element: {\n flex: '1 0',\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n paddingRight: `${token.spacing.md}`,\n order: '2',\n }),\n\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: '208px',\n }),\n },\n })\n .withChild(lockup)\n .build();\n};\n\nconst makeImageColumn = ({\n image,\n isAligned,\n}: {\n image: NonNullable<CardListProps['image']>;\n isAligned?: CardListProps['isAligned'];\n}) => {\n const backgroundImage = assets.image.background({\n element: image,\n isScaled: isAligned,\n isGifAllowed: false,\n });\n\n return new ElementBuilder()\n .withClassName('card-list-image-wrapper')\n .withStyles({\n element: {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginLeft: token.spacing.min,\n marginBottom: token.spacing.md,\n width: '120px',\n float: 'right',\n position: 'relative',\n zIndex: 99,\n\n ...(isAligned && {\n height: '104px',\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'block',\n width: '160px',\n order: '3',\n\n ...(isAligned && {\n height: '160px',\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: '208px',\n }),\n\n '& img': {\n ...createMediaQuery('max-width', smallBreakpoint, {\n height: 'auto !important',\n }),\n },\n },\n })\n .withChild(backgroundImage)\n .build();\n};\n\nexport const createCompositeCardList = (props: CardListProps) => {\n const { image, isAligned, isThemeDark, dateSign } = props;\n let children: UMDElement[] = [];\n\n if (image) {\n children.push(makeImageColumn({ image, isAligned }));\n }\n\n if (dateSign) {\n children.push(makeDateColumn(dateSign));\n }\n\n children.push(makeTextColumn(props));\n\n const wrapper = new ElementBuilder()\n .withClassName('card-list-wrapper')\n .withStyles({\n element: {\n containerType: 'inline-size',\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'flex',\n justifyContent: 'space-between',\n }),\n },\n })\n .withChildren(...children)\n .build();\n\n return new ElementBuilder()\n .withClassName('card-list-container')\n .withStyles({\n element: {\n height: '100%',\n overflow: 'hidden',\n\n ...(isThemeDark && {\n backgroundColor: token.color.black,\n color: token.color.white,\n }),\n },\n })\n .withChild(wrapper)\n .build();\n};\n"],"names":["textLockup.small","assets.image.background"],"mappings":"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"}
|
|
@@ -11,11 +11,10 @@ import "@universityofmaryland/web-icons-library/communication";
|
|
|
11
11
|
import "@universityofmaryland/web-icons-library/files";
|
|
12
12
|
import "@universityofmaryland/web-icons-library/brand";
|
|
13
13
|
import { createActionIcon } from "../../../atomic/actions/icon.js";
|
|
14
|
-
import "
|
|
14
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
15
15
|
import "../../../atomic/animations/brand/chevron-scroll.js";
|
|
16
16
|
import "../../../atomic/animations/brand/card-stack.js";
|
|
17
17
|
import "@universityofmaryland/web-styles-library";
|
|
18
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
19
18
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
20
19
|
import "@universityofmaryland/web-icons-library/location";
|
|
21
20
|
import "@universityofmaryland/web-icons-library/calendar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sources":["../../../../source/composite/card/overlay/color.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport { actions, textLockup } from 'atomic';\nimport { CardOverlayProps } from '../_types';\nimport { type UMDElement } from '../../../_types';\n\nexport const createCompositeCardOverlayColor = (props: CardOverlayProps) => {\n const { isThemeDark, ctaIcon } = props;\n\n const children: UMDElement[] = [];\n\n if (ctaIcon && ctaIcon instanceof HTMLElement) {\n children.push(\n actions.icon({\n ...props,\n ctaIcon,\n isThemeLight: !isThemeDark,\n }),\n );\n }\n\n const lockup = textLockup.smallScaling(props);\n\n const wrapper = new ElementBuilder()\n .withClassName('card-overlay-color-wrapper')\n .withStyles({\n element: {\n paddingRight: `${ctaIcon ? token.spacing['2xl'] : 0}`,\n height: '100%',\n\n [`& > *`]: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n zIndex: 9,\n position: 'relative',\n maxWidth: `${token.spacing.maxWidth.smallest}`,\n },\n },\n })\n .withChild(lockup)\n .build();\n\n children.push(wrapper);\n\n return new ElementBuilder()\n .withClassName('card-overlay-color')\n .withStyles({\n element: {\n containerType: 'inline-size',\n padding: `${token.spacing.lg} ${token.spacing.md}`,\n minHeight: '360px',\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n backgroundColor: token.color.gray.lightest,\n\n ...(isThemeDark && {\n backgroundColor: token.color.gray.darker,\n }),\n\n [`& .${layout.grid.inline.tabletRows.className}`]: {\n [`@media (${token.media.queries.tablet.min})`]: {\n marginTop: 'auto !important',\n },\n },\n },\n })\n .withChildren(...children)\n .build();\n};\n"],"names":["actions.icon","textLockup.smallScaling"],"mappings":"
|
|
1
|
+
{"version":3,"file":"color.js","sources":["../../../../source/composite/card/overlay/color.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport { actions, textLockup } from 'atomic';\nimport { CardOverlayProps } from '../_types';\nimport { type UMDElement } from '../../../_types';\n\nexport const createCompositeCardOverlayColor = (props: CardOverlayProps) => {\n const { isThemeDark, ctaIcon } = props;\n\n const children: UMDElement[] = [];\n\n if (ctaIcon && ctaIcon instanceof HTMLElement) {\n children.push(\n actions.icon({\n ...props,\n ctaIcon,\n isThemeLight: !isThemeDark,\n }),\n );\n }\n\n const lockup = textLockup.smallScaling(props);\n\n const wrapper = new ElementBuilder()\n .withClassName('card-overlay-color-wrapper')\n .withStyles({\n element: {\n paddingRight: `${ctaIcon ? token.spacing['2xl'] : 0}`,\n height: '100%',\n\n [`& > *`]: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n zIndex: 9,\n position: 'relative',\n maxWidth: `${token.spacing.maxWidth.smallest}`,\n },\n },\n })\n .withChild(lockup)\n .build();\n\n children.push(wrapper);\n\n return new ElementBuilder()\n .withClassName('card-overlay-color')\n .withStyles({\n element: {\n containerType: 'inline-size',\n padding: `${token.spacing.lg} ${token.spacing.md}`,\n minHeight: '360px',\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n backgroundColor: token.color.gray.lightest,\n\n ...(isThemeDark && {\n backgroundColor: token.color.gray.darker,\n }),\n\n [`& .${layout.grid.inline.tabletRows.className}`]: {\n [`@media (${token.media.queries.tablet.min})`]: {\n marginTop: 'auto !important',\n },\n },\n },\n })\n .withChildren(...children)\n .build();\n};\n"],"names":["actions.icon","textLockup.smallScaling"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAM,kCAAkC,CAAC,UAA4B;AAC1E,QAAM,EAAE,aAAa,QAAA,IAAY;AAEjC,QAAM,WAAyB,CAAA;AAE/B,MAAI,WAAW,mBAAmB,aAAa;AAC7C,aAAS;AAAA,MACPA,iBAAa;AAAA,QACX,GAAG;AAAA,QACH;AAAA,QACA,cAAc,CAAC;AAAA,MAAA,CAChB;AAAA,IAAA;AAAA,EAEL;AAEA,QAAM,SAASC,6BAAwB,KAAK;AAE5C,QAAM,UAAU,IAAI,eAAA,EACjB,cAAc,4BAA4B,EAC1C,WAAW;AAAA,IACV,SAAS;AAAA,MACP,cAAc,GAAG,UAAU,MAAM,QAAQ,KAAK,IAAI,CAAC;AAAA,MACnD,QAAQ;AAAA,MAER,CAAC,OAAO,GAAG;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,eAAe;AAAA,QACf,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU,GAAG,MAAM,QAAQ,SAAS,QAAQ;AAAA,MAAA;AAAA,IAC9C;AAAA,EACF,CACD,EACA,UAAU,MAAM,EAChB,MAAA;AAEH,WAAS,KAAK,OAAO;AAErB,SAAO,IAAI,eAAA,EACR,cAAc,oBAAoB,EAClC,WAAW;AAAA,IACV,SAAS;AAAA,MACP,eAAe;AAAA,MACf,SAAS,GAAG,MAAM,QAAQ,EAAE,IAAI,MAAM,QAAQ,EAAE;AAAA,MAChD,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,UAAU;AAAA,MACV,iBAAiB,MAAM,MAAM,KAAK;AAAA,MAElC,GAAI,eAAe;AAAA,QACjB,iBAAiB,MAAM,MAAM,KAAK;AAAA,MAAA;AAAA,MAGpC,CAAC,MAAM,OAAO,KAAK,OAAO,WAAW,SAAS,EAAE,GAAG;AAAA,QACjD,CAAC,WAAW,MAAM,MAAM,QAAQ,OAAO,GAAG,GAAG,GAAG;AAAA,UAC9C,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF,CACD,EACA,aAAa,GAAG,QAAQ,EACxB,MAAA;AACL;"}
|
|
@@ -11,11 +11,10 @@ import "@universityofmaryland/web-icons-library/communication";
|
|
|
11
11
|
import "@universityofmaryland/web-icons-library/files";
|
|
12
12
|
import "@universityofmaryland/web-icons-library/brand";
|
|
13
13
|
import "@universityofmaryland/web-icons-library/arrows";
|
|
14
|
-
import "
|
|
14
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
15
15
|
import "../../../atomic/animations/brand/chevron-scroll.js";
|
|
16
16
|
import "../../../atomic/animations/brand/card-stack.js";
|
|
17
17
|
import "@universityofmaryland/web-styles-library";
|
|
18
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
19
18
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
20
19
|
import "@universityofmaryland/web-icons-library/location";
|
|
21
20
|
import "@universityofmaryland/web-icons-library/calendar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.js","sources":["../../../../source/composite/card/overlay/icon.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { textLockup } from 'atomic';\nimport { type UMDElement } from '../../../_types';\n\ninterface CardIconProps {\n headline: HTMLElement | null;\n text?: HTMLElement | null;\n image?: HTMLImageElement | null;\n isThemeDark?: boolean;\n}\n\nexport const createCompositeCardOverlayIcon = (props: CardIconProps) => {\n const children: UMDElement[] = [];\n\n if (props.image) {\n const imageContainer = new ElementBuilder()\n .withClassName('card-overlay-icon-image')\n .withStyles({\n element: {\n display: 'flex',\n justifyContent: 'flex-end',\n marginBottom: `${token.spacing.lg}`,\n\n '& *': {\n maxHeight: '120px',\n },\n },\n })\n .withChild(props.image)\n .build();\n\n children.push(imageContainer);\n }\n\n children.push(\n textLockup.smallScaling({\n ...props,\n customStyles: {\n height: 'auto',\n },\n }),\n );\n\n return new ElementBuilder()\n .withClassName('card-overlay-icon')\n .withStyles({\n element: {\n containerType: 'inline-size',\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n padding: `${token.spacing.md}`,\n paddingTop: `${token.spacing.sm}`,\n backgroundColor: token.color.gray.lightest,\n\n ...(props.isThemeDark && {\n backgroundColor: token.color.gray.darker,\n }),\n },\n })\n .withChildren(...children)\n .build();\n};\n"],"names":["textLockup.smallScaling"],"mappings":"
|
|
1
|
+
{"version":3,"file":"icon.js","sources":["../../../../source/composite/card/overlay/icon.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { textLockup } from 'atomic';\nimport { type UMDElement } from '../../../_types';\n\ninterface CardIconProps {\n headline: HTMLElement | null;\n text?: HTMLElement | null;\n image?: HTMLImageElement | null;\n isThemeDark?: boolean;\n}\n\nexport const createCompositeCardOverlayIcon = (props: CardIconProps) => {\n const children: UMDElement[] = [];\n\n if (props.image) {\n const imageContainer = new ElementBuilder()\n .withClassName('card-overlay-icon-image')\n .withStyles({\n element: {\n display: 'flex',\n justifyContent: 'flex-end',\n marginBottom: `${token.spacing.lg}`,\n\n '& *': {\n maxHeight: '120px',\n },\n },\n })\n .withChild(props.image)\n .build();\n\n children.push(imageContainer);\n }\n\n children.push(\n textLockup.smallScaling({\n ...props,\n customStyles: {\n height: 'auto',\n },\n }),\n );\n\n return new ElementBuilder()\n .withClassName('card-overlay-icon')\n .withStyles({\n element: {\n containerType: 'inline-size',\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n padding: `${token.spacing.md}`,\n paddingTop: `${token.spacing.sm}`,\n backgroundColor: token.color.gray.lightest,\n\n ...(props.isThemeDark && {\n backgroundColor: token.color.gray.darker,\n }),\n },\n })\n .withChildren(...children)\n .build();\n};\n"],"names":["textLockup.smallScaling"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,iCAAiC,CAAC,UAAyB;AACtE,QAAM,WAAyB,CAAA;AAE/B,MAAI,MAAM,OAAO;AACf,UAAM,iBAAiB,IAAI,eAAA,EACxB,cAAc,yBAAyB,EACvC,WAAW;AAAA,MACV,SAAS;AAAA,QACP,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,cAAc,GAAG,MAAM,QAAQ,EAAE;AAAA,QAEjC,OAAO;AAAA,UACL,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD,EACA,UAAU,MAAM,KAAK,EACrB,MAAA;AAEH,aAAS,KAAK,cAAc;AAAA,EAC9B;AAEA,WAAS;AAAA,IACPA,6BAAwB;AAAA,MACtB,GAAG;AAAA,MACH,cAAc;AAAA,QACZ,QAAQ;AAAA,MAAA;AAAA,IACV,CACD;AAAA,EAAA;AAGH,SAAO,IAAI,eAAA,EACR,cAAc,mBAAmB,EACjC,WAAW;AAAA,IACV,SAAS;AAAA,MACP,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS,GAAG,MAAM,QAAQ,EAAE;AAAA,MAC5B,YAAY,GAAG,MAAM,QAAQ,EAAE;AAAA,MAC/B,iBAAiB,MAAM,MAAM,KAAK;AAAA,MAElC,GAAI,MAAM,eAAe;AAAA,QACvB,iBAAiB,MAAM,MAAM,KAAK;AAAA,MAAA;AAAA,IACpC;AAAA,EACF,CACD,EACA,aAAa,GAAG,QAAQ,EACxB,MAAA;AACL;"}
|
|
@@ -14,11 +14,10 @@ import "@universityofmaryland/web-icons-library/controls";
|
|
|
14
14
|
import "@universityofmaryland/web-icons-library/communication";
|
|
15
15
|
import "@universityofmaryland/web-icons-library/files";
|
|
16
16
|
import { createActionIcon } from "../../../atomic/actions/icon.js";
|
|
17
|
-
import "
|
|
17
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
18
18
|
import "../../../atomic/animations/brand/chevron-scroll.js";
|
|
19
19
|
import "../../../atomic/animations/brand/card-stack.js";
|
|
20
20
|
import { createImageBackground } from "../../../atomic/assets/image/background.js";
|
|
21
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
22
21
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
23
22
|
import "@universityofmaryland/web-icons-library/location";
|
|
24
23
|
import "@universityofmaryland/web-icons-library/calendar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sources":["../../../../source/composite/card/overlay/image.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { truncateTextBasedOnSize } from '@universityofmaryland/web-utilities-library/string';\nimport { quote as iconQuote } from '@universityofmaryland/web-icons-library/brand';\nimport { actions, assets, textLockup } from 'atomic';\nimport { CardOverlayProps } from '../_types';\nimport { type UMDElement } from '../../../_types';\n\nexport const classRef = 'card-overlay-image';\n\nexport const createCardOverlayImage = (props: CardOverlayProps) => {\n const { isQuote, ctaIcon, dateSign, backgroundImage, text } = props;\n const children: UMDElement[] = [];\n const wrapperChildren: UMDElement[] = [];\n const load = () => {\n const sizeElements = () => {\n const textCopy = text?.innerHTML;\n if (text && textCopy) {\n const modifiedText = truncateTextBasedOnSize({\n text: textCopy,\n size: composite.element.offsetWidth,\n });\n\n text.innerHTML = modifiedText;\n\n if (modifiedText.length >= 220) {\n const assetContainer = composite.element.querySelector(\n `.${imageContainerClass}`,\n );\n if (assetContainer) {\n assetContainer.setAttribute('data-size', 'large');\n }\n }\n }\n };\n\n sizeElements();\n };\n let imageContainerClass: string | null = null;\n\n if (ctaIcon && ctaIcon instanceof HTMLElement) {\n children.push(actions.icon({ ...props, ctaIcon, isThemeLight: false }));\n }\n\n if (backgroundImage) {\n const imageContainer = assets.image.background({\n element: backgroundImage,\n isScaled: true,\n isGifAllowed: true,\n customStyles: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n\n [`&:before`]: {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 1,\n opacity: 1,\n transition: `opacity 0.5s ease-in-out`,\n background:\n 'linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 60%, rgba(0, 0, 0, 0.9) 100%)',\n },\n\n [`&[data-size=\"large\"]:before`]: {\n background:\n 'linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 30%, rgba(0, 0, 0, 0.9) 100%)',\n },\n\n [`img`]: {\n transform: 'scale(1.025)',\n },\n },\n });\n\n children.push(imageContainer);\n imageContainerClass = imageContainer.element.className;\n }\n\n if (dateSign) {\n wrapperChildren.push(\n new ElementBuilder()\n .styled(Styles.layout.background.box.white)\n .withStyles({\n element: {\n alignSelf: `flex-start`,\n },\n siblingAfter: {\n marginTop: `${token.spacing.min}`,\n },\n })\n .withChild(dateSign)\n .build(),\n );\n }\n\n if (isQuote) {\n const quoteWrapper = new ElementBuilder()\n .withClassName('card-overlay-image-quote-wrapper')\n .withStyles({\n element: {\n width: '41px',\n height: '30px',\n marginBottom: `${token.spacing.xs}`,\n\n '& svg': {\n fill: `${token.color.red}`,\n },\n },\n })\n .withHTML(iconQuote)\n .build();\n\n wrapperChildren.push(quoteWrapper);\n }\n\n wrapperChildren.push(\n textLockup.smallScaling({\n ...props,\n isThemeDark: true,\n }),\n );\n\n const textContent = new ElementBuilder()\n .withClassName('card-overlay-image-text-content')\n .withStyles({\n element: {\n maxWidth: `${token.spacing.maxWidth.smallest}`,\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n zIndex: 9,\n position: 'relative',\n\n [' & * ']: {\n color: `${token.color.white}`,\n },\n },\n })\n .withChildren(...wrapperChildren)\n .build();\n\n const textWrapper = new ElementBuilder()\n .withClassName('card-overlay-image-text-wrapper')\n .withStyles({\n element: {\n height: 'auto',\n paddingRight: `${ctaIcon ? token.spacing['2xl'] : 0}`,\n },\n })\n .withChild(textContent)\n .build();\n\n const container = new ElementBuilder()\n .withClassName('card-overlay-image-container')\n .withStyles({\n element: {\n position: 'relative',\n padding: `${token.spacing.lg} ${token.spacing.md}`,\n paddingTop: `${token.spacing['4xl']}`,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n minHeight: '360px',\n height: '100%',\n overflow: 'hidden',\n\n ...createMediaQuery(\n 'min-width',\n token.media.breakpointValues.medium.min,\n {\n paddingTop: `${token.spacing['8xl']}`,\n minHeight: `424px`,\n },\n ),\n },\n })\n .withChildren(...children, textWrapper)\n .build();\n\n const composite = new ElementBuilder()\n .withClassName(classRef)\n .withStyles({\n element: {\n height: '100%',\n containerType: 'inline-size',\n\n [`&:hover .${imageContainerClass}:before, &:focus .${imageContainerClass}:before`]:\n {\n opacity: 0.7,\n },\n\n ['&:hover img, &:focus img']: {\n transform: 'scale(1)',\n transition: 'transform 0.5s ease-in-out',\n },\n },\n })\n .withChild(container)\n .build();\n\n return {\n ...composite,\n events: {\n load,\n },\n };\n};\n"],"names":["actions.icon","assets.image.background","iconQuote","textLockup.smallScaling"],"mappings":"
|
|
1
|
+
{"version":3,"file":"image.js","sources":["../../../../source/composite/card/overlay/image.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { truncateTextBasedOnSize } from '@universityofmaryland/web-utilities-library/string';\nimport { quote as iconQuote } from '@universityofmaryland/web-icons-library/brand';\nimport { actions, assets, textLockup } from 'atomic';\nimport { CardOverlayProps } from '../_types';\nimport { type UMDElement } from '../../../_types';\n\nexport const classRef = 'card-overlay-image';\n\nexport const createCardOverlayImage = (props: CardOverlayProps) => {\n const { isQuote, ctaIcon, dateSign, backgroundImage, text } = props;\n const children: UMDElement[] = [];\n const wrapperChildren: UMDElement[] = [];\n const load = () => {\n const sizeElements = () => {\n const textCopy = text?.innerHTML;\n if (text && textCopy) {\n const modifiedText = truncateTextBasedOnSize({\n text: textCopy,\n size: composite.element.offsetWidth,\n });\n\n text.innerHTML = modifiedText;\n\n if (modifiedText.length >= 220) {\n const assetContainer = composite.element.querySelector(\n `.${imageContainerClass}`,\n );\n if (assetContainer) {\n assetContainer.setAttribute('data-size', 'large');\n }\n }\n }\n };\n\n sizeElements();\n };\n let imageContainerClass: string | null = null;\n\n if (ctaIcon && ctaIcon instanceof HTMLElement) {\n children.push(actions.icon({ ...props, ctaIcon, isThemeLight: false }));\n }\n\n if (backgroundImage) {\n const imageContainer = assets.image.background({\n element: backgroundImage,\n isScaled: true,\n isGifAllowed: true,\n customStyles: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n\n [`&:before`]: {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 1,\n opacity: 1,\n transition: `opacity 0.5s ease-in-out`,\n background:\n 'linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 60%, rgba(0, 0, 0, 0.9) 100%)',\n },\n\n [`&[data-size=\"large\"]:before`]: {\n background:\n 'linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 30%, rgba(0, 0, 0, 0.9) 100%)',\n },\n\n [`img`]: {\n transform: 'scale(1.025)',\n },\n },\n });\n\n children.push(imageContainer);\n imageContainerClass = imageContainer.element.className;\n }\n\n if (dateSign) {\n wrapperChildren.push(\n new ElementBuilder()\n .styled(Styles.layout.background.box.white)\n .withStyles({\n element: {\n alignSelf: `flex-start`,\n },\n siblingAfter: {\n marginTop: `${token.spacing.min}`,\n },\n })\n .withChild(dateSign)\n .build(),\n );\n }\n\n if (isQuote) {\n const quoteWrapper = new ElementBuilder()\n .withClassName('card-overlay-image-quote-wrapper')\n .withStyles({\n element: {\n width: '41px',\n height: '30px',\n marginBottom: `${token.spacing.xs}`,\n\n '& svg': {\n fill: `${token.color.red}`,\n },\n },\n })\n .withHTML(iconQuote)\n .build();\n\n wrapperChildren.push(quoteWrapper);\n }\n\n wrapperChildren.push(\n textLockup.smallScaling({\n ...props,\n isThemeDark: true,\n }),\n );\n\n const textContent = new ElementBuilder()\n .withClassName('card-overlay-image-text-content')\n .withStyles({\n element: {\n maxWidth: `${token.spacing.maxWidth.smallest}`,\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n zIndex: 9,\n position: 'relative',\n\n [' & * ']: {\n color: `${token.color.white}`,\n },\n },\n })\n .withChildren(...wrapperChildren)\n .build();\n\n const textWrapper = new ElementBuilder()\n .withClassName('card-overlay-image-text-wrapper')\n .withStyles({\n element: {\n height: 'auto',\n paddingRight: `${ctaIcon ? token.spacing['2xl'] : 0}`,\n },\n })\n .withChild(textContent)\n .build();\n\n const container = new ElementBuilder()\n .withClassName('card-overlay-image-container')\n .withStyles({\n element: {\n position: 'relative',\n padding: `${token.spacing.lg} ${token.spacing.md}`,\n paddingTop: `${token.spacing['4xl']}`,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n minHeight: '360px',\n height: '100%',\n overflow: 'hidden',\n\n ...createMediaQuery(\n 'min-width',\n token.media.breakpointValues.medium.min,\n {\n paddingTop: `${token.spacing['8xl']}`,\n minHeight: `424px`,\n },\n ),\n },\n })\n .withChildren(...children, textWrapper)\n .build();\n\n const composite = new ElementBuilder()\n .withClassName(classRef)\n .withStyles({\n element: {\n height: '100%',\n containerType: 'inline-size',\n\n [`&:hover .${imageContainerClass}:before, &:focus .${imageContainerClass}:before`]:\n {\n opacity: 0.7,\n },\n\n ['&:hover img, &:focus img']: {\n transform: 'scale(1)',\n transition: 'transform 0.5s ease-in-out',\n },\n },\n })\n .withChild(container)\n .build();\n\n return {\n ...composite,\n events: {\n load,\n },\n };\n};\n"],"names":["actions.icon","assets.image.background","iconQuote","textLockup.smallScaling"],"mappings":"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"}
|
|
@@ -11,11 +11,10 @@ import "@universityofmaryland/web-icons-library/communication";
|
|
|
11
11
|
import "@universityofmaryland/web-icons-library/files";
|
|
12
12
|
import "@universityofmaryland/web-icons-library/brand";
|
|
13
13
|
import "@universityofmaryland/web-icons-library/arrows";
|
|
14
|
-
import "
|
|
14
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
15
15
|
import "../../../atomic/animations/brand/chevron-scroll.js";
|
|
16
16
|
import "../../../atomic/animations/brand/card-stack.js";
|
|
17
17
|
import "@universityofmaryland/web-styles-library";
|
|
18
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
19
18
|
import { createVideoObservedAutoPlay } from "../../../atomic/assets/video/observed-auto-play.js";
|
|
20
19
|
import "@universityofmaryland/web-icons-library/location";
|
|
21
20
|
import "@universityofmaryland/web-icons-library/calendar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","sources":["../../../../source/composite/card/video/block.ts"],"sourcesContent":["import { assets } from 'atomic';\n\ninterface CardVideoShortProps {\n video: HTMLVideoElement;\n isAutoplay?: boolean;\n}\n\nexport const createCompositeCardVideoBlock = (props: CardVideoShortProps) =>\n (() =>\n assets.video.observedAutoPlay({\n ...props,\n additionalElementStyles: {\n width: '100%',\n aspectRatio: '1 / 1',\n position: 'relative',\n overflow: 'hidden',\n\n [`& video`]: {\n height: '100%',\n width: '100%',\n objectFit: 'cover',\n },\n },\n }))();\n"],"names":["assets.video.observedAutoPlay"],"mappings":"
|
|
1
|
+
{"version":3,"file":"block.js","sources":["../../../../source/composite/card/video/block.ts"],"sourcesContent":["import { assets } from 'atomic';\n\ninterface CardVideoShortProps {\n video: HTMLVideoElement;\n isAutoplay?: boolean;\n}\n\nexport const createCompositeCardVideoBlock = (props: CardVideoShortProps) =>\n (() =>\n assets.video.observedAutoPlay({\n ...props,\n additionalElementStyles: {\n width: '100%',\n aspectRatio: '1 / 1',\n position: 'relative',\n overflow: 'hidden',\n\n [`& video`]: {\n height: '100%',\n width: '100%',\n objectFit: 'cover',\n },\n },\n }))();\n"],"names":["assets.video.observedAutoPlay"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAM,gCAAgC,CAAC,WAC3C,MACCA,4BAA8B;AAAA,EAC5B,GAAG;AAAA,EACH,yBAAyB;AAAA,IACvB,OAAO;AAAA,IACP,aAAa;AAAA,IACb,UAAU;AAAA,IACV,UAAU;AAAA,IAEV,CAAC,SAAS,GAAG;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ,CAAC,GAAA;"}
|
|
@@ -11,11 +11,10 @@ import "@universityofmaryland/web-icons-library/communication";
|
|
|
11
11
|
import "@universityofmaryland/web-icons-library/files";
|
|
12
12
|
import "@universityofmaryland/web-icons-library/brand";
|
|
13
13
|
import "@universityofmaryland/web-icons-library/arrows";
|
|
14
|
-
import "
|
|
14
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
15
15
|
import "../../../atomic/animations/brand/chevron-scroll.js";
|
|
16
16
|
import "../../../atomic/animations/brand/card-stack.js";
|
|
17
17
|
import "@universityofmaryland/web-styles-library";
|
|
18
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
19
18
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
20
19
|
import "@universityofmaryland/web-icons-library/location";
|
|
21
20
|
import "@universityofmaryland/web-icons-library/calendar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"full-screen.js","sources":["../../../../source/composite/carousel/elements/full-screen.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { close_large as iconCloseLarge } from '@universityofmaryland/web-icons-library/controls';\nimport { layout } from 'atomic';\n\ntype TypeFixedFullScreenProps = {\n content: HTMLElement;\n callback: () => void;\n};\n\nconst ELEMENT_CLOSE_BUTTON = 'carousel-fixed-screen-button';\n\nconst STYLES_FIXED_FULL_SCREEN = `\n\n\n .${ELEMENT_CLOSE_BUTTON} {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n @media (${token.media.queries.tablet.min}) {\n .${ELEMENT_CLOSE_BUTTON} {\n top: calc(10vh - 22px);\n right: calc(10vw - 22px);\n }\n }\n\n .${ELEMENT_CLOSE_BUTTON} > svg {\n fill: ${token.color.white};\n width: 20px;\n height: 20px;\n }\n`;\n\nexport const createCompositeCarouselFullScreen = ({ content, callback }: TypeFixedFullScreenProps) => {\n const modal = layout.overlay.modal({ content, callback });\n const closeButton = document.createElement('button');\n let styles = STYLES_FIXED_FULL_SCREEN;\n\n styles += modal.styles;\n\n closeButton.setAttribute('type', 'button');\n closeButton.setAttribute('aria-label', 'Close');\n closeButton.classList.add(ELEMENT_CLOSE_BUTTON);\n closeButton.innerHTML = iconCloseLarge;\n closeButton.addEventListener('click', modal.events.hide);\n\n modal.element.appendChild(closeButton);\n\n return {\n element: modal.element,\n styles,\n events: {\n show: modal.events.show,\n hide: modal.events.hide,\n },\n };\n};\n"],"names":["layout.overlay.modal","iconCloseLarge"],"mappings":"
|
|
1
|
+
{"version":3,"file":"full-screen.js","sources":["../../../../source/composite/carousel/elements/full-screen.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { close_large as iconCloseLarge } from '@universityofmaryland/web-icons-library/controls';\nimport { layout } from 'atomic';\n\ntype TypeFixedFullScreenProps = {\n content: HTMLElement;\n callback: () => void;\n};\n\nconst ELEMENT_CLOSE_BUTTON = 'carousel-fixed-screen-button';\n\nconst STYLES_FIXED_FULL_SCREEN = `\n\n\n .${ELEMENT_CLOSE_BUTTON} {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n @media (${token.media.queries.tablet.min}) {\n .${ELEMENT_CLOSE_BUTTON} {\n top: calc(10vh - 22px);\n right: calc(10vw - 22px);\n }\n }\n\n .${ELEMENT_CLOSE_BUTTON} > svg {\n fill: ${token.color.white};\n width: 20px;\n height: 20px;\n }\n`;\n\nexport const createCompositeCarouselFullScreen = ({ content, callback }: TypeFixedFullScreenProps) => {\n const modal = layout.overlay.modal({ content, callback });\n const closeButton = document.createElement('button');\n let styles = STYLES_FIXED_FULL_SCREEN;\n\n styles += modal.styles;\n\n closeButton.setAttribute('type', 'button');\n closeButton.setAttribute('aria-label', 'Close');\n closeButton.classList.add(ELEMENT_CLOSE_BUTTON);\n closeButton.innerHTML = iconCloseLarge;\n closeButton.addEventListener('click', modal.events.hide);\n\n modal.element.appendChild(closeButton);\n\n return {\n element: modal.element,\n styles,\n events: {\n show: modal.events.show,\n hide: modal.events.hide,\n },\n };\n};\n"],"names":["layout.overlay.modal","iconCloseLarge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,uBAAuB;AAE7B,MAAM,2BAA2B;AAAA;AAAA;AAAA,KAG5B,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMb,MAAM,MAAM,QAAQ,OAAO,GAAG;AAAA,OACnC,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMtB,oBAAoB;AAAA,YACb,MAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAMtB,MAAM,oCAAoC,CAAC,EAAE,SAAS,eAAyC;AACpG,QAAM,QAAQA,YAAqB,EAAE,SAAS,UAAU;AACxD,QAAM,cAAc,SAAS,cAAc,QAAQ;AACnD,MAAI,SAAS;AAEb,YAAU,MAAM;AAEhB,cAAY,aAAa,QAAQ,QAAQ;AACzC,cAAY,aAAa,cAAc,OAAO;AAC9C,cAAY,UAAU,IAAI,oBAAoB;AAC9C,cAAY,YAAYC;AACxB,cAAY,iBAAiB,SAAS,MAAM,OAAO,IAAI;AAEvD,QAAM,QAAQ,YAAY,WAAW;AAErC,SAAO;AAAA,IACL,SAAS,MAAM;AAAA,IACf;AAAA,IACA,QAAQ;AAAA,MACN,MAAM,MAAM,OAAO;AAAA,MACnB,MAAM,MAAM,OAAO;AAAA,IAAA;AAAA,EACrB;AAEJ;"}
|
|
@@ -15,11 +15,10 @@ import "@universityofmaryland/web-icons-library/communication";
|
|
|
15
15
|
import "@universityofmaryland/web-icons-library/files";
|
|
16
16
|
import "@universityofmaryland/web-icons-library/brand";
|
|
17
17
|
import "@universityofmaryland/web-icons-library/arrows";
|
|
18
|
-
import "
|
|
18
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
19
19
|
import "../../../atomic/animations/brand/chevron-scroll.js";
|
|
20
20
|
import "../../../atomic/animations/brand/card-stack.js";
|
|
21
21
|
import "@universityofmaryland/web-styles-library";
|
|
22
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
23
22
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
24
23
|
import { fullscreen } from "../../../atomic/buttons/fullscreen.js";
|
|
25
24
|
import "@universityofmaryland/web-icons-library/location";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiple.js","sources":["../../../../source/composite/carousel/image/multiple.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport * as carouselElements from '../elements';\nimport { buttons } from 'atomic';\nimport { Image as LayoutImage } from 'layout';\n\ntype TypeCarouselMultipleProps = {\n images: HTMLImageElement[];\n isThemeDark?: boolean;\n isFullScreenOption?: boolean;\n};\n\nconst fullScreenClassName = elementStyles.action.button.fullScreen.className;\n\nconst ATTRIBUTE_THEME = 'data-theme';\nconst THEME_DARK = 'dark';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\n\nconst ELEMENT_NAME = 'umd-carousel-image-standard';\nconst ELEMENT_CAROUSEL_MULTIPLE_DECLARATION =\n 'carousel-image-multiple-declaration';\nconst ELEMENT_CAROUSEL_MULTIPLE_CONTAINER = 'carousel-image-multiple-container';\nconst ELEMENT_CAROUSEL_SLIDER_BUTTON = 'carousel-multiple-button';\n\nconst OVERWRITE_LAYOUT_IMAGE = `.${ELEMENT_CAROUSEL_MULTIPLE_DECLARATION} .${LayoutImage.Elements.container}`;\n\nconst OVERWRITE_ANIMATION_CAROUSEL_BUTTON = `.${ELEMENT_CAROUSEL_MULTIPLE_DECLARATION} .${carouselElements.blocks.Elements.button}`;\nconst OVERWRITE_FULL_SCREEN_BUTTON = `.${ELEMENT_CAROUSEL_MULTIPLE_DECLARATION} .${fullScreenClassName}`;\n\nconst OVERWRITE_THEME_DARK_CONTAINER = `.${ELEMENT_CAROUSEL_MULTIPLE_CONTAINER}${IS_THEME_DARK}`;\nconst OVERWRITE_THEME_DARK_BUTTON = `.${ELEMENT_CAROUSEL_MULTIPLE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_CAROUSEL_SLIDER_BUTTON}`;\n\n// prettier-ignore\nconst OverwriteThemeDark = `\n ${OVERWRITE_THEME_DARK_CONTAINER} {\n background-color: ${token.color.black};\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} {\n background-color: ${token.color.black};\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} > svg {\n fill: ${token.color.white};\n }\n`;\n\n// prettier-ignore\nconst OverwriteFullScreenOption = `\n ${OVERWRITE_FULL_SCREEN_BUTTON} {\n visibility: hidden;\n opacity: 0;\n transition: visibility 0s, opacity 0.5s linear;\n }\n\n ${OVERWRITE_FULL_SCREEN_BUTTON}:focus {\n visibility: visible;\n opacity: 1;\n }\n\n ${OVERWRITE_LAYOUT_IMAGE}:focus-within .${fullScreenClassName},\n ${OVERWRITE_LAYOUT_IMAGE}:hover .${fullScreenClassName} {\n visibility: visible;\n opacity: 1;\n }\n`\n\n// prettier-ignore\nconst OverwriteImageStyles = `\n ${OVERWRITE_LAYOUT_IMAGE} img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n`\n\n// prettier-ignore\nconst OverwriteCarouselStyles = `\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {\n top: 50%;\n transform: translateY(-50%);\n background-color: ${token.color.white};\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} svg {\n fill: ${token.color.black};\n };\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:last-of-type {\n left: 0;\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:first-of-type {\n right: 0;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_IMAGE_MULTIPLE_ELEMENT = `\n .${ELEMENT_CAROUSEL_MULTIPLE_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_CAROUSEL_MULTIPLE_CONTAINER} {\n overflow: hidden;\n }\n\n\n ${carouselElements.blocks.Styles}\n ${LayoutImage.Styles}\n ${OverwriteImageStyles}\n ${OverwriteCarouselStyles}\n ${OverwriteFullScreenOption}\n ${OverwriteThemeDark}\n`;\n\nexport const createCompositeCarouselImageMultiple = (props: TypeCarouselMultipleProps) =>\n (() => {\n const { images, isThemeDark, isFullScreenOption } = props;\n const elementDeclaration = document.createElement('div');\n const elementContainer = document.createElement('div');\n const clonedImages = images.map((image) =>\n image.cloneNode(true),\n ) as HTMLImageElement[];\n let styles = STYLES_CAROUSEL_IMAGE_MULTIPLE_ELEMENT;\n\n const overlayCarousel = carouselElements.overlay({\n images,\n });\n\n styles += overlayCarousel.styles;\n\n const slide = document.createElement('div');\n const blocks = clonedImages.map((image, index) => {\n const block = LayoutImage.CreateElement({\n image,\n showCaption: true,\n });\n\n if (isFullScreenOption) {\n const button = buttons.fullscreen.create({\n callback: overlayCarousel.events.setFullScreen,\n index,\n });\n\n block.appendChild(button.element);\n styles += button.styles;\n }\n\n return block;\n });\n\n const carousel = carouselElements.blocks.CreateElement({\n blocks,\n slide,\n overwriteDisplayLogic: {\n mobileBreakpoint: 600,\n tabletBreakpoint: 900,\n desktopBreakpoint: 1400,\n desktopCount: 3,\n maxCount: 4,\n showHint: false,\n fullScreenCallback: overlayCarousel.events.setFullScreen,\n },\n });\n\n elementContainer.appendChild(carousel.element);\n elementContainer.classList.add(ELEMENT_CAROUSEL_MULTIPLE_CONTAINER);\n if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n\n elementDeclaration.classList.add(ELEMENT_CAROUSEL_MULTIPLE_DECLARATION);\n elementDeclaration.appendChild(elementContainer);\n\n images[images.length - 1].addEventListener('load', () => {\n carousel.events.load();\n\n setTimeout(() => {\n const maxHeight = clonedImages.reduce(\n (acc, image) => (image.offsetHeight > acc ? image.offsetHeight : acc),\n 300,\n );\n\n slide.style.minHeight = `${maxHeight}px`;\n }, 100);\n });\n\n const responseOptions = {\n styles,\n events: {\n SetEventReize: carousel.events.resize,\n },\n };\n\n if (isFullScreenOption) {\n const element = document.createElement('div');\n\n element.appendChild(overlayCarousel.element);\n\n element.appendChild(elementDeclaration);\n\n return {\n element,\n ...responseOptions,\n };\n }\n\n return {\n element: elementDeclaration,\n ...responseOptions,\n };\n })();\n"],"names":["LayoutImage","carouselElements.blocks","carouselElements.overlay","index","buttons.fullscreen"],"mappings":"
|
|
1
|
+
{"version":3,"file":"multiple.js","sources":["../../../../source/composite/carousel/image/multiple.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport * as carouselElements from '../elements';\nimport { buttons } from 'atomic';\nimport { Image as LayoutImage } from 'layout';\n\ntype TypeCarouselMultipleProps = {\n images: HTMLImageElement[];\n isThemeDark?: boolean;\n isFullScreenOption?: boolean;\n};\n\nconst fullScreenClassName = elementStyles.action.button.fullScreen.className;\n\nconst ATTRIBUTE_THEME = 'data-theme';\nconst THEME_DARK = 'dark';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\n\nconst ELEMENT_NAME = 'umd-carousel-image-standard';\nconst ELEMENT_CAROUSEL_MULTIPLE_DECLARATION =\n 'carousel-image-multiple-declaration';\nconst ELEMENT_CAROUSEL_MULTIPLE_CONTAINER = 'carousel-image-multiple-container';\nconst ELEMENT_CAROUSEL_SLIDER_BUTTON = 'carousel-multiple-button';\n\nconst OVERWRITE_LAYOUT_IMAGE = `.${ELEMENT_CAROUSEL_MULTIPLE_DECLARATION} .${LayoutImage.Elements.container}`;\n\nconst OVERWRITE_ANIMATION_CAROUSEL_BUTTON = `.${ELEMENT_CAROUSEL_MULTIPLE_DECLARATION} .${carouselElements.blocks.Elements.button}`;\nconst OVERWRITE_FULL_SCREEN_BUTTON = `.${ELEMENT_CAROUSEL_MULTIPLE_DECLARATION} .${fullScreenClassName}`;\n\nconst OVERWRITE_THEME_DARK_CONTAINER = `.${ELEMENT_CAROUSEL_MULTIPLE_CONTAINER}${IS_THEME_DARK}`;\nconst OVERWRITE_THEME_DARK_BUTTON = `.${ELEMENT_CAROUSEL_MULTIPLE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_CAROUSEL_SLIDER_BUTTON}`;\n\n// prettier-ignore\nconst OverwriteThemeDark = `\n ${OVERWRITE_THEME_DARK_CONTAINER} {\n background-color: ${token.color.black};\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} {\n background-color: ${token.color.black};\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} > svg {\n fill: ${token.color.white};\n }\n`;\n\n// prettier-ignore\nconst OverwriteFullScreenOption = `\n ${OVERWRITE_FULL_SCREEN_BUTTON} {\n visibility: hidden;\n opacity: 0;\n transition: visibility 0s, opacity 0.5s linear;\n }\n\n ${OVERWRITE_FULL_SCREEN_BUTTON}:focus {\n visibility: visible;\n opacity: 1;\n }\n\n ${OVERWRITE_LAYOUT_IMAGE}:focus-within .${fullScreenClassName},\n ${OVERWRITE_LAYOUT_IMAGE}:hover .${fullScreenClassName} {\n visibility: visible;\n opacity: 1;\n }\n`\n\n// prettier-ignore\nconst OverwriteImageStyles = `\n ${OVERWRITE_LAYOUT_IMAGE} img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n`\n\n// prettier-ignore\nconst OverwriteCarouselStyles = `\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {\n top: 50%;\n transform: translateY(-50%);\n background-color: ${token.color.white};\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} svg {\n fill: ${token.color.black};\n };\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:last-of-type {\n left: 0;\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:first-of-type {\n right: 0;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_IMAGE_MULTIPLE_ELEMENT = `\n .${ELEMENT_CAROUSEL_MULTIPLE_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_CAROUSEL_MULTIPLE_CONTAINER} {\n overflow: hidden;\n }\n\n\n ${carouselElements.blocks.Styles}\n ${LayoutImage.Styles}\n ${OverwriteImageStyles}\n ${OverwriteCarouselStyles}\n ${OverwriteFullScreenOption}\n ${OverwriteThemeDark}\n`;\n\nexport const createCompositeCarouselImageMultiple = (props: TypeCarouselMultipleProps) =>\n (() => {\n const { images, isThemeDark, isFullScreenOption } = props;\n const elementDeclaration = document.createElement('div');\n const elementContainer = document.createElement('div');\n const clonedImages = images.map((image) =>\n image.cloneNode(true),\n ) as HTMLImageElement[];\n let styles = STYLES_CAROUSEL_IMAGE_MULTIPLE_ELEMENT;\n\n const overlayCarousel = carouselElements.overlay({\n images,\n });\n\n styles += overlayCarousel.styles;\n\n const slide = document.createElement('div');\n const blocks = clonedImages.map((image, index) => {\n const block = LayoutImage.CreateElement({\n image,\n showCaption: true,\n });\n\n if (isFullScreenOption) {\n const button = buttons.fullscreen.create({\n callback: overlayCarousel.events.setFullScreen,\n index,\n });\n\n block.appendChild(button.element);\n styles += button.styles;\n }\n\n return block;\n });\n\n const carousel = carouselElements.blocks.CreateElement({\n blocks,\n slide,\n overwriteDisplayLogic: {\n mobileBreakpoint: 600,\n tabletBreakpoint: 900,\n desktopBreakpoint: 1400,\n desktopCount: 3,\n maxCount: 4,\n showHint: false,\n fullScreenCallback: overlayCarousel.events.setFullScreen,\n },\n });\n\n elementContainer.appendChild(carousel.element);\n elementContainer.classList.add(ELEMENT_CAROUSEL_MULTIPLE_CONTAINER);\n if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n\n elementDeclaration.classList.add(ELEMENT_CAROUSEL_MULTIPLE_DECLARATION);\n elementDeclaration.appendChild(elementContainer);\n\n images[images.length - 1].addEventListener('load', () => {\n carousel.events.load();\n\n setTimeout(() => {\n const maxHeight = clonedImages.reduce(\n (acc, image) => (image.offsetHeight > acc ? image.offsetHeight : acc),\n 300,\n );\n\n slide.style.minHeight = `${maxHeight}px`;\n }, 100);\n });\n\n const responseOptions = {\n styles,\n events: {\n SetEventReize: carousel.events.resize,\n },\n };\n\n if (isFullScreenOption) {\n const element = document.createElement('div');\n\n element.appendChild(overlayCarousel.element);\n\n element.appendChild(elementDeclaration);\n\n return {\n element,\n ...responseOptions,\n };\n }\n\n return {\n element: elementDeclaration,\n ...responseOptions,\n };\n })();\n"],"names":["LayoutImage","carouselElements.blocks","carouselElements.overlay","index","buttons.fullscreen"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/image/standard.ts"],"names":[],"mappings":"AAcA,KAAK,cAAc,GAAG;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAMF,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CAC9B,CAAC;AAYF,KAAK,8BAA8B,GAAG,gBAAgB,GACpD,cAAc,GAAG;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAqLJ,eAAO,MAAM,oCAAoC,
|
|
1
|
+
{"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/image/standard.ts"],"names":[],"mappings":"AAcA,KAAK,cAAc,GAAG;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAMF,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CAC9B,CAAC;AAYF,KAAK,8BAA8B,GAAG,gBAAgB,GACpD,cAAc,GAAG;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAqLJ,eAAO,MAAM,oCAAoC,GAC/C,OAAO,8BAA8B;;;;;;CA0KjC,CAAC"}
|
|
@@ -290,7 +290,9 @@ const createCompositeCarouselImageStandard = (props) => (() => {
|
|
|
290
290
|
count: images.length || 0,
|
|
291
291
|
callback: carousel.events.EventMoveTo,
|
|
292
292
|
isThemeDark,
|
|
293
|
-
|
|
293
|
+
...!isThemeDark && {
|
|
294
|
+
overlayColor: token.color.gray.lightest
|
|
295
|
+
}
|
|
294
296
|
});
|
|
295
297
|
styles += indicator.styles;
|
|
296
298
|
elementIndicator.classList.add(ELEMENT_CAROUSEL_INDICATOR_WRAPPER);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard.js","sources":["../../../../source/composite/carousel/image/standard.ts"],"sourcesContent":["import {\n element,\n token,\n typography,\n} from '@universityofmaryland/web-styles-library';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport * as carouselElements from '../elements';\nimport { animations, buttons } from 'atomic';\nimport { Image as LayoutImage } from 'layout';\n\ntype TypeImage = {\n image: HTMLImageElement;\n};\n\ntype TypeFullScreen = {\n isFullScreenOption?: boolean;\n};\n\ntype TypesetFullScreen = {\n setFullScreen: (arg: number) => void;\n};\n\ntype TypeSlideContent = {\n images: HTMLImageElement[];\n headlines?: HTMLElement[] | null;\n texts?: HTMLElement[] | null;\n};\n\ntype TypeImageContainerProps = TypeImage &\n TypeFullScreen &\n TypesetFullScreen & {\n index: number;\n };\n\ntype TypeCarouselSlideProps = TypeSlideContent &\n TypesetFullScreen &\n TypeFullScreen;\n\ntype TypeCarouselImageStandardProps = TypeSlideContent &\n TypeFullScreen & {\n isThemeDark?: boolean;\n };\n\nconst MEDIUM = 500;\n\nconst ATTRIBUTE_REFERENCE = 'data-reference';\nconst ATTRIBUTE_THEME = 'data-theme';\nconst THEME_DARK = 'dark';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\n\nconst ELEMENT_NAME = 'umd-carousel-image-standard';\nconst ELEMENT_CAROUSEL_IMAGE_DECLARATION =\n 'carousel-image-standard-declaration';\nconst ELEMENT_CAROUSEL_IMAGE_CONTAINER = 'carousel-image-standard-container';\n\nconst ELEMENT_SLIDE = 'carousel-image-standard-slide';\nconst ELEMENT_SLIDE_IMAGE_CONTAINER = 'carousel-image-standard-slide-image';\nconst ELEMENT_SLIDE_IMAGE_WRAPPER = 'carousel-image-standard-slide-wrapper';\nconst ELEMENT_SLIDE_TEXT_CONTAINER = 'carousel-image-standard-slide-text';\nconst ELEMENT_SLIDE_HEADLINE = 'carousel-image-standard-slide-headline';\nconst ELEMENT_SLIDE_RICH_TEXT = 'carousel-image-standard-slide-rich-text';\nconst ELEMENT_CAROUSEL_SLIDER_BUTTON = 'carousel-slider-button';\n\nconst ELEMENT_CAROUSEL_INDICATOR_WRAPPER = 'carousel-indicator-wrapper';\nconst ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER =\n 'carousel-overlay-image-container';\n\nconst OVERWRITE_THEME_DARK_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK}`;\nconst OVERWRITE_THEME_DARK_RICH_TEXT = `${OVERWRITE_THEME_DARK_CONTAINER} .${ELEMENT_SLIDE_RICH_TEXT}`;\nconst OVERWRITE_THEME_DARK_TEXT_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_SLIDE_TEXT_CONTAINER}`;\nconst OVERWRITE_THEME_DARK_IMAGE_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_SLIDE_IMAGE_CONTAINER}`;\nconst OVERWRITE_THEME_DARK_INDICATOR = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_CAROUSEL_INDICATOR_WRAPPER}`;\nconst OVERWRITE_THEME_DARK_BUTTON = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_CAROUSEL_SLIDER_BUTTON}`;\n\n// prettier-ignore\nconst OverwriteThemeDark = `\n ${OVERWRITE_THEME_DARK_CONTAINER},\n ${OVERWRITE_THEME_DARK_TEXT_CONTAINER},\n ${OVERWRITE_THEME_DARK_INDICATOR} {\n background-color: ${token.color.black};\n }\n\n ${OVERWRITE_THEME_DARK_IMAGE_CONTAINER} {\n background-color: ${token.color.gray.dark};\n }\n\n ${OVERWRITE_THEME_DARK_TEXT_CONTAINER} * {\n color: ${token.color.white};\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} {\n background-color: ${token.color.black};\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} > svg {\n fill: ${token.color.white};\n }\n\n ${OVERWRITE_THEME_DARK_RICH_TEXT} {\n color: ${token.color.white};\n }\n\n ${jssToCSS({\n styleObj: {\n [`${OVERWRITE_THEME_DARK_RICH_TEXT}`]: element.text.rich.advancedDark,\n },\n })}\n`;\n\n// prettier-ignore\nconst IndicatorContainerStyles = `\n .${ELEMENT_CAROUSEL_INDICATOR_WRAPPER} {\n padding: ${token.spacing.md};\n background-color: ${token.color.gray.lightest};\n display: flex;\n justify-content: center;\n }\n \n @container ${ELEMENT_NAME} (min-width: ${MEDIUM}px) {\n .${ELEMENT_CAROUSEL_INDICATOR_WRAPPER} {\n padding: ${token.spacing.lg};\n }\n }\n`;\n\n// prettier-ignore\nconst OverlayImageContainerStyles = `\n .${ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER} {\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ${token.color.gray.dark};\n }\n\n .${ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER} img {\n object-fit: contain;\n max-height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextContainerStyles = `\n .${ELEMENT_SLIDE_TEXT_CONTAINER} {\n padding: ${token.spacing.md};\n padding-bottom: 0;\n background-color: ${token.color.gray.lightest};\n }\n\n @container ${ELEMENT_NAME} (min-width: ${MEDIUM}px) {\n .${ELEMENT_SLIDE_TEXT_CONTAINER} {\n padding: ${token.spacing.lg};\n padding-bottom: 0;\n }\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_SLIDE_HEADLINE}`]: typography.sans.large,\n },\n })}\n\n .${ELEMENT_SLIDE_RICH_TEXT} {\n margin-top: ${token.spacing.min};\n color: ${token.color.gray.dark}\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_SLIDE_RICH_TEXT}`]: element.text.rich.advanced,\n },\n })}\n`\n\n// prettier-ignore\nconst ImageContainerStyles = `\n .${ELEMENT_SLIDE_IMAGE_CONTAINER} {\n position: relative;\n background-color: ${token.color.black};\n }\n\n .${ELEMENT_SLIDE_IMAGE_WRAPPER} {\n height: 100%;\n width: 100%;\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .${ELEMENT_SLIDE_IMAGE_WRAPPER} > * {\n height: 100%;\n }\n\n .${ELEMENT_SLIDE_IMAGE_CONTAINER} img {\n object-fit: contain;\n max-height: 100%;\n }\n`\n\n// prettier-ignore\nconst STYLES_CAROUSEL_IMAGE_STANDARD_ELEMENT = `\n .${ELEMENT_CAROUSEL_IMAGE_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_CAROUSEL_IMAGE_CONTAINER} {\n overflow: hidden;\n background-color: ${token.color.gray.lightest};\n }\n\n ${LayoutImage.Styles}\n ${ImageContainerStyles}\n ${TextContainerStyles}\n ${OverlayImageContainerStyles}\n ${IndicatorContainerStyles}\n ${OverwriteThemeDark}\n`;\n\nexport const createCompositeCarouselImageStandard = (props: TypeCarouselImageStandardProps) =>\n (() => {\n const { images, isThemeDark, isFullScreenOption } = props;\n const elementDeclaration = document.createElement('div');\n const elementContainer = document.createElement('div');\n const elementIndicator = document.createElement('div');\n const overlayCarousel = carouselElements.overlay({\n images,\n });\n let styles = STYLES_CAROUSEL_IMAGE_STANDARD_ELEMENT;\n\n styles += overlayCarousel.styles;\n\n const CreateTextContainer = ({\n headlines,\n texts,\n reference,\n }: {\n headlines?: HTMLElement[] | null;\n texts?: HTMLElement[] | null;\n reference: string | null;\n }) => {\n const textContainer = document.createElement('div');\n\n const headline = headlines?.find(\n (headline) => headline.getAttribute(ATTRIBUTE_REFERENCE) === reference,\n );\n const richText = texts?.find(\n (text) => text.getAttribute(ATTRIBUTE_REFERENCE) === reference,\n );\n\n textContainer.classList.add(ELEMENT_SLIDE_TEXT_CONTAINER);\n\n if (headline || richText) {\n if (headline) {\n headline.classList.add(ELEMENT_SLIDE_HEADLINE);\n textContainer.appendChild(headline);\n }\n\n if (richText) {\n richText.classList.add(ELEMENT_SLIDE_RICH_TEXT);\n textContainer.appendChild(richText);\n }\n\n return textContainer;\n }\n\n return null;\n };\n\n const CreateImageContainer = ({\n image,\n isFullScreenOption,\n setFullScreen,\n index,\n }: TypeImageContainerProps) => {\n const imageContainer = document.createElement('div');\n const imageWrapper = document.createElement('div');\n const imageBlock = LayoutImage.CreateElement({\n image,\n showCaption: true,\n });\n\n imageContainer.classList.add(ELEMENT_SLIDE_IMAGE_CONTAINER);\n\n imageWrapper.classList.add(ELEMENT_SLIDE_IMAGE_WRAPPER);\n imageWrapper.appendChild(imageBlock);\n\n if (isFullScreenOption) {\n const button = buttons.fullscreen.create({\n callback: setFullScreen,\n index,\n });\n imageBlock.appendChild(button.element);\n\n styles += button.styles;\n }\n\n imageContainer.appendChild(imageWrapper);\n\n return imageContainer;\n };\n\n const CreateSlide = (props: TypeCarouselSlideProps) => {\n const { images, setFullScreen } = props;\n const clonedImages = images.map((image) =>\n image.cloneNode(true),\n ) as HTMLImageElement[];\n\n return clonedImages.map((image, index) => {\n const reference = image.getAttribute(ATTRIBUTE_REFERENCE);\n const slide = document.createElement('div');\n const imageContainer = CreateImageContainer({\n ...props,\n image,\n setFullScreen,\n index,\n });\n const textContainer = CreateTextContainer({ ...props, reference });\n\n slide.classList.add(ELEMENT_SLIDE);\n slide.appendChild(imageContainer);\n if (textContainer) slide.appendChild(textContainer);\n\n return slide;\n });\n };\n\n const slides = CreateSlide({\n ...props,\n setFullScreen: overlayCarousel.events.setFullScreen,\n });\n const carousel = carouselElements.image({\n slides,\n callback: (activeIndex) => {\n indicator.position(activeIndex);\n },\n maxHeight: 500,\n });\n\n styles += carousel.styles;\n\n const indicator = animations.actions.indicator({\n count: images.length || 0,\n callback: carousel.events.EventMoveTo,\n isThemeDark,\n isThemeLight: !isThemeDark,\n });\n\n styles += indicator.styles;\n\n elementIndicator.classList.add(ELEMENT_CAROUSEL_INDICATOR_WRAPPER);\n elementIndicator.appendChild(indicator.element);\n\n elementContainer.classList.add(ELEMENT_CAROUSEL_IMAGE_CONTAINER);\n elementContainer.appendChild(carousel.element);\n elementContainer.appendChild(elementIndicator);\n if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n\n elementDeclaration.classList.add(ELEMENT_CAROUSEL_IMAGE_DECLARATION);\n elementDeclaration.appendChild(elementContainer);\n\n images[images.length - 1].addEventListener('load', carousel.events.Load);\n\n const responseOptions = {\n styles,\n events: {\n SetEventReize: carousel.events.EventResize,\n },\n };\n\n if (isFullScreenOption) {\n const element = document.createElement('div');\n\n element.appendChild(overlayCarousel.element);\n element.appendChild(elementDeclaration);\n\n return {\n element,\n ...responseOptions,\n };\n }\n\n return {\n element: elementDeclaration,\n ...responseOptions,\n };\n })();\n"],"names":["LayoutImage","carouselElements.overlay","headline","isFullScreenOption","index","buttons.fullscreen","props","images","carouselElements.image","animations.actions.indicator","element"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standard.js","sources":["../../../../source/composite/carousel/image/standard.ts"],"sourcesContent":["import {\n element,\n token,\n typography,\n} from '@universityofmaryland/web-styles-library';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport * as carouselElements from '../elements';\nimport { animations, buttons } from 'atomic';\nimport { Image as LayoutImage } from 'layout';\n\ntype TypeImage = {\n image: HTMLImageElement;\n};\n\ntype TypeFullScreen = {\n isFullScreenOption?: boolean;\n};\n\ntype TypesetFullScreen = {\n setFullScreen: (arg: number) => void;\n};\n\ntype TypeSlideContent = {\n images: HTMLImageElement[];\n headlines?: HTMLElement[] | null;\n texts?: HTMLElement[] | null;\n};\n\ntype TypeImageContainerProps = TypeImage &\n TypeFullScreen &\n TypesetFullScreen & {\n index: number;\n };\n\ntype TypeCarouselSlideProps = TypeSlideContent &\n TypesetFullScreen &\n TypeFullScreen;\n\ntype TypeCarouselImageStandardProps = TypeSlideContent &\n TypeFullScreen & {\n isThemeDark?: boolean;\n };\n\nconst MEDIUM = 500;\n\nconst ATTRIBUTE_REFERENCE = 'data-reference';\nconst ATTRIBUTE_THEME = 'data-theme';\nconst THEME_DARK = 'dark';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\n\nconst ELEMENT_NAME = 'umd-carousel-image-standard';\nconst ELEMENT_CAROUSEL_IMAGE_DECLARATION =\n 'carousel-image-standard-declaration';\nconst ELEMENT_CAROUSEL_IMAGE_CONTAINER = 'carousel-image-standard-container';\n\nconst ELEMENT_SLIDE = 'carousel-image-standard-slide';\nconst ELEMENT_SLIDE_IMAGE_CONTAINER = 'carousel-image-standard-slide-image';\nconst ELEMENT_SLIDE_IMAGE_WRAPPER = 'carousel-image-standard-slide-wrapper';\nconst ELEMENT_SLIDE_TEXT_CONTAINER = 'carousel-image-standard-slide-text';\nconst ELEMENT_SLIDE_HEADLINE = 'carousel-image-standard-slide-headline';\nconst ELEMENT_SLIDE_RICH_TEXT = 'carousel-image-standard-slide-rich-text';\nconst ELEMENT_CAROUSEL_SLIDER_BUTTON = 'carousel-slider-button';\n\nconst ELEMENT_CAROUSEL_INDICATOR_WRAPPER = 'carousel-indicator-wrapper';\nconst ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER =\n 'carousel-overlay-image-container';\n\nconst OVERWRITE_THEME_DARK_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK}`;\nconst OVERWRITE_THEME_DARK_RICH_TEXT = `${OVERWRITE_THEME_DARK_CONTAINER} .${ELEMENT_SLIDE_RICH_TEXT}`;\nconst OVERWRITE_THEME_DARK_TEXT_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_SLIDE_TEXT_CONTAINER}`;\nconst OVERWRITE_THEME_DARK_IMAGE_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_SLIDE_IMAGE_CONTAINER}`;\nconst OVERWRITE_THEME_DARK_INDICATOR = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_CAROUSEL_INDICATOR_WRAPPER}`;\nconst OVERWRITE_THEME_DARK_BUTTON = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_CAROUSEL_SLIDER_BUTTON}`;\n\n// prettier-ignore\nconst OverwriteThemeDark = `\n ${OVERWRITE_THEME_DARK_CONTAINER},\n ${OVERWRITE_THEME_DARK_TEXT_CONTAINER},\n ${OVERWRITE_THEME_DARK_INDICATOR} {\n background-color: ${token.color.black};\n }\n\n ${OVERWRITE_THEME_DARK_IMAGE_CONTAINER} {\n background-color: ${token.color.gray.dark};\n }\n\n ${OVERWRITE_THEME_DARK_TEXT_CONTAINER} * {\n color: ${token.color.white};\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} {\n background-color: ${token.color.black};\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} > svg {\n fill: ${token.color.white};\n }\n\n ${OVERWRITE_THEME_DARK_RICH_TEXT} {\n color: ${token.color.white};\n }\n\n ${jssToCSS({\n styleObj: {\n [`${OVERWRITE_THEME_DARK_RICH_TEXT}`]: element.text.rich.advancedDark,\n },\n })}\n`;\n\n// prettier-ignore\nconst IndicatorContainerStyles = `\n .${ELEMENT_CAROUSEL_INDICATOR_WRAPPER} {\n padding: ${token.spacing.md};\n background-color: ${token.color.gray.lightest};\n display: flex;\n justify-content: center;\n }\n \n @container ${ELEMENT_NAME} (min-width: ${MEDIUM}px) {\n .${ELEMENT_CAROUSEL_INDICATOR_WRAPPER} {\n padding: ${token.spacing.lg};\n }\n }\n`;\n\n// prettier-ignore\nconst OverlayImageContainerStyles = `\n .${ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER} {\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ${token.color.gray.dark};\n }\n\n .${ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER} img {\n object-fit: contain;\n max-height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextContainerStyles = `\n .${ELEMENT_SLIDE_TEXT_CONTAINER} {\n padding: ${token.spacing.md};\n padding-bottom: 0;\n background-color: ${token.color.gray.lightest};\n }\n\n @container ${ELEMENT_NAME} (min-width: ${MEDIUM}px) {\n .${ELEMENT_SLIDE_TEXT_CONTAINER} {\n padding: ${token.spacing.lg};\n padding-bottom: 0;\n }\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_SLIDE_HEADLINE}`]: typography.sans.large,\n },\n })}\n\n .${ELEMENT_SLIDE_RICH_TEXT} {\n margin-top: ${token.spacing.min};\n color: ${token.color.gray.dark}\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_SLIDE_RICH_TEXT}`]: element.text.rich.advanced,\n },\n })}\n`\n\n// prettier-ignore\nconst ImageContainerStyles = `\n .${ELEMENT_SLIDE_IMAGE_CONTAINER} {\n position: relative;\n background-color: ${token.color.black};\n }\n\n .${ELEMENT_SLIDE_IMAGE_WRAPPER} {\n height: 100%;\n width: 100%;\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .${ELEMENT_SLIDE_IMAGE_WRAPPER} > * {\n height: 100%;\n }\n\n .${ELEMENT_SLIDE_IMAGE_CONTAINER} img {\n object-fit: contain;\n max-height: 100%;\n }\n`\n\n// prettier-ignore\nconst STYLES_CAROUSEL_IMAGE_STANDARD_ELEMENT = `\n .${ELEMENT_CAROUSEL_IMAGE_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_CAROUSEL_IMAGE_CONTAINER} {\n overflow: hidden;\n background-color: ${token.color.gray.lightest};\n }\n\n ${LayoutImage.Styles}\n ${ImageContainerStyles}\n ${TextContainerStyles}\n ${OverlayImageContainerStyles}\n ${IndicatorContainerStyles}\n ${OverwriteThemeDark}\n`;\n\nexport const createCompositeCarouselImageStandard = (\n props: TypeCarouselImageStandardProps,\n) =>\n (() => {\n const { images, isThemeDark, isFullScreenOption } = props;\n const elementDeclaration = document.createElement('div');\n const elementContainer = document.createElement('div');\n const elementIndicator = document.createElement('div');\n const overlayCarousel = carouselElements.overlay({\n images,\n });\n let styles = STYLES_CAROUSEL_IMAGE_STANDARD_ELEMENT;\n\n styles += overlayCarousel.styles;\n\n const CreateTextContainer = ({\n headlines,\n texts,\n reference,\n }: {\n headlines?: HTMLElement[] | null;\n texts?: HTMLElement[] | null;\n reference: string | null;\n }) => {\n const textContainer = document.createElement('div');\n\n const headline = headlines?.find(\n (headline) => headline.getAttribute(ATTRIBUTE_REFERENCE) === reference,\n );\n const richText = texts?.find(\n (text) => text.getAttribute(ATTRIBUTE_REFERENCE) === reference,\n );\n\n textContainer.classList.add(ELEMENT_SLIDE_TEXT_CONTAINER);\n\n if (headline || richText) {\n if (headline) {\n headline.classList.add(ELEMENT_SLIDE_HEADLINE);\n textContainer.appendChild(headline);\n }\n\n if (richText) {\n richText.classList.add(ELEMENT_SLIDE_RICH_TEXT);\n textContainer.appendChild(richText);\n }\n\n return textContainer;\n }\n\n return null;\n };\n\n const CreateImageContainer = ({\n image,\n isFullScreenOption,\n setFullScreen,\n index,\n }: TypeImageContainerProps) => {\n const imageContainer = document.createElement('div');\n const imageWrapper = document.createElement('div');\n const imageBlock = LayoutImage.CreateElement({\n image,\n showCaption: true,\n });\n\n imageContainer.classList.add(ELEMENT_SLIDE_IMAGE_CONTAINER);\n\n imageWrapper.classList.add(ELEMENT_SLIDE_IMAGE_WRAPPER);\n imageWrapper.appendChild(imageBlock);\n\n if (isFullScreenOption) {\n const button = buttons.fullscreen.create({\n callback: setFullScreen,\n index,\n });\n imageBlock.appendChild(button.element);\n\n styles += button.styles;\n }\n\n imageContainer.appendChild(imageWrapper);\n\n return imageContainer;\n };\n\n const CreateSlide = (props: TypeCarouselSlideProps) => {\n const { images, setFullScreen } = props;\n const clonedImages = images.map((image) =>\n image.cloneNode(true),\n ) as HTMLImageElement[];\n\n return clonedImages.map((image, index) => {\n const reference = image.getAttribute(ATTRIBUTE_REFERENCE);\n const slide = document.createElement('div');\n const imageContainer = CreateImageContainer({\n ...props,\n image,\n setFullScreen,\n index,\n });\n const textContainer = CreateTextContainer({ ...props, reference });\n\n slide.classList.add(ELEMENT_SLIDE);\n slide.appendChild(imageContainer);\n if (textContainer) slide.appendChild(textContainer);\n\n return slide;\n });\n };\n\n const slides = CreateSlide({\n ...props,\n setFullScreen: overlayCarousel.events.setFullScreen,\n });\n const carousel = carouselElements.image({\n slides,\n callback: (activeIndex) => {\n indicator.position(activeIndex);\n },\n maxHeight: 500,\n });\n\n styles += carousel.styles;\n\n const indicator = animations.actions.indicator({\n count: images.length || 0,\n callback: carousel.events.EventMoveTo,\n isThemeDark,\n ...(!isThemeDark && {\n overlayColor: token.color.gray.lightest,\n }),\n });\n\n styles += indicator.styles;\n\n elementIndicator.classList.add(ELEMENT_CAROUSEL_INDICATOR_WRAPPER);\n elementIndicator.appendChild(indicator.element);\n\n elementContainer.classList.add(ELEMENT_CAROUSEL_IMAGE_CONTAINER);\n elementContainer.appendChild(carousel.element);\n elementContainer.appendChild(elementIndicator);\n if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n\n elementDeclaration.classList.add(ELEMENT_CAROUSEL_IMAGE_DECLARATION);\n elementDeclaration.appendChild(elementContainer);\n\n images[images.length - 1].addEventListener('load', carousel.events.Load);\n\n const responseOptions = {\n styles,\n events: {\n SetEventReize: carousel.events.EventResize,\n },\n };\n\n if (isFullScreenOption) {\n const element = document.createElement('div');\n\n element.appendChild(overlayCarousel.element);\n element.appendChild(elementDeclaration);\n\n return {\n element,\n ...responseOptions,\n };\n }\n\n return {\n element: elementDeclaration,\n ...responseOptions,\n };\n })();\n"],"names":["LayoutImage","carouselElements.overlay","headline","isFullScreenOption","index","buttons.fullscreen","props","images","carouselElements.image","animations.actions.indicator","element"],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { CarouselWideProps } from '../_types';
|
|
2
2
|
export declare const createContainer: (props: CarouselWideProps, onIndicatorClick?: (index: number) => void) => import('./_elementModel').ElementWithRefsReturn<{
|
|
3
3
|
indicator: {
|
|
4
|
-
element: HTMLDivElement;
|
|
5
|
-
className: string;
|
|
6
|
-
styles: string;
|
|
7
4
|
position: (index: number) => void;
|
|
5
|
+
element: HTMLElement;
|
|
6
|
+
styles: string;
|
|
7
|
+
update?: (props: Partial<import('@universityofmaryland/web-builder-library').BuilderOptions>) => void;
|
|
8
|
+
destroy?: () => void;
|
|
9
|
+
events?: Record<string, Function>;
|
|
8
10
|
};
|
|
9
11
|
slidesContainer: HTMLDivElement;
|
|
10
12
|
slides: HTMLElement[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/wide/container.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAuBnD,eAAO,MAAM,eAAe,GAC1B,OAAO,iBAAiB,EACxB,mBAAmB,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/wide/container.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAuBnD,eAAO,MAAM,eAAe,GAC1B,OAAO,iBAAiB,EACxB,mBAAmB,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;UAuBhB,oBAAoB;EAK/C,CAAC"}
|
|
@@ -2,10 +2,12 @@ import { CarouselWideProps } from '../_types';
|
|
|
2
2
|
export declare const createControlButton: (type: "prev" | "next", isThemeDark?: boolean) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
|
|
3
3
|
export declare const createIndicator: (slides: CarouselWideProps["slides"], isThemeDark?: boolean, callback?: (index: number) => void) => import('./_elementModel').ElementWithRefsReturn<{
|
|
4
4
|
indicator: {
|
|
5
|
-
element: HTMLDivElement;
|
|
6
|
-
className: string;
|
|
7
|
-
styles: string;
|
|
8
5
|
position: (index: number) => void;
|
|
6
|
+
element: HTMLElement;
|
|
7
|
+
styles: string;
|
|
8
|
+
update?: (props: Partial<import('@universityofmaryland/web-builder-library').BuilderOptions>) => void;
|
|
9
|
+
destroy?: () => void;
|
|
10
|
+
events?: Record<string, Function>;
|
|
9
11
|
};
|
|
10
12
|
}>;
|
|
11
13
|
//# sourceMappingURL=controls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/wide/controls.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,GAAG,MAAM,EACrB,cAAc,OAAO,kFAkFtB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,iBAAiB,CAAC,QAAQ,CAAC,EACnC,cAAc,OAAO,EACrB,WAAW,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/wide/controls.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,GAAG,MAAM,EACrB,cAAc,OAAO,kFAkFtB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,iBAAiB,CAAC,QAAQ,CAAC,EACnC,cAAc,OAAO,EACrB,WAAW,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;EA4BnC,CAAC"}
|
|
@@ -13,11 +13,10 @@ import "@universityofmaryland/web-icons-library/communication";
|
|
|
13
13
|
import "@universityofmaryland/web-icons-library/files";
|
|
14
14
|
import "@universityofmaryland/web-icons-library/brand";
|
|
15
15
|
import "@universityofmaryland/web-icons-library/arrows";
|
|
16
|
-
import "
|
|
16
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
17
17
|
import "../../../atomic/animations/brand/chevron-scroll.js";
|
|
18
18
|
import "../../../atomic/animations/brand/card-stack.js";
|
|
19
19
|
import { createImageBackground } from "../../../atomic/assets/image/background.js";
|
|
20
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
21
20
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
22
21
|
import "@universityofmaryland/web-icons-library/location";
|
|
23
22
|
import "@universityofmaryland/web-icons-library/calendar";
|