@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,149 +1,98 @@
1
1
  import * as token from "@universityofmaryland/web-token-library";
2
- import { createCompositeCarouselBlocks } from "../elements/blocks.js";
3
- import "../elements/full-screen.js";
4
- import "../elements/overlay.js";
5
- import "../elements/image.js";
6
- const ATTRIBUTE_THEME = "data-theme";
7
- const THEME_DARK = "dark";
8
- const IS_THEME_DARK = `[${ATTRIBUTE_THEME}="${THEME_DARK}"]`;
9
- const ELEMENT_NAME = "umd-element-carousel";
10
- const ELEMENT_DECLARATION = "carousel-default-declaration";
11
- const CAROUSEL_CONTAINER = "element-carousel-default-container";
12
- const OVERWRITE_ANIMATION_CAROUSEL_CONTAINER = `.${CAROUSEL_CONTAINER} .${createCompositeCarouselBlocks.Elements.container}`;
13
- const OVERWRITE_ANIMATION_CAROUSEL_BUTTON = `.${CAROUSEL_CONTAINER} .${createCompositeCarouselBlocks.Elements.button}`;
14
- const OVERWRITE_ANIMATION_BUTTON_PREVIOUS = `.${CAROUSEL_CONTAINER} .${createCompositeCarouselBlocks.Elements.previousButton}`;
15
- const OVERWRITE_ANIMATION_BUTTON_NEXT = `.${CAROUSEL_CONTAINER} .${createCompositeCarouselBlocks.Elements.nextButton}`;
16
- const OVERWRITE_THEME_DARK_CONTAINER = `.${CAROUSEL_CONTAINER}${IS_THEME_DARK}`;
17
- const OVERWRITE_THEME_DARK_BUTTON = `${OVERWRITE_THEME_DARK_CONTAINER} .${createCompositeCarouselBlocks.Elements.button}`;
18
- const OVERWRITE_SINGLE_COLUMN = `.${CAROUSEL_CONTAINER} ${createCompositeCarouselBlocks.Elements.containerSingleBlock}`;
19
- const OVERWRITE_SINGLE_COLUMN_BUTTONS = `${OVERWRITE_SINGLE_COLUMN} .${createCompositeCarouselBlocks.Elements.button}`;
20
- const OVERWRITE_SINGLE_COLUMN_PREVIOUS = `${OVERWRITE_SINGLE_COLUMN} .${createCompositeCarouselBlocks.Elements.previousButton}`;
21
- const OVERWRITE_SINGLE_COLUMN_NEXT = `${OVERWRITE_SINGLE_COLUMN} .${createCompositeCarouselBlocks.Elements.nextButton}`;
22
- const OverwriteThemeDark = `
23
- ${OVERWRITE_THEME_DARK_BUTTON} {
24
- background-color: ${token.color.red} !important;
25
- }
26
-
27
- ${OVERWRITE_THEME_DARK_BUTTON} > svg {
28
- fill: ${token.color.white} !important;
29
- }
30
- `;
31
- const OverwriteCarouselStyles = `
32
- .${OVERWRITE_ANIMATION_CAROUSEL_CONTAINER} {
33
- padding-bottom: 0;
34
- }
35
-
36
- ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {
37
- top: 50%;
38
- transform: translateY(-50%);
39
- background-color: ${token.color.white};
40
- }
41
-
42
- ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} > svg {
43
- fill: ${token.color.black};
44
- }
45
-
46
- ${OVERWRITE_ANIMATION_BUTTON_PREVIOUS} {
47
- left: 0;
48
- }
49
-
50
- ${OVERWRITE_ANIMATION_BUTTON_NEXT} {
51
- right: 0;
52
- }
53
-
54
- ${OVERWRITE_SINGLE_COLUMN} {
55
- padding-bottom: 70px;
56
- }
57
-
58
- ${OVERWRITE_SINGLE_COLUMN_BUTTONS} {
59
- bottom: -19px;
60
- top: inherit;
61
- background-color: ${token.color.gray.lighter};
62
- }
63
-
64
- ${OVERWRITE_SINGLE_COLUMN_PREVIOUS} {
65
- left: calc(50% - 44px);
66
- }
67
-
68
- ${OVERWRITE_SINGLE_COLUMN_NEXT} {
69
- left: calc(50% + 4px);
70
- right: inherit;
71
- }
72
- `;
73
- const ContainerStyles = `
74
- .${CAROUSEL_CONTAINER} {
75
- position: relative;
76
- overflow: hidden;
77
- }
78
- `;
79
- const STYLES_CAROUSEL_ELEMENT = `
80
- .${ELEMENT_DECLARATION} {
81
- container: ${ELEMENT_NAME} / inline-size;
82
- }
83
-
84
- .${ELEMENT_DECLARATION} * {
85
- color: ${token.color.white};
86
- }
87
-
88
- ${createCompositeCarouselBlocks.Styles}
89
- ${ContainerStyles}
90
- ${OverwriteCarouselStyles}
91
- ${OverwriteThemeDark}
92
- `;
2
+ import { ElementBuilder } from "@universityofmaryland/web-builder-library";
3
+ import { createCompositeCarouselBlocks } from "../elements/equal-width-items.js";
4
+ import { buttonColorsOnWhite } from "../elements/nav-button.js";
5
+ import "@universityofmaryland/web-utilities-library/styles";
6
+ import "@universityofmaryland/web-icons-library/controls";
7
+ import "@universityofmaryland/web-styles-library/element";
8
+ import "@universityofmaryland/web-styles-library/layout";
9
+ import "@universityofmaryland/web-styles-library/animation";
10
+ import "@universityofmaryland/web-styles-library/typography";
11
+ import "@universityofmaryland/web-utilities-library/media";
12
+ import "@universityofmaryland/web-utilities-library/dom";
13
+ import "@universityofmaryland/web-icons-library/communication";
14
+ import "@universityofmaryland/web-icons-library/files";
15
+ import "@universityofmaryland/web-icons-library/brand";
16
+ import "@universityofmaryland/web-icons-library/arrows";
17
+ import "@universityofmaryland/web-utilities-library/performance";
18
+ import "../../../atomic/animations/brand/card-stack.js";
19
+ import "@universityofmaryland/web-styles-library";
20
+ import "@universityofmaryland/web-utilities-library/accessibility";
21
+ import "@universityofmaryland/web-icons-library/location";
22
+ import "@universityofmaryland/web-icons-library/calendar";
23
+ import "@universityofmaryland/web-utilities-library/theme";
24
+ import "../../../atomic/layout/block/stacked.js";
25
+ import "../../../atomic/layout/person/columns.js";
26
+ import "@universityofmaryland/web-icons-library/social";
27
+ import "@universityofmaryland/web-utilities-library/string";
28
+ import "@universityofmaryland/web-utilities-library/animation";
29
+ import "../../../atomic/text-lockup/small.js";
30
+ import "@universityofmaryland/web-utilities-library/events";
93
31
  const createCompositeCarouselDefault = (props) => (() => {
94
32
  const {
33
+ slide,
34
+ shadowRef,
35
+ blocks,
95
36
  isThemeDark,
96
37
  gridGap,
97
38
  hasLeftButton = true,
98
39
  hasRightButton = true,
99
- mobileHint,
100
- hint,
40
+ mobileHint = true,
41
+ hint = true,
101
42
  tabletSize,
102
43
  desktopSize,
103
44
  tabletCount,
104
45
  desktopCount,
105
- maxCount
46
+ maxCount,
47
+ button
106
48
  } = props;
107
- const declaration = document.createElement("div");
108
- const container = document.createElement("div");
109
- const wrapper = document.createElement("div");
110
- const overwriteDisplayLogic = {
111
- tabletBreakpoint: tabletSize || 768,
112
- desktopBreakpoint: desktopSize || 1024,
113
- tabletCount: tabletCount || 2,
114
- desktopCount: desktopCount || 3,
115
- maxCount: maxCount || 4,
116
- hasLeftButton,
117
- hasRightButton,
118
- showMobileHint: true,
119
- showHint: true
120
- };
49
+ let tabletBreakpoint = tabletSize ?? token.media.breakpointValues.desktop.min;
50
+ let desktopBreakpoint = desktopSize;
51
+ let blockGap;
121
52
  if (gridGap) {
122
- overwriteDisplayLogic.blockGap = parseInt(gridGap);
123
- overwriteDisplayLogic.tabletBreakpoint = 1e3 + parseInt(gridGap);
124
- overwriteDisplayLogic.desktopBreakpoint = 1400 + parseInt(gridGap);
53
+ blockGap = parseInt(gridGap);
54
+ tabletBreakpoint = 1e3 + parseInt(gridGap);
55
+ desktopBreakpoint = 1400 + parseInt(gridGap);
125
56
  }
126
- if (!mobileHint) overwriteDisplayLogic.showMobileHint = false;
127
- if (!hint) overwriteDisplayLogic.showHint = false;
128
57
  const carouselContainer = createCompositeCarouselBlocks.CreateElement({
129
- ...props,
130
- blocks: props.blocks,
131
- overwriteDisplayLogic
58
+ slide,
59
+ shadowRef,
60
+ blocks,
61
+ hasLeftButton,
62
+ hasRightButton,
63
+ showMobileHint: mobileHint,
64
+ showHint: hint,
65
+ tabletBreakpoint,
66
+ desktopBreakpoint,
67
+ tabletCount,
68
+ desktopCount,
69
+ maxCount,
70
+ blockGap,
71
+ button: {
72
+ ...button,
73
+ ...buttonColorsOnWhite(isThemeDark)
74
+ }
132
75
  });
133
- wrapper.appendChild(carouselContainer.element);
134
- container.classList.add(CAROUSEL_CONTAINER);
135
- container.appendChild(wrapper);
136
- if (isThemeDark) container.setAttribute(ATTRIBUTE_THEME, THEME_DARK);
137
- declaration.classList.add(ELEMENT_DECLARATION);
138
- declaration.appendChild(container);
139
- return {
140
- element: declaration,
141
- styles: STYLES_CAROUSEL_ELEMENT,
142
- events: {
143
- resize: carouselContainer.events.resize,
144
- load: carouselContainer.events.load
76
+ const containerModel = new ElementBuilder().withClassName("element-carousel-default-container").withStyles({
77
+ element: {
78
+ position: "relative",
79
+ overflow: "hidden"
80
+ }
81
+ }).withModifier((element) => {
82
+ if (isThemeDark) {
83
+ element.setAttribute("data-theme", "dark");
84
+ }
85
+ }).withChild(carouselContainer).build();
86
+ const declarationModel = new ElementBuilder().withClassName("carousel-default-declaration").withStyles({
87
+ element: {
88
+ containerType: "inline-size",
89
+ "& *": { color: token.color.white }
145
90
  }
146
- };
91
+ }).withChild(containerModel).withEvents({
92
+ resize: carouselContainer.events.resize,
93
+ load: carouselContainer.events.load
94
+ }).build();
95
+ return declarationModel;
147
96
  })();
148
97
  export {
149
98
  createCompositeCarouselDefault
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as carouselElements from '../elements';\n\ntype TypeCarouselRequirements = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n isThemeDark?: boolean;\n gridGap?: string | null;\n hasLeftButton?: boolean;\n hasRightButton?: boolean;\n mobileHint?: boolean;\n hint?: boolean;\n mobileSize?: number | null;\n tabletSize?: number | null;\n desktopSize?: number | null;\n mobileCount?: number | null;\n tabletCount?: number | null;\n desktopCount?: number | null;\n maxCount?: number | null;\n};\n\nconst ATTRIBUTE_THEME = 'data-theme';\nconst THEME_DARK = 'dark';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\n\nconst ELEMENT_NAME = 'umd-element-carousel';\nconst ELEMENT_DECLARATION = 'carousel-default-declaration';\nconst CAROUSEL_CONTAINER = 'element-carousel-default-container';\n\nconst OVERWRITE_ANIMATION_CAROUSEL_CONTAINER = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.container}`;\nconst OVERWRITE_ANIMATION_CAROUSEL_BUTTON = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.button}`;\nconst OVERWRITE_ANIMATION_BUTTON_PREVIOUS = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.previousButton}`;\nconst OVERWRITE_ANIMATION_BUTTON_NEXT = `.${CAROUSEL_CONTAINER} .${carouselElements.blocks.Elements.nextButton}`;\n\nconst OVERWRITE_THEME_DARK_CONTAINER = `.${CAROUSEL_CONTAINER}${IS_THEME_DARK}`;\nconst OVERWRITE_THEME_DARK_BUTTON = `${OVERWRITE_THEME_DARK_CONTAINER} .${carouselElements.blocks.Elements.button}`;\n\nconst OVERWRITE_SINGLE_COLUMN = `.${CAROUSEL_CONTAINER} ${carouselElements.blocks.Elements.containerSingleBlock}`;\nconst OVERWRITE_SINGLE_COLUMN_BUTTONS = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.button}`;\nconst OVERWRITE_SINGLE_COLUMN_PREVIOUS = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.previousButton}`;\nconst OVERWRITE_SINGLE_COLUMN_NEXT = `${OVERWRITE_SINGLE_COLUMN} .${carouselElements.blocks.Elements.nextButton}`;\n\n// prettier-ignore\nconst OverwriteThemeDark = `\n ${OVERWRITE_THEME_DARK_BUTTON} {\n background-color: ${token.color.red} !important;\n }\n\n ${OVERWRITE_THEME_DARK_BUTTON} > svg {\n fill: ${token.color.white} !important;\n }\n`;\n\n// prettier-ignore\nconst OverwriteCarouselStyles = `\n .${OVERWRITE_ANIMATION_CAROUSEL_CONTAINER} {\n padding-bottom: 0;\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} {\n top: 50%;\n transform: translateY(-50%);\n background-color: ${token.color.white};\n }\n\n ${OVERWRITE_ANIMATION_CAROUSEL_BUTTON} > svg {\n fill: ${token.color.black};\n }\n\n ${OVERWRITE_ANIMATION_BUTTON_PREVIOUS} {\n left: 0;\n }\n\n ${OVERWRITE_ANIMATION_BUTTON_NEXT} {\n right: 0;\n }\n\n ${OVERWRITE_SINGLE_COLUMN} {\n padding-bottom: 70px;\n }\n\n ${OVERWRITE_SINGLE_COLUMN_BUTTONS} {\n bottom: -19px;\n top: inherit;\n background-color: ${token.color.gray.lighter};\n }\n\n ${OVERWRITE_SINGLE_COLUMN_PREVIOUS} {\n left: calc(50% - 44px);\n }\n\n ${OVERWRITE_SINGLE_COLUMN_NEXT} {\n left: calc(50% + 4px);\n right: inherit;\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${CAROUSEL_CONTAINER} {\n position: relative;\n overflow: hidden;\n }\n`\n\n// prettier-ignore\nconst STYLES_CAROUSEL_ELEMENT = `\n .${ELEMENT_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_DECLARATION} * {\n color: ${token.color.white};\n }\n \n ${carouselElements.blocks.Styles}\n ${ContainerStyles}\n ${OverwriteCarouselStyles}\n ${OverwriteThemeDark}\n`;\n\nexport const createCompositeCarouselDefault = (props: TypeCarouselRequirements) =>\n (() => {\n const {\n isThemeDark,\n gridGap,\n hasLeftButton = true,\n hasRightButton = true,\n mobileHint,\n hint,\n tabletSize,\n desktopSize,\n tabletCount,\n desktopCount,\n maxCount,\n } = props;\n\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const overwriteDisplayLogic: Record<string, number | boolean> = {\n tabletBreakpoint: tabletSize || 768,\n desktopBreakpoint: desktopSize || 1024,\n tabletCount: tabletCount || 2,\n desktopCount: desktopCount || 3,\n maxCount: maxCount || 4,\n hasLeftButton,\n hasRightButton,\n showMobileHint: true,\n showHint: true,\n };\n\n if (gridGap) {\n overwriteDisplayLogic.blockGap = parseInt(gridGap);\n overwriteDisplayLogic.tabletBreakpoint = 1000 + parseInt(gridGap);\n overwriteDisplayLogic.desktopBreakpoint = 1400 + parseInt(gridGap);\n }\n\n if (!mobileHint) overwriteDisplayLogic.showMobileHint = false;\n if (!hint) overwriteDisplayLogic.showHint = false;\n\n const carouselContainer = carouselElements.blocks.CreateElement({\n ...props,\n blocks: props.blocks,\n overwriteDisplayLogic,\n });\n\n wrapper.appendChild(carouselContainer.element);\n\n container.classList.add(CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n if (isThemeDark) container.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n\n declaration.classList.add(ELEMENT_DECLARATION);\n declaration.appendChild(container);\n\n return {\n element: declaration,\n styles: STYLES_CAROUSEL_ELEMENT,\n events: {\n resize: carouselContainer.events.resize,\n load: carouselContainer.events.load,\n },\n };\n })();\n"],"names":["carouselElements.blocks"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as carouselElements from '../elements';\nimport { type TypeButtonConfig } from '../elements/equal-width-items';\n\ntype TypeCarouselRequirements = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n isThemeDark?: boolean;\n gridGap?: string | null;\n hasLeftButton?: boolean;\n hasRightButton?: boolean;\n mobileHint?: boolean;\n hint?: boolean;\n tabletSize?: number;\n desktopSize?: number;\n mobileCount?: number;\n tabletCount?: number;\n desktopCount?: number;\n maxCount?: number;\n button?: TypeButtonConfig;\n};\n\nexport const createCompositeCarouselDefault = (props: TypeCarouselRequirements) =>\n (() => {\n const {\n slide,\n shadowRef,\n blocks,\n isThemeDark,\n gridGap,\n hasLeftButton = true,\n hasRightButton = true,\n mobileHint = true,\n hint = true,\n tabletSize,\n desktopSize,\n tabletCount,\n desktopCount,\n maxCount,\n button,\n } = props;\n\n let tabletBreakpoint = tabletSize ?? token.media.breakpointValues.desktop.min;\n let desktopBreakpoint = desktopSize;\n let blockGap;\n\n if (gridGap) {\n blockGap = parseInt(gridGap);\n tabletBreakpoint = 1000 + parseInt(gridGap);\n desktopBreakpoint = 1400 + parseInt(gridGap);\n }\n\n const carouselContainer = carouselElements.blocks.CreateElement({\n slide,\n shadowRef,\n blocks,\n hasLeftButton,\n hasRightButton,\n showMobileHint: mobileHint,\n showHint: hint,\n tabletBreakpoint,\n desktopBreakpoint,\n tabletCount,\n desktopCount,\n maxCount,\n blockGap,\n button: {\n ...button,\n ...carouselElements.buttonColorsOnWhite(isThemeDark),\n },\n });\n\n const containerModel = new ElementBuilder()\n .withClassName('element-carousel-default-container')\n .withStyles({\n element: {\n position: 'relative',\n overflow: 'hidden',\n },\n })\n .withModifier((element) => {\n if (isThemeDark) {\n element.setAttribute('data-theme', 'dark');\n }\n })\n .withChild(carouselContainer)\n .build();\n\n const declarationModel = new ElementBuilder()\n .withClassName('carousel-default-declaration')\n .withStyles({\n element: {\n containerType: 'inline-size',\n '& *': { color: token.color.white },\n },\n })\n .withChild(containerModel)\n .withEvents({\n resize: carouselContainer.events.resize,\n load: carouselContainer.events.load,\n })\n .build();\n\n return declarationModel;\n })();\n"],"names":["carouselElements.blocks","carouselElements.buttonColorsOnWhite"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,MAAM,iCAAiC,CAAC,WAC5C,MAAM;AACL,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,MAAI,mBAAmB,cAAc,MAAM,MAAM,iBAAiB,QAAQ;AAC1E,MAAI,oBAAoB;AACxB,MAAI;AAEJ,MAAI,SAAS;AACX,eAAW,SAAS,OAAO;AAC3B,uBAAmB,MAAO,SAAS,OAAO;AAC1C,wBAAoB,OAAO,SAAS,OAAO;AAAA,EAC7C;AAEA,QAAM,oBAAoBA,8BAAwB,cAAc;AAAA,IAC9D;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAGC,oBAAqC,WAAW;AAAA,IAAA;AAAA,EACrD,CACD;AAED,QAAM,iBAAiB,IAAI,eAAA,EACxB,cAAc,oCAAoC,EAClD,WAAW;AAAA,IACV,SAAS;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,EACZ,CACD,EACA,aAAa,CAAC,YAAY;AACzB,QAAI,aAAa;AACf,cAAQ,aAAa,cAAc,MAAM;AAAA,IAC3C;AAAA,EACF,CAAC,EACA,UAAU,iBAAiB,EAC3B,MAAA;AAEH,QAAM,mBAAmB,IAAI,eAAA,EAC1B,cAAc,8BAA8B,EAC5C,WAAW;AAAA,IACV,SAAS;AAAA,MACP,eAAe;AAAA,MACf,OAAO,EAAE,OAAO,MAAM,MAAM,MAAA;AAAA,IAAM;AAAA,EACpC,CACD,EACA,UAAU,cAAc,EACxB,WAAW;AAAA,IACV,QAAQ,kBAAkB,OAAO;AAAA,IACjC,MAAM,kBAAkB,OAAO;AAAA,EAAA,CAChC,EACA,MAAA;AAEH,SAAO;AACT,GAAA;"}
@@ -0,0 +1,37 @@
1
+ export type TypeButtonConfig = {
2
+ backgroundColor?: string;
3
+ verticalCenter?: boolean;
4
+ outsetOffset?: string;
5
+ };
6
+ type TypeAnimationCarouselBlockProps = {
7
+ slide: HTMLElement;
8
+ shadowRef?: HTMLElement;
9
+ blocks: HTMLElement[];
10
+ mobileBreakpoint?: number;
11
+ tabletBreakpoint?: number;
12
+ desktopBreakpoint?: number;
13
+ mobileCount?: number;
14
+ tabletCount?: number;
15
+ desktopCount?: number;
16
+ maxCount?: number;
17
+ blockGap?: number;
18
+ hasLeftButton?: boolean;
19
+ hasRightButton?: boolean;
20
+ showMobileHint?: boolean;
21
+ showHint?: boolean;
22
+ fullScreenCallback?: (index: number) => void;
23
+ button?: TypeButtonConfig;
24
+ };
25
+ type CarouselBlockModel = {
26
+ element: HTMLElement;
27
+ styles: string;
28
+ events: {
29
+ resize: () => void;
30
+ load: () => void;
31
+ };
32
+ };
33
+ export declare const createCompositeCarouselBlocks: {
34
+ CreateElement: (props: TypeAnimationCarouselBlockProps) => CarouselBlockModel;
35
+ };
36
+ export {};
37
+ //# sourceMappingURL=equal-width-items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equal-width-items.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/elements/equal-width-items.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAkBF,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAkCF,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,IAAI,EAAE,MAAM,IAAI,CAAC;KAClB,CAAC;CACH,CAAC;AAsdF,eAAO,MAAM,6BAA6B;2BAlUC,+BAA+B;CAoUzE,CAAC"}