@universityofmaryland/web-elements-library 1.6.17 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/atomic/animations/brand/card-stack.js +2 -3
- package/dist/atomic/animations/brand/card-stack.js.map +1 -1
- package/dist/atomic/animations/brand/chevron-flow.d.ts +1 -7
- package/dist/atomic/animations/brand/chevron-flow.d.ts.map +1 -1
- package/dist/atomic/animations/brand/chevron-flow.js +82 -159
- package/dist/atomic/animations/brand/chevron-flow.js.map +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.d.ts +1 -4
- package/dist/atomic/animations/brand/chevron-scroll.d.ts.map +1 -1
- package/dist/atomic/animations/brand/chevron-scroll.js +89 -143
- package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
- package/dist/atomic/assets/image/caption.d.ts +9 -0
- package/dist/atomic/assets/image/caption.d.ts.map +1 -0
- package/dist/atomic/assets/image/caption.js +166 -0
- package/dist/atomic/assets/image/caption.js.map +1 -0
- package/dist/atomic/assets/image/gif.d.ts.map +1 -1
- package/dist/atomic/assets/image/gif.js +6 -1
- package/dist/atomic/assets/image/gif.js.map +1 -1
- package/dist/atomic/assets/image/index.d.ts +1 -0
- package/dist/atomic/assets/image/index.d.ts.map +1 -1
- package/dist/atomic/assets/image/index.js +2 -0
- package/dist/atomic/assets/image/index.js.map +1 -1
- package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
- package/dist/atomic/assets/video/toggle.js +9 -2
- package/dist/atomic/assets/video/toggle.js.map +1 -1
- package/dist/atomic/buttons/fullscreen.d.ts +1 -0
- package/dist/atomic/buttons/fullscreen.d.ts.map +1 -1
- package/dist/atomic/buttons/fullscreen.js +35 -3
- package/dist/atomic/buttons/fullscreen.js.map +1 -1
- package/dist/atomic/layout/overlay/modal.d.ts +1 -10
- package/dist/atomic/layout/overlay/modal.d.ts.map +1 -1
- package/dist/atomic/layout/overlay/modal.js +28 -44
- package/dist/atomic/layout/overlay/modal.js.map +1 -1
- package/dist/atomic/layout/person/columns.js +2 -3
- package/dist/atomic/layout/person/columns.js.map +1 -1
- package/dist/atomic/text-lockup/date.d.ts +1 -4
- package/dist/atomic/text-lockup/date.d.ts.map +1 -1
- package/dist/atomic/text-lockup/date.js +42 -75
- package/dist/atomic/text-lockup/date.js.map +1 -1
- package/dist/composite/accordion/item.d.ts +3 -16
- package/dist/composite/accordion/item.d.ts.map +1 -1
- package/dist/composite/accordion/item.js +152 -245
- package/dist/composite/accordion/item.js.map +1 -1
- package/dist/composite/card/block.js +2 -3
- package/dist/composite/card/block.js.map +1 -1
- package/dist/composite/card/event-time.js +2 -3
- package/dist/composite/card/event-time.js.map +1 -1
- package/dist/composite/card/list.js +2 -3
- package/dist/composite/card/list.js.map +1 -1
- package/dist/composite/card/overlay/color.js +3 -3
- package/dist/composite/card/overlay/icon.js +3 -3
- package/dist/composite/card/overlay/image.d.ts.map +1 -1
- package/dist/composite/card/overlay/image.js +9 -12
- package/dist/composite/card/overlay/image.js.map +1 -1
- package/dist/composite/card/video/block.js +4 -3
- package/dist/composite/card/video/block.js.map +1 -1
- package/dist/composite/carousel/cards/index.d.ts +1 -8
- package/dist/composite/carousel/cards/index.d.ts.map +1 -1
- package/dist/composite/carousel/cards/index.js +163 -282
- package/dist/composite/carousel/cards/index.js.map +1 -1
- package/dist/composite/carousel/default/index.d.ts +9 -15
- package/dist/composite/carousel/default/index.d.ts.map +1 -1
- package/dist/composite/carousel/default/index.js +78 -129
- package/dist/composite/carousel/default/index.js.map +1 -1
- package/dist/composite/carousel/elements/equal-width-items.d.ts +37 -0
- package/dist/composite/carousel/elements/equal-width-items.d.ts.map +1 -0
- package/dist/composite/carousel/elements/{blocks.js → equal-width-items.js} +157 -227
- package/dist/composite/carousel/elements/equal-width-items.js.map +1 -0
- package/dist/composite/carousel/elements/full-screen.d.ts +3 -2
- package/dist/composite/carousel/elements/full-screen.d.ts.map +1 -1
- package/dist/composite/carousel/elements/full-screen.js +34 -41
- package/dist/composite/carousel/elements/full-screen.js.map +1 -1
- package/dist/composite/carousel/elements/image.d.ts +15 -2
- package/dist/composite/carousel/elements/image.d.ts.map +1 -1
- package/dist/composite/carousel/elements/image.js +176 -151
- package/dist/composite/carousel/elements/image.js.map +1 -1
- package/dist/composite/carousel/elements/index.d.ts +4 -1
- package/dist/composite/carousel/elements/index.d.ts.map +1 -1
- package/dist/composite/carousel/elements/indicator-wrapper.d.ts +13 -0
- package/dist/composite/carousel/elements/indicator-wrapper.d.ts.map +1 -0
- package/dist/composite/carousel/elements/indicator-wrapper.js +67 -0
- package/dist/composite/carousel/elements/indicator-wrapper.js.map +1 -0
- package/dist/composite/carousel/elements/nav-button.d.ts +82 -0
- package/dist/composite/carousel/elements/nav-button.d.ts.map +1 -0
- package/dist/composite/carousel/elements/nav-button.js +164 -0
- package/dist/composite/carousel/elements/nav-button.js.map +1 -0
- package/dist/composite/carousel/elements/overlay.d.ts +3 -2
- package/dist/composite/carousel/elements/overlay.d.ts.map +1 -1
- package/dist/composite/carousel/elements/overlay.js +85 -55
- package/dist/composite/carousel/elements/overlay.js.map +1 -1
- package/dist/composite/carousel/image/multiple.d.ts +2 -7
- package/dist/composite/carousel/image/multiple.d.ts.map +1 -1
- package/dist/composite/carousel/image/multiple.js +85 -150
- package/dist/composite/carousel/image/multiple.js.map +1 -1
- package/dist/composite/carousel/image/standard.d.ts +2 -7
- package/dist/composite/carousel/image/standard.d.ts.map +1 -1
- package/dist/composite/carousel/image/standard.js +148 -262
- package/dist/composite/carousel/image/standard.js.map +1 -1
- package/dist/composite/carousel/thumbnail/index.d.ts +1 -8
- package/dist/composite/carousel/thumbnail/index.d.ts.map +1 -1
- package/dist/composite/carousel/thumbnail/index.js +72 -113
- package/dist/composite/carousel/thumbnail/index.js.map +1 -1
- package/dist/composite/carousel/wide/container.d.ts +21 -20
- package/dist/composite/carousel/wide/container.d.ts.map +1 -1
- package/dist/composite/carousel/wide/container.js +37 -12
- package/dist/composite/carousel/wide/container.js.map +1 -1
- package/dist/composite/carousel/wide/controls.d.ts +5 -10
- package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
- package/dist/composite/carousel/wide/controls.js +24 -94
- package/dist/composite/carousel/wide/controls.js.map +1 -1
- package/dist/composite/carousel/wide/frames.d.ts +18 -10
- package/dist/composite/carousel/wide/frames.d.ts.map +1 -1
- package/dist/composite/carousel/wide/frames.js +60 -78
- package/dist/composite/carousel/wide/frames.js.map +1 -1
- package/dist/composite/carousel/wide/index.d.ts.map +1 -1
- package/dist/composite/carousel/wide/index.js +11 -19
- package/dist/composite/carousel/wide/index.js.map +1 -1
- package/dist/composite/hero/custom/expand.js +3 -4
- package/dist/composite/hero/custom/expand.js.map +1 -1
- package/dist/composite/hero/custom/grid.js +2 -3
- package/dist/composite/hero/custom/grid.js.map +1 -1
- package/dist/composite/hero/custom/video-arrow.js +4 -3
- package/dist/composite/hero/custom/video-arrow.js.map +1 -1
- package/dist/composite/hero/logo.js +3 -3
- package/dist/composite/hero/minimal.js +3 -3
- package/dist/composite/hero/overlay.js +5 -4
- package/dist/composite/hero/overlay.js.map +1 -1
- package/dist/composite/hero/stacked.js +3 -3
- package/dist/composite/hero/standard.js +4 -3
- package/dist/composite/hero/standard.js.map +1 -1
- package/dist/composite/layout/box/logo.d.ts +1 -4
- package/dist/composite/layout/box/logo.d.ts.map +1 -1
- package/dist/composite/layout/box/logo.js +55 -103
- package/dist/composite/layout/box/logo.js.map +1 -1
- package/dist/composite/layout/image/expand.d.ts +1 -4
- package/dist/composite/layout/image/expand.d.ts.map +1 -1
- package/dist/composite/layout/image/expand.js +136 -243
- package/dist/composite/layout/image/expand.js.map +1 -1
- package/dist/composite/layout/scroll-top/index.d.ts +1 -7
- package/dist/composite/layout/scroll-top/index.d.ts.map +1 -1
- package/dist/composite/layout/scroll-top/index.js +65 -77
- package/dist/composite/layout/scroll-top/index.js.map +1 -1
- package/dist/composite/layout/sticky-columns/index.d.ts +2 -2
- package/dist/composite/layout/sticky-columns/index.d.ts.map +1 -1
- package/dist/composite/layout/sticky-columns/index.js +42 -70
- package/dist/composite/layout/sticky-columns/index.js.map +1 -1
- package/dist/composite/media/elements/gif.js +3 -3
- package/dist/composite/media/inline/caption.d.ts +4 -2
- package/dist/composite/media/inline/caption.d.ts.map +1 -1
- package/dist/composite/media/inline/caption.js +56 -67
- package/dist/composite/media/inline/caption.js.map +1 -1
- package/dist/composite/media/inline/index.d.ts +9 -8
- package/dist/composite/media/inline/index.d.ts.map +1 -1
- package/dist/composite/media/inline/standard.d.ts +1 -4
- package/dist/composite/media/inline/standard.d.ts.map +1 -1
- package/dist/composite/media/inline/standard.js +16 -24
- package/dist/composite/media/inline/standard.js.map +1 -1
- package/dist/composite/media/inline/wrapped.d.ts +4 -2
- package/dist/composite/media/inline/wrapped.d.ts.map +1 -1
- package/dist/composite/media/inline/wrapped.js +80 -83
- package/dist/composite/media/inline/wrapped.js.map +1 -1
- package/dist/composite/navigation/utility/alert.js +3 -4
- package/dist/composite/navigation/utility/alert.js.map +1 -1
- package/dist/composite/pathway/_common.js +4 -3
- package/dist/composite/pathway/_common.js.map +1 -1
- package/dist/composite/pathway/hero.js +3 -3
- package/dist/composite/person/bio/full.js +3 -3
- package/dist/composite/person/bio/small.js +2 -3
- package/dist/composite/person/bio/small.js.map +1 -1
- package/dist/composite/person/block.js +2 -3
- package/dist/composite/person/block.js.map +1 -1
- package/dist/composite/person/hero.js +3 -3
- package/dist/composite/person/list.js +2 -3
- package/dist/composite/person/list.js.map +1 -1
- package/dist/composite/person/tabular.js +2 -3
- package/dist/composite/person/tabular.js.map +1 -1
- package/dist/composite/slider/events.d.ts +6 -12
- package/dist/composite/slider/events.d.ts.map +1 -1
- package/dist/composite/slider/events.js +304 -428
- package/dist/composite/slider/events.js.map +1 -1
- package/dist/layout/image.d.ts +5 -10
- package/dist/layout/image.d.ts.map +1 -1
- package/dist/layout/image.js +27 -88
- package/dist/layout/image.js.map +1 -1
- package/dist/layout/index.d.ts +1 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout.js +2 -2
- package/package.json +6 -6
- package/dist/composite/carousel/elements/blocks.d.ts +0 -42
- package/dist/composite/carousel/elements/blocks.d.ts.map +0 -1
- package/dist/composite/carousel/elements/blocks.js.map +0 -1
- package/dist/composite/carousel/wide/_elementModel.d.ts +0 -18
- package/dist/composite/carousel/wide/_elementModel.d.ts.map +0 -1
- package/dist/composite/carousel/wide/_elementModel.js +0 -29
- package/dist/composite/carousel/wide/_elementModel.js.map +0 -1
|
@@ -1,300 +1,181 @@
|
|
|
1
|
-
import { token, typography, element
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import "../elements/
|
|
5
|
-
import "../elements/
|
|
6
|
-
import "
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { token, layout, typography, element } from "@universityofmaryland/web-styles-library";
|
|
2
|
+
import { ElementBuilder } from "@universityofmaryland/web-builder-library";
|
|
3
|
+
import { withViewTimelineAnimation } from "@universityofmaryland/web-utilities-library/styles";
|
|
4
|
+
import { createCompositeCarouselBlocks } from "../elements/equal-width-items.js";
|
|
5
|
+
import { buttonColorsOnBlack } from "../elements/nav-button.js";
|
|
6
|
+
import "@universityofmaryland/web-token-library";
|
|
7
|
+
import "@universityofmaryland/web-icons-library/controls";
|
|
8
|
+
import "@universityofmaryland/web-styles-library/element";
|
|
9
|
+
import "@universityofmaryland/web-styles-library/layout";
|
|
10
|
+
import "@universityofmaryland/web-styles-library/animation";
|
|
11
|
+
import "@universityofmaryland/web-styles-library/typography";
|
|
12
|
+
import "@universityofmaryland/web-utilities-library/media";
|
|
13
|
+
import "@universityofmaryland/web-utilities-library/dom";
|
|
14
|
+
import "@universityofmaryland/web-icons-library/communication";
|
|
15
|
+
import "@universityofmaryland/web-icons-library/files";
|
|
16
|
+
import "@universityofmaryland/web-icons-library/brand";
|
|
17
|
+
import "@universityofmaryland/web-icons-library/arrows";
|
|
18
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
19
|
+
import "../../../atomic/animations/brand/card-stack.js";
|
|
20
|
+
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
21
|
+
import "@universityofmaryland/web-icons-library/location";
|
|
22
|
+
import "@universityofmaryland/web-icons-library/calendar";
|
|
23
|
+
import "@universityofmaryland/web-utilities-library/theme";
|
|
24
|
+
import "../../../atomic/layout/block/stacked.js";
|
|
25
|
+
import "../../../atomic/layout/person/columns.js";
|
|
26
|
+
import "@universityofmaryland/web-icons-library/social";
|
|
27
|
+
import "@universityofmaryland/web-utilities-library/string";
|
|
28
|
+
import "@universityofmaryland/web-utilities-library/animation";
|
|
29
|
+
import "../../../atomic/text-lockup/small.js";
|
|
30
|
+
import "@universityofmaryland/web-utilities-library/events";
|
|
9
31
|
const BACKGROUND_TEXTURE = `<svg aria-hidden="true" width="1599" height="618" viewBox="0 0 1599 618" fill="none" xmlns="http://www.w3.org/2000/svg"
|
|
10
32
|
"><mask id="mask0_2135_11278" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="1600" height="618"><rect width="1600" height="618" fill="#242424"></rect></mask><g mask="url(#mask0_2135_11278)"><g opacity="0.5"><mask id="mask1_2135_11278" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="-17" y="-56" width="1823" height="408"><path d="M-17 351.98V-56H1806V351.98" fill="white"></path></mask><g mask="url(#mask1_2135_11278)"><path d="M807.562 -68.3515L-433.759 1173.58L-217.501 1389.94L1023.82 148.012L807.562 -68.3515Z" fill="#262626"></path><path d="M360.649 -82.8017L-880.672 1159.13L-649.997 1389.92L591.324 147.986L360.649 -82.8017Z" fill="black"></path><path d="M1154.8 1173.26L-533.139 -515.499L-677.311 -371.256L1010.63 1317.51L1154.8 1173.26Z" fill="#262626"></path><path d="M2162.77 710.525L1312.18 -140.478L1168.01 3.76505L2018.6 854.768L2162.77 710.525Z" fill="black"></path><path d="M1312.16 -140.485L202.096 -1251.09L57.9241 -1106.85L1167.99 3.75794L1312.16 -140.485Z" fill="#EDEDED"></path><path d="M2133.89 -1251.07L1023.83 -140.458L1168 3.78455L2278.07 -1106.83L2133.89 -1251.07Z" fill="#383838"></path><path d="M591.343 147.968L-634.061 -1078.04L-864.736 -847.248L360.668 378.756L591.343 147.968Z" fill="black"></path><path d="M1023.82 147.97L-217.503 -1093.96L-433.761 -877.595L807.559 364.333L1023.82 147.97Z" fill="#383838"></path></g><mask id="mask2_2135_11278" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="-17" y="351" width="1823" height="780"><path d="M-17 351.938V753.629L837.67 753.672L845.662 1130.18L1806 1130.26V352.094" fill="white"></path></mask><g mask="url(#mask2_2135_11278)"><path d="M1023.81 555.952L-217.506 -685.977L-433.764 -469.613L807.557 772.316L1023.81 555.952Z" fill="#262626"></path><path d="M591.347 555.967L-649.973 -685.962L-880.648 -455.174L360.672 786.755L591.347 555.967Z" fill="black"></path><path d="M1010.63 -613.543L-677.305 1075.22L-533.133 1219.46L1154.8 -469.3L1010.63 -613.543Z" fill="#262626"></path><path d="M1760.63 110.929L910.039 961.932L1054.21 1106.17L1904.8 255.172L1760.63 110.929Z" fill="black"></path><path d="M360.674 325.168L-864.73 1551.17L-634.055 1781.96L591.349 555.956L360.674 325.168Z" fill="black"></path><path d="M807.565 339.631L-433.756 1581.56L-217.498 1797.92L1023.82 555.995L807.565 339.631Z" fill="#383838"></path></g></g></g></svg>`;
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const CAROUSEL_LOCK = "element-carousel-lock";
|
|
15
|
-
const INTRO_CONTAINER = "carousel-cards-intro-container";
|
|
16
|
-
const INTRO_CONTAINER_LOCK = "carousel-cards-intro-container-lock";
|
|
17
|
-
const INTRO_CONTAINER_HEADLINE = "carousel-cards-intro-container-headline";
|
|
18
|
-
const INTRO_CONTAINER_TEXT = "carousel-cards-intro-container-text";
|
|
19
|
-
const INTRO_CONTAINER_CTA = "carousel-cards-intro-container-cta";
|
|
20
|
-
const OVERWRITE_ANIMATION_CAROUSEL_DECLARATION = `.${CAROUSEL_CONTAINER} .${createCompositeCarouselBlocks.Elements.declaration}`;
|
|
21
|
-
const OVERWRITE_ANIMATION_CAROUSEL_CONTAINER = `.${CAROUSEL_CONTAINER} .${createCompositeCarouselBlocks.Elements.container}`;
|
|
22
|
-
const OVERWRITE_ANIMATION_CAROUSEL_BUTTON = `.${CAROUSEL_CONTAINER} .${createCompositeCarouselBlocks.Elements.button}`;
|
|
23
|
-
const OverwriteCarouselStyles = `
|
|
24
|
-
@container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {
|
|
25
|
-
${OVERWRITE_ANIMATION_CAROUSEL_CONTAINER} {
|
|
26
|
-
padding-bottom: 60px;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
@container ${ELEMENT_NAME} (min-width: ${LARGE}px) {
|
|
31
|
-
${OVERWRITE_ANIMATION_CAROUSEL_DECLARATION} {
|
|
32
|
-
width: 60%;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
@container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {
|
|
37
|
-
${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {
|
|
38
|
-
bottom: 0;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@container ${ELEMENT_NAME} (min-width: ${LARGE}px) {
|
|
43
|
-
${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {
|
|
44
|
-
top: 50%;
|
|
45
|
-
transform: translateY(-50%);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
@container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {
|
|
50
|
-
${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:first-of-type {
|
|
51
|
-
left: 49px;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@container ${ELEMENT_NAME} (min-width: ${LARGE}px) {
|
|
56
|
-
${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:first-of-type {
|
|
57
|
-
right: -52px;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {
|
|
62
|
-
${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:last-of-type {
|
|
63
|
-
left: 0;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
@container ${ELEMENT_NAME} (min-width: ${LARGE}px) {
|
|
68
|
-
${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:last-of-type {
|
|
69
|
-
left: -52px;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
`;
|
|
73
|
-
const HeadlineStyles = `
|
|
74
|
-
${jssToCSS({
|
|
75
|
-
styleObj: {
|
|
76
|
-
[`.${INTRO_CONTAINER_HEADLINE}`]: typography.sans.largest
|
|
77
|
-
}
|
|
78
|
-
})}
|
|
79
|
-
|
|
80
|
-
${jssToCSS({
|
|
81
|
-
styleObj: {
|
|
82
|
-
[`.${INTRO_CONTAINER_HEADLINE} *`]: typography.sans.largest
|
|
83
|
-
}
|
|
84
|
-
})}
|
|
85
|
-
|
|
86
|
-
.${INTRO_CONTAINER_HEADLINE},
|
|
87
|
-
.${INTRO_CONTAINER_HEADLINE} * {
|
|
88
|
-
color: ${token.color.white};
|
|
89
|
-
font-weight: 800;
|
|
90
|
-
text-transform: uppercase;
|
|
91
|
-
}
|
|
92
|
-
`;
|
|
93
|
-
const TextStyles = `
|
|
94
|
-
* + .${INTRO_CONTAINER_TEXT} {
|
|
95
|
-
margin-top: ${token.spacing.md};
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
${jssToCSS({
|
|
99
|
-
styleObj: {
|
|
100
|
-
[`.${INTRO_CONTAINER_TEXT}`]: element.text.rich.advancedDark
|
|
101
|
-
}
|
|
102
|
-
})}
|
|
103
|
-
|
|
104
|
-
${jssToCSS({
|
|
105
|
-
styleObj: {
|
|
106
|
-
[`.${INTRO_CONTAINER_TEXT}`]: typography.sans.medium
|
|
107
|
-
}
|
|
108
|
-
})}
|
|
109
|
-
`;
|
|
110
|
-
const ActionStyles = `
|
|
111
|
-
* + .${INTRO_CONTAINER_CTA} {
|
|
112
|
-
margin-top: ${token.spacing.md};
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.${INTRO_CONTAINER_CTA} a {
|
|
116
|
-
color: ${token.color.white};
|
|
117
|
-
}
|
|
118
|
-
`;
|
|
119
|
-
const IntroContainer = `
|
|
120
|
-
@container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {
|
|
121
|
-
.${INTRO_CONTAINER} {
|
|
122
|
-
margin-bottom: ${token.spacing.md};
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
@container ${ELEMENT_NAME} (min-width: ${LARGE}px) {
|
|
127
|
-
.${INTRO_CONTAINER} {
|
|
128
|
-
width: calc(40% - ${token.spacing["2xl"]});
|
|
129
|
-
padding-right: ${token.spacing["2xl"]};
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
@media (min-width: ${LARGE}px) {
|
|
134
|
-
.${INTRO_CONTAINER} .${INTRO_CONTAINER_LOCK} {
|
|
135
|
-
max-width: inherit;
|
|
136
|
-
padding: 0;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
`;
|
|
140
|
-
const ContainerLock = `
|
|
141
|
-
.${CAROUSEL_LOCK} {
|
|
142
|
-
position: relative;
|
|
143
|
-
${jssToCSS({
|
|
144
|
-
styleObj: layout.space.horizontal.larger
|
|
145
|
-
})}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
@media (max-width: ${MEDIUM - 1}px) {
|
|
149
|
-
.${CAROUSEL_LOCK} {
|
|
150
|
-
padding-right: 0;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
@media (min-width: ${LARGE}px) {
|
|
155
|
-
.${CAROUSEL_LOCK} {
|
|
156
|
-
display: flex;
|
|
157
|
-
justify-content: space-between;
|
|
158
|
-
align-items: center;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
@media umd-carousel-card (max-width: ${LARGE - 1}px) {
|
|
163
|
-
.${CAROUSEL_LOCK} {
|
|
164
|
-
max-width: inherit;
|
|
165
|
-
padding: 0;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
`;
|
|
169
|
-
const ContainerStyles = `
|
|
170
|
-
@keyframes card-carousel-slide-in {
|
|
33
|
+
const ANIMATION_NAME = "card-carousel-slide-in";
|
|
34
|
+
const KEYFRAMES = `
|
|
35
|
+
@keyframes ${ANIMATION_NAME} {
|
|
171
36
|
from { transform: translateX(-25vw); }
|
|
172
|
-
to { transform: translateX(0);}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
.${CAROUSEL_CONTAINER} {
|
|
176
|
-
background-color: ${token.color.black};
|
|
177
|
-
padding: ${token.spacing["3xl"]} 0;
|
|
178
|
-
position: relative;
|
|
179
|
-
overflow: clip;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
@container ${ELEMENT_NAME} (max-width: 300px) {
|
|
183
|
-
.${CAROUSEL_CONTAINER} {
|
|
184
|
-
display: none;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
@container ${ELEMENT_NAME} (min-width: ${MEDIUM}px) {
|
|
189
|
-
.${CAROUSEL_CONTAINER} {
|
|
190
|
-
padding: ${token.spacing["4xl"]} 0;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
@container ${ELEMENT_NAME} (min-width: ${LARGE}px) {
|
|
195
|
-
.${CAROUSEL_CONTAINER} {
|
|
196
|
-
padding: ${token.spacing["max"]} 0;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
.${CAROUSEL_CONTAINER} > svg {
|
|
201
|
-
width: auto;
|
|
202
|
-
height: 100%;
|
|
203
|
-
object-fit: cover;
|
|
204
|
-
position: absolute;
|
|
205
|
-
top: 0;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
209
|
-
@supports (animation-timeline: scroll()) {
|
|
210
|
-
.${CAROUSEL_CONTAINER} > svg {
|
|
211
|
-
animation: card-carousel-slide-in ease-in-out forwards;
|
|
212
|
-
animation-timeline: view();
|
|
213
|
-
animation-range-start: 0;
|
|
214
|
-
animation-range-end: 100vh;
|
|
215
|
-
transform: translateX(-15vw);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
`;
|
|
220
|
-
const STYLES_CAROUSEL_CARDS_ELEMENT = `
|
|
221
|
-
.${ELEMENT_DECLARATION} {
|
|
222
|
-
container: ${ELEMENT_NAME} / inline-size;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
.${ELEMENT_DECLARATION} * {
|
|
226
|
-
color: ${token.color.white};
|
|
37
|
+
to { transform: translateX(0); }
|
|
227
38
|
}
|
|
228
|
-
|
|
229
|
-
${createCompositeCarouselBlocks.Styles}
|
|
230
|
-
${ContainerStyles}
|
|
231
|
-
${ContainerLock}
|
|
232
|
-
${HeadlineStyles}
|
|
233
|
-
${TextStyles}
|
|
234
|
-
${ActionStyles}
|
|
235
|
-
${IntroContainer}
|
|
236
|
-
${OverwriteCarouselStyles}
|
|
237
39
|
`;
|
|
238
40
|
const CreateIntro = (props) => {
|
|
239
41
|
const { headline, text, actions } = props;
|
|
240
|
-
const
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
42
|
+
const createHeadline = () => {
|
|
43
|
+
if (!headline) return null;
|
|
44
|
+
return new ElementBuilder(headline).withClassName("carousel-cards-intro-container-headline").styled(typography.sans.largest).withStyles({
|
|
45
|
+
element: {
|
|
46
|
+
color: token.color.white,
|
|
47
|
+
fontWeight: token.font.weight.extraBold,
|
|
48
|
+
textTransform: "uppercase",
|
|
49
|
+
"& *": {
|
|
50
|
+
color: token.color.white,
|
|
51
|
+
fontWeight: token.font.weight.extraBold,
|
|
52
|
+
textTransform: "uppercase"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
const createText = () => {
|
|
58
|
+
if (!text) return null;
|
|
59
|
+
return new ElementBuilder(text).withClassName("carousel-cards-intro-container-text").styled(element.text.rich.advancedDark).styled(typography.sans.medium).withStyles({
|
|
60
|
+
element: {
|
|
61
|
+
"* + &": { marginTop: token.spacing.md }
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
const createActions = () => {
|
|
66
|
+
if (!actions) return null;
|
|
67
|
+
return new ElementBuilder(actions).withClassName("carousel-cards-intro-container-cta").withStyles({
|
|
68
|
+
element: {
|
|
69
|
+
"* + &": { marginTop: token.spacing.md },
|
|
70
|
+
"& a": { color: token.color.white }
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
const wrapperChildren = [createHeadline(), createText(), createActions()].filter((child) => child !== null);
|
|
75
|
+
const wrapperModel = new ElementBuilder().withClassName("carousel-cards-intro-container-lock").withStyles({
|
|
76
|
+
element: {
|
|
77
|
+
[`@media (${token.media.queries.desktop.min})`]: {
|
|
78
|
+
maxWidth: "inherit",
|
|
79
|
+
padding: 0
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}).withChildren(...wrapperChildren).build();
|
|
83
|
+
return new ElementBuilder().withClassName("carousel-cards-intro-container").withStyles({
|
|
84
|
+
element: {
|
|
85
|
+
marginBottom: token.spacing.md,
|
|
86
|
+
[`@container (${token.media.queries.desktop.min})`]: {
|
|
87
|
+
width: `calc(40% - ${token.spacing["2xl"]})`,
|
|
88
|
+
paddingRight: token.spacing["2xl"],
|
|
89
|
+
marginBottom: 0
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}).withChild(wrapperModel).build();
|
|
258
93
|
};
|
|
259
94
|
const createCompositeCarouselCards = (props) => (() => {
|
|
260
95
|
const { slide, shadowRef } = props;
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
if (
|
|
265
|
-
|
|
96
|
+
if (slide) {
|
|
97
|
+
slide.style.minHeight = "360px";
|
|
98
|
+
}
|
|
99
|
+
if (shadowRef) {
|
|
100
|
+
shadowRef.style.minHeight = "360px";
|
|
101
|
+
}
|
|
266
102
|
const carouselContainer = createCompositeCarouselBlocks.CreateElement({
|
|
267
|
-
|
|
103
|
+
slide: props.slide,
|
|
104
|
+
shadowRef: props.shadowRef,
|
|
268
105
|
blocks: props.cards,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
106
|
+
mobileBreakpoint: token.media.breakpointValues.large.min,
|
|
107
|
+
tabletBreakpoint: token.media.breakpointValues.desktop.min,
|
|
108
|
+
desktopBreakpoint: token.media.breakpointValues.desktop.min,
|
|
109
|
+
mobileCount: 1,
|
|
110
|
+
tabletCount: 2,
|
|
111
|
+
desktopCount: 2,
|
|
112
|
+
maxCount: 2,
|
|
113
|
+
showMobileHint: true,
|
|
114
|
+
showHint: false,
|
|
115
|
+
button: {
|
|
116
|
+
...buttonColorsOnBlack(),
|
|
117
|
+
outsetOffset: "52px"
|
|
279
118
|
}
|
|
280
119
|
});
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
container.innerHTML = BACKGROUND_TEXTURE;
|
|
287
|
-
container.appendChild(wrapper);
|
|
288
|
-
declaration.classList.add(ELEMENT_DECLARATION);
|
|
289
|
-
declaration.appendChild(container);
|
|
290
|
-
return {
|
|
291
|
-
element: declaration,
|
|
292
|
-
styles: STYLES_CAROUSEL_CARDS_ELEMENT,
|
|
293
|
-
events: {
|
|
294
|
-
resize: carouselContainer.events.resize,
|
|
295
|
-
load: carouselContainer.events.load
|
|
120
|
+
const carouselWrapperModel = new ElementBuilder().withClassName("carousel-cards-block-wrapper").withStyles({
|
|
121
|
+
element: {
|
|
122
|
+
[`@container (${token.media.queries.desktop.min})`]: {
|
|
123
|
+
width: "60%"
|
|
124
|
+
}
|
|
296
125
|
}
|
|
297
|
-
};
|
|
126
|
+
}).withChild(carouselContainer).build();
|
|
127
|
+
const introModel = CreateIntro(props);
|
|
128
|
+
const wrapperModel = new ElementBuilder().withClassName("element-carousel-lock").styled(layout.space.horizontal.larger).withStyles({
|
|
129
|
+
element: {
|
|
130
|
+
position: "relative",
|
|
131
|
+
paddingRight: 0,
|
|
132
|
+
[`@media (${token.media.queries.tablet.min})`]: { paddingRight: token.spacing["2xl"] },
|
|
133
|
+
[`@media (${token.media.queries.highDef.min})`]: { paddingRight: token.spacing["4xl"] },
|
|
134
|
+
[`@media (${token.media.queries.desktop.min})`]: {
|
|
135
|
+
display: "flex",
|
|
136
|
+
justifyContent: "space-between",
|
|
137
|
+
alignItems: "center"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}).withChildren(introModel, carouselWrapperModel).build();
|
|
141
|
+
const containerModel = new ElementBuilder().withClassName("element-carousel-container").withStyles({
|
|
142
|
+
element: {
|
|
143
|
+
backgroundColor: token.color.black,
|
|
144
|
+
padding: `${token.spacing["3xl"]} 0`,
|
|
145
|
+
position: "relative",
|
|
146
|
+
overflow: "clip",
|
|
147
|
+
"& > svg": {
|
|
148
|
+
width: "auto",
|
|
149
|
+
height: "100%",
|
|
150
|
+
objectFit: "cover",
|
|
151
|
+
position: "absolute",
|
|
152
|
+
top: 0,
|
|
153
|
+
...withViewTimelineAnimation({
|
|
154
|
+
animation: `${ANIMATION_NAME} ease-in-out forwards`,
|
|
155
|
+
animationTimeline: "view()",
|
|
156
|
+
animationRangeStart: "0",
|
|
157
|
+
animationRangeEnd: "100vh",
|
|
158
|
+
transform: "translateX(-15vw)"
|
|
159
|
+
})
|
|
160
|
+
},
|
|
161
|
+
"@container (max-width: 300px)": { display: "none" },
|
|
162
|
+
[`@container (${token.media.queries.tablet.min})`]: { padding: `${token.spacing["4xl"]} 0` },
|
|
163
|
+
[`@container (${token.media.queries.desktop.min})`]: { padding: `${token.spacing["max"]} 0` }
|
|
164
|
+
}
|
|
165
|
+
}).withChild(wrapperModel).withModifier((element2) => {
|
|
166
|
+
element2.insertAdjacentHTML("afterbegin", BACKGROUND_TEXTURE);
|
|
167
|
+
}).build();
|
|
168
|
+
containerModel.styles += KEYFRAMES;
|
|
169
|
+
const declarationModel = new ElementBuilder().withClassName("carousel-cards-declaration").withStyles({
|
|
170
|
+
element: {
|
|
171
|
+
containerType: "inline-size",
|
|
172
|
+
"& *": { color: token.color.white }
|
|
173
|
+
}
|
|
174
|
+
}).withChild(containerModel).withEvents({
|
|
175
|
+
resize: carouselContainer.events.resize,
|
|
176
|
+
load: carouselContainer.events.load
|
|
177
|
+
}).build();
|
|
178
|
+
return declarationModel;
|
|
298
179
|
})();
|
|
299
180
|
export {
|
|
300
181
|
createCompositeCarouselCards
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../source/composite/carousel/cards/index.ts"],"sourcesContent":["import {\n element,\n layout,\n token,\n typography,\n} from '@universityofmaryland/web-styles-library';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport * as carouselElements from '../elements';\n\ntype TypeCarouselCardsRequirements = {\n headline?: HTMLElement | null;\n text?: HTMLElement | null;\n actions?: HTMLElement | null;\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n cards: HTMLElement[];\n};\n\nconst MEDIUM = 768;\nconst LARGE = 1024;\n\nconst BACKGROUND_TEXTURE = `<svg aria-hidden=\"true\" width=\"1599\" height=\"618\" viewBox=\"0 0 1599 618\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n\"><mask id=\"mask0_2135_11278\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"1600\" height=\"618\"><rect width=\"1600\" height=\"618\" fill=\"#242424\"></rect></mask><g mask=\"url(#mask0_2135_11278)\"><g opacity=\"0.5\"><mask id=\"mask1_2135_11278\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"-17\" y=\"-56\" width=\"1823\" height=\"408\"><path d=\"M-17 351.98V-56H1806V351.98\" fill=\"white\"></path></mask><g mask=\"url(#mask1_2135_11278)\"><path d=\"M807.562 -68.3515L-433.759 1173.58L-217.501 1389.94L1023.82 148.012L807.562 -68.3515Z\" fill=\"#262626\"></path><path d=\"M360.649 -82.8017L-880.672 1159.13L-649.997 1389.92L591.324 147.986L360.649 -82.8017Z\" fill=\"black\"></path><path d=\"M1154.8 1173.26L-533.139 -515.499L-677.311 -371.256L1010.63 1317.51L1154.8 1173.26Z\" fill=\"#262626\"></path><path d=\"M2162.77 710.525L1312.18 -140.478L1168.01 3.76505L2018.6 854.768L2162.77 710.525Z\" fill=\"black\"></path><path d=\"M1312.16 -140.485L202.096 -1251.09L57.9241 -1106.85L1167.99 3.75794L1312.16 -140.485Z\" fill=\"#EDEDED\"></path><path d=\"M2133.89 -1251.07L1023.83 -140.458L1168 3.78455L2278.07 -1106.83L2133.89 -1251.07Z\" fill=\"#383838\"></path><path d=\"M591.343 147.968L-634.061 -1078.04L-864.736 -847.248L360.668 378.756L591.343 147.968Z\" fill=\"black\"></path><path d=\"M1023.82 147.97L-217.503 -1093.96L-433.761 -877.595L807.559 364.333L1023.82 147.97Z\" fill=\"#383838\"></path></g><mask id=\"mask2_2135_11278\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"-17\" y=\"351\" width=\"1823\" height=\"780\"><path d=\"M-17 351.938V753.629L837.67 753.672L845.662 1130.18L1806 1130.26V352.094\" fill=\"white\"></path></mask><g mask=\"url(#mask2_2135_11278)\"><path d=\"M1023.81 555.952L-217.506 -685.977L-433.764 -469.613L807.557 772.316L1023.81 555.952Z\" fill=\"#262626\"></path><path d=\"M591.347 555.967L-649.973 -685.962L-880.648 -455.174L360.672 786.755L591.347 555.967Z\" fill=\"black\"></path><path d=\"M1010.63 -613.543L-677.305 1075.22L-533.133 1219.46L1154.8 -469.3L1010.63 -613.543Z\" fill=\"#262626\"></path><path d=\"M1760.63 110.929L910.039 961.932L1054.21 1106.17L1904.8 255.172L1760.63 110.929Z\" fill=\"black\"></path><path d=\"M360.674 325.168L-864.73 1551.17L-634.055 1781.96L591.349 555.956L360.674 325.168Z\" fill=\"black\"></path><path d=\"M807.565 339.631L-433.756 1581.56L-217.498 1797.92L1023.82 555.995L807.565 339.631Z\" fill=\"#383838\"></path></g></g></g></svg>`;\n\nconst ELEMENT_NAME = 'umd-element-carousel-cards';\n\nconst ELEMENT_DECLARATION = 'carousel-cards-declaration';\nconst CAROUSEL_CONTAINER = 'element-carousel-container';\nconst CAROUSEL_LOCK = 'element-carousel-lock';\n\nconst INTRO_CONTAINER = 'carousel-cards-intro-container';\nconst INTRO_CONTAINER_LOCK = 'carousel-cards-intro-container-lock';\nconst INTRO_CONTAINER_HEADLINE = 'carousel-cards-intro-container-headline';\nconst INTRO_CONTAINER_TEXT = 'carousel-cards-intro-container-text';\nconst INTRO_CONTAINER_CTA = 'carousel-cards-intro-container-cta';\n\nconst OVERWRITE_ANIMATION_CAROUSEL_DECLARATION = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.declaration}`;\nconst OVERWRITE_ANIMATION_CAROUSEL_CONTAINER = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.container}`;\nconst OVERWRITE_ANIMATION_CAROUSEL_BUTTON = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.button}`;\n\n// prettier-ignore\nconst OverwriteCarouselStyles = `\n @container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {\n ${OVERWRITE_ANIMATION_CAROUSEL_CONTAINER} {\n padding-bottom: 60px;\n }\n }\n\n @container ${ELEMENT_NAME} (min-width: ${LARGE}px) {\n ${OVERWRITE_ANIMATION_CAROUSEL_DECLARATION} {\n width: 60%;\n }\n }\n\n @container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {\n bottom: 0;\n }\n }\n\n @container ${ELEMENT_NAME} (min-width: ${LARGE}px) {\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {\n top: 50%;\n transform: translateY(-50%);\n }\n }\n\n @container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:first-of-type {\n left: 49px;\n }\n }\n\n @container ${ELEMENT_NAME} (min-width: ${LARGE}px) {\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:first-of-type {\n right: -52px;\n }\n }\n\n @container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:last-of-type {\n left: 0;\n }\n }\n\n @container ${ELEMENT_NAME} (min-width: ${LARGE}px) {\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON}:last-of-type {\n left: -52px;\n }\n }\n`;\n\n// prettier-ignore\nconst HeadlineStyles = `\n ${jssToCSS({\n styleObj: {\n [`.${INTRO_CONTAINER_HEADLINE}`]: typography.sans.largest,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`.${INTRO_CONTAINER_HEADLINE} *`]: typography.sans.largest,\n },\n })}\n\n .${INTRO_CONTAINER_HEADLINE},\n .${INTRO_CONTAINER_HEADLINE} * {\n color: ${token.color.white};\n font-weight: 800;\n text-transform: uppercase;\n }\n`;\n\n// prettier-ignore\nconst TextStyles = `\n * + .${INTRO_CONTAINER_TEXT} {\n margin-top: ${token.spacing.md};\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${INTRO_CONTAINER_TEXT}`]: element.text.rich.advancedDark,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`.${INTRO_CONTAINER_TEXT}`]: typography.sans.medium,\n },\n })}\n`;\n\n// prettier-ignore\nconst ActionStyles = `\n * + .${INTRO_CONTAINER_CTA} {\n margin-top: ${token.spacing.md};\n }\n\n .${INTRO_CONTAINER_CTA} a {\n color: ${token.color.white};\n }\n`;\n\n// prettier-ignore\nconst IntroContainer = `\n @container ${ELEMENT_NAME} (max-width: ${LARGE - 1}px) {\n .${INTRO_CONTAINER} {\n margin-bottom: ${token.spacing.md};\n }\n }\n\n @container ${ELEMENT_NAME} (min-width: ${LARGE}px) {\n .${INTRO_CONTAINER} {\n width: calc(40% - ${token.spacing['2xl']});\n padding-right: ${token.spacing['2xl']};\n }\n }\n\n @media (min-width: ${LARGE}px) {\n .${INTRO_CONTAINER} .${INTRO_CONTAINER_LOCK} {\n max-width: inherit;\n padding: 0;\n }\n }\n`;\n\n// prettier-ignore\nconst ContainerLock = `\n .${CAROUSEL_LOCK} {\n position: relative;\n ${jssToCSS({\n styleObj: layout.space.horizontal.larger,\n })}\n }\n\n @media (max-width: ${MEDIUM - 1}px) {\n .${CAROUSEL_LOCK} {\n padding-right: 0;\n }\n }\n\n @media (min-width: ${LARGE}px) {\n .${CAROUSEL_LOCK} {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n }\n\n @media umd-carousel-card (max-width: ${LARGE - 1}px) {\n .${CAROUSEL_LOCK} {\n max-width: inherit;\n padding: 0;\n }\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n @keyframes card-carousel-slide-in {\n from { transform: translateX(-25vw); }\n to { transform: translateX(0);}\n }\n\n .${CAROUSEL_CONTAINER} {\n background-color: ${token.color.black};\n padding: ${token.spacing['3xl']} 0;\n position: relative;\n overflow: clip;\n }\n\n @container ${ELEMENT_NAME} (max-width: 300px) {\n .${CAROUSEL_CONTAINER} {\n display: none;\n }\n }\n\n @container ${ELEMENT_NAME} (min-width: ${MEDIUM}px) {\n .${CAROUSEL_CONTAINER} {\n padding: ${token.spacing['4xl']} 0;\n }\n }\n\n @container ${ELEMENT_NAME} (min-width: ${LARGE}px) {\n .${CAROUSEL_CONTAINER} {\n padding: ${token.spacing['max']} 0;\n }\n }\n\n .${CAROUSEL_CONTAINER} > svg {\n width: auto;\n height: 100%;\n object-fit: cover;\n position: absolute;\n top: 0;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${CAROUSEL_CONTAINER} > svg {\n animation: card-carousel-slide-in ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: 0;\n animation-range-end: 100vh;\n transform: translateX(-15vw);\n }\n }\n }\n`\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_DECLARATION} * {\n color: ${token.color.white};\n }\n \n ${carouselElements.blocks.Styles}\n ${ContainerStyles}\n ${ContainerLock}\n ${HeadlineStyles}\n ${TextStyles}\n ${ActionStyles}\n ${IntroContainer}\n ${OverwriteCarouselStyles}\n`;\n\nconst CreateIntro = (props: TypeCarouselCardsRequirements) => {\n const { headline, text, actions } = props;\n const introContainer = document.createElement('div');\n const introWrapper = document.createElement('div');\n\n introWrapper.classList.add(INTRO_CONTAINER_LOCK);\n\n if (headline) {\n headline.classList.add(INTRO_CONTAINER_HEADLINE);\n introWrapper.appendChild(headline);\n }\n\n if (text) {\n text.classList.add(INTRO_CONTAINER_TEXT);\n introWrapper.appendChild(text);\n }\n\n if (actions) {\n actions.classList.add(INTRO_CONTAINER_CTA);\n introWrapper.appendChild(actions);\n }\n\n introContainer.classList.add(INTRO_CONTAINER);\n introContainer.appendChild(introWrapper);\n\n return introContainer;\n};\n\nexport const createCompositeCarouselCards = (props: TypeCarouselCardsRequirements) =>\n (() => {\n const { slide, shadowRef } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n\n if (slide) slide.style.minHeight = '360px';\n if (shadowRef) shadowRef.style.minHeight = '360px';\n\n const carouselContainer = carouselElements.blocks.CreateElement({\n ...props,\n blocks: props.cards,\n overwriteDisplayLogic: {\n mobileBreakpoint: 650,\n tabletBreakpoint: 1024,\n desktopBreakpoint: 1024,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 2,\n maxCount: 2,\n showMobileHint: true,\n showHint: false,\n },\n });\n const introContainer = CreateIntro(props);\n\n wrapper.classList.add(CAROUSEL_LOCK);\n wrapper.appendChild(introContainer);\n wrapper.appendChild(carouselContainer.element);\n\n container.classList.add(CAROUSEL_CONTAINER);\n container.innerHTML = BACKGROUND_TEXTURE;\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_DECLARATION);\n declaration.appendChild(container);\n\n return {\n element: declaration,\n styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n events: {\n resize: carouselContainer.events.resize,\n load: carouselContainer.events.load,\n },\n };\n })();\n"],"names":["carouselElements.blocks"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../source/composite/carousel/cards/index.ts"],"sourcesContent":["import {\n element,\n layout,\n token,\n typography,\n} from '@universityofmaryland/web-styles-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { withViewTimelineAnimation } from '@universityofmaryland/web-utilities-library/styles';\nimport * as carouselElements from '../elements';\n\ntype TypeCarouselCardsRequirements = {\n headline?: HTMLElement | null;\n text?: HTMLElement | null;\n actions?: HTMLElement | null;\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n cards: HTMLElement[];\n};\n\nconst BACKGROUND_TEXTURE = `<svg aria-hidden=\"true\" width=\"1599\" height=\"618\" viewBox=\"0 0 1599 618\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n\"><mask id=\"mask0_2135_11278\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"1600\" height=\"618\"><rect width=\"1600\" height=\"618\" fill=\"#242424\"></rect></mask><g mask=\"url(#mask0_2135_11278)\"><g opacity=\"0.5\"><mask id=\"mask1_2135_11278\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"-17\" y=\"-56\" width=\"1823\" height=\"408\"><path d=\"M-17 351.98V-56H1806V351.98\" fill=\"white\"></path></mask><g mask=\"url(#mask1_2135_11278)\"><path d=\"M807.562 -68.3515L-433.759 1173.58L-217.501 1389.94L1023.82 148.012L807.562 -68.3515Z\" fill=\"#262626\"></path><path d=\"M360.649 -82.8017L-880.672 1159.13L-649.997 1389.92L591.324 147.986L360.649 -82.8017Z\" fill=\"black\"></path><path d=\"M1154.8 1173.26L-533.139 -515.499L-677.311 -371.256L1010.63 1317.51L1154.8 1173.26Z\" fill=\"#262626\"></path><path d=\"M2162.77 710.525L1312.18 -140.478L1168.01 3.76505L2018.6 854.768L2162.77 710.525Z\" fill=\"black\"></path><path d=\"M1312.16 -140.485L202.096 -1251.09L57.9241 -1106.85L1167.99 3.75794L1312.16 -140.485Z\" fill=\"#EDEDED\"></path><path d=\"M2133.89 -1251.07L1023.83 -140.458L1168 3.78455L2278.07 -1106.83L2133.89 -1251.07Z\" fill=\"#383838\"></path><path d=\"M591.343 147.968L-634.061 -1078.04L-864.736 -847.248L360.668 378.756L591.343 147.968Z\" fill=\"black\"></path><path d=\"M1023.82 147.97L-217.503 -1093.96L-433.761 -877.595L807.559 364.333L1023.82 147.97Z\" fill=\"#383838\"></path></g><mask id=\"mask2_2135_11278\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"-17\" y=\"351\" width=\"1823\" height=\"780\"><path d=\"M-17 351.938V753.629L837.67 753.672L845.662 1130.18L1806 1130.26V352.094\" fill=\"white\"></path></mask><g mask=\"url(#mask2_2135_11278)\"><path d=\"M1023.81 555.952L-217.506 -685.977L-433.764 -469.613L807.557 772.316L1023.81 555.952Z\" fill=\"#262626\"></path><path d=\"M591.347 555.967L-649.973 -685.962L-880.648 -455.174L360.672 786.755L591.347 555.967Z\" fill=\"black\"></path><path d=\"M1010.63 -613.543L-677.305 1075.22L-533.133 1219.46L1154.8 -469.3L1010.63 -613.543Z\" fill=\"#262626\"></path><path d=\"M1760.63 110.929L910.039 961.932L1054.21 1106.17L1904.8 255.172L1760.63 110.929Z\" fill=\"black\"></path><path d=\"M360.674 325.168L-864.73 1551.17L-634.055 1781.96L591.349 555.956L360.674 325.168Z\" fill=\"black\"></path><path d=\"M807.565 339.631L-433.756 1581.56L-217.498 1797.92L1023.82 555.995L807.565 339.631Z\" fill=\"#383838\"></path></g></g></g></svg>`;\n\nconst ANIMATION_NAME = 'card-carousel-slide-in';\n\nconst KEYFRAMES = `\n @keyframes ${ANIMATION_NAME} {\n from { transform: translateX(-25vw); }\n to { transform: translateX(0); }\n }\n`;\n\nconst CreateIntro = (props: TypeCarouselCardsRequirements) => {\n const { headline, text, actions } = props;\n\n const createHeadline = () => {\n if (!headline) return null;\n return new ElementBuilder(headline)\n .withClassName('carousel-cards-intro-container-headline')\n .styled(typography.sans.largest)\n .withStyles({\n element: {\n color: token.color.white,\n fontWeight: token.font.weight.extraBold,\n textTransform: 'uppercase',\n '& *': {\n color: token.color.white,\n fontWeight: token.font.weight.extraBold,\n textTransform: 'uppercase',\n },\n },\n });\n };\n\n const createText = () => {\n if (!text) return null;\n return new ElementBuilder(text)\n .withClassName('carousel-cards-intro-container-text')\n .styled(element.text.rich.advancedDark)\n .styled(typography.sans.medium)\n .withStyles({\n element: {\n '* + &': { marginTop: token.spacing.md },\n },\n });\n };\n\n const createActions = () => {\n if (!actions) return null;\n\n return new ElementBuilder(actions)\n .withClassName('carousel-cards-intro-container-cta')\n .withStyles({\n element: {\n '* + &': { marginTop: token.spacing.md },\n '& a': { color: token.color.white },\n },\n });\n };\n\n const wrapperChildren = [createHeadline(), createText(), createActions()].filter((child) => child !== null);\n\n const wrapperModel = new ElementBuilder()\n .withClassName('carousel-cards-intro-container-lock')\n .withStyles({\n element: {\n [`@media (${token.media.queries.desktop.min})`]: {\n maxWidth: 'inherit',\n padding: 0,\n },\n },\n })\n .withChildren(...wrapperChildren)\n .build();\n\n\n return new ElementBuilder()\n .withClassName('carousel-cards-intro-container')\n .withStyles({\n element: {\n marginBottom: token.spacing.md,\n [`@container (${token.media.queries.desktop.min})`]: {\n width: `calc(40% - ${token.spacing['2xl']})`,\n paddingRight: token.spacing['2xl'],\n marginBottom: 0,\n },\n },\n })\n .withChild(wrapperModel)\n .build();\n};\n\nexport const createCompositeCarouselCards = (props: TypeCarouselCardsRequirements) =>\n (() => {\n const { slide, shadowRef } = props;\n\n if (slide) {\n slide.style.minHeight = '360px';\n }\n if (shadowRef) {\n shadowRef.style.minHeight = '360px';\n }\n\n const carouselContainer = carouselElements.blocks.CreateElement({\n slide: props.slide,\n shadowRef: props.shadowRef,\n blocks: props.cards,\n mobileBreakpoint: token.media.breakpointValues.large.min,\n tabletBreakpoint: token.media.breakpointValues.desktop.min,\n desktopBreakpoint: token.media.breakpointValues.desktop.min,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 2,\n maxCount: 2,\n showMobileHint: true,\n showHint: false,\n button: {\n ...carouselElements.buttonColorsOnBlack(),\n outsetOffset: '52px',\n },\n });\n\n const carouselWrapperModel = new ElementBuilder()\n .withClassName('carousel-cards-block-wrapper')\n .withStyles({\n element: {\n [`@container (${token.media.queries.desktop.min})`]: {\n width: '60%',\n },\n },\n })\n .withChild(carouselContainer)\n .build();\n\n const introModel = CreateIntro(props);\n\n const wrapperModel = new ElementBuilder()\n .withClassName('element-carousel-lock')\n .styled(layout.space.horizontal.larger)\n .withStyles({\n element: {\n position: 'relative',\n paddingRight: 0,\n [`@media (${token.media.queries.tablet.min})`]: { paddingRight: token.spacing['2xl'] },\n [`@media (${token.media.queries.highDef.min})`]: { paddingRight: token.spacing['4xl'] },\n [`@media (${token.media.queries.desktop.min})`]: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n },\n })\n .withChildren(introModel, carouselWrapperModel)\n .build();\n\n const containerModel = new ElementBuilder()\n .withClassName('element-carousel-container')\n .withStyles({\n element: {\n backgroundColor: token.color.black,\n padding: `${token.spacing['3xl']} 0`,\n position: 'relative',\n overflow: 'clip',\n '& > svg': {\n width: 'auto',\n height: '100%',\n objectFit: 'cover',\n position: 'absolute',\n top: 0,\n ...withViewTimelineAnimation({\n animation: `${ANIMATION_NAME} ease-in-out forwards`,\n animationTimeline: 'view()',\n animationRangeStart: '0',\n animationRangeEnd: '100vh',\n transform: 'translateX(-15vw)',\n }),\n },\n '@container (max-width: 300px)': { display: 'none' },\n [`@container (${token.media.queries.tablet.min})`]: { padding: `${token.spacing['4xl']} 0` },\n [`@container (${token.media.queries.desktop.min})`]: { padding: `${token.spacing['max']} 0` },\n },\n })\n .withChild(wrapperModel)\n .withModifier((element) => {\n element.insertAdjacentHTML('afterbegin', BACKGROUND_TEXTURE);\n })\n .build();\n\n containerModel.styles += KEYFRAMES;\n\n const declarationModel = new ElementBuilder()\n .withClassName('carousel-cards-declaration')\n .withStyles({\n element: {\n containerType: 'inline-size',\n '& *': { color: token.color.white },\n },\n })\n .withChild(containerModel)\n .withEvents({\n resize: carouselContainer.events.resize,\n load: carouselContainer.events.load,\n })\n .build();\n\n return declarationModel;\n })();\n"],"names":["carouselElements.blocks","carouselElements.buttonColorsOnBlack","element"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TypeButtonConfig } from '../elements/equal-width-items';
|
|
1
2
|
type TypeCarouselRequirements = {
|
|
2
3
|
slide: HTMLElement;
|
|
3
4
|
shadowRef?: HTMLElement;
|
|
@@ -8,21 +9,14 @@ type TypeCarouselRequirements = {
|
|
|
8
9
|
hasRightButton?: boolean;
|
|
9
10
|
mobileHint?: boolean;
|
|
10
11
|
hint?: boolean;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
export declare const createCompositeCarouselDefault: (props: TypeCarouselRequirements) => {
|
|
20
|
-
element: HTMLDivElement;
|
|
21
|
-
styles: string;
|
|
22
|
-
events: {
|
|
23
|
-
resize: () => void;
|
|
24
|
-
load: () => void;
|
|
25
|
-
};
|
|
12
|
+
tabletSize?: number;
|
|
13
|
+
desktopSize?: number;
|
|
14
|
+
mobileCount?: number;
|
|
15
|
+
tabletCount?: number;
|
|
16
|
+
desktopCount?: number;
|
|
17
|
+
maxCount?: number;
|
|
18
|
+
button?: TypeButtonConfig;
|
|
26
19
|
};
|
|
20
|
+
export declare const createCompositeCarouselDefault: (props: TypeCarouselRequirements) => import('../../../../builder/dist/index.d.ts').ElementModel<HTMLElement>;
|
|
27
21
|
export {};
|
|
28
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/default/index.ts"],"names":[],"mappings":"AAGA,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/default/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,wBAAwB,kFAkFxE,CAAC"}
|