@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,231 +1,85 @@
|
|
|
1
|
-
import { token,
|
|
2
|
-
import {
|
|
3
|
-
import "
|
|
4
|
-
import "../elements/full-screen.js";
|
|
5
|
-
import { createCompositeCarouselOverlay } from "../elements/overlay.js";
|
|
6
|
-
import { createCompositeCarouselImage } from "../elements/image.js";
|
|
7
|
-
import "@universityofmaryland/web-builder-library";
|
|
1
|
+
import { token, typography, element } from "@universityofmaryland/web-styles-library";
|
|
2
|
+
import { ElementBuilder } from "@universityofmaryland/web-builder-library";
|
|
3
|
+
import { combineStyles } from "@universityofmaryland/web-utilities-library/styles";
|
|
8
4
|
import "@universityofmaryland/web-token-library";
|
|
5
|
+
import "@universityofmaryland/web-utilities-library/performance";
|
|
6
|
+
import "@universityofmaryland/web-utilities-library/events";
|
|
7
|
+
import "@universityofmaryland/web-icons-library/arrows";
|
|
8
|
+
import "@universityofmaryland/web-styles-library/typography";
|
|
9
|
+
import { fullscreen } from "../../../atomic/buttons/fullscreen.js";
|
|
10
|
+
import "@universityofmaryland/web-icons-library/controls";
|
|
9
11
|
import "@universityofmaryland/web-styles-library/element";
|
|
10
12
|
import "@universityofmaryland/web-styles-library/layout";
|
|
11
13
|
import "@universityofmaryland/web-styles-library/animation";
|
|
12
|
-
import "@universityofmaryland/web-styles-library/typography";
|
|
13
14
|
import "@universityofmaryland/web-utilities-library/media";
|
|
14
15
|
import "@universityofmaryland/web-utilities-library/dom";
|
|
15
|
-
import "@universityofmaryland/web-icons-library/controls";
|
|
16
16
|
import "@universityofmaryland/web-icons-library/communication";
|
|
17
17
|
import "@universityofmaryland/web-icons-library/files";
|
|
18
18
|
import "@universityofmaryland/web-icons-library/brand";
|
|
19
|
-
import "@universityofmaryland/web-icons-library/arrows";
|
|
20
|
-
import { createAnimationIndicator } from "../../../atomic/animations/actions/indicator.js";
|
|
21
|
-
import "../../../atomic/animations/brand/chevron-scroll.js";
|
|
22
19
|
import "../../../atomic/animations/brand/card-stack.js";
|
|
23
|
-
import "@universityofmaryland/web-utilities-library/performance";
|
|
24
20
|
import "@universityofmaryland/web-utilities-library/accessibility";
|
|
25
|
-
import { fullscreen } from "../../../atomic/buttons/fullscreen.js";
|
|
26
21
|
import "@universityofmaryland/web-icons-library/location";
|
|
27
22
|
import "@universityofmaryland/web-icons-library/calendar";
|
|
28
23
|
import "@universityofmaryland/web-utilities-library/theme";
|
|
29
24
|
import "../../../atomic/layout/block/stacked.js";
|
|
30
|
-
import "../../../atomic/layout/overlay/modal.js";
|
|
31
25
|
import "../../../atomic/layout/person/columns.js";
|
|
32
26
|
import "@universityofmaryland/web-icons-library/social";
|
|
33
|
-
import "
|
|
27
|
+
import "@universityofmaryland/web-utilities-library/string";
|
|
28
|
+
import "@universityofmaryland/web-utilities-library/animation";
|
|
34
29
|
import "../../../atomic/text-lockup/small.js";
|
|
35
|
-
import {
|
|
36
|
-
|
|
30
|
+
import { createCompositeCarouselOverlay } from "../elements/overlay.js";
|
|
31
|
+
import { createCompositeCarouselImage } from "../elements/image.js";
|
|
32
|
+
import { createCarouselIndicatorWrapper } from "../elements/indicator-wrapper.js";
|
|
33
|
+
import { createLayoutImageContainer } from "../../../layout/image.js";
|
|
37
34
|
const ATTRIBUTE_REFERENCE = "data-reference";
|
|
38
|
-
const ATTRIBUTE_THEME = "data-theme";
|
|
39
|
-
const THEME_DARK = "dark";
|
|
40
|
-
const IS_THEME_DARK = `[${ATTRIBUTE_THEME}="${THEME_DARK}"]`;
|
|
41
|
-
const ELEMENT_NAME = "umd-carousel-image-standard";
|
|
42
|
-
const ELEMENT_CAROUSEL_IMAGE_DECLARATION = "carousel-image-standard-declaration";
|
|
43
|
-
const ELEMENT_CAROUSEL_IMAGE_CONTAINER = "carousel-image-standard-container";
|
|
44
|
-
const ELEMENT_SLIDE = "carousel-image-standard-slide";
|
|
45
|
-
const ELEMENT_SLIDE_IMAGE_CONTAINER = "carousel-image-standard-slide-image";
|
|
46
|
-
const ELEMENT_SLIDE_IMAGE_WRAPPER = "carousel-image-standard-slide-wrapper";
|
|
47
|
-
const ELEMENT_SLIDE_TEXT_CONTAINER = "carousel-image-standard-slide-text";
|
|
48
|
-
const ELEMENT_SLIDE_HEADLINE = "carousel-image-standard-slide-headline";
|
|
49
|
-
const ELEMENT_SLIDE_RICH_TEXT = "carousel-image-standard-slide-rich-text";
|
|
50
|
-
const ELEMENT_CAROUSEL_SLIDER_BUTTON = "carousel-slider-button";
|
|
51
|
-
const ELEMENT_CAROUSEL_INDICATOR_WRAPPER = "carousel-indicator-wrapper";
|
|
52
|
-
const ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER = "carousel-overlay-image-container";
|
|
53
|
-
const OVERWRITE_THEME_DARK_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK}`;
|
|
54
|
-
const OVERWRITE_THEME_DARK_RICH_TEXT = `${OVERWRITE_THEME_DARK_CONTAINER} .${ELEMENT_SLIDE_RICH_TEXT}`;
|
|
55
|
-
const OVERWRITE_THEME_DARK_TEXT_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_SLIDE_TEXT_CONTAINER}`;
|
|
56
|
-
const OVERWRITE_THEME_DARK_IMAGE_CONTAINER = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_SLIDE_IMAGE_CONTAINER}`;
|
|
57
|
-
const OVERWRITE_THEME_DARK_INDICATOR = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_CAROUSEL_INDICATOR_WRAPPER}`;
|
|
58
|
-
const OVERWRITE_THEME_DARK_BUTTON = `.${ELEMENT_CAROUSEL_IMAGE_CONTAINER}${IS_THEME_DARK} .${ELEMENT_CAROUSEL_SLIDER_BUTTON}`;
|
|
59
|
-
const OverwriteThemeDark = `
|
|
60
|
-
${OVERWRITE_THEME_DARK_CONTAINER},
|
|
61
|
-
${OVERWRITE_THEME_DARK_TEXT_CONTAINER},
|
|
62
|
-
${OVERWRITE_THEME_DARK_INDICATOR} {
|
|
63
|
-
background-color: ${token.color.black};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
${OVERWRITE_THEME_DARK_IMAGE_CONTAINER} {
|
|
67
|
-
background-color: ${token.color.gray.dark};
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
${OVERWRITE_THEME_DARK_TEXT_CONTAINER} * {
|
|
71
|
-
color: ${token.color.white};
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
${OVERWRITE_THEME_DARK_BUTTON} {
|
|
75
|
-
background-color: ${token.color.black};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
${OVERWRITE_THEME_DARK_BUTTON} > svg {
|
|
79
|
-
fill: ${token.color.white};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
${OVERWRITE_THEME_DARK_RICH_TEXT} {
|
|
83
|
-
color: ${token.color.white};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
${jssToCSS({
|
|
87
|
-
styleObj: {
|
|
88
|
-
[`${OVERWRITE_THEME_DARK_RICH_TEXT}`]: element.text.rich.advancedDark
|
|
89
|
-
}
|
|
90
|
-
})}
|
|
91
|
-
`;
|
|
92
|
-
const IndicatorContainerStyles = `
|
|
93
|
-
.${ELEMENT_CAROUSEL_INDICATOR_WRAPPER} {
|
|
94
|
-
padding: ${token.spacing.md};
|
|
95
|
-
background-color: ${token.color.gray.lightest};
|
|
96
|
-
display: flex;
|
|
97
|
-
justify-content: center;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
@container ${ELEMENT_NAME} (min-width: ${MEDIUM}px) {
|
|
101
|
-
.${ELEMENT_CAROUSEL_INDICATOR_WRAPPER} {
|
|
102
|
-
padding: ${token.spacing.lg};
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
`;
|
|
106
|
-
const OverlayImageContainerStyles = `
|
|
107
|
-
.${ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER} {
|
|
108
|
-
display: flex;
|
|
109
|
-
justify-content: center;
|
|
110
|
-
align-items: center;
|
|
111
|
-
background-color: ${token.color.gray.dark};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.${ELEMENT_CAROUSEL_OVERLAY_IMAGE_COINTAINER} img {
|
|
115
|
-
object-fit: contain;
|
|
116
|
-
max-height: 100%;
|
|
117
|
-
}
|
|
118
|
-
`;
|
|
119
|
-
const TextContainerStyles = `
|
|
120
|
-
.${ELEMENT_SLIDE_TEXT_CONTAINER} {
|
|
121
|
-
padding: ${token.spacing.md};
|
|
122
|
-
padding-bottom: 0;
|
|
123
|
-
background-color: ${token.color.gray.lightest};
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
@container ${ELEMENT_NAME} (min-width: ${MEDIUM}px) {
|
|
127
|
-
.${ELEMENT_SLIDE_TEXT_CONTAINER} {
|
|
128
|
-
padding: ${token.spacing.lg};
|
|
129
|
-
padding-bottom: 0;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
${jssToCSS({
|
|
134
|
-
styleObj: {
|
|
135
|
-
[`.${ELEMENT_SLIDE_HEADLINE}`]: typography.sans.large
|
|
136
|
-
}
|
|
137
|
-
})}
|
|
138
|
-
|
|
139
|
-
.${ELEMENT_SLIDE_RICH_TEXT} {
|
|
140
|
-
margin-top: ${token.spacing.min};
|
|
141
|
-
color: ${token.color.gray.dark}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
${jssToCSS({
|
|
145
|
-
styleObj: {
|
|
146
|
-
[`.${ELEMENT_SLIDE_RICH_TEXT}`]: element.text.rich.advanced
|
|
147
|
-
}
|
|
148
|
-
})}
|
|
149
|
-
`;
|
|
150
|
-
const ImageContainerStyles = `
|
|
151
|
-
.${ELEMENT_SLIDE_IMAGE_CONTAINER} {
|
|
152
|
-
position: relative;
|
|
153
|
-
background-color: ${token.color.black};
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
.${ELEMENT_SLIDE_IMAGE_WRAPPER} {
|
|
157
|
-
height: 100%;
|
|
158
|
-
width: 100%;
|
|
159
|
-
position: absolute;
|
|
160
|
-
top: 0;
|
|
161
|
-
left: 50%;
|
|
162
|
-
transform: translateX(-50%);
|
|
163
|
-
display: flex;
|
|
164
|
-
justify-content: center;
|
|
165
|
-
align-items: center;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
.${ELEMENT_SLIDE_IMAGE_WRAPPER} > * {
|
|
169
|
-
height: 100%;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
.${ELEMENT_SLIDE_IMAGE_CONTAINER} img {
|
|
173
|
-
object-fit: contain;
|
|
174
|
-
max-height: 100%;
|
|
175
|
-
}
|
|
176
|
-
`;
|
|
177
|
-
const STYLES_CAROUSEL_IMAGE_STANDARD_ELEMENT = `
|
|
178
|
-
.${ELEMENT_CAROUSEL_IMAGE_DECLARATION} {
|
|
179
|
-
container: ${ELEMENT_NAME} / inline-size;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
.${ELEMENT_CAROUSEL_IMAGE_CONTAINER} {
|
|
183
|
-
overflow: hidden;
|
|
184
|
-
background-color: ${token.color.gray.lightest};
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
${layoutImage.Styles}
|
|
188
|
-
${ImageContainerStyles}
|
|
189
|
-
${TextContainerStyles}
|
|
190
|
-
${OverlayImageContainerStyles}
|
|
191
|
-
${IndicatorContainerStyles}
|
|
192
|
-
${OverwriteThemeDark}
|
|
193
|
-
`;
|
|
194
35
|
const createCompositeCarouselImageStandard = (props) => (() => {
|
|
195
|
-
const { images, isThemeDark, isFullScreenOption } = props;
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
const elementIndicator = document.createElement("div");
|
|
199
|
-
const overlayCarousel = createCompositeCarouselOverlay({
|
|
200
|
-
images
|
|
201
|
-
});
|
|
202
|
-
let styles = STYLES_CAROUSEL_IMAGE_STANDARD_ELEMENT;
|
|
203
|
-
styles += overlayCarousel.styles;
|
|
36
|
+
const { images, isThemeDark, isFullScreenOption, isToggleCaption = true } = props;
|
|
37
|
+
const overlayCarousel = createCompositeCarouselOverlay({ images, isToggleCaption });
|
|
38
|
+
let buttonStyles = "";
|
|
204
39
|
const CreateTextContainer = ({
|
|
205
40
|
headlines,
|
|
206
41
|
texts,
|
|
207
42
|
reference
|
|
208
43
|
}) => {
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
)
|
|
213
|
-
|
|
214
|
-
(
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
44
|
+
const headline = headlines && headlines.find((item) => item.getAttribute(ATTRIBUTE_REFERENCE) === reference);
|
|
45
|
+
const richText = texts && texts.find((item) => item.getAttribute(ATTRIBUTE_REFERENCE) === reference);
|
|
46
|
+
if (!headline && !richText) return null;
|
|
47
|
+
const createHeadline = () => {
|
|
48
|
+
if (!headline) return null;
|
|
49
|
+
return new ElementBuilder(headline).withClassName("carousel-image-standard-slide-headline").styled(typography.sans.large);
|
|
50
|
+
};
|
|
51
|
+
const createRichText = () => {
|
|
52
|
+
if (!richText) return null;
|
|
53
|
+
return new ElementBuilder(richText).withClassName("carousel-image-standard-slide-rich-text").withStyles({
|
|
54
|
+
element: {
|
|
55
|
+
marginTop: token.spacing.min,
|
|
56
|
+
color: token.color.gray.dark,
|
|
57
|
+
...element.text.rich.advanced,
|
|
58
|
+
...isThemeDark && {
|
|
59
|
+
color: token.color.white,
|
|
60
|
+
...element.text.rich.advancedDark
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
const textChildren = [createHeadline(), createRichText()].filter((child) => child !== null);
|
|
66
|
+
return new ElementBuilder().withClassName("carousel-image-standard-slide-text").withStyles({
|
|
67
|
+
element: {
|
|
68
|
+
padding: token.spacing.md,
|
|
69
|
+
paddingBottom: 0,
|
|
70
|
+
backgroundColor: token.color.gray.lightest,
|
|
71
|
+
...isThemeDark && {
|
|
72
|
+
backgroundColor: token.color.black,
|
|
73
|
+
"& *": { color: token.color.white }
|
|
74
|
+
},
|
|
75
|
+
[`@media (${token.media.queries.tablet.min})`]: {
|
|
76
|
+
paddingBottom: token.spacing.md
|
|
77
|
+
},
|
|
78
|
+
"@container (min-width: 500px)": {
|
|
79
|
+
padding: token.spacing.lg
|
|
80
|
+
}
|
|
225
81
|
}
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
return null;
|
|
82
|
+
}).withChildren(...textChildren).build();
|
|
229
83
|
};
|
|
230
84
|
const CreateImageContainer = ({
|
|
231
85
|
image,
|
|
@@ -233,96 +87,128 @@ const createCompositeCarouselImageStandard = (props) => (() => {
|
|
|
233
87
|
setFullScreen,
|
|
234
88
|
index: index$1
|
|
235
89
|
}) => {
|
|
236
|
-
const
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
90
|
+
const imageBlock = createLayoutImageContainer({ image, showCaption: true, isToggleCaption });
|
|
91
|
+
const standardSlideWrapperElement = new ElementBuilder().withClassName("carousel-image-standard-slide-wrapper").withStyles({
|
|
92
|
+
element: {
|
|
93
|
+
width: "100%",
|
|
94
|
+
height: "100%",
|
|
95
|
+
display: "flex",
|
|
96
|
+
justifyContent: "center",
|
|
97
|
+
alignItems: "center",
|
|
98
|
+
"& > *": { height: "100%" },
|
|
99
|
+
"& img": { objectFit: "contain", width: "100%", height: "100%" }
|
|
100
|
+
}
|
|
101
|
+
}).withChild(imageBlock).build();
|
|
245
102
|
if (isFullScreenOption2) {
|
|
246
|
-
const
|
|
103
|
+
const buttonFullscreen = fullscreen.create({
|
|
247
104
|
callback: setFullScreen,
|
|
248
105
|
index: index$1
|
|
249
106
|
});
|
|
250
|
-
imageBlock.appendChild(
|
|
251
|
-
|
|
107
|
+
imageBlock.element.appendChild(buttonFullscreen.element);
|
|
108
|
+
buttonStyles += buttonFullscreen.styles;
|
|
252
109
|
}
|
|
253
|
-
|
|
254
|
-
|
|
110
|
+
return new ElementBuilder().withClassName("carousel-image-standard-slide-image").withStyles({
|
|
111
|
+
element: {
|
|
112
|
+
position: "relative",
|
|
113
|
+
backgroundColor: token.color.black,
|
|
114
|
+
...isThemeDark && { backgroundColor: token.color.gray.darker }
|
|
115
|
+
}
|
|
116
|
+
}).withChild(standardSlideWrapperElement).build();
|
|
255
117
|
};
|
|
256
|
-
const CreateSlide = (
|
|
257
|
-
const { images: images2, setFullScreen } =
|
|
118
|
+
const CreateSlide = (slideProps) => {
|
|
119
|
+
const { images: images2, setFullScreen } = slideProps;
|
|
258
120
|
const clonedImages = images2.map(
|
|
259
121
|
(image) => image.cloneNode(true)
|
|
260
122
|
);
|
|
261
|
-
|
|
123
|
+
const createStandardSlide = ({
|
|
124
|
+
image,
|
|
125
|
+
index
|
|
126
|
+
}) => {
|
|
262
127
|
const reference = image.getAttribute(ATTRIBUTE_REFERENCE);
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
...props2,
|
|
128
|
+
const imageContainerModel = CreateImageContainer({
|
|
129
|
+
...slideProps,
|
|
266
130
|
image,
|
|
267
131
|
setFullScreen,
|
|
268
132
|
index
|
|
269
133
|
});
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
134
|
+
const textContainerModel = CreateTextContainer({
|
|
135
|
+
...slideProps,
|
|
136
|
+
reference
|
|
137
|
+
});
|
|
138
|
+
const slideChildren = [imageContainerModel, textContainerModel].filter((child) => child !== null);
|
|
139
|
+
return new ElementBuilder().withClassName("carousel-image-standard-slide").withChildren(...slideChildren).build();
|
|
140
|
+
};
|
|
141
|
+
return clonedImages.map((image, index) => {
|
|
142
|
+
return createStandardSlide({ image, index });
|
|
275
143
|
});
|
|
276
144
|
};
|
|
277
|
-
const
|
|
145
|
+
const slideModels = CreateSlide({
|
|
278
146
|
...props,
|
|
279
147
|
setFullScreen: overlayCarousel.events.setFullScreen
|
|
280
148
|
});
|
|
149
|
+
const slides = slideModels.map((model) => model.element);
|
|
150
|
+
const slideStyles = slideModels.reduce(
|
|
151
|
+
(accumulator, model) => accumulator + (model.styles ?? ""),
|
|
152
|
+
""
|
|
153
|
+
);
|
|
281
154
|
const carousel = createCompositeCarouselImage({
|
|
282
155
|
slides,
|
|
156
|
+
isThemeDark,
|
|
283
157
|
callback: (activeIndex) => {
|
|
284
|
-
|
|
158
|
+
indicatorWrapperModel.position(activeIndex);
|
|
285
159
|
},
|
|
286
|
-
maxHeight: 500
|
|
160
|
+
maxHeight: 500,
|
|
161
|
+
includeButtonWrapper: false
|
|
287
162
|
});
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
count: images.length || 0,
|
|
163
|
+
const indicatorWrapperModel = createCarouselIndicatorWrapper({
|
|
164
|
+
count: images.length,
|
|
291
165
|
callback: carousel.events.EventMoveTo,
|
|
292
166
|
isThemeDark,
|
|
293
|
-
|
|
294
|
-
overlayColor: token.color.gray.lightest
|
|
295
|
-
}
|
|
167
|
+
isBackground: true
|
|
296
168
|
});
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
elementDeclaration.classList.add(ELEMENT_CAROUSEL_IMAGE_DECLARATION);
|
|
305
|
-
elementDeclaration.appendChild(elementContainer);
|
|
306
|
-
images[images.length - 1].addEventListener("load", carousel.events.Load);
|
|
307
|
-
const responseOptions = {
|
|
308
|
-
styles,
|
|
309
|
-
events: {
|
|
310
|
-
SetEventReize: carousel.events.EventResize
|
|
169
|
+
const indicatorContainerModel = new ElementBuilder().withClassName("carousel-image-standard-indicator").withStyles({
|
|
170
|
+
element: {
|
|
171
|
+
backgroundColor: token.color.gray.lightest,
|
|
172
|
+
...isThemeDark && { backgroundColor: token.color.black },
|
|
173
|
+
[`@media (${token.media.queries.desktop.min})`]: {
|
|
174
|
+
paddingBottom: token.spacing.lg
|
|
175
|
+
}
|
|
311
176
|
}
|
|
312
|
-
};
|
|
177
|
+
}).withChild(indicatorWrapperModel).build();
|
|
178
|
+
const buttonWrapperModel = new ElementBuilder().withClassName("carousel-image-standard-buttons").withStyles({
|
|
179
|
+
element: {
|
|
180
|
+
display: "flex",
|
|
181
|
+
justifyContent: "center",
|
|
182
|
+
gap: token.spacing.min,
|
|
183
|
+
padding: `${token.spacing.md} 0`,
|
|
184
|
+
backgroundColor: token.color.gray.lightest,
|
|
185
|
+
...isThemeDark && { backgroundColor: token.color.black }
|
|
186
|
+
}
|
|
187
|
+
}).withChildren(carousel.buttons.prev, carousel.buttons.next).build();
|
|
188
|
+
const containerModel = new ElementBuilder().withClassName("carousel-image-standard-container").withStyles({
|
|
189
|
+
element: {
|
|
190
|
+
position: "relative",
|
|
191
|
+
backgroundColor: token.color.gray.lightest,
|
|
192
|
+
...isThemeDark && { backgroundColor: token.color.black }
|
|
193
|
+
}
|
|
194
|
+
}).withChildren(carousel, indicatorContainerModel, buttonWrapperModel).build();
|
|
195
|
+
const declarationModel = new ElementBuilder().withClassName("carousel-image-standard-declaration").withStyles({
|
|
196
|
+
element: { containerType: "inline-size" }
|
|
197
|
+
}).withChild(containerModel).withEvents({ SetEventReize: carousel.events.EventResize }).build();
|
|
198
|
+
declarationModel.styles = combineStyles(
|
|
199
|
+
slideStyles,
|
|
200
|
+
overlayCarousel.styles,
|
|
201
|
+
buttonStyles,
|
|
202
|
+
declarationModel.styles
|
|
203
|
+
);
|
|
204
|
+
images[images.length - 1].addEventListener("load", carousel.events.Load);
|
|
313
205
|
if (isFullScreenOption) {
|
|
314
|
-
const
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
return
|
|
318
|
-
element: element2,
|
|
319
|
-
...responseOptions
|
|
320
|
-
};
|
|
206
|
+
const wrapperModel = new ElementBuilder().withChild(declarationModel).withModifier((element2) => {
|
|
207
|
+
element2.insertAdjacentElement("afterbegin", overlayCarousel.element);
|
|
208
|
+
}).withEvents({ SetEventReize: carousel.events.EventResize }).build();
|
|
209
|
+
return wrapperModel;
|
|
321
210
|
}
|
|
322
|
-
return
|
|
323
|
-
element: elementDeclaration,
|
|
324
|
-
...responseOptions
|
|
325
|
-
};
|
|
211
|
+
return declarationModel;
|
|
326
212
|
})();
|
|
327
213
|
export {
|
|
328
214
|
createCompositeCarouselImageStandard
|
|
@@ -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 = (\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
|
+
{"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 { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { combineStyles } from '@universityofmaryland/web-utilities-library/styles';\nimport * as carouselElements from '../elements';\nimport { buttons } from 'atomic';\nimport { createLayoutImageContainer } from 'layout';\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 = TypeFullScreen &\n TypesetFullScreen & {\n image: HTMLImageElement;\n index: number;\n };\n\ntype TypeCarouselSlideProps = TypeSlideContent &\n TypesetFullScreen &\n TypeFullScreen;\n\ntype TypeCarouselImageStandardProps = TypeSlideContent &\n TypeFullScreen & {\n isThemeDark?: boolean;\n isToggleCaption?: boolean;\n };\n\nconst ATTRIBUTE_REFERENCE = 'data-reference';\n\nexport const createCompositeCarouselImageStandard = (\n props: TypeCarouselImageStandardProps,\n) =>\n (() => {\n const { images, isThemeDark, isFullScreenOption, isToggleCaption = true } = props;\n const overlayCarousel = carouselElements.overlay({ images, isToggleCaption });\n let buttonStyles = '';\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 headline = headlines && headlines.find((item) => item.getAttribute(ATTRIBUTE_REFERENCE) === reference);\n const richText = texts && texts.find((item) => item.getAttribute(ATTRIBUTE_REFERENCE) === reference);\n\t\t\t\n if (!headline && !richText) return null;\n\n const createHeadline = () => {\n if (!headline) return null;\n return new ElementBuilder(headline)\n .withClassName('carousel-image-standard-slide-headline')\n .styled(typography.sans.large);\n };\n\n const createRichText = () => {\n if (!richText) return null;\n return new ElementBuilder(richText)\n .withClassName('carousel-image-standard-slide-rich-text')\n .withStyles({\n element: {\n marginTop: token.spacing.min,\n color: token.color.gray.dark,\n ...element.text.rich.advanced,\n ...(isThemeDark && {\n color: token.color.white,\n ...element.text.rich.advancedDark,\n }),\n },\n });\n };\n\n const textChildren = [createHeadline(), createRichText()].filter((child) => child !== null);\n\n return new ElementBuilder()\n .withClassName('carousel-image-standard-slide-text')\n .withStyles({\n element: {\n padding: token.spacing.md,\n paddingBottom: 0,\n backgroundColor: token.color.gray.lightest,\n ...(isThemeDark && {\n backgroundColor: token.color.black,\n '& *': { color: token.color.white },\n }),\n [`@media (${token.media.queries.tablet.min})`]: {\n paddingBottom: token.spacing.md,\n },\n '@container (min-width: 500px)': {\n padding: token.spacing.lg,\n },\n },\n })\n .withChildren(...textChildren)\n .build();\n };\n\n const CreateImageContainer = ({\n image,\n isFullScreenOption,\n setFullScreen,\n index,\n }: TypeImageContainerProps) => {\n const imageBlock = createLayoutImageContainer({ image, showCaption: true, isToggleCaption });\n\n const standardSlideWrapperElement = new ElementBuilder()\n .withClassName('carousel-image-standard-slide-wrapper')\n .withStyles({\n element: {\n width: '100%',\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n '& > *': { height: '100%' },\n '& img': { objectFit: 'contain', width: '100%', height: '100%' },\n },\n })\n .withChild(imageBlock)\n .build();\n\n if (isFullScreenOption) {\n const buttonFullscreen = buttons.fullscreen.create({\n callback: setFullScreen,\n index,\n });\n imageBlock.element.appendChild(buttonFullscreen.element);\n buttonStyles += buttonFullscreen.styles;\n }\n\n return new ElementBuilder()\n .withClassName('carousel-image-standard-slide-image')\n .withStyles({\n element: {\n position: 'relative',\n backgroundColor: token.color.black,\n ...(isThemeDark && { backgroundColor: token.color.gray.darker }),\n },\n })\n .withChild(standardSlideWrapperElement)\n .build();\n };\n\n const CreateSlide = (slideProps: TypeCarouselSlideProps) => {\n const { images, setFullScreen } = slideProps;\n const clonedImages = images.map((image) =>\n image.cloneNode(true),\n ) as HTMLImageElement[];\n\n const createStandardSlide = ({\n image,\n index,\n }: {\n image: HTMLImageElement;\n index: number;\n }) => {\n const reference = image.getAttribute(ATTRIBUTE_REFERENCE);\n const imageContainerModel = CreateImageContainer({\n ...slideProps,\n image,\n setFullScreen,\n index,\n });\n\n const textContainerModel = CreateTextContainer({\n ...slideProps,\n reference,\n });\n\n const slideChildren = [imageContainerModel, textContainerModel].filter((child) => child !== null);\n\n return new ElementBuilder()\n .withClassName('carousel-image-standard-slide')\n .withChildren(...slideChildren)\n .build();\n };\n\n return clonedImages.map((image, index) => {\n return createStandardSlide({ image, index });\n });\n };\n\n const slideModels = CreateSlide({\n ...props,\n setFullScreen: overlayCarousel.events.setFullScreen,\n });\n const slides = slideModels.map((model) => model.element);\n const slideStyles = slideModels.reduce(\n (accumulator, model) => accumulator + (model.styles ?? ''),\n '',\n );\n\n const carousel = carouselElements.image({\n slides,\n isThemeDark,\n callback: (activeIndex) => {\n indicatorWrapperModel.position(activeIndex);\n },\n maxHeight: 500,\n includeButtonWrapper: false,\n });\n\n const indicatorWrapperModel = carouselElements.indicatorWrapper({\n count: images.length,\n callback: carousel.events.EventMoveTo,\n isThemeDark,\n isBackground: true,\n });\n\n const indicatorContainerModel = new ElementBuilder()\n .withClassName('carousel-image-standard-indicator')\n .withStyles({\n element: {\n backgroundColor: token.color.gray.lightest,\n ...(isThemeDark && { backgroundColor: token.color.black }),\n [`@media (${token.media.queries.desktop.min})`]: {\n paddingBottom: token.spacing.lg,\n },\n },\n })\n .withChild(indicatorWrapperModel)\n .build();\n\n const buttonWrapperModel = new ElementBuilder()\n .withClassName('carousel-image-standard-buttons')\n .withStyles({\n element: {\n display: 'flex',\n justifyContent: 'center',\n gap: token.spacing.min,\n padding: `${token.spacing.md} 0`,\n backgroundColor: token.color.gray.lightest,\n ...(isThemeDark && { backgroundColor: token.color.black }),\n },\n })\n .withChildren(carousel.buttons.prev, carousel.buttons.next)\n .build();\n\n const containerModel = new ElementBuilder()\n .withClassName('carousel-image-standard-container')\n .withStyles({\n element: {\n position: 'relative',\n backgroundColor: token.color.gray.lightest,\n ...(isThemeDark && { backgroundColor: token.color.black }),\n },\n })\n .withChildren(carousel, indicatorContainerModel, buttonWrapperModel)\n .build();\n\n const declarationModel = new ElementBuilder()\n .withClassName('carousel-image-standard-declaration')\n .withStyles({\n element: { containerType: 'inline-size' },\n })\n .withChild(containerModel)\n .withEvents({ SetEventReize: carousel.events.EventResize })\n .build();\n\n declarationModel.styles = combineStyles(\n slideStyles,\n overlayCarousel.styles,\n buttonStyles,\n declarationModel.styles,\n );\n\n images[images.length - 1].addEventListener('load', carousel.events.Load);\n\n if (isFullScreenOption) {\n const wrapperModel = new ElementBuilder()\n .withChild(declarationModel)\n .withModifier((element) => {\n element.insertAdjacentElement('afterbegin', overlayCarousel.element);\n })\n .withEvents({ SetEventReize: carousel.events.EventResize })\n .build();\n\n return wrapperModel;\n }\n\n return declarationModel;\n })();\n"],"names":["carouselElements.overlay","isFullScreenOption","index","buttons.fullscreen","images","carouselElements.image","carouselElements.indicatorWrapper","element"],"mappings":"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"}
|
|
@@ -2,13 +2,6 @@ type TypeCarouselThumbnailProps = {
|
|
|
2
2
|
blocks: HTMLElement[];
|
|
3
3
|
isThemeDark?: boolean;
|
|
4
4
|
};
|
|
5
|
-
export declare const createCompositeCarouselThumbnail: (props: TypeCarouselThumbnailProps) =>
|
|
6
|
-
element: HTMLDivElement;
|
|
7
|
-
styles: string;
|
|
8
|
-
events: {
|
|
9
|
-
reize: () => void;
|
|
10
|
-
load: () => void;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
5
|
+
export declare const createCompositeCarouselThumbnail: (props: TypeCarouselThumbnailProps) => import('../../../../builder/dist/index.d.ts').ElementModel<HTMLElement>;
|
|
13
6
|
export {};
|
|
14
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/thumbnail/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/thumbnail/index.ts"],"names":[],"mappings":"AAIA,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,OAAO,0BAA0B,kFA0E7B,CAAC"}
|