@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.
Files changed (195) hide show
  1. package/README.md +1 -1
  2. package/dist/atomic/animations/brand/card-stack.js +2 -3
  3. package/dist/atomic/animations/brand/card-stack.js.map +1 -1
  4. package/dist/atomic/animations/brand/chevron-flow.d.ts +1 -7
  5. package/dist/atomic/animations/brand/chevron-flow.d.ts.map +1 -1
  6. package/dist/atomic/animations/brand/chevron-flow.js +82 -159
  7. package/dist/atomic/animations/brand/chevron-flow.js.map +1 -1
  8. package/dist/atomic/animations/brand/chevron-scroll.d.ts +1 -4
  9. package/dist/atomic/animations/brand/chevron-scroll.d.ts.map +1 -1
  10. package/dist/atomic/animations/brand/chevron-scroll.js +89 -143
  11. package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
  12. package/dist/atomic/assets/image/caption.d.ts +9 -0
  13. package/dist/atomic/assets/image/caption.d.ts.map +1 -0
  14. package/dist/atomic/assets/image/caption.js +166 -0
  15. package/dist/atomic/assets/image/caption.js.map +1 -0
  16. package/dist/atomic/assets/image/gif.d.ts.map +1 -1
  17. package/dist/atomic/assets/image/gif.js +6 -1
  18. package/dist/atomic/assets/image/gif.js.map +1 -1
  19. package/dist/atomic/assets/image/index.d.ts +1 -0
  20. package/dist/atomic/assets/image/index.d.ts.map +1 -1
  21. package/dist/atomic/assets/image/index.js +2 -0
  22. package/dist/atomic/assets/image/index.js.map +1 -1
  23. package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
  24. package/dist/atomic/assets/video/toggle.js +9 -2
  25. package/dist/atomic/assets/video/toggle.js.map +1 -1
  26. package/dist/atomic/buttons/fullscreen.d.ts +1 -0
  27. package/dist/atomic/buttons/fullscreen.d.ts.map +1 -1
  28. package/dist/atomic/buttons/fullscreen.js +35 -3
  29. package/dist/atomic/buttons/fullscreen.js.map +1 -1
  30. package/dist/atomic/layout/overlay/modal.d.ts +1 -10
  31. package/dist/atomic/layout/overlay/modal.d.ts.map +1 -1
  32. package/dist/atomic/layout/overlay/modal.js +28 -44
  33. package/dist/atomic/layout/overlay/modal.js.map +1 -1
  34. package/dist/atomic/layout/person/columns.js +2 -3
  35. package/dist/atomic/layout/person/columns.js.map +1 -1
  36. package/dist/atomic/text-lockup/date.d.ts +1 -4
  37. package/dist/atomic/text-lockup/date.d.ts.map +1 -1
  38. package/dist/atomic/text-lockup/date.js +42 -75
  39. package/dist/atomic/text-lockup/date.js.map +1 -1
  40. package/dist/composite/accordion/item.d.ts +3 -16
  41. package/dist/composite/accordion/item.d.ts.map +1 -1
  42. package/dist/composite/accordion/item.js +152 -245
  43. package/dist/composite/accordion/item.js.map +1 -1
  44. package/dist/composite/card/block.js +2 -3
  45. package/dist/composite/card/block.js.map +1 -1
  46. package/dist/composite/card/event-time.js +2 -3
  47. package/dist/composite/card/event-time.js.map +1 -1
  48. package/dist/composite/card/list.js +2 -3
  49. package/dist/composite/card/list.js.map +1 -1
  50. package/dist/composite/card/overlay/color.js +3 -3
  51. package/dist/composite/card/overlay/icon.js +3 -3
  52. package/dist/composite/card/overlay/image.d.ts.map +1 -1
  53. package/dist/composite/card/overlay/image.js +9 -12
  54. package/dist/composite/card/overlay/image.js.map +1 -1
  55. package/dist/composite/card/video/block.js +4 -3
  56. package/dist/composite/card/video/block.js.map +1 -1
  57. package/dist/composite/carousel/cards/index.d.ts +1 -8
  58. package/dist/composite/carousel/cards/index.d.ts.map +1 -1
  59. package/dist/composite/carousel/cards/index.js +163 -282
  60. package/dist/composite/carousel/cards/index.js.map +1 -1
  61. package/dist/composite/carousel/default/index.d.ts +9 -15
  62. package/dist/composite/carousel/default/index.d.ts.map +1 -1
  63. package/dist/composite/carousel/default/index.js +78 -129
  64. package/dist/composite/carousel/default/index.js.map +1 -1
  65. package/dist/composite/carousel/elements/equal-width-items.d.ts +37 -0
  66. package/dist/composite/carousel/elements/equal-width-items.d.ts.map +1 -0
  67. package/dist/composite/carousel/elements/{blocks.js → equal-width-items.js} +157 -227
  68. package/dist/composite/carousel/elements/equal-width-items.js.map +1 -0
  69. package/dist/composite/carousel/elements/full-screen.d.ts +3 -2
  70. package/dist/composite/carousel/elements/full-screen.d.ts.map +1 -1
  71. package/dist/composite/carousel/elements/full-screen.js +34 -41
  72. package/dist/composite/carousel/elements/full-screen.js.map +1 -1
  73. package/dist/composite/carousel/elements/image.d.ts +15 -2
  74. package/dist/composite/carousel/elements/image.d.ts.map +1 -1
  75. package/dist/composite/carousel/elements/image.js +176 -151
  76. package/dist/composite/carousel/elements/image.js.map +1 -1
  77. package/dist/composite/carousel/elements/index.d.ts +4 -1
  78. package/dist/composite/carousel/elements/index.d.ts.map +1 -1
  79. package/dist/composite/carousel/elements/indicator-wrapper.d.ts +13 -0
  80. package/dist/composite/carousel/elements/indicator-wrapper.d.ts.map +1 -0
  81. package/dist/composite/carousel/elements/indicator-wrapper.js +67 -0
  82. package/dist/composite/carousel/elements/indicator-wrapper.js.map +1 -0
  83. package/dist/composite/carousel/elements/nav-button.d.ts +82 -0
  84. package/dist/composite/carousel/elements/nav-button.d.ts.map +1 -0
  85. package/dist/composite/carousel/elements/nav-button.js +164 -0
  86. package/dist/composite/carousel/elements/nav-button.js.map +1 -0
  87. package/dist/composite/carousel/elements/overlay.d.ts +3 -2
  88. package/dist/composite/carousel/elements/overlay.d.ts.map +1 -1
  89. package/dist/composite/carousel/elements/overlay.js +85 -55
  90. package/dist/composite/carousel/elements/overlay.js.map +1 -1
  91. package/dist/composite/carousel/image/multiple.d.ts +2 -7
  92. package/dist/composite/carousel/image/multiple.d.ts.map +1 -1
  93. package/dist/composite/carousel/image/multiple.js +85 -150
  94. package/dist/composite/carousel/image/multiple.js.map +1 -1
  95. package/dist/composite/carousel/image/standard.d.ts +2 -7
  96. package/dist/composite/carousel/image/standard.d.ts.map +1 -1
  97. package/dist/composite/carousel/image/standard.js +148 -262
  98. package/dist/composite/carousel/image/standard.js.map +1 -1
  99. package/dist/composite/carousel/thumbnail/index.d.ts +1 -8
  100. package/dist/composite/carousel/thumbnail/index.d.ts.map +1 -1
  101. package/dist/composite/carousel/thumbnail/index.js +72 -113
  102. package/dist/composite/carousel/thumbnail/index.js.map +1 -1
  103. package/dist/composite/carousel/wide/container.d.ts +21 -20
  104. package/dist/composite/carousel/wide/container.d.ts.map +1 -1
  105. package/dist/composite/carousel/wide/container.js +37 -12
  106. package/dist/composite/carousel/wide/container.js.map +1 -1
  107. package/dist/composite/carousel/wide/controls.d.ts +5 -10
  108. package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
  109. package/dist/composite/carousel/wide/controls.js +24 -94
  110. package/dist/composite/carousel/wide/controls.js.map +1 -1
  111. package/dist/composite/carousel/wide/frames.d.ts +18 -10
  112. package/dist/composite/carousel/wide/frames.d.ts.map +1 -1
  113. package/dist/composite/carousel/wide/frames.js +60 -78
  114. package/dist/composite/carousel/wide/frames.js.map +1 -1
  115. package/dist/composite/carousel/wide/index.d.ts.map +1 -1
  116. package/dist/composite/carousel/wide/index.js +11 -19
  117. package/dist/composite/carousel/wide/index.js.map +1 -1
  118. package/dist/composite/hero/custom/expand.js +3 -4
  119. package/dist/composite/hero/custom/expand.js.map +1 -1
  120. package/dist/composite/hero/custom/grid.js +2 -3
  121. package/dist/composite/hero/custom/grid.js.map +1 -1
  122. package/dist/composite/hero/custom/video-arrow.js +4 -3
  123. package/dist/composite/hero/custom/video-arrow.js.map +1 -1
  124. package/dist/composite/hero/logo.js +3 -3
  125. package/dist/composite/hero/minimal.js +3 -3
  126. package/dist/composite/hero/overlay.js +5 -4
  127. package/dist/composite/hero/overlay.js.map +1 -1
  128. package/dist/composite/hero/stacked.js +3 -3
  129. package/dist/composite/hero/standard.js +4 -3
  130. package/dist/composite/hero/standard.js.map +1 -1
  131. package/dist/composite/layout/box/logo.d.ts +1 -4
  132. package/dist/composite/layout/box/logo.d.ts.map +1 -1
  133. package/dist/composite/layout/box/logo.js +55 -103
  134. package/dist/composite/layout/box/logo.js.map +1 -1
  135. package/dist/composite/layout/image/expand.d.ts +1 -4
  136. package/dist/composite/layout/image/expand.d.ts.map +1 -1
  137. package/dist/composite/layout/image/expand.js +136 -243
  138. package/dist/composite/layout/image/expand.js.map +1 -1
  139. package/dist/composite/layout/scroll-top/index.d.ts +1 -7
  140. package/dist/composite/layout/scroll-top/index.d.ts.map +1 -1
  141. package/dist/composite/layout/scroll-top/index.js +65 -77
  142. package/dist/composite/layout/scroll-top/index.js.map +1 -1
  143. package/dist/composite/layout/sticky-columns/index.d.ts +2 -2
  144. package/dist/composite/layout/sticky-columns/index.d.ts.map +1 -1
  145. package/dist/composite/layout/sticky-columns/index.js +42 -70
  146. package/dist/composite/layout/sticky-columns/index.js.map +1 -1
  147. package/dist/composite/media/elements/gif.js +3 -3
  148. package/dist/composite/media/inline/caption.d.ts +4 -2
  149. package/dist/composite/media/inline/caption.d.ts.map +1 -1
  150. package/dist/composite/media/inline/caption.js +56 -67
  151. package/dist/composite/media/inline/caption.js.map +1 -1
  152. package/dist/composite/media/inline/index.d.ts +9 -8
  153. package/dist/composite/media/inline/index.d.ts.map +1 -1
  154. package/dist/composite/media/inline/standard.d.ts +1 -4
  155. package/dist/composite/media/inline/standard.d.ts.map +1 -1
  156. package/dist/composite/media/inline/standard.js +16 -24
  157. package/dist/composite/media/inline/standard.js.map +1 -1
  158. package/dist/composite/media/inline/wrapped.d.ts +4 -2
  159. package/dist/composite/media/inline/wrapped.d.ts.map +1 -1
  160. package/dist/composite/media/inline/wrapped.js +80 -83
  161. package/dist/composite/media/inline/wrapped.js.map +1 -1
  162. package/dist/composite/navigation/utility/alert.js +3 -4
  163. package/dist/composite/navigation/utility/alert.js.map +1 -1
  164. package/dist/composite/pathway/_common.js +4 -3
  165. package/dist/composite/pathway/_common.js.map +1 -1
  166. package/dist/composite/pathway/hero.js +3 -3
  167. package/dist/composite/person/bio/full.js +3 -3
  168. package/dist/composite/person/bio/small.js +2 -3
  169. package/dist/composite/person/bio/small.js.map +1 -1
  170. package/dist/composite/person/block.js +2 -3
  171. package/dist/composite/person/block.js.map +1 -1
  172. package/dist/composite/person/hero.js +3 -3
  173. package/dist/composite/person/list.js +2 -3
  174. package/dist/composite/person/list.js.map +1 -1
  175. package/dist/composite/person/tabular.js +2 -3
  176. package/dist/composite/person/tabular.js.map +1 -1
  177. package/dist/composite/slider/events.d.ts +6 -12
  178. package/dist/composite/slider/events.d.ts.map +1 -1
  179. package/dist/composite/slider/events.js +304 -428
  180. package/dist/composite/slider/events.js.map +1 -1
  181. package/dist/layout/image.d.ts +5 -10
  182. package/dist/layout/image.d.ts.map +1 -1
  183. package/dist/layout/image.js +27 -88
  184. package/dist/layout/image.js.map +1 -1
  185. package/dist/layout/index.d.ts +1 -1
  186. package/dist/layout/index.d.ts.map +1 -1
  187. package/dist/layout.js +2 -2
  188. package/package.json +6 -6
  189. package/dist/composite/carousel/elements/blocks.d.ts +0 -42
  190. package/dist/composite/carousel/elements/blocks.d.ts.map +0 -1
  191. package/dist/composite/carousel/elements/blocks.js.map +0 -1
  192. package/dist/composite/carousel/wide/_elementModel.d.ts +0 -18
  193. package/dist/composite/carousel/wide/_elementModel.d.ts.map +0 -1
  194. package/dist/composite/carousel/wide/_elementModel.js +0 -29
  195. package/dist/composite/carousel/wide/_elementModel.js.map +0 -1
@@ -1,231 +1,85 @@
1
- import { token, element, typography } from "@universityofmaryland/web-styles-library";
2
- import { jssToCSS } from "@universityofmaryland/web-utilities-library/styles";
3
- import "../elements/blocks.js";
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 "../../../atomic/text-lockup/date.js";
27
+ import "@universityofmaryland/web-utilities-library/string";
28
+ import "@universityofmaryland/web-utilities-library/animation";
34
29
  import "../../../atomic/text-lockup/small.js";
35
- import { layoutImage } from "../../../layout/image.js";
36
- const MEDIUM = 500;
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 elementDeclaration = document.createElement("div");
197
- const elementContainer = document.createElement("div");
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 textContainer = document.createElement("div");
210
- const headline = headlines?.find(
211
- (headline2) => headline2.getAttribute(ATTRIBUTE_REFERENCE) === reference
212
- );
213
- const richText = texts?.find(
214
- (text) => text.getAttribute(ATTRIBUTE_REFERENCE) === reference
215
- );
216
- textContainer.classList.add(ELEMENT_SLIDE_TEXT_CONTAINER);
217
- if (headline || richText) {
218
- if (headline) {
219
- headline.classList.add(ELEMENT_SLIDE_HEADLINE);
220
- textContainer.appendChild(headline);
221
- }
222
- if (richText) {
223
- richText.classList.add(ELEMENT_SLIDE_RICH_TEXT);
224
- textContainer.appendChild(richText);
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
- return textContainer;
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 imageContainer = document.createElement("div");
237
- const imageWrapper = document.createElement("div");
238
- const imageBlock = layoutImage.CreateElement({
239
- image,
240
- showCaption: true
241
- });
242
- imageContainer.classList.add(ELEMENT_SLIDE_IMAGE_CONTAINER);
243
- imageWrapper.classList.add(ELEMENT_SLIDE_IMAGE_WRAPPER);
244
- imageWrapper.appendChild(imageBlock);
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 button = fullscreen.create({
103
+ const buttonFullscreen = fullscreen.create({
247
104
  callback: setFullScreen,
248
105
  index: index$1
249
106
  });
250
- imageBlock.appendChild(button.element);
251
- styles += button.styles;
107
+ imageBlock.element.appendChild(buttonFullscreen.element);
108
+ buttonStyles += buttonFullscreen.styles;
252
109
  }
253
- imageContainer.appendChild(imageWrapper);
254
- return imageContainer;
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 = (props2) => {
257
- const { images: images2, setFullScreen } = props2;
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
- return clonedImages.map((image, index) => {
123
+ const createStandardSlide = ({
124
+ image,
125
+ index
126
+ }) => {
262
127
  const reference = image.getAttribute(ATTRIBUTE_REFERENCE);
263
- const slide = document.createElement("div");
264
- const imageContainer = CreateImageContainer({
265
- ...props2,
128
+ const imageContainerModel = CreateImageContainer({
129
+ ...slideProps,
266
130
  image,
267
131
  setFullScreen,
268
132
  index
269
133
  });
270
- const textContainer = CreateTextContainer({ ...props2, reference });
271
- slide.classList.add(ELEMENT_SLIDE);
272
- slide.appendChild(imageContainer);
273
- if (textContainer) slide.appendChild(textContainer);
274
- return slide;
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 slides = CreateSlide({
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
- indicator.position(activeIndex);
158
+ indicatorWrapperModel.position(activeIndex);
285
159
  },
286
- maxHeight: 500
160
+ maxHeight: 500,
161
+ includeButtonWrapper: false
287
162
  });
288
- styles += carousel.styles;
289
- const indicator = createAnimationIndicator({
290
- count: images.length || 0,
163
+ const indicatorWrapperModel = createCarouselIndicatorWrapper({
164
+ count: images.length,
291
165
  callback: carousel.events.EventMoveTo,
292
166
  isThemeDark,
293
- ...!isThemeDark && {
294
- overlayColor: token.color.gray.lightest
295
- }
167
+ isBackground: true
296
168
  });
297
- styles += indicator.styles;
298
- elementIndicator.classList.add(ELEMENT_CAROUSEL_INDICATOR_WRAPPER);
299
- elementIndicator.appendChild(indicator.element);
300
- elementContainer.classList.add(ELEMENT_CAROUSEL_IMAGE_CONTAINER);
301
- elementContainer.appendChild(carousel.element);
302
- elementContainer.appendChild(elementIndicator);
303
- if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);
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 element2 = document.createElement("div");
315
- element2.appendChild(overlayCarousel.element);
316
- element2.appendChild(elementDeclaration);
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":"AAGA,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAkGF,eAAO,MAAM,gCAAgC,GAAI,OAAO,0BAA0B;;;;;;;CA0C5E,CAAC"}
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"}