@universityofmaryland/web-elements-library 1.6.16 → 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 (198) 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/elements/slider/slide-first.d.ts.map +1 -1
  163. package/dist/composite/navigation/elements/slider/slide-first.js +4 -1
  164. package/dist/composite/navigation/elements/slider/slide-first.js.map +1 -1
  165. package/dist/composite/navigation/utility/alert.js +3 -4
  166. package/dist/composite/navigation/utility/alert.js.map +1 -1
  167. package/dist/composite/pathway/_common.js +4 -3
  168. package/dist/composite/pathway/_common.js.map +1 -1
  169. package/dist/composite/pathway/hero.js +3 -3
  170. package/dist/composite/person/bio/full.js +3 -3
  171. package/dist/composite/person/bio/small.js +2 -3
  172. package/dist/composite/person/bio/small.js.map +1 -1
  173. package/dist/composite/person/block.js +2 -3
  174. package/dist/composite/person/block.js.map +1 -1
  175. package/dist/composite/person/hero.js +3 -3
  176. package/dist/composite/person/list.js +2 -3
  177. package/dist/composite/person/list.js.map +1 -1
  178. package/dist/composite/person/tabular.js +2 -3
  179. package/dist/composite/person/tabular.js.map +1 -1
  180. package/dist/composite/slider/events.d.ts +6 -12
  181. package/dist/composite/slider/events.d.ts.map +1 -1
  182. package/dist/composite/slider/events.js +304 -428
  183. package/dist/composite/slider/events.js.map +1 -1
  184. package/dist/layout/image.d.ts +5 -10
  185. package/dist/layout/image.d.ts.map +1 -1
  186. package/dist/layout/image.js +27 -88
  187. package/dist/layout/image.js.map +1 -1
  188. package/dist/layout/index.d.ts +1 -1
  189. package/dist/layout/index.d.ts.map +1 -1
  190. package/dist/layout.js +2 -2
  191. package/package.json +5 -5
  192. package/dist/composite/carousel/elements/blocks.d.ts +0 -42
  193. package/dist/composite/carousel/elements/blocks.d.ts.map +0 -1
  194. package/dist/composite/carousel/elements/blocks.js.map +0 -1
  195. package/dist/composite/carousel/wide/_elementModel.d.ts +0 -18
  196. package/dist/composite/carousel/wide/_elementModel.d.ts.map +0 -1
  197. package/dist/composite/carousel/wide/_elementModel.js +0 -29
  198. package/dist/composite/carousel/wide/_elementModel.js.map +0 -1
@@ -1,70 +1,14 @@
1
1
  import * as token from "@universityofmaryland/web-token-library";
2
- import * as elementStyles from "@universityofmaryland/web-styles-library/element";
2
+ import { ElementBuilder } from "@universityofmaryland/web-builder-library";
3
3
  import { debounce } from "@universityofmaryland/web-utilities-library/performance";
4
4
  import { setupSwipeDetection } from "@universityofmaryland/web-utilities-library/events";
5
5
  import { parsePixelValue } from "@universityofmaryland/web-utilities-library/styles";
6
- import { arrow_right } from "@universityofmaryland/web-icons-library/arrows";
7
- const fullScreenClassName = elementStyles.action.button.fullScreen.className;
8
- const ATTRIBUTE_SINGLE_BLOCK = "single";
6
+ import { CreateButton, ButtonVisibility } from "./nav-button.js";
7
+ import { createCaption } from "../../../atomic/assets/image/caption.js";
8
+ import { fullscreen } from "../../../atomic/buttons/fullscreen.js";
9
9
  const ANIMATION_DURATION = 750;
10
10
  const HINT_MULTIPLER_MOBILE_SIZING = 0.2;
11
11
  const HINT_MULTIPLER_SIZING = 0.6;
12
- const IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;
13
- const ELEMENT_NAME = "umd-element-animation-carousel-block";
14
- const ELEMENT_ANIMATION_CAROUSEL_DECLARATION = "animation-carousel-block-declaration";
15
- const ELEMENT_ANIMATION_CAROUSEL_CONTAINER = "animation-carousel-block-container";
16
- const ELEMENT_ANIMATION_CAROUSEL_WRAPPER = "animation-carousel-block-wrapper";
17
- const ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;
18
- const ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;
19
- const ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;
20
- const OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;
21
- const ButtonStyles = `
22
- .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {
23
- background-color: ${token.color.red};
24
- padding: 10px ${token.spacing.xs};
25
- position: absolute;
26
- z-index: 9999;
27
- display: flex;
28
- justify-content: center;
29
- align-items: center;
30
- cursor: pointer;
31
- display: none;
32
- }
33
-
34
- .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {
35
- opacity: 0.5;
36
- }
37
-
38
- .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {
39
- width: 20px;
40
- height: 20px;
41
- fill: ${token.color.white};
42
- }
43
-
44
- .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {
45
- transform: rotate(180deg);
46
- }
47
- `;
48
- const ContainerStyles = `
49
- .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {
50
- position: relative;
51
- }
52
-
53
- .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {
54
- overflow: hidden;
55
- padding-right: 0;
56
- width: 100%;
57
- }
58
- `;
59
- const STYLES_CAROUSEL_CARDS_ELEMENT = `
60
- .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {
61
- container: ${ELEMENT_NAME} / inline-size;
62
- width: 100%;
63
- }
64
-
65
- ${ContainerStyles}
66
- ${ButtonStyles}
67
- `;
68
12
  const EventScrollCarousel = (props) => {
69
13
  const {
70
14
  GetElements,
@@ -81,27 +25,30 @@ const EventScrollCarousel = (props) => {
81
25
  const isShowMobileHint = GetViewOptions.shouldShowMobileHint();
82
26
  const isShowHint = GetViewOptions.shouldShowHint();
83
27
  const count = GetViewOptions.showCount();
84
- void slotContent[0]?.offsetHeight;
85
- const elementSize = slotContent[0]?.offsetWidth || 0;
28
+ const firstSlot = slotContent[0];
29
+ if (!firstSlot) return;
30
+ const elementSize = firstSlot.offsetWidth;
86
31
  const carouselSize = GetSizes.carouselWidthBasedOnBlock({ count });
87
32
  const { fullScreenCallback } = displayLogic;
88
33
  if (!elementSize) return;
89
34
  const elementSizeWithSpace = elementSize;
90
35
  const temporaryCarouselSize = carouselSize + elementSizeWithSpace;
91
36
  const cloneReferenceEvents = ({
92
- orginal,
37
+ original,
93
38
  clone
94
39
  }) => {
95
- const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);
40
+ const fullScreenClassName = fullscreen.className;
41
+ const originalFullScreen = original.querySelector(`.${fullScreenClassName}`);
96
42
  const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);
97
- if (orginalFullScreen && cloneFullScreen) {
98
- const indexAttr = orginalFullScreen.getAttribute("data-index");
43
+ if (originalFullScreen && cloneFullScreen) {
44
+ const indexAttr = originalFullScreen.getAttribute("data-index");
99
45
  const index = indexAttr ? parseInt(indexAttr) : 0;
100
46
  cloneFullScreen.addEventListener(
101
47
  "click",
102
48
  () => fullScreenCallback(index)
103
49
  );
104
50
  }
51
+ createCaption.bindToggle(clone);
105
52
  };
106
53
  const animateRight = () => {
107
54
  const firstElement = slotContent[0];
@@ -109,7 +56,7 @@ const EventScrollCarousel = (props) => {
109
56
  const upcomingElement = slotContent[count];
110
57
  const hintElement = slotContent[count + 1];
111
58
  upcomingElement.style.display = "block";
112
- cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });
59
+ cloneReferenceEvents({ original: firstElement, clone: clonedElement });
113
60
  if (hintElement && (isShowMobileHint || isShowHint)) {
114
61
  hintElement.style.display = "block";
115
62
  }
@@ -131,7 +78,7 @@ const EventScrollCarousel = (props) => {
131
78
  const removedElement = slotContent[count - 1];
132
79
  const hintElementSibiling = slotContent[count];
133
80
  const clonedElement = lastElement.cloneNode(true);
134
- cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });
81
+ cloneReferenceEvents({ original: lastElement, clone: clonedElement });
135
82
  carouselSlider.style.width = `${temporaryCarouselSize}px`;
136
83
  carouselSlider.prepend(clonedElement);
137
84
  clonedElement.style.display = "block";
@@ -152,13 +99,17 @@ const EventScrollCarousel = (props) => {
152
99
  }, ANIMATION_DURATION);
153
100
  });
154
101
  };
155
- isDirectionRight ? animateRight() : animateLeft();
102
+ if (isDirectionRight) {
103
+ animateRight();
104
+ } else {
105
+ animateLeft();
106
+ }
156
107
  };
157
108
  const EventSwipe = (props) => {
158
109
  const { GetElements } = props;
159
110
  const container = GetElements.container();
160
- const swipes = (isrightswipe) => {
161
- if (!isrightswipe) {
111
+ const swipes = (isRightSwipe) => {
112
+ if (!isRightSwipe) {
162
113
  EventScrollCarousel(props);
163
114
  } else {
164
115
  EventScrollCarousel({ ...props, isDirectionRight: false });
@@ -166,106 +117,46 @@ const EventSwipe = (props) => {
166
117
  };
167
118
  setupSwipeDetection({ container, callback: swipes });
168
119
  };
169
- const ButtonVisibility = (props) => {
170
- const { GetElements, GetViewOptions } = props;
171
- const prevousButton = GetElements.container().querySelector(
172
- `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`
173
- );
174
- const nextButton = GetElements.container().querySelector(
175
- `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`
176
- );
177
- const buttons = [nextButton, prevousButton];
178
- const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();
179
- const shouldShowRightButton = GetViewOptions.shouldShowRightButton();
180
- const showCount = GetViewOptions.showCount();
181
- const cardsTotal = GetElements.blocks().length;
182
- const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;
183
- const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;
184
- if (cardsTotal === showCount) {
185
- buttons.forEach((button) => button.style.display = "none");
186
- return;
187
- }
188
- if (shouldHideLeftButton) {
189
- prevousButton.style.display = "none";
190
- } else {
191
- prevousButton.style.display = "block";
192
- }
193
- if (shouldHideRightButton) {
194
- nextButton.style.display = "none";
195
- } else {
196
- nextButton.style.display = "block";
197
- }
198
- };
199
- const ButtonDisplay = (props) => {
200
- const { GetElements } = props;
201
- const prevousButton = GetElements.container().querySelector(
202
- `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`
203
- );
204
- const nextButton = GetElements.container().querySelector(
205
- `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`
206
- );
207
- prevousButton.setAttribute("aria-label", "Previous");
208
- nextButton.setAttribute("aria-label", "Next");
209
- ButtonVisibility(props);
210
- };
211
- const CreateButton = ({
212
- EventMoveForward,
213
- EventMoveBackward,
214
- isRight = true
215
- }) => {
216
- const button = document.createElement("button");
217
- button.setAttribute("type", "button");
218
- button.setAttribute("aria-label", "Next");
219
- button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);
220
- button.innerHTML = arrow_right;
221
- if (isRight) {
222
- button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);
223
- }
224
- if (!isRight) {
225
- button.setAttribute("aria-label", "Previous");
226
- button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);
227
- }
228
- button.addEventListener("click", () => {
229
- if (isRight) EventMoveForward();
230
- if (!isRight) EventMoveBackward();
231
- button.disabled = true;
232
- setTimeout(() => {
233
- button.disabled = false;
234
- }, ANIMATION_DURATION);
235
- });
236
- return button;
237
- };
238
120
  const CreateCarouselCardsElement = (props) => (() => {
239
- const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;
240
- const declaration = document.createElement("div");
241
- const container = document.createElement("div");
242
- const wrapper = document.createElement("div");
121
+ const {
122
+ slide,
123
+ shadowRef,
124
+ blocks,
125
+ mobileBreakpoint = token.media.breakpointValues.medium.max,
126
+ tabletBreakpoint = token.media.breakpointValues.tablet.min,
127
+ desktopBreakpoint = token.media.breakpointValues.desktop.min,
128
+ mobileCount = 1,
129
+ tabletCount = 2,
130
+ desktopCount = 3,
131
+ maxCount = 4,
132
+ blockGap = parsePixelValue(token.spacing.lg),
133
+ hasLeftButton = true,
134
+ hasRightButton = true,
135
+ showMobileHint = true,
136
+ showHint = true,
137
+ fullScreenCallback,
138
+ button
139
+ } = props;
243
140
  const displayLogic = {
244
- mobileBreakpoint: 550,
245
- tabletBreakpoint: 768,
246
- desktopBreakpoint: 1e3,
247
- mobileCount: 1,
248
- tabletCount: 2,
249
- desktopCount: 3,
250
- maxCount: 4,
251
- blockGap: parsePixelValue(token.spacing.lg),
252
- hasRightButton: true,
253
- hasLeftButton: true,
254
- showMobileHint: true,
255
- showHint: true,
256
- fullScreenCallback: void 0
141
+ mobileBreakpoint,
142
+ tabletBreakpoint,
143
+ desktopBreakpoint,
144
+ mobileCount,
145
+ tabletCount,
146
+ desktopCount,
147
+ maxCount,
148
+ blockGap,
149
+ hasLeftButton,
150
+ hasRightButton,
151
+ showMobileHint,
152
+ showHint,
153
+ fullScreenCallback
257
154
  };
258
155
  let blockWidth = 0;
259
156
  let hasInteractionOccured = false;
260
- if (overwriteDisplayLogic) {
261
- Object.keys(overwriteDisplayLogic).forEach((key) => {
262
- const refKey = key;
263
- const refValue = overwriteDisplayLogic[refKey];
264
- displayLogic[refKey] = refValue;
265
- });
266
- }
157
+ let containerElement = null;
267
158
  const GetElements = {
268
- container: () => container,
159
+ container: () => containerElement,
269
160
  slide: () => slide,
270
161
  blocks: () => blocks
271
162
  };
@@ -288,17 +179,21 @@ const CreateCarouselCardsElement = (props) => (() => {
288
179
  const isDesktop = GetViewOptions.isDesktopView();
289
180
  const isHighDef = GetViewOptions.isHighView();
290
181
  let count = 1;
291
- if (isMobile) count = displayLogic.mobileCount;
292
- if (isTablet) count = displayLogic.tabletCount;
293
- if (isDesktop) count = displayLogic.desktopCount;
294
- if (isHighDef) count = displayLogic.maxCount;
182
+ if (isMobile) {
183
+ count = displayLogic.mobileCount;
184
+ } else if (isTablet) {
185
+ count = displayLogic.tabletCount;
186
+ } else if (isDesktop) {
187
+ count = displayLogic.desktopCount;
188
+ } else if (isHighDef) {
189
+ count = displayLogic.maxCount;
190
+ }
295
191
  return count;
296
192
  },
297
193
  shouldShowMobileHint: () => {
298
194
  const isMobileView = GetViewOptions.isMobileView();
299
- const isShowMobileHint = displayLogic.showMobileHint;
300
- const isShowHint = displayLogic.showHint;
301
- return isShowMobileHint && isMobileView || isShowHint && isMobileView;
195
+ const showHintOnMobile = displayLogic.showMobileHint || displayLogic.showHint;
196
+ return showHintOnMobile && isMobileView;
302
197
  },
303
198
  shouldShowHint: () => {
304
199
  return displayLogic.showHint && !GetViewOptions.isMobileView();
@@ -312,12 +207,12 @@ const CreateCarouselCardsElement = (props) => (() => {
312
207
  };
313
208
  const GetSizes = {
314
209
  mobileHintWidth: ({ count }) => {
315
- const containerWidth = container.offsetWidth;
316
- return containerWidth / count * HINT_MULTIPLER_MOBILE_SIZING;
210
+ if (!containerElement) return 0;
211
+ return containerElement.offsetWidth / count * HINT_MULTIPLER_MOBILE_SIZING;
317
212
  },
318
213
  hintWidth: ({ count }) => {
319
- const containerWidth = container.offsetWidth;
320
- return containerWidth / count * HINT_MULTIPLER_SIZING;
214
+ if (!containerElement) return 0;
215
+ return containerElement.offsetWidth / count * HINT_MULTIPLER_SIZING;
321
216
  },
322
217
  carouselWidthBasedOnBlock: ({ count }) => {
323
218
  const elementSize = blockWidth;
@@ -330,7 +225,8 @@ const CreateCarouselCardsElement = (props) => (() => {
330
225
  return elementSize * count;
331
226
  },
332
227
  containerWidth: () => {
333
- return container.offsetWidth;
228
+ if (!containerElement) return 0;
229
+ return containerElement.offsetWidth;
334
230
  }
335
231
  };
336
232
  const SetLayout = {
@@ -354,19 +250,36 @@ const CreateCarouselCardsElement = (props) => (() => {
354
250
  block.style.display = "block";
355
251
  }
356
252
  });
357
- if (isShowMobileHint) containerBlocks[1].style.display = "block";
358
- if (isHint) containerBlocks[count].style.display = "block";
253
+ if (isShowMobileHint) {
254
+ containerBlocks[1].style.display = "block";
255
+ }
256
+ if (isHint) {
257
+ containerBlocks[count].style.display = "block";
258
+ }
359
259
  }
360
260
  };
261
+ const buttonRefs = {
262
+ next: null,
263
+ prev: null
264
+ };
265
+ const GetButtons = {
266
+ next: () => buttonRefs.next,
267
+ prev: () => buttonRefs.prev
268
+ };
361
269
  const Event = {
362
270
  helpers: {
363
271
  displayLogic,
364
272
  GetElements,
273
+ GetButtons,
365
274
  GetViewOptions,
366
275
  GetSizes,
367
276
  SetLayout
368
277
  },
369
278
  resize: () => {
279
+ if (!containerElement) {
280
+ return;
281
+ }
282
+ const container = containerElement;
370
283
  const count = GetViewOptions.showCount();
371
284
  const cacluateBlockWidth = ({ count: count2 }) => {
372
285
  const isShowMobileHint = GetViewOptions.shouldShowMobileHint();
@@ -386,12 +299,7 @@ const CreateCarouselCardsElement = (props) => (() => {
386
299
  SetLayout.blockWidth();
387
300
  SetLayout.blockDisplay({ count });
388
301
  SetLayout.carouselWidth({ count });
389
- ButtonDisplay({ ...Event.helpers });
390
- if (count === 1) {
391
- container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, "");
392
- } else {
393
- container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);
394
- }
302
+ ButtonVisibility({ ...Event.helpers });
395
303
  },
396
304
  load: () => {
397
305
  slide.style.display = "flex";
@@ -415,52 +323,74 @@ const CreateCarouselCardsElement = (props) => (() => {
415
323
  ButtonVisibility({ ...Event.helpers });
416
324
  }
417
325
  };
418
- container.appendChild(
419
- CreateButton({
420
- EventMoveForward: Event.forward,
421
- EventMoveBackward: Event.backward
422
- })
423
- );
424
- container.appendChild(
425
- CreateButton({
426
- EventMoveForward: Event.forward,
427
- EventMoveBackward: Event.backward,
428
- isRight: false
429
- })
430
- );
431
- wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);
432
- if (shadowRef) {
433
- wrapper.appendChild(shadowRef);
434
- } else {
435
- blocks.forEach((block) => slide.appendChild(block));
436
- wrapper.appendChild(slide);
437
- }
438
- container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);
439
- container.appendChild(wrapper);
440
- declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);
441
- declaration.appendChild(container);
442
- window.addEventListener("resize", debounce(Event.resize, 30));
443
- return {
444
- element: declaration,
445
- events: {
446
- resize: Event.resize,
447
- load: Event.load
448
- }
326
+ const { verticalCenter, outsetOffset, backgroundColor } = button || {};
327
+ const buttonConfig = {
328
+ isVerticalCenter: verticalCenter !== false || Boolean(outsetOffset),
329
+ outsetOffset,
330
+ backgroundColor
449
331
  };
332
+ const nextButtonModel = CreateButton({
333
+ EventMoveForward: Event.forward,
334
+ EventMoveBackward: Event.backward,
335
+ ...buttonConfig
336
+ });
337
+ const prevButtonModel = CreateButton({
338
+ EventMoveForward: Event.forward,
339
+ EventMoveBackward: Event.backward,
340
+ isRight: false,
341
+ ...buttonConfig
342
+ });
343
+ buttonRefs.next = nextButtonModel.element;
344
+ buttonRefs.prev = prevButtonModel.element;
345
+ const wrapperModel = new ElementBuilder().withClassName("animation-carousel-block-wrapper").withStyles({
346
+ element: {
347
+ overflow: "hidden",
348
+ width: "100%"
349
+ }
350
+ }).withModifier((element) => {
351
+ if (shadowRef) {
352
+ element.appendChild(shadowRef);
353
+ } else {
354
+ blocks.forEach((block) => slide.appendChild(block));
355
+ element.appendChild(slide);
356
+ }
357
+ }).build();
358
+ const buttonWrapperModel = new ElementBuilder().withClassName("animation-carousel-block-buttons").withStyles({
359
+ element: {
360
+ display: "flex",
361
+ justifyContent: "center",
362
+ gap: token.spacing.min,
363
+ [`@media (max-width: ${tabletBreakpoint}px)`]: {
364
+ marginTop: token.spacing.md,
365
+ marginBottom: token.spacing.md
366
+ }
367
+ }
368
+ }).withChildren(prevButtonModel, nextButtonModel).build();
369
+ const containerModel = new ElementBuilder().withClassName("animation-carousel-block-container").withStyles({
370
+ element: {
371
+ position: "relative",
372
+ [`@media (max-width: ${tabletBreakpoint}px)`]: {
373
+ display: "flex",
374
+ flexWrap: "wrap",
375
+ justifyContent: "center"
376
+ }
377
+ }
378
+ }).ref((element) => {
379
+ containerElement = element;
380
+ }).withChildren(wrapperModel, buttonWrapperModel).build();
381
+ const declarationModel = new ElementBuilder().withClassName("animation-carousel-block-declaration").withStyles({
382
+ element: {
383
+ containerType: "inline-size",
384
+ width: "100%"
385
+ }
386
+ }).withChild(containerModel).withEvents({ resize: Event.resize, load: Event.load }).build();
387
+ window.addEventListener("resize", debounce(Event.resize, 30));
388
+ return declarationModel;
450
389
  })();
451
390
  const createCompositeCarouselBlocks = {
452
- CreateElement: CreateCarouselCardsElement,
453
- Styles: STYLES_CAROUSEL_CARDS_ELEMENT,
454
- Elements: {
455
- declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,
456
- container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,
457
- containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,
458
- button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,
459
- nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,
460
- previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS
461
- }
391
+ CreateElement: CreateCarouselCardsElement
462
392
  };
463
393
  export {
464
394
  createCompositeCarouselBlocks
465
395
  };
466
- //# sourceMappingURL=blocks.js.map
396
+ //# sourceMappingURL=equal-width-items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equal-width-items.js","sources":["../../../../source/composite/carousel/elements/equal-width-items.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { setupSwipeDetection } from '@universityofmaryland/web-utilities-library/events';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\nimport { CreateButton, ButtonVisibility } from './nav-button';\nimport { createCaption } from '../../../atomic/assets/image/caption';\nimport { fullscreen } from '../../../atomic/buttons/fullscreen';\n\nexport type TypeButtonConfig = {\n backgroundColor?: string;\n verticalCenter?: boolean;\n outsetOffset?: string;\n};\n\ntype TypeDisplayLogic = {\n mobileCount: number;\n mobileBreakpoint: number;\n tabletCount: number;\n tabletBreakpoint: number;\n desktopCount: number;\n desktopBreakpoint: number;\n maxCount: number;\n blockGap: number;\n hasRightButton: boolean;\n hasLeftButton: boolean;\n showMobileHint: boolean;\n showHint: boolean;\n fullScreenCallback?: (index: number) => void;\n};\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n mobileBreakpoint?: number;\n tabletBreakpoint?: number;\n desktopBreakpoint?: number;\n mobileCount?: number;\n tabletCount?: number;\n desktopCount?: number;\n maxCount?: number;\n blockGap?: number;\n hasLeftButton?: boolean;\n hasRightButton?: boolean;\n showMobileHint?: boolean;\n showHint?: boolean;\n fullScreenCallback?: (index: number) => void;\n button?: TypeButtonConfig;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\n };\n GetButtons: {\n prev: () => HTMLButtonElement;\n next: () => HTMLButtonElement;\n };\n GetViewOptions: {\n isTabletView: () => boolean;\n showCount: () => number;\n shouldShowMobileHint: () => boolean;\n shouldShowHint: () => boolean;\n shouldShowLeftButton: () => boolean;\n shouldShowRightButton: () => boolean;\n };\n GetSizes: {\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => number;\n };\n SetLayout: {\n blockWidth: ({ count }: { count: number }) => void;\n carouselWidth: ({ count }: { count: number }) => void;\n };\n};\n\ntype TypeEventScroll = TypeHelpers & {\n isDirectionRight?: boolean;\n};\n\ntype CarouselBlockModel = {\n element: HTMLElement;\n styles: string;\n events: {\n resize: () => void;\n load: () => void;\n };\n};\n\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst EventScrollCarousel = (props: TypeEventScroll) => {\n const {\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n isDirectionRight = true,\n displayLogic,\n } = props;\n const carouselSlider = GetElements.slide();\n const slotContent = Array.from(\n carouselSlider.querySelectorAll(':scope > *'),\n ) as HTMLDivElement[];\n\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const count = GetViewOptions.showCount();\n\n const firstSlot = slotContent[0];\n if (!firstSlot) return;\n\n const elementSize = firstSlot.offsetWidth;\n\n const carouselSize = GetSizes.carouselWidthBasedOnBlock({ count });\n const { fullScreenCallback } = displayLogic;\n\n if (!elementSize) return;\n\n const elementSizeWithSpace = elementSize;\n const temporaryCarouselSize = carouselSize + elementSizeWithSpace;\n\n const cloneReferenceEvents = ({\n original,\n clone,\n }: {\n original: HTMLElement;\n clone: HTMLElement;\n }) => {\n const fullScreenClassName = fullscreen.className;\n const originalFullScreen = original.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (originalFullScreen && cloneFullScreen) {\n const indexAttr = originalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\n\n // cloneNode(true) drops the caption toggle's click listener; restore it.\n createCaption.bindToggle(clone);\n };\n\n const animateRight = () => {\n const firstElement = slotContent[0];\n const clonedElement = firstElement.cloneNode(true) as HTMLDivElement;\n const upcomingElement = slotContent[count];\n const hintElement = slotContent[count + 1];\n\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ original: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(firstElement);\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n const animateLeft = () => {\n const lastElement = slotContent[slotContent.length - 1];\n const removedElement = slotContent[count - 1];\n const hintElementSibiling = slotContent[count];\n const clonedElement = lastElement.cloneNode(true) as HTMLDivElement;\n\n cloneReferenceEvents({ original: lastElement, clone: clonedElement });\n\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n void carouselSlider.offsetHeight;\n\n requestAnimationFrame(() => {\n carouselSlider.style.transition = `transform ${ANIMATION_DURATION}ms ease-in-out`;\n carouselSlider.style.transform = `translateX(0)`;\n\n setTimeout(() => {\n carouselSlider.removeChild(lastElement);\n\n if (!isShowMobileHint && !isShowHint) {\n removedElement.style.display = 'none';\n }\n\n if (isShowMobileHint || isShowHint) {\n hintElementSibiling.style.display = 'none';\n }\n\n SetLayout.carouselWidth({ count });\n }, ANIMATION_DURATION);\n });\n };\n\n if (isDirectionRight) {\n animateRight();\n } else {\n animateLeft();\n }\n};\n\nconst EventSwipe = (props: TypeHelpers) => {\n const { GetElements } = props;\n const container = GetElements.container();\n\n const swipes = (isRightSwipe: boolean) => {\n if (!isRightSwipe) {\n EventScrollCarousel(props);\n } else {\n EventScrollCarousel({ ...props, isDirectionRight: false });\n }\n };\n\n setupSwipeDetection({ container, callback: swipes });\n};\n\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const {\n slide,\n shadowRef,\n blocks,\n mobileBreakpoint = token.media.breakpointValues.medium.max,\n tabletBreakpoint = token.media.breakpointValues.tablet.min,\n desktopBreakpoint = token.media.breakpointValues.desktop.min,\n mobileCount = 1,\n tabletCount = 2,\n desktopCount = 3,\n maxCount = 4,\n blockGap = parsePixelValue(token.spacing.lg),\n hasLeftButton = true,\n hasRightButton = true,\n showMobileHint = true,\n showHint = true,\n fullScreenCallback,\n button,\n } = props;\n\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint,\n tabletBreakpoint,\n desktopBreakpoint,\n mobileCount,\n tabletCount,\n desktopCount,\n maxCount,\n blockGap,\n hasLeftButton,\n hasRightButton,\n showMobileHint,\n showHint,\n fullScreenCallback,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n let containerElement: HTMLDivElement | null = null;\n\n const GetElements = {\n container: () => containerElement as HTMLDivElement,\n slide: () => slide,\n blocks: () => blocks,\n };\n\n const GetViewOptions = {\n isMobileView: () => {\n return GetSizes.containerWidth() <= displayLogic.mobileBreakpoint;\n },\n isTabletView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.mobileBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.tabletBreakpoint\n );\n },\n isDesktopView: () => {\n return (\n GetSizes.containerWidth() > displayLogic.tabletBreakpoint &&\n GetSizes.containerWidth() <= displayLogic.desktopBreakpoint\n );\n },\n isHighView: () => {\n return GetSizes.containerWidth() > displayLogic.desktopBreakpoint;\n },\n showCount: () => {\n const isMobile = GetViewOptions.isMobileView();\n const isTablet = GetViewOptions.isTabletView();\n const isDesktop = GetViewOptions.isDesktopView();\n const isHighDef = GetViewOptions.isHighView();\n let count = 1;\n\n if (isMobile) { count = displayLogic.mobileCount; }\n else if (isTablet) { count = displayLogic.tabletCount; }\n else if (isDesktop) { count = displayLogic.desktopCount; }\n else if (isHighDef) { count = displayLogic.maxCount; }\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const showHintOnMobile = displayLogic.showMobileHint || displayLogic.showHint;\n\n return showHintOnMobile && isMobileView;\n },\n shouldShowHint: () => {\n return displayLogic.showHint && !GetViewOptions.isMobileView();\n },\n shouldShowLeftButton: () => {\n return displayLogic.hasLeftButton || hasInteractionOccured;\n },\n shouldShowRightButton: () => {\n return displayLogic.hasRightButton || hasInteractionOccured;\n },\n };\n\n const GetSizes = {\n mobileHintWidth: ({ count }: { count: number }) => {\n if (!containerElement) return 0;\n return (containerElement.offsetWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n if (!containerElement) return 0;\n return (containerElement.offsetWidth / count) * HINT_MULTIPLER_SIZING;\n },\n carouselWidthBasedOnBlock: ({ count }: { count: number }) => {\n const elementSize = blockWidth;\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n\n if (!elementSize) return window.innerWidth;\n\n if (isShowMobileHint || isShowHint) {\n return elementSize * (count + 1);\n }\n\n return elementSize * count;\n },\n containerWidth: () => {\n if (!containerElement) return 0;\n return containerElement.offsetWidth;\n },\n };\n\n const SetLayout = {\n blockWidth: () =>\n blocks.forEach((block) => (block.style.width = `${blockWidth}px`)),\n carouselWidth: ({ count }: { count: number }) => {\n const elementSize = GetSizes.carouselWidthBasedOnBlock({ count });\n\n slide.style.width = `${elementSize}px`;\n slide.style.transition = 'none';\n slide.style.transform = 'translateX(0)';\n },\n blockDisplay: ({ count }: { count: number }) => {\n const containerBlocks = Array.from(\n slide.querySelectorAll(':scope > *'),\n ) as HTMLElement[];\n const isHint = GetViewOptions.shouldShowHint();\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n\n containerBlocks.forEach((block, index) => {\n if (index >= count) {\n block.style.display = 'none';\n } else {\n block.style.display = 'block';\n }\n });\n\n if (isShowMobileHint) {\n containerBlocks[1].style.display = 'block';\n }\n if (isHint) {\n containerBlocks[count].style.display = 'block';\n }\n },\n };\n\n const buttonRefs: { next: HTMLButtonElement | null; prev: HTMLButtonElement | null } = {\n next: null,\n prev: null,\n };\n\n const GetButtons = {\n next: () => buttonRefs.next as HTMLButtonElement,\n prev: () => buttonRefs.prev as HTMLButtonElement,\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetButtons,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\n if (!containerElement) { return; }\n const container = containerElement;\n const count = GetViewOptions.showCount();\n const cacluateBlockWidth = ({ count }: { count: number }) => {\n const isShowMobileHint = GetViewOptions.shouldShowMobileHint();\n const isShowHint = GetViewOptions.shouldShowHint();\n const containerWidth = container.offsetWidth;\n\n if (isShowMobileHint || isShowHint) {\n let hintElementSize = GetSizes.hintWidth({ count });\n\n if (isShowMobileHint) {\n hintElementSize = GetSizes.mobileHintWidth({ count });\n }\n\n blockWidth = (containerWidth - hintElementSize) / count;\n } else {\n blockWidth = containerWidth / count;\n }\n };\n\n cacluateBlockWidth({ count });\n SetLayout.blockWidth();\n SetLayout.blockDisplay({ count });\n SetLayout.carouselWidth({ count });\n ButtonVisibility({ ...Event.helpers });\n },\n load: () => {\n slide.style.display = 'flex';\n slide.style.gap = `${displayLogic.blockGap}px`;\n\n Event.resize();\n EventSwipe({ ...Event.helpers });\n },\n forward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n backward: () => {\n hasInteractionOccured = true;\n EventScrollCarousel({\n ...Event.helpers,\n isDirectionRight: false,\n });\n ButtonVisibility({ ...Event.helpers });\n },\n };\n\n const { verticalCenter, outsetOffset, backgroundColor } = button || {};\n const buttonConfig = {\n isVerticalCenter: verticalCenter !== false || Boolean(outsetOffset),\n outsetOffset,\n backgroundColor,\n };\n\n const nextButtonModel = CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n ...buttonConfig,\n });\n\n const prevButtonModel = CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n ...buttonConfig,\n });\n\n buttonRefs.next = nextButtonModel.element as HTMLButtonElement;\n buttonRefs.prev = prevButtonModel.element as HTMLButtonElement;\n\n const wrapperModel = new ElementBuilder()\n .withClassName('animation-carousel-block-wrapper')\n .withStyles({\n element: {\n overflow: 'hidden',\n width: '100%',\n },\n })\n .withModifier((element) => {\n if (shadowRef) {\n element.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n element.appendChild(slide);\n }\n })\n .build();\n\n const buttonWrapperModel = new ElementBuilder()\n .withClassName('animation-carousel-block-buttons')\n .withStyles({\n element: {\n display: 'flex',\n justifyContent: 'center',\n gap: token.spacing.min,\n [`@media (max-width: ${tabletBreakpoint}px)`]: {\n marginTop: token.spacing.md,\n marginBottom: token.spacing.md,\n },\n },\n })\n .withChildren(prevButtonModel, nextButtonModel)\n .build();\n\n const containerModel = new ElementBuilder()\n .withClassName('animation-carousel-block-container')\n .withStyles({\n element: {\n position: 'relative',\n [`@media (max-width: ${tabletBreakpoint}px)`]: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center',\n },\n },\n })\n .ref((element) => {\n containerElement = element as HTMLDivElement;\n })\n .withChildren(wrapperModel, buttonWrapperModel)\n .build();\n\n const declarationModel = new ElementBuilder()\n .withClassName('animation-carousel-block-declaration')\n .withStyles({\n element: {\n containerType: 'inline-size',\n width: '100%',\n },\n })\n .withChild(containerModel)\n .withEvents({ resize: Event.resize, load: Event.load })\n .build();\n\n window.addEventListener('resize', debounce(Event.resize, 30));\n\n return declarationModel as CarouselBlockModel;\n })();\n\nexport const createCompositeCarouselBlocks = {\n CreateElement: CreateCarouselCardsElement,\n};\n"],"names":["count"],"mappings":"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"}
@@ -2,13 +2,14 @@ type TypeFixedFullScreenProps = {
2
2
  content: HTMLElement;
3
3
  callback: () => void;
4
4
  };
5
- export declare const createCompositeCarouselFullScreen: ({ content, callback }: TypeFixedFullScreenProps) => {
6
- element: HTMLDivElement;
5
+ type FullScreenModel = {
6
+ element: HTMLElement;
7
7
  styles: string;
8
8
  events: {
9
9
  show: () => void;
10
10
  hide: () => void;
11
11
  };
12
12
  };
13
+ export declare const createCompositeCarouselFullScreen: ({ content }: TypeFixedFullScreenProps) => FullScreenModel;
13
14
  export {};
14
15
  //# sourceMappingURL=full-screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"full-screen.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/elements/full-screen.ts"],"names":[],"mappings":"AAIA,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AA2BF,eAAO,MAAM,iCAAiC,GAAI,uBAAuB,wBAAwB;;;;;;;CAuBhG,CAAC"}
1
+ {"version":3,"file":"full-screen.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/elements/full-screen.ts"],"names":[],"mappings":"AAMA,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,IAAI,CAAC;QACjB,IAAI,EAAE,MAAM,IAAI,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAAI,aAAa,wBAAwB,KA0ChF,eACN,CAAC"}