@universityofmaryland/web-elements-library 1.5.2 → 1.5.5

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 (710) hide show
  1. package/README.md +1 -1
  2. package/dist/_types.d.ts +2 -9
  3. package/dist/_types.d.ts.map +1 -1
  4. package/dist/atomic/_types.d.ts +2 -2
  5. package/dist/atomic/_types.d.ts.map +1 -1
  6. package/dist/atomic/actions/icon.d.ts +1 -5
  7. package/dist/atomic/actions/icon.d.ts.map +1 -1
  8. package/dist/atomic/actions/icon.js +43 -48
  9. package/dist/atomic/actions/icon.js.map +1 -1
  10. package/dist/atomic/actions/icon.mjs +43 -48
  11. package/dist/atomic/actions/icon.mjs.map +1 -1
  12. package/dist/atomic/actions/text.d.ts +4 -16
  13. package/dist/atomic/actions/text.d.ts.map +1 -1
  14. package/dist/atomic/actions/text.js +82 -104
  15. package/dist/atomic/actions/text.js.map +1 -1
  16. package/dist/atomic/actions/text.mjs +81 -106
  17. package/dist/atomic/actions/text.mjs.map +1 -1
  18. package/dist/atomic/animations/actions/indicator.js +1 -1
  19. package/dist/atomic/animations/actions/indicator.js.map +1 -1
  20. package/dist/atomic/animations/actions/indicator.mjs +1 -1
  21. package/dist/atomic/animations/actions/indicator.mjs.map +1 -1
  22. package/dist/atomic/animations/brand/card-stack.d.ts +2 -1
  23. package/dist/atomic/animations/brand/card-stack.d.ts.map +1 -1
  24. package/dist/atomic/animations/brand/card-stack.js +148 -172
  25. package/dist/atomic/animations/brand/card-stack.js.map +1 -1
  26. package/dist/atomic/animations/brand/card-stack.mjs +140 -164
  27. package/dist/atomic/animations/brand/card-stack.mjs.map +1 -1
  28. package/dist/atomic/animations/brand/chevron-scroll.js +1 -1
  29. package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
  30. package/dist/atomic/animations/brand/chevron-scroll.mjs +1 -1
  31. package/dist/atomic/animations/brand/chevron-scroll.mjs.map +1 -1
  32. package/dist/atomic/assets/image/background.d.ts +1 -5
  33. package/dist/atomic/assets/image/background.d.ts.map +1 -1
  34. package/dist/atomic/assets/image/background.js +40 -40
  35. package/dist/atomic/assets/image/background.js.map +1 -1
  36. package/dist/atomic/assets/image/background.mjs +23 -40
  37. package/dist/atomic/assets/image/background.mjs.map +1 -1
  38. package/dist/atomic/assets/image/gif.d.ts +1 -5
  39. package/dist/atomic/assets/image/gif.d.ts.map +1 -1
  40. package/dist/atomic/assets/image/gif.js +28 -12
  41. package/dist/atomic/assets/image/gif.js.map +1 -1
  42. package/dist/atomic/assets/image/gif.mjs +11 -12
  43. package/dist/atomic/assets/image/gif.mjs.map +1 -1
  44. package/dist/atomic/assets/image/placeholder.d.ts +1 -5
  45. package/dist/atomic/assets/image/placeholder.d.ts.map +1 -1
  46. package/dist/atomic/assets/video/observed-auto-play.d.ts +1 -9
  47. package/dist/atomic/assets/video/observed-auto-play.d.ts.map +1 -1
  48. package/dist/atomic/assets/video/observed-auto-play.js +9 -5
  49. package/dist/atomic/assets/video/observed-auto-play.js.map +1 -1
  50. package/dist/atomic/assets/video/observed-auto-play.mjs +9 -5
  51. package/dist/atomic/assets/video/observed-auto-play.mjs.map +1 -1
  52. package/dist/atomic/assets/video/toggle.d.ts +1 -9
  53. package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
  54. package/dist/atomic/assets/video/toggle.js +38 -40
  55. package/dist/atomic/assets/video/toggle.js.map +1 -1
  56. package/dist/atomic/assets/video/toggle.mjs +21 -40
  57. package/dist/atomic/assets/video/toggle.mjs.map +1 -1
  58. package/dist/atomic/buttons/fullscreen.d.ts +1 -5
  59. package/dist/atomic/buttons/fullscreen.d.ts.map +1 -1
  60. package/dist/atomic/buttons/fullscreen.js +21 -15
  61. package/dist/atomic/buttons/fullscreen.js.map +1 -1
  62. package/dist/atomic/buttons/fullscreen.mjs +4 -15
  63. package/dist/atomic/buttons/fullscreen.mjs.map +1 -1
  64. package/dist/atomic/events/meta.d.ts +1 -5
  65. package/dist/atomic/events/meta.d.ts.map +1 -1
  66. package/dist/atomic/events/meta.js +48 -48
  67. package/dist/atomic/events/meta.js.map +1 -1
  68. package/dist/atomic/events/meta.mjs +31 -48
  69. package/dist/atomic/events/meta.mjs.map +1 -1
  70. package/dist/atomic/events/sign.d.ts +1 -5
  71. package/dist/atomic/events/sign.d.ts.map +1 -1
  72. package/dist/atomic/events/sign.js +84 -93
  73. package/dist/atomic/events/sign.js.map +1 -1
  74. package/dist/atomic/events/sign.mjs +82 -93
  75. package/dist/atomic/events/sign.mjs.map +1 -1
  76. package/dist/atomic/layout/block/stacked.d.ts +7 -19
  77. package/dist/atomic/layout/block/stacked.d.ts.map +1 -1
  78. package/dist/atomic/layout/block/stacked.js +14 -20
  79. package/dist/atomic/layout/block/stacked.js.map +1 -1
  80. package/dist/atomic/layout/block/stacked.mjs +14 -20
  81. package/dist/atomic/layout/block/stacked.mjs.map +1 -1
  82. package/dist/atomic/layout/overlay/modal.js +1 -1
  83. package/dist/atomic/layout/overlay/modal.js.map +1 -1
  84. package/dist/atomic/layout/overlay/modal.mjs +1 -1
  85. package/dist/atomic/layout/overlay/modal.mjs.map +1 -1
  86. package/dist/atomic/layout/person/columns.d.ts +4 -20
  87. package/dist/atomic/layout/person/columns.d.ts.map +1 -1
  88. package/dist/atomic/layout/person/columns.js +56 -66
  89. package/dist/atomic/layout/person/columns.js.map +1 -1
  90. package/dist/atomic/layout/person/columns.mjs +56 -66
  91. package/dist/atomic/layout/person/columns.mjs.map +1 -1
  92. package/dist/atomic/text/stat.d.ts +2 -3
  93. package/dist/atomic/text/stat.d.ts.map +1 -1
  94. package/dist/atomic/text/stat.js +101 -119
  95. package/dist/atomic/text/stat.js.map +1 -1
  96. package/dist/atomic/text/stat.mjs +100 -119
  97. package/dist/atomic/text/stat.mjs.map +1 -1
  98. package/dist/atomic/text-lockup/contact.d.ts +1 -5
  99. package/dist/atomic/text-lockup/contact.d.ts.map +1 -1
  100. package/dist/atomic/text-lockup/contact.js +65 -105
  101. package/dist/atomic/text-lockup/contact.js.map +1 -1
  102. package/dist/atomic/text-lockup/contact.mjs +60 -103
  103. package/dist/atomic/text-lockup/contact.mjs.map +1 -1
  104. package/dist/atomic/text-lockup/date.d.ts.map +1 -1
  105. package/dist/atomic/text-lockup/date.js +6 -1
  106. package/dist/atomic/text-lockup/date.js.map +1 -1
  107. package/dist/atomic/text-lockup/date.mjs +6 -1
  108. package/dist/atomic/text-lockup/date.mjs.map +1 -1
  109. package/dist/atomic/text-lockup/large.d.ts +3 -7
  110. package/dist/atomic/text-lockup/large.d.ts.map +1 -1
  111. package/dist/atomic/text-lockup/large.js +62 -71
  112. package/dist/atomic/text-lockup/large.js.map +1 -1
  113. package/dist/atomic/text-lockup/large.mjs +59 -71
  114. package/dist/atomic/text-lockup/large.mjs.map +1 -1
  115. package/dist/atomic/text-lockup/medium.d.ts +5 -9
  116. package/dist/atomic/text-lockup/medium.d.ts.map +1 -1
  117. package/dist/atomic/text-lockup/medium.js +76 -84
  118. package/dist/atomic/text-lockup/medium.js.map +1 -1
  119. package/dist/atomic/text-lockup/medium.mjs +70 -82
  120. package/dist/atomic/text-lockup/medium.mjs.map +1 -1
  121. package/dist/atomic/text-lockup/person.d.ts +1 -5
  122. package/dist/atomic/text-lockup/person.d.ts.map +1 -1
  123. package/dist/atomic/text-lockup/person.js +102 -101
  124. package/dist/atomic/text-lockup/person.js.map +1 -1
  125. package/dist/atomic/text-lockup/person.mjs +99 -101
  126. package/dist/atomic/text-lockup/person.mjs.map +1 -1
  127. package/dist/atomic/text-lockup/small-scaling.d.ts +1 -5
  128. package/dist/atomic/text-lockup/small-scaling.d.ts.map +1 -1
  129. package/dist/atomic/text-lockup/small-scaling.js +64 -39
  130. package/dist/atomic/text-lockup/small-scaling.js.map +1 -1
  131. package/dist/atomic/text-lockup/small-scaling.mjs +44 -38
  132. package/dist/atomic/text-lockup/small-scaling.mjs.map +1 -1
  133. package/dist/atomic/text-lockup/small.d.ts +11 -25
  134. package/dist/atomic/text-lockup/small.d.ts.map +1 -1
  135. package/dist/atomic/text-lockup/small.js +70 -69
  136. package/dist/atomic/text-lockup/small.js.map +1 -1
  137. package/dist/atomic/text-lockup/small.mjs +64 -66
  138. package/dist/atomic/text-lockup/small.mjs.map +1 -1
  139. package/dist/composite/alert/elements/closeButton.d.ts +7 -0
  140. package/dist/composite/alert/elements/closeButton.d.ts.map +1 -0
  141. package/dist/composite/alert/elements/closeButton.js +51 -0
  142. package/dist/composite/alert/elements/closeButton.js.map +1 -0
  143. package/dist/composite/alert/elements/closeButton.mjs +34 -0
  144. package/dist/composite/alert/elements/closeButton.mjs.map +1 -0
  145. package/dist/composite/alert/elements/text.d.ts +3 -13
  146. package/dist/composite/alert/elements/text.d.ts.map +1 -1
  147. package/dist/composite/alert/elements/text.js +60 -81
  148. package/dist/composite/alert/elements/text.js.map +1 -1
  149. package/dist/composite/alert/elements/text.mjs +56 -80
  150. package/dist/composite/alert/elements/text.mjs.map +1 -1
  151. package/dist/composite/alert/globals.d.ts +4 -0
  152. package/dist/composite/alert/globals.d.ts.map +1 -0
  153. package/dist/composite/alert/globals.js +7 -0
  154. package/dist/composite/alert/globals.js.map +1 -0
  155. package/dist/composite/alert/globals.mjs +7 -0
  156. package/dist/composite/alert/globals.mjs.map +1 -0
  157. package/dist/composite/alert/index.d.ts +2 -2
  158. package/dist/composite/alert/index.d.ts.map +1 -1
  159. package/dist/composite/alert/index.js +2 -2
  160. package/dist/composite/alert/index.mjs +4 -4
  161. package/dist/composite/alert/page.d.ts +5 -12
  162. package/dist/composite/alert/page.d.ts.map +1 -1
  163. package/dist/composite/alert/page.js +44 -113
  164. package/dist/composite/alert/page.js.map +1 -1
  165. package/dist/composite/alert/page.mjs +44 -112
  166. package/dist/composite/alert/page.mjs.map +1 -1
  167. package/dist/composite/alert/site.d.ts +5 -11
  168. package/dist/composite/alert/site.d.ts.map +1 -1
  169. package/dist/composite/alert/site.js +60 -109
  170. package/dist/composite/alert/site.js.map +1 -1
  171. package/dist/composite/alert/site.mjs +61 -109
  172. package/dist/composite/alert/site.mjs.map +1 -1
  173. package/dist/composite/banner/promo.js +1 -1
  174. package/dist/composite/banner/promo.js.map +1 -1
  175. package/dist/composite/banner/promo.mjs +1 -1
  176. package/dist/composite/banner/promo.mjs.map +1 -1
  177. package/dist/composite/card/block.d.ts +1 -5
  178. package/dist/composite/card/block.d.ts.map +1 -1
  179. package/dist/composite/card/block.js +7 -5
  180. package/dist/composite/card/block.js.map +1 -1
  181. package/dist/composite/card/block.mjs +7 -5
  182. package/dist/composite/card/block.mjs.map +1 -1
  183. package/dist/composite/card/list.d.ts +1 -5
  184. package/dist/composite/card/list.d.ts.map +1 -1
  185. package/dist/composite/card/list.js +52 -64
  186. package/dist/composite/card/list.js.map +1 -1
  187. package/dist/composite/card/list.mjs +52 -64
  188. package/dist/composite/card/list.mjs.map +1 -1
  189. package/dist/composite/card/overlay/color.d.ts +1 -5
  190. package/dist/composite/card/overlay/color.d.ts.map +1 -1
  191. package/dist/composite/card/overlay/color.js +36 -41
  192. package/dist/composite/card/overlay/color.js.map +1 -1
  193. package/dist/composite/card/overlay/color.mjs +36 -41
  194. package/dist/composite/card/overlay/color.mjs.map +1 -1
  195. package/dist/composite/card/overlay/icon.d.ts +1 -5
  196. package/dist/composite/card/overlay/icon.d.ts.map +1 -1
  197. package/dist/composite/card/overlay/icon.js +27 -31
  198. package/dist/composite/card/overlay/icon.js.map +1 -1
  199. package/dist/composite/card/overlay/icon.mjs +27 -31
  200. package/dist/composite/card/overlay/icon.mjs.map +1 -1
  201. package/dist/composite/card/overlay/image.d.ts +2 -1
  202. package/dist/composite/card/overlay/image.d.ts.map +1 -1
  203. package/dist/composite/card/overlay/image.js +74 -93
  204. package/dist/composite/card/overlay/image.js.map +1 -1
  205. package/dist/composite/card/overlay/image.mjs +73 -93
  206. package/dist/composite/card/overlay/image.mjs.map +1 -1
  207. package/dist/composite/card/video/block.d.ts +1 -9
  208. package/dist/composite/card/video/block.d.ts.map +1 -1
  209. package/dist/composite/card/video/block.js +7 -5
  210. package/dist/composite/card/video/block.js.map +1 -1
  211. package/dist/composite/card/video/block.mjs +7 -5
  212. package/dist/composite/card/video/block.mjs.map +1 -1
  213. package/dist/composite/card/video/short.d.ts +1 -5
  214. package/dist/composite/card/video/short.d.ts.map +1 -1
  215. package/dist/composite/card/video/short.js +16 -21
  216. package/dist/composite/card/video/short.js.map +1 -1
  217. package/dist/composite/card/video/short.mjs +16 -21
  218. package/dist/composite/card/video/short.mjs.map +1 -1
  219. package/dist/composite/carousel/_types.d.ts.map +1 -1
  220. package/dist/composite/carousel/default/index.js +1 -1
  221. package/dist/composite/carousel/default/index.js.map +1 -1
  222. package/dist/composite/carousel/default/index.mjs +1 -1
  223. package/dist/composite/carousel/default/index.mjs.map +1 -1
  224. package/dist/composite/carousel/elements/blocks.js +2 -2
  225. package/dist/composite/carousel/elements/blocks.js.map +1 -1
  226. package/dist/composite/carousel/elements/blocks.mjs +2 -2
  227. package/dist/composite/carousel/elements/blocks.mjs.map +1 -1
  228. package/dist/composite/carousel/elements/full-screen.js +7 -5
  229. package/dist/composite/carousel/elements/full-screen.js.map +1 -1
  230. package/dist/composite/carousel/elements/full-screen.mjs +7 -5
  231. package/dist/composite/carousel/elements/full-screen.mjs.map +1 -1
  232. package/dist/composite/carousel/elements/image.js +2 -2
  233. package/dist/composite/carousel/elements/image.js.map +1 -1
  234. package/dist/composite/carousel/elements/image.mjs +2 -2
  235. package/dist/composite/carousel/elements/image.mjs.map +1 -1
  236. package/dist/composite/carousel/elements/overlay.js +2 -2
  237. package/dist/composite/carousel/elements/overlay.js.map +1 -1
  238. package/dist/composite/carousel/elements/overlay.mjs +2 -2
  239. package/dist/composite/carousel/elements/overlay.mjs.map +1 -1
  240. package/dist/composite/carousel/image/multiple.js +11 -9
  241. package/dist/composite/carousel/image/multiple.js.map +1 -1
  242. package/dist/composite/carousel/image/multiple.mjs +11 -9
  243. package/dist/composite/carousel/image/multiple.mjs.map +1 -1
  244. package/dist/composite/carousel/image/standard.js +10 -8
  245. package/dist/composite/carousel/image/standard.js.map +1 -1
  246. package/dist/composite/carousel/image/standard.mjs +10 -8
  247. package/dist/composite/carousel/image/standard.mjs.map +1 -1
  248. package/dist/composite/carousel/thumbnail/index.js +1 -1
  249. package/dist/composite/carousel/thumbnail/index.js.map +1 -1
  250. package/dist/composite/carousel/thumbnail/index.mjs +1 -1
  251. package/dist/composite/carousel/thumbnail/index.mjs.map +1 -1
  252. package/dist/composite/carousel/wide/_elementModel.d.ts +2 -2
  253. package/dist/composite/carousel/wide/_elementModel.d.ts.map +1 -1
  254. package/dist/composite/carousel/wide/_elementModel.js +20 -7
  255. package/dist/composite/carousel/wide/_elementModel.js.map +1 -1
  256. package/dist/composite/carousel/wide/_elementModel.mjs +20 -7
  257. package/dist/composite/carousel/wide/_elementModel.mjs.map +1 -1
  258. package/dist/composite/carousel/wide/container.d.ts.map +1 -1
  259. package/dist/composite/carousel/wide/container.js +9 -15
  260. package/dist/composite/carousel/wide/container.js.map +1 -1
  261. package/dist/composite/carousel/wide/container.mjs +9 -15
  262. package/dist/composite/carousel/wide/container.mjs.map +1 -1
  263. package/dist/composite/carousel/wide/controls.d.ts +1 -5
  264. package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
  265. package/dist/composite/carousel/wide/controls.js +55 -56
  266. package/dist/composite/carousel/wide/controls.js.map +1 -1
  267. package/dist/composite/carousel/wide/controls.mjs +55 -56
  268. package/dist/composite/carousel/wide/controls.mjs.map +1 -1
  269. package/dist/composite/carousel/wide/frames.d.ts.map +1 -1
  270. package/dist/composite/carousel/wide/frames.js +156 -171
  271. package/dist/composite/carousel/wide/frames.js.map +1 -1
  272. package/dist/composite/carousel/wide/frames.mjs +153 -169
  273. package/dist/composite/carousel/wide/frames.mjs.map +1 -1
  274. package/dist/composite/carousel/wide/index.d.ts +1 -5
  275. package/dist/composite/carousel/wide/index.d.ts.map +1 -1
  276. package/dist/composite/carousel/wide/index.js +23 -17
  277. package/dist/composite/carousel/wide/index.js.map +1 -1
  278. package/dist/composite/carousel/wide/index.mjs +23 -17
  279. package/dist/composite/carousel/wide/index.mjs.map +1 -1
  280. package/dist/composite/footer/_types.d.ts +1 -0
  281. package/dist/composite/footer/_types.d.ts.map +1 -1
  282. package/dist/composite/footer/elements/main-section/call-to-action.d.ts +2 -2
  283. package/dist/composite/footer/elements/main-section/call-to-action.d.ts.map +1 -1
  284. package/dist/composite/footer/elements/main-section/call-to-action.js +19 -28
  285. package/dist/composite/footer/elements/main-section/call-to-action.js.map +1 -1
  286. package/dist/composite/footer/elements/main-section/call-to-action.mjs +18 -28
  287. package/dist/composite/footer/elements/main-section/call-to-action.mjs.map +1 -1
  288. package/dist/composite/footer/elements/main-section/campaign.d.ts +3 -3
  289. package/dist/composite/footer/elements/main-section/campaign.d.ts.map +1 -1
  290. package/dist/composite/footer/elements/main-section/campaign.js +51 -32
  291. package/dist/composite/footer/elements/main-section/campaign.js.map +1 -1
  292. package/dist/composite/footer/elements/main-section/campaign.mjs +51 -32
  293. package/dist/composite/footer/elements/main-section/campaign.mjs.map +1 -1
  294. package/dist/composite/footer/elements/main-section/index.d.ts +2 -2
  295. package/dist/composite/footer/elements/main-section/index.d.ts.map +1 -1
  296. package/dist/composite/footer/elements/main-section/index.js +38 -50
  297. package/dist/composite/footer/elements/main-section/index.js.map +1 -1
  298. package/dist/composite/footer/elements/main-section/index.mjs +38 -50
  299. package/dist/composite/footer/elements/main-section/index.mjs.map +1 -1
  300. package/dist/composite/footer/elements/main-section/row-links/index.d.ts +2 -2
  301. package/dist/composite/footer/elements/main-section/row-links/index.d.ts.map +1 -1
  302. package/dist/composite/footer/elements/main-section/row-links/index.js +24 -36
  303. package/dist/composite/footer/elements/main-section/row-links/index.js.map +1 -1
  304. package/dist/composite/footer/elements/main-section/row-links/index.mjs +24 -36
  305. package/dist/composite/footer/elements/main-section/row-links/index.mjs.map +1 -1
  306. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts +2 -2
  307. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts.map +1 -1
  308. package/dist/composite/footer/elements/main-section/row-links/link-columns.js +75 -95
  309. package/dist/composite/footer/elements/main-section/row-links/link-columns.js.map +1 -1
  310. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs +73 -93
  311. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs.map +1 -1
  312. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts +2 -2
  313. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts.map +1 -1
  314. package/dist/composite/footer/elements/main-section/row-logo/contact.js +88 -98
  315. package/dist/composite/footer/elements/main-section/row-logo/contact.js.map +1 -1
  316. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs +88 -98
  317. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs.map +1 -1
  318. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts +2 -2
  319. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts.map +1 -1
  320. package/dist/composite/footer/elements/main-section/row-logo/index.js +30 -43
  321. package/dist/composite/footer/elements/main-section/row-logo/index.js.map +1 -1
  322. package/dist/composite/footer/elements/main-section/row-logo/index.mjs +30 -43
  323. package/dist/composite/footer/elements/main-section/row-logo/index.mjs.map +1 -1
  324. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts +2 -2
  325. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts.map +1 -1
  326. package/dist/composite/footer/elements/main-section/row-logo/logo.js +24 -32
  327. package/dist/composite/footer/elements/main-section/row-logo/logo.js.map +1 -1
  328. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs +24 -32
  329. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs.map +1 -1
  330. package/dist/composite/footer/elements/main-section/social.d.ts +2 -2
  331. package/dist/composite/footer/elements/main-section/social.d.ts.map +1 -1
  332. package/dist/composite/footer/elements/main-section/social.js +74 -97
  333. package/dist/composite/footer/elements/main-section/social.js.map +1 -1
  334. package/dist/composite/footer/elements/main-section/social.mjs +74 -97
  335. package/dist/composite/footer/elements/main-section/social.mjs.map +1 -1
  336. package/dist/composite/footer/elements/utility-section/index.d.ts +3 -4
  337. package/dist/composite/footer/elements/utility-section/index.d.ts.map +1 -1
  338. package/dist/composite/footer/elements/utility-section/index.js +56 -84
  339. package/dist/composite/footer/elements/utility-section/index.js.map +1 -1
  340. package/dist/composite/footer/elements/utility-section/index.mjs +56 -84
  341. package/dist/composite/footer/elements/utility-section/index.mjs.map +1 -1
  342. package/dist/composite/footer/options.d.ts +1 -4
  343. package/dist/composite/footer/options.d.ts.map +1 -1
  344. package/dist/composite/footer/options.js +19 -27
  345. package/dist/composite/footer/options.js.map +1 -1
  346. package/dist/composite/footer/options.mjs +19 -27
  347. package/dist/composite/footer/options.mjs.map +1 -1
  348. package/dist/composite/hero/_types.d.ts.map +1 -1
  349. package/dist/composite/hero/custom/expand.d.ts +3 -2
  350. package/dist/composite/hero/custom/expand.d.ts.map +1 -1
  351. package/dist/composite/hero/custom/expand.js +151 -192
  352. package/dist/composite/hero/custom/expand.js.map +1 -1
  353. package/dist/composite/hero/custom/expand.mjs +145 -187
  354. package/dist/composite/hero/custom/expand.mjs.map +1 -1
  355. package/dist/composite/hero/custom/grid.d.ts +1 -5
  356. package/dist/composite/hero/custom/grid.d.ts.map +1 -1
  357. package/dist/composite/hero/custom/grid.js +122 -171
  358. package/dist/composite/hero/custom/grid.js.map +1 -1
  359. package/dist/composite/hero/custom/grid.mjs +116 -166
  360. package/dist/composite/hero/custom/grid.mjs.map +1 -1
  361. package/dist/composite/hero/custom/video-arrow.d.ts +2 -1
  362. package/dist/composite/hero/custom/video-arrow.d.ts.map +1 -1
  363. package/dist/composite/hero/custom/video-arrow.js +83 -105
  364. package/dist/composite/hero/custom/video-arrow.js.map +1 -1
  365. package/dist/composite/hero/custom/video-arrow.mjs +77 -99
  366. package/dist/composite/hero/custom/video-arrow.mjs.map +1 -1
  367. package/dist/composite/hero/logo.d.ts +1 -5
  368. package/dist/composite/hero/logo.d.ts.map +1 -1
  369. package/dist/composite/hero/logo.js +71 -89
  370. package/dist/composite/hero/logo.js.map +1 -1
  371. package/dist/composite/hero/logo.mjs +68 -87
  372. package/dist/composite/hero/logo.mjs.map +1 -1
  373. package/dist/composite/hero/minimal.d.ts +1 -5
  374. package/dist/composite/hero/minimal.d.ts.map +1 -1
  375. package/dist/composite/hero/minimal.js +67 -86
  376. package/dist/composite/hero/minimal.js.map +1 -1
  377. package/dist/composite/hero/minimal.mjs +63 -83
  378. package/dist/composite/hero/minimal.mjs.map +1 -1
  379. package/dist/composite/hero/overlay.d.ts +1 -5
  380. package/dist/composite/hero/overlay.d.ts.map +1 -1
  381. package/dist/composite/hero/overlay.js +107 -135
  382. package/dist/composite/hero/overlay.js.map +1 -1
  383. package/dist/composite/hero/overlay.mjs +103 -132
  384. package/dist/composite/hero/overlay.mjs.map +1 -1
  385. package/dist/composite/hero/stacked.d.ts +1 -5
  386. package/dist/composite/hero/stacked.d.ts.map +1 -1
  387. package/dist/composite/hero/stacked.js +114 -137
  388. package/dist/composite/hero/stacked.js.map +1 -1
  389. package/dist/composite/hero/stacked.mjs +110 -134
  390. package/dist/composite/hero/stacked.mjs.map +1 -1
  391. package/dist/composite/hero/standard.d.ts +1 -5
  392. package/dist/composite/hero/standard.d.ts.map +1 -1
  393. package/dist/composite/hero/standard.js +103 -116
  394. package/dist/composite/hero/standard.js.map +1 -1
  395. package/dist/composite/hero/standard.mjs +100 -114
  396. package/dist/composite/hero/standard.mjs.map +1 -1
  397. package/dist/composite/layout/box/logo.js +1 -1
  398. package/dist/composite/layout/box/logo.js.map +1 -1
  399. package/dist/composite/layout/box/logo.mjs +1 -1
  400. package/dist/composite/layout/box/logo.mjs.map +1 -1
  401. package/dist/composite/layout/image/expand.js +1 -1
  402. package/dist/composite/layout/image/expand.js.map +1 -1
  403. package/dist/composite/layout/image/expand.mjs +1 -1
  404. package/dist/composite/layout/image/expand.mjs.map +1 -1
  405. package/dist/composite/layout/scroll-top/index.js +1 -1
  406. package/dist/composite/layout/scroll-top/index.js.map +1 -1
  407. package/dist/composite/layout/scroll-top/index.mjs +1 -1
  408. package/dist/composite/layout/scroll-top/index.mjs.map +1 -1
  409. package/dist/composite/layout/section-intro/small.d.ts +2 -1
  410. package/dist/composite/layout/section-intro/small.d.ts.map +1 -1
  411. package/dist/composite/layout/section-intro/small.js +97 -107
  412. package/dist/composite/layout/section-intro/small.js.map +1 -1
  413. package/dist/composite/layout/section-intro/small.mjs +95 -106
  414. package/dist/composite/layout/section-intro/small.mjs.map +1 -1
  415. package/dist/composite/layout/section-intro/wide.d.ts +2 -2
  416. package/dist/composite/layout/section-intro/wide.d.ts.map +1 -1
  417. package/dist/composite/layout/section-intro/wide.js +40 -53
  418. package/dist/composite/layout/section-intro/wide.js.map +1 -1
  419. package/dist/composite/layout/section-intro/wide.mjs +39 -53
  420. package/dist/composite/layout/section-intro/wide.mjs.map +1 -1
  421. package/dist/composite/layout/sticky-columns/index.js +1 -1
  422. package/dist/composite/layout/sticky-columns/index.js.map +1 -1
  423. package/dist/composite/layout/sticky-columns/index.mjs +1 -1
  424. package/dist/composite/layout/sticky-columns/index.mjs.map +1 -1
  425. package/dist/composite/media/elements/caption.js +1 -1
  426. package/dist/composite/media/elements/caption.js.map +1 -1
  427. package/dist/composite/media/elements/caption.mjs +1 -1
  428. package/dist/composite/media/elements/caption.mjs.map +1 -1
  429. package/dist/composite/media/elements/gif.d.ts +3 -2
  430. package/dist/composite/media/elements/gif.d.ts.map +1 -1
  431. package/dist/composite/media/elements/gif.js +25 -27
  432. package/dist/composite/media/elements/gif.js.map +1 -1
  433. package/dist/composite/media/elements/gif.mjs +25 -27
  434. package/dist/composite/media/elements/gif.mjs.map +1 -1
  435. package/dist/composite/media/inline/caption.js +2 -2
  436. package/dist/composite/media/inline/caption.js.map +1 -1
  437. package/dist/composite/media/inline/caption.mjs +2 -2
  438. package/dist/composite/media/inline/caption.mjs.map +1 -1
  439. package/dist/composite/media/inline/wrapped.js +2 -2
  440. package/dist/composite/media/inline/wrapped.js.map +1 -1
  441. package/dist/composite/media/inline/wrapped.mjs +2 -2
  442. package/dist/composite/media/inline/wrapped.mjs.map +1 -1
  443. package/dist/composite/navigation/elements/breadcrumb/index.js +1 -1
  444. package/dist/composite/navigation/elements/breadcrumb/index.js.map +1 -1
  445. package/dist/composite/navigation/elements/breadcrumb/index.mjs +1 -1
  446. package/dist/composite/navigation/elements/breadcrumb/index.mjs.map +1 -1
  447. package/dist/composite/navigation/elements/drawer/index.js +1 -1
  448. package/dist/composite/navigation/elements/drawer/index.js.map +1 -1
  449. package/dist/composite/navigation/elements/drawer/index.mjs +1 -1
  450. package/dist/composite/navigation/elements/drawer/index.mjs.map +1 -1
  451. package/dist/composite/navigation/elements/item/index.js +1 -1
  452. package/dist/composite/navigation/elements/item/index.js.map +1 -1
  453. package/dist/composite/navigation/elements/item/index.mjs +1 -1
  454. package/dist/composite/navigation/elements/item/index.mjs.map +1 -1
  455. package/dist/composite/navigation/elements/menu-button/index.js +1 -1
  456. package/dist/composite/navigation/elements/menu-button/index.js.map +1 -1
  457. package/dist/composite/navigation/elements/menu-button/index.mjs +1 -1
  458. package/dist/composite/navigation/elements/menu-button/index.mjs.map +1 -1
  459. package/dist/composite/navigation/elements/slider/action.js +1 -1
  460. package/dist/composite/navigation/elements/slider/action.js.map +1 -1
  461. package/dist/composite/navigation/elements/slider/action.mjs +1 -1
  462. package/dist/composite/navigation/elements/slider/action.mjs.map +1 -1
  463. package/dist/composite/navigation/elements/slider/index.js +1 -1
  464. package/dist/composite/navigation/elements/slider/index.js.map +1 -1
  465. package/dist/composite/navigation/elements/slider/index.mjs +1 -1
  466. package/dist/composite/navigation/elements/slider/index.mjs.map +1 -1
  467. package/dist/composite/navigation/elements/slider/slide-first.js +1 -1
  468. package/dist/composite/navigation/elements/slider/slide-first.js.map +1 -1
  469. package/dist/composite/navigation/elements/slider/slide-first.mjs +1 -1
  470. package/dist/composite/navigation/elements/slider/slide-first.mjs.map +1 -1
  471. package/dist/composite/navigation/elements/slider/slides.js +1 -1
  472. package/dist/composite/navigation/elements/slider/slides.js.map +1 -1
  473. package/dist/composite/navigation/elements/slider/slides.mjs +1 -1
  474. package/dist/composite/navigation/elements/slider/slides.mjs.map +1 -1
  475. package/dist/composite/navigation/header.js +1 -1
  476. package/dist/composite/navigation/header.js.map +1 -1
  477. package/dist/composite/navigation/header.mjs +1 -1
  478. package/dist/composite/navigation/header.mjs.map +1 -1
  479. package/dist/composite/navigation/utility/alert.js +8 -4
  480. package/dist/composite/navigation/utility/alert.js.map +1 -1
  481. package/dist/composite/navigation/utility/alert.mjs +8 -4
  482. package/dist/composite/navigation/utility/alert.mjs.map +1 -1
  483. package/dist/composite/navigation/utility/index.d.ts.map +1 -1
  484. package/dist/composite/navigation/utility/index.js +90 -13
  485. package/dist/composite/navigation/utility/index.js.map +1 -1
  486. package/dist/composite/navigation/utility/index.mjs +90 -13
  487. package/dist/composite/navigation/utility/index.mjs.map +1 -1
  488. package/dist/composite/navigation/utility/search.js +1 -1
  489. package/dist/composite/navigation/utility/search.js.map +1 -1
  490. package/dist/composite/navigation/utility/search.mjs +1 -1
  491. package/dist/composite/navigation/utility/search.mjs.map +1 -1
  492. package/dist/composite/pathway/_common.d.ts +4 -20
  493. package/dist/composite/pathway/_common.d.ts.map +1 -1
  494. package/dist/composite/pathway/_common.js +62 -64
  495. package/dist/composite/pathway/_common.js.map +1 -1
  496. package/dist/composite/pathway/_common.mjs +56 -60
  497. package/dist/composite/pathway/_common.mjs.map +1 -1
  498. package/dist/composite/pathway/hero.d.ts +1 -5
  499. package/dist/composite/pathway/hero.d.ts.map +1 -1
  500. package/dist/composite/pathway/hero.js +119 -140
  501. package/dist/composite/pathway/hero.js.map +1 -1
  502. package/dist/composite/pathway/hero.mjs +113 -135
  503. package/dist/composite/pathway/hero.mjs.map +1 -1
  504. package/dist/composite/pathway/highlight.d.ts +1 -5
  505. package/dist/composite/pathway/highlight.d.ts.map +1 -1
  506. package/dist/composite/pathway/highlight.js +99 -129
  507. package/dist/composite/pathway/highlight.js.map +1 -1
  508. package/dist/composite/pathway/highlight.mjs +98 -129
  509. package/dist/composite/pathway/highlight.mjs.map +1 -1
  510. package/dist/composite/pathway/overlay.d.ts +2 -1
  511. package/dist/composite/pathway/overlay.d.ts.map +1 -1
  512. package/dist/composite/pathway/overlay.js +125 -153
  513. package/dist/composite/pathway/overlay.js.map +1 -1
  514. package/dist/composite/pathway/overlay.mjs +122 -151
  515. package/dist/composite/pathway/overlay.mjs.map +1 -1
  516. package/dist/composite/pathway/standard.d.ts +2 -1
  517. package/dist/composite/pathway/standard.d.ts.map +1 -1
  518. package/dist/composite/pathway/standard.js +96 -123
  519. package/dist/composite/pathway/standard.js.map +1 -1
  520. package/dist/composite/pathway/standard.mjs +95 -123
  521. package/dist/composite/pathway/standard.mjs.map +1 -1
  522. package/dist/composite/pathway/sticky.d.ts +1 -5
  523. package/dist/composite/pathway/sticky.d.ts.map +1 -1
  524. package/dist/composite/pathway/sticky.js +91 -116
  525. package/dist/composite/pathway/sticky.js.map +1 -1
  526. package/dist/composite/pathway/sticky.mjs +88 -114
  527. package/dist/composite/pathway/sticky.mjs.map +1 -1
  528. package/dist/composite/person/bio/full.d.ts +2 -5
  529. package/dist/composite/person/bio/full.d.ts.map +1 -1
  530. package/dist/composite/person/bio/full.js +53 -57
  531. package/dist/composite/person/bio/full.js.map +1 -1
  532. package/dist/composite/person/bio/full.mjs +52 -57
  533. package/dist/composite/person/bio/full.mjs.map +1 -1
  534. package/dist/composite/person/bio/small.d.ts +2 -5
  535. package/dist/composite/person/bio/small.d.ts.map +1 -1
  536. package/dist/composite/person/bio/small.js +85 -98
  537. package/dist/composite/person/bio/small.js.map +1 -1
  538. package/dist/composite/person/bio/small.mjs +84 -98
  539. package/dist/composite/person/bio/small.mjs.map +1 -1
  540. package/dist/composite/person/block.d.ts +2 -5
  541. package/dist/composite/person/block.d.ts.map +1 -1
  542. package/dist/composite/person/block.js +34 -42
  543. package/dist/composite/person/block.js.map +1 -1
  544. package/dist/composite/person/block.mjs +34 -42
  545. package/dist/composite/person/block.mjs.map +1 -1
  546. package/dist/composite/person/hero.d.ts +2 -5
  547. package/dist/composite/person/hero.d.ts.map +1 -1
  548. package/dist/composite/person/hero.js +160 -220
  549. package/dist/composite/person/hero.js.map +1 -1
  550. package/dist/composite/person/hero.mjs +159 -220
  551. package/dist/composite/person/hero.mjs.map +1 -1
  552. package/dist/composite/person/list.d.ts +2 -5
  553. package/dist/composite/person/list.d.ts.map +1 -1
  554. package/dist/composite/person/list.js +19 -19
  555. package/dist/composite/person/list.js.map +1 -1
  556. package/dist/composite/person/list.mjs +19 -19
  557. package/dist/composite/person/list.mjs.map +1 -1
  558. package/dist/composite/person/tabular.d.ts +2 -5
  559. package/dist/composite/person/tabular.d.ts.map +1 -1
  560. package/dist/composite/person/tabular.js +40 -36
  561. package/dist/composite/person/tabular.js.map +1 -1
  562. package/dist/composite/person/tabular.mjs +38 -36
  563. package/dist/composite/person/tabular.mjs.map +1 -1
  564. package/dist/composite/quote/elements/action.d.ts +1 -5
  565. package/dist/composite/quote/elements/action.d.ts.map +1 -1
  566. package/dist/composite/quote/elements/action.js +13 -17
  567. package/dist/composite/quote/elements/action.js.map +1 -1
  568. package/dist/composite/quote/elements/action.mjs +13 -17
  569. package/dist/composite/quote/elements/action.mjs.map +1 -1
  570. package/dist/composite/quote/elements/icon.d.ts +1 -5
  571. package/dist/composite/quote/elements/icon.d.ts.map +1 -1
  572. package/dist/composite/quote/elements/icon.js +37 -40
  573. package/dist/composite/quote/elements/icon.js.map +1 -1
  574. package/dist/composite/quote/elements/icon.mjs +37 -40
  575. package/dist/composite/quote/elements/icon.mjs.map +1 -1
  576. package/dist/composite/quote/elements/image.d.ts +1 -5
  577. package/dist/composite/quote/elements/image.d.ts.map +1 -1
  578. package/dist/composite/quote/elements/image.js +27 -35
  579. package/dist/composite/quote/elements/image.js.map +1 -1
  580. package/dist/composite/quote/elements/image.mjs +27 -35
  581. package/dist/composite/quote/elements/image.mjs.map +1 -1
  582. package/dist/composite/quote/elements/quote.d.ts +1 -5
  583. package/dist/composite/quote/elements/quote.d.ts.map +1 -1
  584. package/dist/composite/quote/elements/quote.js +37 -48
  585. package/dist/composite/quote/elements/quote.js.map +1 -1
  586. package/dist/composite/quote/elements/quote.mjs +35 -46
  587. package/dist/composite/quote/elements/quote.mjs.map +1 -1
  588. package/dist/composite/quote/elements/text.d.ts +1 -5
  589. package/dist/composite/quote/elements/text.d.ts.map +1 -1
  590. package/dist/composite/quote/elements/text.js +60 -73
  591. package/dist/composite/quote/elements/text.js.map +1 -1
  592. package/dist/composite/quote/elements/text.mjs +60 -73
  593. package/dist/composite/quote/elements/text.mjs.map +1 -1
  594. package/dist/composite/quote/featured.d.ts +2 -1
  595. package/dist/composite/quote/featured.d.ts.map +1 -1
  596. package/dist/composite/quote/featured.js +102 -135
  597. package/dist/composite/quote/featured.js.map +1 -1
  598. package/dist/composite/quote/featured.mjs +102 -135
  599. package/dist/composite/quote/featured.mjs.map +1 -1
  600. package/dist/composite/quote/helper/animation.d.ts +2 -2
  601. package/dist/composite/quote/helper/animation.d.ts.map +1 -1
  602. package/dist/composite/quote/helper/animation.js.map +1 -1
  603. package/dist/composite/quote/helper/animation.mjs.map +1 -1
  604. package/dist/composite/quote/inline.d.ts +2 -1
  605. package/dist/composite/quote/inline.d.ts.map +1 -1
  606. package/dist/composite/quote/inline.js +29 -45
  607. package/dist/composite/quote/inline.js.map +1 -1
  608. package/dist/composite/quote/inline.mjs +29 -45
  609. package/dist/composite/quote/inline.mjs.map +1 -1
  610. package/dist/composite/quote/statement.d.ts +1 -5
  611. package/dist/composite/quote/statement.d.ts.map +1 -1
  612. package/dist/composite/slider/events.js +1 -1
  613. package/dist/composite/slider/events.js.map +1 -1
  614. package/dist/composite/slider/events.mjs +1 -1
  615. package/dist/composite/slider/events.mjs.map +1 -1
  616. package/dist/composite/social/sharing.js +1 -1
  617. package/dist/composite/social/sharing.js.map +1 -1
  618. package/dist/composite/social/sharing.mjs +1 -1
  619. package/dist/composite/social/sharing.mjs.map +1 -1
  620. package/dist/composite/tabs/standard.d.ts.map +1 -1
  621. package/dist/composite/tabs/standard.js +3 -2
  622. package/dist/composite/tabs/standard.js.map +1 -1
  623. package/dist/composite/tabs/standard.mjs +3 -2
  624. package/dist/composite/tabs/standard.mjs.map +1 -1
  625. package/dist/index.d.ts +0 -1
  626. package/dist/index.d.ts.map +1 -1
  627. package/dist/index.js +0 -2
  628. package/dist/index.js.map +1 -1
  629. package/dist/index.mjs +1 -3
  630. package/dist/index.mjs.map +1 -1
  631. package/dist/layout/image.js +1 -1
  632. package/dist/layout/image.js.map +1 -1
  633. package/dist/layout/image.mjs +1 -1
  634. package/dist/layout/image.mjs.map +1 -1
  635. package/package.json +10 -9
  636. package/dist/model/elements/actions.d.ts +0 -62
  637. package/dist/model/elements/actions.d.ts.map +0 -1
  638. package/dist/model/elements/actions.js +0 -71
  639. package/dist/model/elements/actions.js.map +0 -1
  640. package/dist/model/elements/actions.mjs +0 -54
  641. package/dist/model/elements/actions.mjs.map +0 -1
  642. package/dist/model/elements/assets.d.ts +0 -30
  643. package/dist/model/elements/assets.d.ts.map +0 -1
  644. package/dist/model/elements/assets.js +0 -42
  645. package/dist/model/elements/assets.js.map +0 -1
  646. package/dist/model/elements/assets.mjs +0 -25
  647. package/dist/model/elements/assets.mjs.map +0 -1
  648. package/dist/model/elements/buttons.d.ts +0 -12
  649. package/dist/model/elements/buttons.d.ts.map +0 -1
  650. package/dist/model/elements/buttons.js +0 -26
  651. package/dist/model/elements/buttons.js.map +0 -1
  652. package/dist/model/elements/buttons.mjs +0 -9
  653. package/dist/model/elements/buttons.mjs.map +0 -1
  654. package/dist/model/elements/event.d.ts +0 -22
  655. package/dist/model/elements/event.d.ts.map +0 -1
  656. package/dist/model/elements/event.js +0 -30
  657. package/dist/model/elements/event.js.map +0 -1
  658. package/dist/model/elements/event.mjs +0 -13
  659. package/dist/model/elements/event.mjs.map +0 -1
  660. package/dist/model/elements/headline.d.ts +0 -67
  661. package/dist/model/elements/headline.d.ts.map +0 -1
  662. package/dist/model/elements/headline.js +0 -74
  663. package/dist/model/elements/headline.js.map +0 -1
  664. package/dist/model/elements/headline.mjs +0 -57
  665. package/dist/model/elements/headline.mjs.map +0 -1
  666. package/dist/model/elements/index.d.ts +0 -34
  667. package/dist/model/elements/index.d.ts.map +0 -1
  668. package/dist/model/elements/index.js +0 -37
  669. package/dist/model/elements/index.js.map +0 -1
  670. package/dist/model/elements/index.mjs +0 -37
  671. package/dist/model/elements/index.mjs.map +0 -1
  672. package/dist/model/elements/layout.d.ts +0 -64
  673. package/dist/model/elements/layout.d.ts.map +0 -1
  674. package/dist/model/elements/layout.js +0 -68
  675. package/dist/model/elements/layout.js.map +0 -1
  676. package/dist/model/elements/layout.mjs +0 -51
  677. package/dist/model/elements/layout.mjs.map +0 -1
  678. package/dist/model/elements/rich-text.d.ts +0 -27
  679. package/dist/model/elements/rich-text.d.ts.map +0 -1
  680. package/dist/model/elements/rich-text.js +0 -68
  681. package/dist/model/elements/rich-text.js.map +0 -1
  682. package/dist/model/elements/rich-text.mjs +0 -51
  683. package/dist/model/elements/rich-text.mjs.map +0 -1
  684. package/dist/model/elements/text.d.ts +0 -22
  685. package/dist/model/elements/text.d.ts.map +0 -1
  686. package/dist/model/elements/text.js +0 -30
  687. package/dist/model/elements/text.js.map +0 -1
  688. package/dist/model/elements/text.mjs +0 -13
  689. package/dist/model/elements/text.mjs.map +0 -1
  690. package/dist/model/index.d.ts +0 -2
  691. package/dist/model/index.d.ts.map +0 -1
  692. package/dist/model/modifiers/_types.d.ts +0 -41
  693. package/dist/model/modifiers/_types.d.ts.map +0 -1
  694. package/dist/model/modifiers/index.d.ts +0 -44
  695. package/dist/model/modifiers/index.d.ts.map +0 -1
  696. package/dist/model/modifiers/index.js +0 -136
  697. package/dist/model/modifiers/index.js.map +0 -1
  698. package/dist/model/modifiers/index.mjs +0 -136
  699. package/dist/model/modifiers/index.mjs.map +0 -1
  700. package/dist/model/modifiers/style.d.ts +0 -19
  701. package/dist/model/modifiers/style.d.ts.map +0 -1
  702. package/dist/model/modifiers/style.js +0 -122
  703. package/dist/model/modifiers/style.js.map +0 -1
  704. package/dist/model/modifiers/style.mjs +0 -105
  705. package/dist/model/modifiers/style.mjs.map +0 -1
  706. package/dist/model.d.ts +0 -2
  707. package/dist/model.js +0 -5
  708. package/dist/model.js.map +0 -1
  709. package/dist/model.mjs +0 -5
  710. package/dist/model.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\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 default (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","token"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,kBAAkB;AACxB,MAAM,aAAa;AAEnB,MAAM,gBAAgB,IAAI,eAAe,KAAK,UAAU;AAExD,MAAM,eAAe;AACrB,MAAM,sBAAsB;AAC5B,MAAM,qBAAqB;AAE3B,MAAM,yCAAyC,IAAI,kBAAkB,KAAKA,OAAwB,SAAS,SAAS;AACpH,MAAM,sCAAsC,IAAI,kBAAkB,KAAKA,OAAwB,SAAS,MAAM;AAC9G,MAAM,sCAAsC,IAAI,kBAAkB,KAAKA,OAAwB,SAAS,cAAc;AACtH,MAAM,kCAAkC,IAAI,kBAAkB,KAAKA,OAAwB,SAAS,UAAU;AAE9G,MAAM,iCAAiC,IAAI,kBAAkB,GAAG,aAAa;AAC7E,MAAM,8BAA8B,GAAG,8BAA8B,KAAKA,OAAwB,SAAS,MAAM;AAEjH,MAAM,0BAA0B,IAAI,kBAAkB,IAAIA,OAAwB,SAAS,oBAAoB;AAC/G,MAAM,kCAAkC,GAAG,uBAAuB,KAAKA,OAAwB,SAAS,MAAM;AAC9G,MAAM,mCAAmC,GAAG,uBAAuB,KAAKA,OAAwB,SAAS,cAAc;AACvH,MAAM,+BAA+B,GAAG,uBAAuB,KAAKA,OAAwB,SAAS,UAAU;AAG/G,MAAM,qBAAqB;AAAA,IACvB,2BAA2B;AAAA,wBACPC,iBAAM,MAAM,GAAG;AAAA;AAAA;AAAA,IAGnC,2BAA2B;AAAA,YACnBA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAK7B,MAAM,0BAA0B;AAAA,KAC3B,sCAAsC;AAAA;AAAA;AAAA;AAAA,IAIvC,mCAAmC;AAAA;AAAA;AAAA,wBAGfA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAAA,IAGrC,mCAAmC;AAAA,YAC3BA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAAA,IAGzB,mCAAmC;AAAA;AAAA;AAAA;AAAA,IAInC,+BAA+B;AAAA;AAAA;AAAA;AAAA,IAI/B,uBAAuB;AAAA;AAAA;AAAA;AAAA,IAIvB,+BAA+B;AAAA;AAAA;AAAA,wBAGXA,iBAAM,MAAM,KAAK,OAAO;AAAA;AAAA;AAAA,IAG5C,gCAAgC;AAAA;AAAA;AAAA;AAAA,IAIhC,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAOhC,MAAM,kBAAkB;AAAA,KACnB,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAOvB,MAAM,0BAA0B;AAAA,KAC3B,mBAAmB;AAAA,iBACP,YAAY;AAAA;AAAA;AAAA,KAGxB,mBAAmB;AAAA,aACXA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAAA,IAG1BD,OAAwB,MAAM;AAAA,IAC9B,eAAe;AAAA,IACf,uBAAuB;AAAA,IACvB,kBAAkB;AAAA;AAGtB,MAAA,QAAe,CAAC,WACb,MAAM;AACL,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,cAAc,SAAS,cAAc,KAAK;AAChD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,QAAM,wBAA0D;AAAA,IAC9D,kBAAkB,cAAc;AAAA,IAChC,mBAAmB,eAAe;AAAA,IAClC,aAAa,eAAe;AAAA,IAC5B,cAAc,gBAAgB;AAAA,IAC9B,UAAU,YAAY;AAAA,IACtB;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,UAAU;AAAA,EAAA;AAGZ,MAAI,SAAS;AACX,0BAAsB,WAAW,SAAS,OAAO;AACjD,0BAAsB,mBAAmB,MAAO,SAAS,OAAO;AAChE,0BAAsB,oBAAoB,OAAO,SAAS,OAAO;AAAA,EACnE;AAEA,MAAI,CAAC,WAAY,uBAAsB,iBAAiB;AACxD,MAAI,CAAC,KAAM,uBAAsB,WAAW;AAE5C,QAAM,oBAAoBA,OAAwB,cAAc;AAAA,IAC9D,GAAG;AAAA,IACH,QAAQ,MAAM;AAAA,IACd;AAAA,EAAA,CACD;AAED,UAAQ,YAAY,kBAAkB,OAAO;AAE7C,YAAU,UAAU,IAAI,kBAAkB;AAC1C,YAAU,YAAY,OAAO;AAC7B,MAAI,YAAa,WAAU,aAAa,iBAAiB,UAAU;AAEnE,cAAY,UAAU,IAAI,mBAAmB;AAC7C,cAAY,YAAY,SAAS;AAEjC,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACN,QAAQ,kBAAkB,OAAO;AAAA,MACjC,MAAM,kBAAkB,OAAO;AAAA,IAAA;AAAA,EACjC;AAEJ,GAAA;;"}
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 default (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","token"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as token from "@universityofmaryland/web-styles-library/token";
1
+ import * as token from "@universityofmaryland/web-token-library";
2
2
  import blocks from "../elements/blocks.mjs";
3
3
  import "../elements/full-screen.mjs";
4
4
  import "../elements/overlay.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\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 default (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.mjs","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 default (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,10 +1,10 @@
1
1
  "use strict";
2
- const token = require("@universityofmaryland/web-styles-library/token");
2
+ const token = require("@universityofmaryland/web-token-library");
3
3
  const elementStyles = require("@universityofmaryland/web-styles-library/element");
4
- const arrows = require("@universityofmaryland/web-icons-library/arrows");
5
4
  const performance = require("@universityofmaryland/web-utilities-library/performance");
6
5
  const events = require("@universityofmaryland/web-utilities-library/events");
7
6
  const styles = require("@universityofmaryland/web-utilities-library/styles");
7
+ const arrows = require("@universityofmaryland/web-icons-library/arrows");
8
8
  function _interopNamespaceDefault(e) {
9
9
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
10
10
  if (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as element from '@universityofmaryland/web-styles-library/element';\nimport { arrow_right as iconArrowRight } from '@universityofmaryland/web-icons-library/arrows';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { setupSwipeDetection } from '@universityofmaryland/web-utilities-library/events';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\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 TypeDisplayLogicProps = Partial<TypeDisplayLogic>;\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n overwriteDisplayLogic?: TypeDisplayLogicProps;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\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\nconst fullScreenClassName = element.action.button.fullScreen.className;\n\nconst ATTRIBUTE_SINGLE_BLOCK = 'single';\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;\n\nconst ELEMENT_NAME = 'umd-element-animation-carousel-block';\nconst ELEMENT_ANIMATION_CAROUSEL_DECLARATION =\n 'animation-carousel-block-declaration';\nconst ELEMENT_ANIMATION_CAROUSEL_CONTAINER =\n 'animation-carousel-block-container';\nconst ELEMENT_ANIMATION_CAROUSEL_WRAPPER = 'animation-carousel-block-wrapper';\nconst ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;\nconst ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;\nconst ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;\n\nconst OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;\n\n// prettier-ignore\nconst ButtonStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {\n background-color: ${token.color.red};\n padding: 10px ${token.spacing.xs};\n position: absolute;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n display: none;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {\n opacity: 0.5;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {\n width: 20px;\n height: 20px;\n fill: ${token.color.white};\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {\n transform: rotate(180deg);\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {\n position: relative;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {\n overflow: hidden;\n padding-right: 0;\n width: 100%;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n width: 100%;\n }\n\n ${ContainerStyles}\n ${ButtonStyles}\n`;\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 // Force layout recalculation to get accurate measurements\n void slotContent[0]?.offsetHeight;\n const elementSize = slotContent[0]?.offsetWidth || 0;\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 orginal,\n clone,\n }: {\n orginal: HTMLElement;\n clone: HTMLElement;\n }) => {\n const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (orginalFullScreen && cloneFullScreen) {\n const indexAttr = orginalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\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 // Prepare elements before animation\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n // Add clone but keep it hidden initially\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n // Set width first and force layout recalculation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\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 // Prepare clone with proper event handlers\n cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });\n\n // Set width first before DOM manipulation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n\n // Add cloned element at the beginning\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n\n // Set initial transform position\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n // Force layout recalculation\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\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 isDirectionRight ? animateRight() : animateLeft();\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\nconst ButtonVisibility = (props: TypeHelpers) => {\n const { GetElements, GetViewOptions } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n const buttons = [nextButton, prevousButton];\n\n const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();\n const shouldShowRightButton = GetViewOptions.shouldShowRightButton();\n const showCount = GetViewOptions.showCount();\n const cardsTotal = GetElements.blocks().length;\n const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;\n const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;\n\n if (cardsTotal === showCount) {\n buttons.forEach((button) => (button.style.display = 'none'));\n return;\n }\n\n if (shouldHideLeftButton) {\n prevousButton.style.display = 'none';\n } else {\n prevousButton.style.display = 'block';\n }\n\n if (shouldHideRightButton) {\n nextButton.style.display = 'none';\n } else {\n nextButton.style.display = 'block';\n }\n};\n\nconst ButtonDisplay = (props: TypeHelpers) => {\n const { GetElements } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n\n prevousButton.setAttribute('aria-label', 'Previous');\n nextButton.setAttribute('aria-label', 'Next');\n\n ButtonVisibility(props);\n};\n\nconst CreateButton = ({\n EventMoveForward,\n EventMoveBackward,\n isRight = true,\n}: {\n EventMoveForward: () => void;\n EventMoveBackward: () => void;\n isRight?: boolean;\n}) => {\n const button = document.createElement('button');\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'Next');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);\n button.innerHTML = iconArrowRight;\n\n if (isRight) {\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);\n }\n\n if (!isRight) {\n button.setAttribute('aria-label', 'Previous');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);\n }\n\n button.addEventListener('click', () => {\n if (isRight) EventMoveForward();\n if (!isRight) EventMoveBackward();\n button.disabled = true;\n\n setTimeout(() => {\n button.disabled = false;\n }, ANIMATION_DURATION);\n });\n\n return button;\n};\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint: 550,\n tabletBreakpoint: 768,\n desktopBreakpoint: 1000,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 3,\n maxCount: 4,\n blockGap: parsePixelValue(token.spacing.lg),\n hasRightButton: true,\n hasLeftButton: true,\n showMobileHint: true,\n showHint: true,\n fullScreenCallback: undefined,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n\n if (overwriteDisplayLogic) {\n Object.keys(overwriteDisplayLogic).forEach((key) => {\n const refKey = key as keyof typeof displayLogic;\n const refValue = overwriteDisplayLogic[refKey] as never;\n\n displayLogic[refKey] = refValue;\n });\n }\n\n const GetElements = {\n container: () => container,\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\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 if (isTablet) count = displayLogic.tabletCount;\n if (isDesktop) count = displayLogic.desktopCount;\n if (isHighDef) count = displayLogic.maxCount;\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const isShowMobileHint = displayLogic.showMobileHint;\n const isShowHint = displayLogic.showHint;\n\n return (\n (isShowMobileHint && isMobileView) || (isShowHint && isMobileView)\n );\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 const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / 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 return container.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) containerBlocks[1].style.display = 'block';\n if (isHint) containerBlocks[count].style.display = 'block';\n },\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\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 ButtonDisplay({ ...Event.helpers });\n\n if (count === 1) {\n container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, '');\n } else {\n container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);\n }\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 container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n }),\n );\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n }),\n );\n\n wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);\n\n if (shadowRef) {\n wrapper.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n wrapper.appendChild(slide);\n }\n\n container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);\n declaration.appendChild(container);\n\n window.addEventListener('resize', debounce(Event.resize, 30));\n\n return {\n element: declaration,\n events: {\n resize: Event.resize,\n load: Event.load,\n },\n };\n })();\n\nexport default {\n CreateElement: CreateCarouselCardsElement,\n Styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n Elements: {\n declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,\n container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,\n containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,\n button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,\n nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,\n previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS,\n },\n};\n"],"names":["element","token","setupSwipeDetection","iconArrowRight","blocks","parsePixelValue","count","debounce"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,MAAM,sBAAsBA,yBAAQ,OAAO,OAAO,WAAW;AAE7D,MAAM,yBAAyB;AAC/B,MAAM,qBAAqB;AAC3B,MAAM,+BAA+B;AACrC,MAAM,wBAAwB;AAE9B,MAAM,kBAAkB,IAAI,sBAAsB;AAElD,MAAM,eAAe;AACrB,MAAM,yCACJ;AACF,MAAM,uCACJ;AACF,MAAM,qCAAqC;AAC3C,MAAM,oCAAoC;AAC1C,MAAM,kCAAkC;AACxC,MAAM,sCAAsC;AAE5C,MAAM,mCAAmC,IAAI,oCAAoC,GAAG,eAAe;AAGnG,MAAM,eAAe;AAAA,KAChB,iCAAiC;AAAA,wBACdC,iBAAM,MAAM,GAAG;AAAA,oBACnBA,iBAAM,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAU/B,iCAAiC;AAAA;AAAA;AAAA;AAAA,KAIjC,iCAAiC;AAAA;AAAA;AAAA,YAG1BA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAAA,KAGxB,mCAAmC;AAAA;AAAA;AAAA;AAMxC,MAAM,kBAAkB;AAAA,KACnB,oCAAoC;AAAA;AAAA;AAAA;AAAA,KAIpC,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAQvC,MAAM,gCAAgC;AAAA,KACjC,sCAAsC;AAAA,iBAC1B,YAAY;AAAA;AAAA;AAAA;AAAA,IAIzB,eAAe;AAAA,IACf,YAAY;AAAA;AAGhB,MAAM,sBAAsB,CAAC,UAA2B;AACtD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB;AAAA,EAAA,IACE;AACJ,QAAM,iBAAiB,YAAY,MAAA;AACnC,QAAM,cAAc,MAAM;AAAA,IACxB,eAAe,iBAAiB,YAAY;AAAA,EAAA;AAG9C,QAAM,mBAAmB,eAAe,qBAAA;AACxC,QAAM,aAAa,eAAe,eAAA;AAClC,QAAM,QAAQ,eAAe,UAAA;AAG7B,OAAK,YAAY,CAAC,GAAG;AACrB,QAAM,cAAc,YAAY,CAAC,GAAG,eAAe;AACnD,QAAM,eAAe,SAAS,0BAA0B,EAAE,OAAO;AACjE,QAAM,EAAE,uBAAuB;AAE/B,MAAI,CAAC,YAAa;AAElB,QAAM,uBAAuB;AAC7B,QAAM,wBAAwB,eAAe;AAE7C,QAAM,uBAAuB,CAAC;AAAA,IAC5B;AAAA,IACA;AAAA,EAAA,MAII;AACJ,UAAM,oBAAoB,QAAQ,cAAc,IAAI,mBAAmB,EAAE;AACzE,UAAM,kBAAkB,MAAM,cAAc,IAAI,mBAAmB,EAAE;AAErE,QAAI,qBAAqB,iBAAiB;AACxC,YAAM,YAAY,kBAAkB,aAAa,YAAY;AAC7D,YAAM,QAAQ,YAAY,SAAS,SAAS,IAAI;AAChD,sBAAgB;AAAA,QAAiB;AAAA,QAAS,MACxC,mBAAmB,KAAK;AAAA,MAAA;AAAA,IAE5B;AAAA,EACF;AAEA,QAAM,eAAe,MAAM;AACzB,UAAM,eAAe,YAAY,CAAC;AAClC,UAAM,gBAAgB,aAAa,UAAU,IAAI;AACjD,UAAM,kBAAkB,YAAY,KAAK;AACzC,UAAM,cAAc,YAAY,QAAQ,CAAC;AAGzC,oBAAgB,MAAM,UAAU;AAChC,yBAAqB,EAAE,SAAS,cAAc,OAAO,eAAe;AAEpE,QAAI,gBAAgB,oBAAoB,aAAa;AACnD,kBAAY,MAAM,UAAU;AAAA,IAC9B;AAGA,mBAAe,YAAY,aAAa;AACxC,kBAAc,MAAM,UAAU;AAG9B,mBAAe,MAAM,QAAQ,GAAG,qBAAqB;AACrD,SAAK,eAAe;AAGpB,0BAAsB,MAAM;AAC1B,qBAAe,MAAM,aAAa,aAAa,kBAAkB;AACjE,qBAAe,MAAM,YAAY,eAAe,oBAAoB;AAEpE,iBAAW,MAAM;AACf,uBAAe,YAAY,YAAY;AACvC,kBAAU,cAAc,EAAE,OAAO;AAAA,MACnC,GAAG,kBAAkB;AAAA,IACvB,CAAC;AAAA,EACH;AAEA,QAAM,cAAc,MAAM;AACxB,UAAM,cAAc,YAAY,YAAY,SAAS,CAAC;AACtD,UAAM,iBAAiB,YAAY,QAAQ,CAAC;AAC5C,UAAM,sBAAsB,YAAY,KAAK;AAC7C,UAAM,gBAAgB,YAAY,UAAU,IAAI;AAGhD,yBAAqB,EAAE,SAAS,aAAa,OAAO,eAAe;AAGnE,mBAAe,MAAM,QAAQ,GAAG,qBAAqB;AAGrD,mBAAe,QAAQ,aAAa;AACpC,kBAAc,MAAM,UAAU;AAG9B,mBAAe,MAAM,YAAY,eAAe,oBAAoB;AAGpE,SAAK,eAAe;AAGpB,0BAAsB,MAAM;AAC1B,qBAAe,MAAM,aAAa,aAAa,kBAAkB;AACjE,qBAAe,MAAM,YAAY;AAEjC,iBAAW,MAAM;AACf,uBAAe,YAAY,WAAW;AAEtC,YAAI,CAAC,oBAAoB,CAAC,YAAY;AACpC,yBAAe,MAAM,UAAU;AAAA,QACjC;AAEA,YAAI,oBAAoB,YAAY;AAClC,8BAAoB,MAAM,UAAU;AAAA,QACtC;AAEA,kBAAU,cAAc,EAAE,OAAO;AAAA,MACnC,GAAG,kBAAkB;AAAA,IACvB,CAAC;AAAA,EACH;AAEA,qBAAmB,aAAA,IAAiB,YAAA;AACtC;AAEA,MAAM,aAAa,CAAC,UAAuB;AACzC,QAAM,EAAE,gBAAgB;AACxB,QAAM,YAAY,YAAY,UAAA;AAE9B,QAAM,SAAS,CAAC,iBAA0B;AACxC,QAAI,CAAC,cAAc;AACjB,0BAAoB,KAAK;AAAA,IAC3B,OAAO;AACL,0BAAoB,EAAE,GAAG,OAAO,kBAAkB,OAAO;AAAA,IAC3D;AAAA,EACF;AAEAC,SAAAA,oBAAoB,EAAE,WAAW,UAAU,OAAA,CAAQ;AACrD;AAEA,MAAM,mBAAmB,CAAC,UAAuB;AAC/C,QAAM,EAAE,aAAa,eAAA,IAAmB;AACxC,QAAM,gBAAgB,YAAY,UAAA,EAAY;AAAA,IAC5C,IAAI,mCAAmC;AAAA,EAAA;AAEzC,QAAM,aAAa,YAAY,UAAA,EAAY;AAAA,IACzC,IAAI,+BAA+B;AAAA,EAAA;AAErC,QAAM,UAAU,CAAC,YAAY,aAAa;AAE1C,QAAM,uBAAuB,eAAe,qBAAA;AAC5C,QAAM,wBAAwB,eAAe,sBAAA;AAC7C,QAAM,YAAY,eAAe,UAAA;AACjC,QAAM,aAAa,YAAY,OAAA,EAAS;AACxC,QAAM,uBAAuB,YAAY,KAAK,CAAC;AAC/C,QAAM,wBAAwB,YAAY,KAAK,CAAC;AAEhD,MAAI,eAAe,WAAW;AAC5B,YAAQ,QAAQ,CAAC,WAAY,OAAO,MAAM,UAAU,MAAO;AAC3D;AAAA,EACF;AAEA,MAAI,sBAAsB;AACxB,kBAAc,MAAM,UAAU;AAAA,EAChC,OAAO;AACL,kBAAc,MAAM,UAAU;AAAA,EAChC;AAEA,MAAI,uBAAuB;AACzB,eAAW,MAAM,UAAU;AAAA,EAC7B,OAAO;AACL,eAAW,MAAM,UAAU;AAAA,EAC7B;AACF;AAEA,MAAM,gBAAgB,CAAC,UAAuB;AAC5C,QAAM,EAAE,gBAAgB;AACxB,QAAM,gBAAgB,YAAY,UAAA,EAAY;AAAA,IAC5C,IAAI,mCAAmC;AAAA,EAAA;AAEzC,QAAM,aAAa,YAAY,UAAA,EAAY;AAAA,IACzC,IAAI,+BAA+B;AAAA,EAAA;AAGrC,gBAAc,aAAa,cAAc,UAAU;AACnD,aAAW,aAAa,cAAc,MAAM;AAE5C,mBAAiB,KAAK;AACxB;AAEA,MAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA,UAAU;AACZ,MAIM;AACJ,QAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,SAAO,aAAa,QAAQ,QAAQ;AACpC,SAAO,aAAa,cAAc,MAAM;AACxC,SAAO,UAAU,IAAI,iCAAiC;AACtD,SAAO,YAAYC,OAAAA;AAEnB,MAAI,SAAS;AACX,WAAO,UAAU,IAAI,+BAA+B;AAAA,EACtD;AAEA,MAAI,CAAC,SAAS;AACZ,WAAO,aAAa,cAAc,UAAU;AAC5C,WAAO,UAAU,IAAI,mCAAmC;AAAA,EAC1D;AAEA,SAAO,iBAAiB,SAAS,MAAM;AACrC,QAAI,QAAS,kBAAA;AACb,QAAI,CAAC,QAAS,mBAAA;AACd,WAAO,WAAW;AAElB,eAAW,MAAM;AACf,aAAO,WAAW;AAAA,IACpB,GAAG,kBAAkB;AAAA,EACvB,CAAC;AAED,SAAO;AACT;AAEA,MAAM,6BAA6B,CAAC,WACjC,MAAM;AACL,QAAM,EAAE,OAAO,WAAW,QAAAC,SAAQ,0BAA0B;AAC5D,QAAM,cAAc,SAAS,cAAc,KAAK;AAChD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,QAAM,eAAiC;AAAA,IACrC,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,UAAU;AAAA,IACV,UAAUC,OAAAA,gBAAgBJ,iBAAM,QAAQ,EAAE;AAAA,IAC1C,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,oBAAoB;AAAA,EAAA;AAEtB,MAAI,aAAa;AACjB,MAAI,wBAAwB;AAE5B,MAAI,uBAAuB;AACzB,WAAO,KAAK,qBAAqB,EAAE,QAAQ,CAAC,QAAQ;AAClD,YAAM,SAAS;AACf,YAAM,WAAW,sBAAsB,MAAM;AAE7C,mBAAa,MAAM,IAAI;AAAA,IACzB,CAAC;AAAA,EACH;AAEA,QAAM,cAAc;AAAA,IAClB,WAAW,MAAM;AAAA,IACjB,OAAO,MAAM;AAAA,IACb,QAAQ,MAAMG;AAAA,EAAA;AAGhB,QAAM,iBAAiB;AAAA,IACrB,cAAc,MAAM;AAClB,aAAO,SAAS,oBAAoB,aAAa;AAAA,IACnD;AAAA,IACA,cAAc,MAAM;AAClB,aACE,SAAS,mBAAmB,aAAa,oBACzC,SAAS,oBAAoB,aAAa;AAAA,IAE9C;AAAA,IAEA,eAAe,MAAM;AACnB,aACE,SAAS,mBAAmB,aAAa,oBACzC,SAAS,oBAAoB,aAAa;AAAA,IAE9C;AAAA,IACA,YAAY,MAAM;AAChB,aAAO,SAAS,mBAAmB,aAAa;AAAA,IAClD;AAAA,IACA,WAAW,MAAM;AACf,YAAM,WAAW,eAAe,aAAA;AAChC,YAAM,WAAW,eAAe,aAAA;AAChC,YAAM,YAAY,eAAe,cAAA;AACjC,YAAM,YAAY,eAAe,WAAA;AACjC,UAAI,QAAQ;AAEZ,UAAI,kBAAkB,aAAa;AACnC,UAAI,kBAAkB,aAAa;AACnC,UAAI,mBAAmB,aAAa;AACpC,UAAI,mBAAmB,aAAa;AAEpC,aAAO;AAAA,IACT;AAAA,IACA,sBAAsB,MAAM;AAC1B,YAAM,eAAe,eAAe,aAAA;AACpC,YAAM,mBAAmB,aAAa;AACtC,YAAM,aAAa,aAAa;AAEhC,aACG,oBAAoB,gBAAkB,cAAc;AAAA,IAEzD;AAAA,IACA,gBAAgB,MAAM;AACpB,aAAO,aAAa,YAAY,CAAC,eAAe,aAAA;AAAA,IAClD;AAAA,IACA,sBAAsB,MAAM;AAC1B,aAAO,aAAa,iBAAiB;AAAA,IACvC;AAAA,IACA,uBAAuB,MAAM;AAC3B,aAAO,aAAa,kBAAkB;AAAA,IACxC;AAAA,EAAA;AAGF,QAAM,WAAW;AAAA,IACf,iBAAiB,CAAC,EAAE,YAA+B;AACjD,YAAM,iBAAiB,UAAU;AACjC,aAAQ,iBAAiB,QAAS;AAAA,IACpC;AAAA,IACA,WAAW,CAAC,EAAE,YAA+B;AAC3C,YAAM,iBAAiB,UAAU;AACjC,aAAQ,iBAAiB,QAAS;AAAA,IACpC;AAAA,IACA,2BAA2B,CAAC,EAAE,YAA+B;AAC3D,YAAM,cAAc;AACpB,YAAM,mBAAmB,eAAe,qBAAA;AACxC,YAAM,aAAa,eAAe,eAAA;AAElC,UAAI,CAAC,YAAa,QAAO,OAAO;AAEhC,UAAI,oBAAoB,YAAY;AAClC,eAAO,eAAe,QAAQ;AAAA,MAChC;AAEA,aAAO,cAAc;AAAA,IACvB;AAAA,IACA,gBAAgB,MAAM;AACpB,aAAO,UAAU;AAAA,IACnB;AAAA,EAAA;AAGF,QAAM,YAAY;AAAA,IAChB,YAAY,MACVA,QAAO,QAAQ,CAAC,UAAW,MAAM,MAAM,QAAQ,GAAG,UAAU,IAAK;AAAA,IACnE,eAAe,CAAC,EAAE,YAA+B;AAC/C,YAAM,cAAc,SAAS,0BAA0B,EAAE,OAAO;AAEhE,YAAM,MAAM,QAAQ,GAAG,WAAW;AAClC,YAAM,MAAM,aAAa;AACzB,YAAM,MAAM,YAAY;AAAA,IAC1B;AAAA,IACA,cAAc,CAAC,EAAE,YAA+B;AAC9C,YAAM,kBAAkB,MAAM;AAAA,QAC5B,MAAM,iBAAiB,YAAY;AAAA,MAAA;AAErC,YAAM,SAAS,eAAe,eAAA;AAC9B,YAAM,mBAAmB,eAAe,qBAAA;AAExC,sBAAgB,QAAQ,CAAC,OAAO,UAAU;AACxC,YAAI,SAAS,OAAO;AAClB,gBAAM,MAAM,UAAU;AAAA,QACxB,OAAO;AACL,gBAAM,MAAM,UAAU;AAAA,QACxB;AAAA,MACF,CAAC;AAED,UAAI,iBAAkB,iBAAgB,CAAC,EAAE,MAAM,UAAU;AACzD,UAAI,OAAQ,iBAAgB,KAAK,EAAE,MAAM,UAAU;AAAA,IACrD;AAAA,EAAA;AAGF,QAAM,QAAQ;AAAA,IACZ,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,QAAQ,MAAM;AACZ,YAAM,QAAQ,eAAe,UAAA;AAC7B,YAAM,qBAAqB,CAAC,EAAE,OAAAE,aAA+B;AAC3D,cAAM,mBAAmB,eAAe,qBAAA;AACxC,cAAM,aAAa,eAAe,eAAA;AAClC,cAAM,iBAAiB,UAAU;AAEjC,YAAI,oBAAoB,YAAY;AAClC,cAAI,kBAAkB,SAAS,UAAU,EAAE,OAAAA,QAAO;AAElD,cAAI,kBAAkB;AACpB,8BAAkB,SAAS,gBAAgB,EAAE,OAAAA,QAAO;AAAA,UACtD;AAEA,wBAAc,iBAAiB,mBAAmBA;AAAAA,QACpD,OAAO;AACL,uBAAa,iBAAiBA;AAAAA,QAChC;AAAA,MACF;AAEA,yBAAmB,EAAE,OAAO;AAC5B,gBAAU,WAAA;AACV,gBAAU,aAAa,EAAE,OAAO;AAChC,gBAAU,cAAc,EAAE,OAAO;AACjC,oBAAc,EAAE,GAAG,MAAM,SAAS;AAElC,UAAI,UAAU,GAAG;AACf,kBAAU,aAAa,wBAAwB,EAAE;AAAA,MACnD,OAAO;AACL,kBAAU,gBAAgB,sBAAsB;AAAA,MAClD;AAAA,IACF;AAAA,IACA,MAAM,MAAM;AACV,YAAM,MAAM,UAAU;AACtB,YAAM,MAAM,MAAM,GAAG,aAAa,QAAQ;AAE1C,YAAM,OAAA;AACN,iBAAW,EAAE,GAAG,MAAM,SAAS;AAAA,IACjC;AAAA,IACA,SAAS,MAAM;AACb,8BAAwB;AACxB,0BAAoB;AAAA,QAClB,GAAG,MAAM;AAAA,MAAA,CACV;AACD,uBAAiB,EAAE,GAAG,MAAM,SAAS;AAAA,IACvC;AAAA,IACA,UAAU,MAAM;AACd,8BAAwB;AACxB,0BAAoB;AAAA,QAClB,GAAG,MAAM;AAAA,QACT,kBAAkB;AAAA,MAAA,CACnB;AACD,uBAAiB,EAAE,GAAG,MAAM,SAAS;AAAA,IACvC;AAAA,EAAA;AAGF,YAAU;AAAA,IACR,aAAa;AAAA,MACX,kBAAkB,MAAM;AAAA,MACxB,mBAAmB,MAAM;AAAA,IAAA,CAC1B;AAAA,EAAA;AAGH,YAAU;AAAA,IACR,aAAa;AAAA,MACX,kBAAkB,MAAM;AAAA,MACxB,mBAAmB,MAAM;AAAA,MACzB,SAAS;AAAA,IAAA,CACV;AAAA,EAAA;AAGH,UAAQ,UAAU,IAAI,kCAAkC;AAExD,MAAI,WAAW;AACb,YAAQ,YAAY,SAAS;AAAA,EAC/B,OAAO;AACL,IAAAF,QAAO,QAAQ,CAAC,UAAU,MAAM,YAAY,KAAK,CAAC;AAClD,YAAQ,YAAY,KAAK;AAAA,EAC3B;AAEA,YAAU,UAAU,IAAI,oCAAoC;AAC5D,YAAU,YAAY,OAAO;AAE7B,cAAY,UAAU,IAAI,sCAAsC;AAChE,cAAY,YAAY,SAAS;AAEjC,SAAO,iBAAiB,UAAUG,YAAAA,SAAS,MAAM,QAAQ,EAAE,CAAC;AAE5D,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,MACN,QAAQ,MAAM;AAAA,MACd,MAAM,MAAM;AAAA,IAAA;AAAA,EACd;AAEJ,GAAA;AAEF,MAAA,SAAe;AAAA,EACb,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,UAAU;AAAA,IACR,aAAa;AAAA,IACb,WAAW;AAAA,IACX,sBAAsB;AAAA,IACtB,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAAA;AAEpB;;"}
1
+ {"version":3,"file":"blocks.js","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as element from '@universityofmaryland/web-styles-library/element';\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 { arrow_right as iconArrowRight } from '@universityofmaryland/web-icons-library/arrows';\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 TypeDisplayLogicProps = Partial<TypeDisplayLogic>;\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n overwriteDisplayLogic?: TypeDisplayLogicProps;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\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\nconst fullScreenClassName = element.action.button.fullScreen.className;\n\nconst ATTRIBUTE_SINGLE_BLOCK = 'single';\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;\n\nconst ELEMENT_NAME = 'umd-element-animation-carousel-block';\nconst ELEMENT_ANIMATION_CAROUSEL_DECLARATION =\n 'animation-carousel-block-declaration';\nconst ELEMENT_ANIMATION_CAROUSEL_CONTAINER =\n 'animation-carousel-block-container';\nconst ELEMENT_ANIMATION_CAROUSEL_WRAPPER = 'animation-carousel-block-wrapper';\nconst ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;\nconst ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;\nconst ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;\n\nconst OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;\n\n// prettier-ignore\nconst ButtonStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {\n background-color: ${token.color.red};\n padding: 10px ${token.spacing.xs};\n position: absolute;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n display: none;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {\n opacity: 0.5;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {\n width: 20px;\n height: 20px;\n fill: ${token.color.white};\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {\n transform: rotate(180deg);\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {\n position: relative;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {\n overflow: hidden;\n padding-right: 0;\n width: 100%;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n width: 100%;\n }\n\n ${ContainerStyles}\n ${ButtonStyles}\n`;\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 // Force layout recalculation to get accurate measurements\n void slotContent[0]?.offsetHeight;\n const elementSize = slotContent[0]?.offsetWidth || 0;\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 orginal,\n clone,\n }: {\n orginal: HTMLElement;\n clone: HTMLElement;\n }) => {\n const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (orginalFullScreen && cloneFullScreen) {\n const indexAttr = orginalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\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 // Prepare elements before animation\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n // Add clone but keep it hidden initially\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n // Set width first and force layout recalculation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\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 // Prepare clone with proper event handlers\n cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });\n\n // Set width first before DOM manipulation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n\n // Add cloned element at the beginning\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n\n // Set initial transform position\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n // Force layout recalculation\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\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 isDirectionRight ? animateRight() : animateLeft();\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\nconst ButtonVisibility = (props: TypeHelpers) => {\n const { GetElements, GetViewOptions } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n const buttons = [nextButton, prevousButton];\n\n const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();\n const shouldShowRightButton = GetViewOptions.shouldShowRightButton();\n const showCount = GetViewOptions.showCount();\n const cardsTotal = GetElements.blocks().length;\n const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;\n const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;\n\n if (cardsTotal === showCount) {\n buttons.forEach((button) => (button.style.display = 'none'));\n return;\n }\n\n if (shouldHideLeftButton) {\n prevousButton.style.display = 'none';\n } else {\n prevousButton.style.display = 'block';\n }\n\n if (shouldHideRightButton) {\n nextButton.style.display = 'none';\n } else {\n nextButton.style.display = 'block';\n }\n};\n\nconst ButtonDisplay = (props: TypeHelpers) => {\n const { GetElements } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n\n prevousButton.setAttribute('aria-label', 'Previous');\n nextButton.setAttribute('aria-label', 'Next');\n\n ButtonVisibility(props);\n};\n\nconst CreateButton = ({\n EventMoveForward,\n EventMoveBackward,\n isRight = true,\n}: {\n EventMoveForward: () => void;\n EventMoveBackward: () => void;\n isRight?: boolean;\n}) => {\n const button = document.createElement('button');\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'Next');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);\n button.innerHTML = iconArrowRight;\n\n if (isRight) {\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);\n }\n\n if (!isRight) {\n button.setAttribute('aria-label', 'Previous');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);\n }\n\n button.addEventListener('click', () => {\n if (isRight) EventMoveForward();\n if (!isRight) EventMoveBackward();\n button.disabled = true;\n\n setTimeout(() => {\n button.disabled = false;\n }, ANIMATION_DURATION);\n });\n\n return button;\n};\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint: 550,\n tabletBreakpoint: 768,\n desktopBreakpoint: 1000,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 3,\n maxCount: 4,\n blockGap: parsePixelValue(token.spacing.lg),\n hasRightButton: true,\n hasLeftButton: true,\n showMobileHint: true,\n showHint: true,\n fullScreenCallback: undefined,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n\n if (overwriteDisplayLogic) {\n Object.keys(overwriteDisplayLogic).forEach((key) => {\n const refKey = key as keyof typeof displayLogic;\n const refValue = overwriteDisplayLogic[refKey] as never;\n\n displayLogic[refKey] = refValue;\n });\n }\n\n const GetElements = {\n container: () => container,\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\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 if (isTablet) count = displayLogic.tabletCount;\n if (isDesktop) count = displayLogic.desktopCount;\n if (isHighDef) count = displayLogic.maxCount;\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const isShowMobileHint = displayLogic.showMobileHint;\n const isShowHint = displayLogic.showHint;\n\n return (\n (isShowMobileHint && isMobileView) || (isShowHint && isMobileView)\n );\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 const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / 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 return container.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) containerBlocks[1].style.display = 'block';\n if (isHint) containerBlocks[count].style.display = 'block';\n },\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\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 ButtonDisplay({ ...Event.helpers });\n\n if (count === 1) {\n container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, '');\n } else {\n container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);\n }\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 container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n }),\n );\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n }),\n );\n\n wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);\n\n if (shadowRef) {\n wrapper.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n wrapper.appendChild(slide);\n }\n\n container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);\n declaration.appendChild(container);\n\n window.addEventListener('resize', debounce(Event.resize, 30));\n\n return {\n element: declaration,\n events: {\n resize: Event.resize,\n load: Event.load,\n },\n };\n })();\n\nexport default {\n CreateElement: CreateCarouselCardsElement,\n Styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n Elements: {\n declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,\n container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,\n containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,\n button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,\n nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,\n previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS,\n },\n};\n"],"names":["element","token","setupSwipeDetection","iconArrowRight","blocks","parsePixelValue","count","debounce"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import * as token from "@universityofmaryland/web-styles-library/token";
1
+ import * as token from "@universityofmaryland/web-token-library";
2
2
  import * as elementStyles from "@universityofmaryland/web-styles-library/element";
3
- import { arrow_right } from "@universityofmaryland/web-icons-library/arrows";
4
3
  import { debounce } from "@universityofmaryland/web-utilities-library/performance";
5
4
  import { setupSwipeDetection } from "@universityofmaryland/web-utilities-library/events";
6
5
  import { parsePixelValue } from "@universityofmaryland/web-utilities-library/styles";
6
+ import { arrow_right } from "@universityofmaryland/web-icons-library/arrows";
7
7
  const fullScreenClassName = elementStyles.action.button.fullScreen.className;
8
8
  const ATTRIBUTE_SINGLE_BLOCK = "single";
9
9
  const ANIMATION_DURATION = 750;
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.mjs","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as element from '@universityofmaryland/web-styles-library/element';\nimport { arrow_right as iconArrowRight } from '@universityofmaryland/web-icons-library/arrows';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { setupSwipeDetection } from '@universityofmaryland/web-utilities-library/events';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\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 TypeDisplayLogicProps = Partial<TypeDisplayLogic>;\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n overwriteDisplayLogic?: TypeDisplayLogicProps;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\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\nconst fullScreenClassName = element.action.button.fullScreen.className;\n\nconst ATTRIBUTE_SINGLE_BLOCK = 'single';\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;\n\nconst ELEMENT_NAME = 'umd-element-animation-carousel-block';\nconst ELEMENT_ANIMATION_CAROUSEL_DECLARATION =\n 'animation-carousel-block-declaration';\nconst ELEMENT_ANIMATION_CAROUSEL_CONTAINER =\n 'animation-carousel-block-container';\nconst ELEMENT_ANIMATION_CAROUSEL_WRAPPER = 'animation-carousel-block-wrapper';\nconst ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;\nconst ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;\nconst ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;\n\nconst OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;\n\n// prettier-ignore\nconst ButtonStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {\n background-color: ${token.color.red};\n padding: 10px ${token.spacing.xs};\n position: absolute;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n display: none;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {\n opacity: 0.5;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {\n width: 20px;\n height: 20px;\n fill: ${token.color.white};\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {\n transform: rotate(180deg);\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {\n position: relative;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {\n overflow: hidden;\n padding-right: 0;\n width: 100%;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n width: 100%;\n }\n\n ${ContainerStyles}\n ${ButtonStyles}\n`;\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 // Force layout recalculation to get accurate measurements\n void slotContent[0]?.offsetHeight;\n const elementSize = slotContent[0]?.offsetWidth || 0;\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 orginal,\n clone,\n }: {\n orginal: HTMLElement;\n clone: HTMLElement;\n }) => {\n const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (orginalFullScreen && cloneFullScreen) {\n const indexAttr = orginalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\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 // Prepare elements before animation\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n // Add clone but keep it hidden initially\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n // Set width first and force layout recalculation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\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 // Prepare clone with proper event handlers\n cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });\n\n // Set width first before DOM manipulation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n\n // Add cloned element at the beginning\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n\n // Set initial transform position\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n // Force layout recalculation\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\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 isDirectionRight ? animateRight() : animateLeft();\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\nconst ButtonVisibility = (props: TypeHelpers) => {\n const { GetElements, GetViewOptions } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n const buttons = [nextButton, prevousButton];\n\n const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();\n const shouldShowRightButton = GetViewOptions.shouldShowRightButton();\n const showCount = GetViewOptions.showCount();\n const cardsTotal = GetElements.blocks().length;\n const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;\n const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;\n\n if (cardsTotal === showCount) {\n buttons.forEach((button) => (button.style.display = 'none'));\n return;\n }\n\n if (shouldHideLeftButton) {\n prevousButton.style.display = 'none';\n } else {\n prevousButton.style.display = 'block';\n }\n\n if (shouldHideRightButton) {\n nextButton.style.display = 'none';\n } else {\n nextButton.style.display = 'block';\n }\n};\n\nconst ButtonDisplay = (props: TypeHelpers) => {\n const { GetElements } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n\n prevousButton.setAttribute('aria-label', 'Previous');\n nextButton.setAttribute('aria-label', 'Next');\n\n ButtonVisibility(props);\n};\n\nconst CreateButton = ({\n EventMoveForward,\n EventMoveBackward,\n isRight = true,\n}: {\n EventMoveForward: () => void;\n EventMoveBackward: () => void;\n isRight?: boolean;\n}) => {\n const button = document.createElement('button');\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'Next');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);\n button.innerHTML = iconArrowRight;\n\n if (isRight) {\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);\n }\n\n if (!isRight) {\n button.setAttribute('aria-label', 'Previous');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);\n }\n\n button.addEventListener('click', () => {\n if (isRight) EventMoveForward();\n if (!isRight) EventMoveBackward();\n button.disabled = true;\n\n setTimeout(() => {\n button.disabled = false;\n }, ANIMATION_DURATION);\n });\n\n return button;\n};\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint: 550,\n tabletBreakpoint: 768,\n desktopBreakpoint: 1000,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 3,\n maxCount: 4,\n blockGap: parsePixelValue(token.spacing.lg),\n hasRightButton: true,\n hasLeftButton: true,\n showMobileHint: true,\n showHint: true,\n fullScreenCallback: undefined,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n\n if (overwriteDisplayLogic) {\n Object.keys(overwriteDisplayLogic).forEach((key) => {\n const refKey = key as keyof typeof displayLogic;\n const refValue = overwriteDisplayLogic[refKey] as never;\n\n displayLogic[refKey] = refValue;\n });\n }\n\n const GetElements = {\n container: () => container,\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\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 if (isTablet) count = displayLogic.tabletCount;\n if (isDesktop) count = displayLogic.desktopCount;\n if (isHighDef) count = displayLogic.maxCount;\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const isShowMobileHint = displayLogic.showMobileHint;\n const isShowHint = displayLogic.showHint;\n\n return (\n (isShowMobileHint && isMobileView) || (isShowHint && isMobileView)\n );\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 const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / 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 return container.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) containerBlocks[1].style.display = 'block';\n if (isHint) containerBlocks[count].style.display = 'block';\n },\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\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 ButtonDisplay({ ...Event.helpers });\n\n if (count === 1) {\n container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, '');\n } else {\n container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);\n }\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 container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n }),\n );\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n }),\n );\n\n wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);\n\n if (shadowRef) {\n wrapper.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n wrapper.appendChild(slide);\n }\n\n container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);\n declaration.appendChild(container);\n\n window.addEventListener('resize', debounce(Event.resize, 30));\n\n return {\n element: declaration,\n events: {\n resize: Event.resize,\n load: Event.load,\n },\n };\n })();\n\nexport default {\n CreateElement: CreateCarouselCardsElement,\n Styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n Elements: {\n declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,\n container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,\n containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,\n button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,\n nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,\n previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS,\n },\n};\n"],"names":["element","iconArrowRight","blocks","count"],"mappings":"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"}
1
+ {"version":3,"file":"blocks.mjs","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as element from '@universityofmaryland/web-styles-library/element';\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 { arrow_right as iconArrowRight } from '@universityofmaryland/web-icons-library/arrows';\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 TypeDisplayLogicProps = Partial<TypeDisplayLogic>;\n\ntype TypeAnimationCarouselBlockProps = {\n slide: HTMLElement;\n shadowRef?: HTMLElement;\n blocks: HTMLElement[];\n overwriteDisplayLogic?: TypeDisplayLogicProps;\n};\n\ntype TypeHelpers = {\n displayLogic: Record<string, any>;\n GetElements: {\n container: () => HTMLDivElement;\n slide: () => HTMLElement;\n blocks: () => HTMLElement[];\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\nconst fullScreenClassName = element.action.button.fullScreen.className;\n\nconst ATTRIBUTE_SINGLE_BLOCK = 'single';\nconst ANIMATION_DURATION = 750;\nconst HINT_MULTIPLER_MOBILE_SIZING = 0.2;\nconst HINT_MULTIPLER_SIZING = 0.6;\n\nconst IS_SINGLE_BLOCK = `[${ATTRIBUTE_SINGLE_BLOCK}]`;\n\nconst ELEMENT_NAME = 'umd-element-animation-carousel-block';\nconst ELEMENT_ANIMATION_CAROUSEL_DECLARATION =\n 'animation-carousel-block-declaration';\nconst ELEMENT_ANIMATION_CAROUSEL_CONTAINER =\n 'animation-carousel-block-container';\nconst ELEMENT_ANIMATION_CAROUSEL_WRAPPER = 'animation-carousel-block-wrapper';\nconst ELEMENT_ANIMATION_CAROUSEL_BUTTON = `animation-carousel-block-button`;\nconst ELEMENT_ANIMATION_CAROUSEL_NEXT = `animation-carousel-block-button-next`;\nconst ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-previous`;\n\nconst OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;\n\n// prettier-ignore\nconst ButtonStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {\n background-color: ${token.color.red};\n padding: 10px ${token.spacing.xs};\n position: absolute;\n z-index: 9999;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n display: none;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON}:disabled {\n opacity: 0.5;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {\n width: 20px;\n height: 20px;\n fill: ${token.color.white};\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {\n transform: rotate(180deg);\n }\n`;\n\n// prettier-ignore\nconst ContainerStyles = `\n .${ELEMENT_ANIMATION_CAROUSEL_CONTAINER} {\n position: relative;\n }\n\n .${ELEMENT_ANIMATION_CAROUSEL_WRAPPER} {\n overflow: hidden;\n padding-right: 0;\n width: 100%;\n }\n`;\n\n// prettier-ignore\nconst STYLES_CAROUSEL_CARDS_ELEMENT = `\n .${ELEMENT_ANIMATION_CAROUSEL_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n width: 100%;\n }\n\n ${ContainerStyles}\n ${ButtonStyles}\n`;\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 // Force layout recalculation to get accurate measurements\n void slotContent[0]?.offsetHeight;\n const elementSize = slotContent[0]?.offsetWidth || 0;\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 orginal,\n clone,\n }: {\n orginal: HTMLElement;\n clone: HTMLElement;\n }) => {\n const orginalFullScreen = orginal.querySelector(`.${fullScreenClassName}`);\n const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);\n\n if (orginalFullScreen && cloneFullScreen) {\n const indexAttr = orginalFullScreen.getAttribute('data-index');\n const index = indexAttr ? parseInt(indexAttr) : 0;\n cloneFullScreen.addEventListener('click', () =>\n fullScreenCallback(index),\n );\n }\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 // Prepare elements before animation\n upcomingElement.style.display = 'block';\n cloneReferenceEvents({ orginal: firstElement, clone: clonedElement });\n\n if (hintElement && (isShowMobileHint || isShowHint)) {\n hintElement.style.display = 'block';\n }\n\n // Add clone but keep it hidden initially\n carouselSlider.appendChild(clonedElement);\n clonedElement.style.display = 'none';\n\n // Set width first and force layout recalculation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\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 // Prepare clone with proper event handlers\n cloneReferenceEvents({ orginal: lastElement, clone: clonedElement });\n\n // Set width first before DOM manipulation\n carouselSlider.style.width = `${temporaryCarouselSize}px`;\n\n // Add cloned element at the beginning\n carouselSlider.prepend(clonedElement);\n clonedElement.style.display = 'block';\n\n // Set initial transform position\n carouselSlider.style.transform = `translateX(-${elementSizeWithSpace}px)`;\n\n // Force layout recalculation\n void carouselSlider.offsetHeight;\n\n // Use requestAnimationFrame for smoother animation timing\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 isDirectionRight ? animateRight() : animateLeft();\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\nconst ButtonVisibility = (props: TypeHelpers) => {\n const { GetElements, GetViewOptions } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n const buttons = [nextButton, prevousButton];\n\n const shouldShowLeftButton = GetViewOptions.shouldShowLeftButton();\n const shouldShowRightButton = GetViewOptions.shouldShowRightButton();\n const showCount = GetViewOptions.showCount();\n const cardsTotal = GetElements.blocks().length;\n const shouldHideLeftButton = showCount > 1 && !shouldShowLeftButton;\n const shouldHideRightButton = showCount > 1 && !shouldShowRightButton;\n\n if (cardsTotal === showCount) {\n buttons.forEach((button) => (button.style.display = 'none'));\n return;\n }\n\n if (shouldHideLeftButton) {\n prevousButton.style.display = 'none';\n } else {\n prevousButton.style.display = 'block';\n }\n\n if (shouldHideRightButton) {\n nextButton.style.display = 'none';\n } else {\n nextButton.style.display = 'block';\n }\n};\n\nconst ButtonDisplay = (props: TypeHelpers) => {\n const { GetElements } = props;\n const prevousButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS}`,\n ) as HTMLButtonElement;\n const nextButton = GetElements.container().querySelector(\n `.${ELEMENT_ANIMATION_CAROUSEL_NEXT}`,\n ) as HTMLButtonElement;\n\n prevousButton.setAttribute('aria-label', 'Previous');\n nextButton.setAttribute('aria-label', 'Next');\n\n ButtonVisibility(props);\n};\n\nconst CreateButton = ({\n EventMoveForward,\n EventMoveBackward,\n isRight = true,\n}: {\n EventMoveForward: () => void;\n EventMoveBackward: () => void;\n isRight?: boolean;\n}) => {\n const button = document.createElement('button');\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'Next');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);\n button.innerHTML = iconArrowRight;\n\n if (isRight) {\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);\n }\n\n if (!isRight) {\n button.setAttribute('aria-label', 'Previous');\n button.classList.add(ELEMENT_ANIMATION_CAROUSEL_PREVIOUS);\n }\n\n button.addEventListener('click', () => {\n if (isRight) EventMoveForward();\n if (!isRight) EventMoveBackward();\n button.disabled = true;\n\n setTimeout(() => {\n button.disabled = false;\n }, ANIMATION_DURATION);\n });\n\n return button;\n};\n\nconst CreateCarouselCardsElement = (props: TypeAnimationCarouselBlockProps) =>\n (() => {\n const { slide, shadowRef, blocks, overwriteDisplayLogic } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const wrapper = document.createElement('div');\n const displayLogic: TypeDisplayLogic = {\n mobileBreakpoint: 550,\n tabletBreakpoint: 768,\n desktopBreakpoint: 1000,\n mobileCount: 1,\n tabletCount: 2,\n desktopCount: 3,\n maxCount: 4,\n blockGap: parsePixelValue(token.spacing.lg),\n hasRightButton: true,\n hasLeftButton: true,\n showMobileHint: true,\n showHint: true,\n fullScreenCallback: undefined,\n };\n let blockWidth = 0;\n let hasInteractionOccured = false;\n\n if (overwriteDisplayLogic) {\n Object.keys(overwriteDisplayLogic).forEach((key) => {\n const refKey = key as keyof typeof displayLogic;\n const refValue = overwriteDisplayLogic[refKey] as never;\n\n displayLogic[refKey] = refValue;\n });\n }\n\n const GetElements = {\n container: () => container,\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\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 if (isTablet) count = displayLogic.tabletCount;\n if (isDesktop) count = displayLogic.desktopCount;\n if (isHighDef) count = displayLogic.maxCount;\n\n return count;\n },\n shouldShowMobileHint: () => {\n const isMobileView = GetViewOptions.isMobileView();\n const isShowMobileHint = displayLogic.showMobileHint;\n const isShowHint = displayLogic.showHint;\n\n return (\n (isShowMobileHint && isMobileView) || (isShowHint && isMobileView)\n );\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 const containerWidth = container.offsetWidth;\n return (containerWidth / count) * HINT_MULTIPLER_MOBILE_SIZING;\n },\n hintWidth: ({ count }: { count: number }) => {\n const containerWidth = container.offsetWidth;\n return (containerWidth / 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 return container.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) containerBlocks[1].style.display = 'block';\n if (isHint) containerBlocks[count].style.display = 'block';\n },\n };\n\n const Event = {\n helpers: {\n displayLogic,\n GetElements,\n GetViewOptions,\n GetSizes,\n SetLayout,\n },\n resize: () => {\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 ButtonDisplay({ ...Event.helpers });\n\n if (count === 1) {\n container.setAttribute(ATTRIBUTE_SINGLE_BLOCK, '');\n } else {\n container.removeAttribute(ATTRIBUTE_SINGLE_BLOCK);\n }\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 container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n }),\n );\n\n container.appendChild(\n CreateButton({\n EventMoveForward: Event.forward,\n EventMoveBackward: Event.backward,\n isRight: false,\n }),\n );\n\n wrapper.classList.add(ELEMENT_ANIMATION_CAROUSEL_WRAPPER);\n\n if (shadowRef) {\n wrapper.appendChild(shadowRef);\n } else {\n blocks.forEach((block) => slide.appendChild(block));\n wrapper.appendChild(slide);\n }\n\n container.classList.add(ELEMENT_ANIMATION_CAROUSEL_CONTAINER);\n container.appendChild(wrapper);\n\n declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);\n declaration.appendChild(container);\n\n window.addEventListener('resize', debounce(Event.resize, 30));\n\n return {\n element: declaration,\n events: {\n resize: Event.resize,\n load: Event.load,\n },\n };\n })();\n\nexport default {\n CreateElement: CreateCarouselCardsElement,\n Styles: STYLES_CAROUSEL_CARDS_ELEMENT,\n Elements: {\n declaration: ELEMENT_ANIMATION_CAROUSEL_DECLARATION,\n container: ELEMENT_ANIMATION_CAROUSEL_CONTAINER,\n containerSingleBlock: OVERWRITE_SINGLE_BLOCK_CONTAINER,\n button: ELEMENT_ANIMATION_CAROUSEL_BUTTON,\n nextButton: ELEMENT_ANIMATION_CAROUSEL_NEXT,\n previousButton: ELEMENT_ANIMATION_CAROUSEL_PREVIOUS,\n },\n};\n"],"names":["element","iconArrowRight","blocks","count"],"mappings":"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"}
@@ -1,30 +1,32 @@
1
1
  "use strict";
2
- const token = require("@universityofmaryland/web-styles-library/token");
2
+ const token = require("@universityofmaryland/web-token-library");
3
3
  const controls = require("@universityofmaryland/web-icons-library/controls");
4
+ require("@universityofmaryland/web-builder-library");
4
5
  require("@universityofmaryland/web-styles-library/element");
6
+ require("@universityofmaryland/web-styles-library/layout");
7
+ require("@universityofmaryland/web-styles-library/animation");
8
+ require("@universityofmaryland/web-styles-library/typography");
5
9
  require("@universityofmaryland/web-utilities-library/media");
6
10
  require("@universityofmaryland/web-utilities-library/dom");
7
11
  require("@universityofmaryland/web-icons-library/communication");
8
12
  require("@universityofmaryland/web-icons-library/files");
9
13
  require("@universityofmaryland/web-icons-library/brand");
10
- require("../../../model/modifiers/index.js");
11
- require("@universityofmaryland/web-styles-library");
12
- require("../../../model/elements/headline.js");
13
14
  require("@universityofmaryland/web-icons-library/arrows");
14
15
  require("../../../atomic/animations/actions/indicator.js");
15
16
  require("../../../atomic/animations/brand/chevron-scroll.js");
16
17
  require("../../../atomic/animations/brand/card-stack.js");
18
+ require("@universityofmaryland/web-styles-library");
17
19
  require("@universityofmaryland/web-utilities-library/performance");
18
20
  require("@universityofmaryland/web-utilities-library/accessibility");
19
21
  require("@universityofmaryland/web-icons-library/location");
20
22
  require("@universityofmaryland/web-icons-library/calendar");
23
+ require("@universityofmaryland/web-utilities-library/theme");
21
24
  require("../../../atomic/layout/block/stacked.js");
22
25
  const modal = require("../../../atomic/layout/overlay/modal.js");
23
26
  require("../../../atomic/layout/person/columns.js");
24
27
  require("@universityofmaryland/web-icons-library/social");
25
28
  require("../../../atomic/text-lockup/date.js");
26
29
  require("../../../atomic/text-lockup/small.js");
27
- require("@universityofmaryland/web-styles-library/typography");
28
30
  function _interopNamespaceDefault(e) {
29
31
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
30
32
  if (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"full-screen.js","sources":["../../../../source/composite/carousel/elements/full-screen.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport { close_large as iconCloseLarge } from '@universityofmaryland/web-icons-library/controls';\nimport { layout } from 'atomic';\n\ntype TypeFixedFullScreenProps = {\n content: HTMLElement;\n callback: () => void;\n};\n\nconst ELEMENT_CLOSE_BUTTON = 'carousel-fixed-screen-button';\n\nconst STYLES_FIXED_FULL_SCREEN = `\n\n\n .${ELEMENT_CLOSE_BUTTON} {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n @media (${token.media.queries.tablet.min}) {\n .${ELEMENT_CLOSE_BUTTON} {\n top: calc(10vh - 22px);\n right: calc(10vw - 22px);\n }\n }\n\n .${ELEMENT_CLOSE_BUTTON} > svg {\n fill: ${token.color.white};\n width: 20px;\n height: 20px;\n }\n`;\n\nexport default ({ content, callback }: TypeFixedFullScreenProps) => {\n const modal = layout.overlay.modal({ content, callback });\n const closeButton = document.createElement('button');\n let styles = STYLES_FIXED_FULL_SCREEN;\n\n styles += modal.styles;\n\n closeButton.setAttribute('type', 'button');\n closeButton.setAttribute('aria-label', 'Close');\n closeButton.classList.add(ELEMENT_CLOSE_BUTTON);\n closeButton.innerHTML = iconCloseLarge;\n closeButton.addEventListener('click', modal.events.hide);\n\n modal.element.appendChild(closeButton);\n\n return {\n element: modal.element,\n styles,\n events: {\n show: modal.events.show,\n hide: modal.events.hide,\n },\n };\n};\n"],"names":["token","modal","layout.overlay.modal","iconCloseLarge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,uBAAuB;AAE7B,MAAM,2BAA2B;AAAA;AAAA;AAAA,KAG5B,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMbA,iBAAM,MAAM,QAAQ,OAAO,GAAG;AAAA,OACnC,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMtB,oBAAoB;AAAA,YACbA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAM7B,MAAA,aAAe,CAAC,EAAE,SAAS,eAAyC;AAClE,QAAMC,UAAQC,MAAAA,YAAqB,EAAE,SAAS,UAAU;AACxD,QAAM,cAAc,SAAS,cAAc,QAAQ;AACnD,MAAI,SAAS;AAEb,YAAUD,QAAM;AAEhB,cAAY,aAAa,QAAQ,QAAQ;AACzC,cAAY,aAAa,cAAc,OAAO;AAC9C,cAAY,UAAU,IAAI,oBAAoB;AAC9C,cAAY,YAAYE,SAAAA;AACxB,cAAY,iBAAiB,SAASF,QAAM,OAAO,IAAI;AAEvDA,UAAM,QAAQ,YAAY,WAAW;AAErC,SAAO;AAAA,IACL,SAASA,QAAM;AAAA,IACf;AAAA,IACA,QAAQ;AAAA,MACN,MAAMA,QAAM,OAAO;AAAA,MACnB,MAAMA,QAAM,OAAO;AAAA,IAAA;AAAA,EACrB;AAEJ;;"}
1
+ {"version":3,"file":"full-screen.js","sources":["../../../../source/composite/carousel/elements/full-screen.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { close_large as iconCloseLarge } from '@universityofmaryland/web-icons-library/controls';\nimport { layout } from 'atomic';\n\ntype TypeFixedFullScreenProps = {\n content: HTMLElement;\n callback: () => void;\n};\n\nconst ELEMENT_CLOSE_BUTTON = 'carousel-fixed-screen-button';\n\nconst STYLES_FIXED_FULL_SCREEN = `\n\n\n .${ELEMENT_CLOSE_BUTTON} {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n @media (${token.media.queries.tablet.min}) {\n .${ELEMENT_CLOSE_BUTTON} {\n top: calc(10vh - 22px);\n right: calc(10vw - 22px);\n }\n }\n\n .${ELEMENT_CLOSE_BUTTON} > svg {\n fill: ${token.color.white};\n width: 20px;\n height: 20px;\n }\n`;\n\nexport default ({ content, callback }: TypeFixedFullScreenProps) => {\n const modal = layout.overlay.modal({ content, callback });\n const closeButton = document.createElement('button');\n let styles = STYLES_FIXED_FULL_SCREEN;\n\n styles += modal.styles;\n\n closeButton.setAttribute('type', 'button');\n closeButton.setAttribute('aria-label', 'Close');\n closeButton.classList.add(ELEMENT_CLOSE_BUTTON);\n closeButton.innerHTML = iconCloseLarge;\n closeButton.addEventListener('click', modal.events.hide);\n\n modal.element.appendChild(closeButton);\n\n return {\n element: modal.element,\n styles,\n events: {\n show: modal.events.show,\n hide: modal.events.hide,\n },\n };\n};\n"],"names":["token","modal","layout.overlay.modal","iconCloseLarge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,uBAAuB;AAE7B,MAAM,2BAA2B;AAAA;AAAA;AAAA,KAG5B,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMbA,iBAAM,MAAM,QAAQ,OAAO,GAAG;AAAA,OACnC,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMtB,oBAAoB;AAAA,YACbA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAM7B,MAAA,aAAe,CAAC,EAAE,SAAS,eAAyC;AAClE,QAAMC,UAAQC,MAAAA,YAAqB,EAAE,SAAS,UAAU;AACxD,QAAM,cAAc,SAAS,cAAc,QAAQ;AACnD,MAAI,SAAS;AAEb,YAAUD,QAAM;AAEhB,cAAY,aAAa,QAAQ,QAAQ;AACzC,cAAY,aAAa,cAAc,OAAO;AAC9C,cAAY,UAAU,IAAI,oBAAoB;AAC9C,cAAY,YAAYE,SAAAA;AACxB,cAAY,iBAAiB,SAASF,QAAM,OAAO,IAAI;AAEvDA,UAAM,QAAQ,YAAY,WAAW;AAErC,SAAO;AAAA,IACL,SAASA,QAAM;AAAA,IACf;AAAA,IACA,QAAQ;AAAA,MACN,MAAMA,QAAM,OAAO;AAAA,MACnB,MAAMA,QAAM,OAAO;AAAA,IAAA;AAAA,EACrB;AAEJ;;"}
@@ -1,29 +1,31 @@
1
- import * as token from "@universityofmaryland/web-styles-library/token";
1
+ import * as token from "@universityofmaryland/web-token-library";
2
2
  import { close_large } from "@universityofmaryland/web-icons-library/controls";
3
+ import "@universityofmaryland/web-builder-library";
3
4
  import "@universityofmaryland/web-styles-library/element";
5
+ import "@universityofmaryland/web-styles-library/layout";
6
+ import "@universityofmaryland/web-styles-library/animation";
7
+ import "@universityofmaryland/web-styles-library/typography";
4
8
  import "@universityofmaryland/web-utilities-library/media";
5
9
  import "@universityofmaryland/web-utilities-library/dom";
6
10
  import "@universityofmaryland/web-icons-library/communication";
7
11
  import "@universityofmaryland/web-icons-library/files";
8
12
  import "@universityofmaryland/web-icons-library/brand";
9
- import "../../../model/modifiers/index.mjs";
10
- import "@universityofmaryland/web-styles-library";
11
- import "../../../model/elements/headline.mjs";
12
13
  import "@universityofmaryland/web-icons-library/arrows";
13
14
  import "../../../atomic/animations/actions/indicator.mjs";
14
15
  import "../../../atomic/animations/brand/chevron-scroll.mjs";
15
16
  import "../../../atomic/animations/brand/card-stack.mjs";
17
+ import "@universityofmaryland/web-styles-library";
16
18
  import "@universityofmaryland/web-utilities-library/performance";
17
19
  import "@universityofmaryland/web-utilities-library/accessibility";
18
20
  import "@universityofmaryland/web-icons-library/location";
19
21
  import "@universityofmaryland/web-icons-library/calendar";
22
+ import "@universityofmaryland/web-utilities-library/theme";
20
23
  import "../../../atomic/layout/block/stacked.mjs";
21
24
  import { createModal } from "../../../atomic/layout/overlay/modal.mjs";
22
25
  import "../../../atomic/layout/person/columns.mjs";
23
26
  import "@universityofmaryland/web-icons-library/social";
24
27
  import "../../../atomic/text-lockup/date.mjs";
25
28
  import "../../../atomic/text-lockup/small.mjs";
26
- import "@universityofmaryland/web-styles-library/typography";
27
29
  const ELEMENT_CLOSE_BUTTON = "carousel-fixed-screen-button";
28
30
  const STYLES_FIXED_FULL_SCREEN = `
29
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"full-screen.mjs","sources":["../../../../source/composite/carousel/elements/full-screen.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport { close_large as iconCloseLarge } from '@universityofmaryland/web-icons-library/controls';\nimport { layout } from 'atomic';\n\ntype TypeFixedFullScreenProps = {\n content: HTMLElement;\n callback: () => void;\n};\n\nconst ELEMENT_CLOSE_BUTTON = 'carousel-fixed-screen-button';\n\nconst STYLES_FIXED_FULL_SCREEN = `\n\n\n .${ELEMENT_CLOSE_BUTTON} {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n @media (${token.media.queries.tablet.min}) {\n .${ELEMENT_CLOSE_BUTTON} {\n top: calc(10vh - 22px);\n right: calc(10vw - 22px);\n }\n }\n\n .${ELEMENT_CLOSE_BUTTON} > svg {\n fill: ${token.color.white};\n width: 20px;\n height: 20px;\n }\n`;\n\nexport default ({ content, callback }: TypeFixedFullScreenProps) => {\n const modal = layout.overlay.modal({ content, callback });\n const closeButton = document.createElement('button');\n let styles = STYLES_FIXED_FULL_SCREEN;\n\n styles += modal.styles;\n\n closeButton.setAttribute('type', 'button');\n closeButton.setAttribute('aria-label', 'Close');\n closeButton.classList.add(ELEMENT_CLOSE_BUTTON);\n closeButton.innerHTML = iconCloseLarge;\n closeButton.addEventListener('click', modal.events.hide);\n\n modal.element.appendChild(closeButton);\n\n return {\n element: modal.element,\n styles,\n events: {\n show: modal.events.show,\n hide: modal.events.hide,\n },\n };\n};\n"],"names":["layout.overlay.modal","iconCloseLarge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,uBAAuB;AAE7B,MAAM,2BAA2B;AAAA;AAAA;AAAA,KAG5B,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMb,MAAM,MAAM,QAAQ,OAAO,GAAG;AAAA,OACnC,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMtB,oBAAoB;AAAA,YACb,MAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAM7B,MAAA,aAAe,CAAC,EAAE,SAAS,eAAyC;AAClE,QAAM,QAAQA,YAAqB,EAAE,SAAS,UAAU;AACxD,QAAM,cAAc,SAAS,cAAc,QAAQ;AACnD,MAAI,SAAS;AAEb,YAAU,MAAM;AAEhB,cAAY,aAAa,QAAQ,QAAQ;AACzC,cAAY,aAAa,cAAc,OAAO;AAC9C,cAAY,UAAU,IAAI,oBAAoB;AAC9C,cAAY,YAAYC;AACxB,cAAY,iBAAiB,SAAS,MAAM,OAAO,IAAI;AAEvD,QAAM,QAAQ,YAAY,WAAW;AAErC,SAAO;AAAA,IACL,SAAS,MAAM;AAAA,IACf;AAAA,IACA,QAAQ;AAAA,MACN,MAAM,MAAM,OAAO;AAAA,MACnB,MAAM,MAAM,OAAO;AAAA,IAAA;AAAA,EACrB;AAEJ;"}
1
+ {"version":3,"file":"full-screen.mjs","sources":["../../../../source/composite/carousel/elements/full-screen.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { close_large as iconCloseLarge } from '@universityofmaryland/web-icons-library/controls';\nimport { layout } from 'atomic';\n\ntype TypeFixedFullScreenProps = {\n content: HTMLElement;\n callback: () => void;\n};\n\nconst ELEMENT_CLOSE_BUTTON = 'carousel-fixed-screen-button';\n\nconst STYLES_FIXED_FULL_SCREEN = `\n\n\n .${ELEMENT_CLOSE_BUTTON} {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n @media (${token.media.queries.tablet.min}) {\n .${ELEMENT_CLOSE_BUTTON} {\n top: calc(10vh - 22px);\n right: calc(10vw - 22px);\n }\n }\n\n .${ELEMENT_CLOSE_BUTTON} > svg {\n fill: ${token.color.white};\n width: 20px;\n height: 20px;\n }\n`;\n\nexport default ({ content, callback }: TypeFixedFullScreenProps) => {\n const modal = layout.overlay.modal({ content, callback });\n const closeButton = document.createElement('button');\n let styles = STYLES_FIXED_FULL_SCREEN;\n\n styles += modal.styles;\n\n closeButton.setAttribute('type', 'button');\n closeButton.setAttribute('aria-label', 'Close');\n closeButton.classList.add(ELEMENT_CLOSE_BUTTON);\n closeButton.innerHTML = iconCloseLarge;\n closeButton.addEventListener('click', modal.events.hide);\n\n modal.element.appendChild(closeButton);\n\n return {\n element: modal.element,\n styles,\n events: {\n show: modal.events.show,\n hide: modal.events.hide,\n },\n };\n};\n"],"names":["layout.overlay.modal","iconCloseLarge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,uBAAuB;AAE7B,MAAM,2BAA2B;AAAA;AAAA;AAAA,KAG5B,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMb,MAAM,MAAM,QAAQ,OAAO,GAAG;AAAA,OACnC,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMtB,oBAAoB;AAAA,YACb,MAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAM7B,MAAA,aAAe,CAAC,EAAE,SAAS,eAAyC;AAClE,QAAM,QAAQA,YAAqB,EAAE,SAAS,UAAU;AACxD,QAAM,cAAc,SAAS,cAAc,QAAQ;AACnD,MAAI,SAAS;AAEb,YAAU,MAAM;AAEhB,cAAY,aAAa,QAAQ,QAAQ;AACzC,cAAY,aAAa,cAAc,OAAO;AAC9C,cAAY,UAAU,IAAI,oBAAoB;AAC9C,cAAY,YAAYC;AACxB,cAAY,iBAAiB,SAAS,MAAM,OAAO,IAAI;AAEvD,QAAM,QAAQ,YAAY,WAAW;AAErC,SAAO;AAAA,IACL,SAAS,MAAM;AAAA,IACf;AAAA,IACA,QAAQ;AAAA,MACN,MAAM,MAAM,OAAO;AAAA,MACnB,MAAM,MAAM,OAAO;AAAA,IAAA;AAAA,EACrB;AAEJ;"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
- const token = require("@universityofmaryland/web-styles-library/token");
3
- const arrows = require("@universityofmaryland/web-icons-library/arrows");
2
+ const token = require("@universityofmaryland/web-token-library");
4
3
  const performance = require("@universityofmaryland/web-utilities-library/performance");
5
4
  const media = require("@universityofmaryland/web-utilities-library/media");
6
5
  const events = require("@universityofmaryland/web-utilities-library/events");
6
+ const arrows = require("@universityofmaryland/web-icons-library/arrows");
7
7
  function _interopNamespaceDefault(e) {
8
8
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
9
  if (e) {