@universityofmaryland/web-elements-library 1.4.8 → 1.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1139) hide show
  1. package/README.md +1 -1
  2. package/dist/atomic/actions/icon.d.ts.map +1 -1
  3. package/dist/atomic/actions/icon.js +21 -22
  4. package/dist/atomic/actions/icon.js.map +1 -1
  5. package/dist/atomic/actions/icon.mjs +20 -21
  6. package/dist/atomic/actions/icon.mjs.map +1 -1
  7. package/dist/atomic/actions/text.d.ts.map +1 -1
  8. package/dist/atomic/actions/text.js +22 -19
  9. package/dist/atomic/actions/text.js.map +1 -1
  10. package/dist/atomic/actions/text.mjs +21 -19
  11. package/dist/atomic/actions/text.mjs.map +1 -1
  12. package/dist/atomic/animations/actions/indicator.d.ts.map +1 -1
  13. package/dist/atomic/animations/actions/indicator.js +32 -21
  14. package/dist/atomic/animations/actions/indicator.js.map +1 -1
  15. package/dist/atomic/animations/actions/indicator.mjs +3 -9
  16. package/dist/atomic/animations/actions/indicator.mjs.map +1 -1
  17. package/dist/atomic/animations/brand/card-stack.d.ts.map +1 -1
  18. package/dist/atomic/animations/brand/card-stack.js +42 -32
  19. package/dist/atomic/animations/brand/card-stack.js.map +1 -1
  20. package/dist/atomic/animations/brand/card-stack.mjs +21 -11
  21. package/dist/atomic/animations/brand/card-stack.mjs.map +1 -1
  22. package/dist/atomic/animations/brand/chevron-scroll.js +25 -8
  23. package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
  24. package/dist/atomic/animations/brand/chevron-scroll.mjs +1 -1
  25. package/dist/atomic/animations/brand/chevron-scroll.mjs.map +1 -1
  26. package/dist/atomic/assets/image/gif.d.ts.map +1 -1
  27. package/dist/atomic/assets/image/gif.js +5 -8
  28. package/dist/atomic/assets/image/gif.js.map +1 -1
  29. package/dist/atomic/assets/image/gif.mjs +4 -7
  30. package/dist/atomic/assets/image/gif.mjs.map +1 -1
  31. package/dist/atomic/assets/video/observed-auto-play.js +2 -5
  32. package/dist/atomic/assets/video/observed-auto-play.js.map +1 -1
  33. package/dist/atomic/assets/video/observed-auto-play.mjs +2 -5
  34. package/dist/atomic/assets/video/observed-auto-play.mjs.map +1 -1
  35. package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
  36. package/dist/atomic/assets/video/toggle.js +4 -7
  37. package/dist/atomic/assets/video/toggle.js.map +1 -1
  38. package/dist/atomic/assets/video/toggle.mjs +4 -7
  39. package/dist/atomic/assets/video/toggle.mjs.map +1 -1
  40. package/dist/atomic/buttons/fullscreen.js +2 -5
  41. package/dist/atomic/buttons/fullscreen.js.map +1 -1
  42. package/dist/atomic/buttons/fullscreen.mjs +2 -5
  43. package/dist/atomic/buttons/fullscreen.mjs.map +1 -1
  44. package/dist/atomic/events/meta.d.ts.map +1 -1
  45. package/dist/atomic/events/meta.js +8 -10
  46. package/dist/atomic/events/meta.js.map +1 -1
  47. package/dist/atomic/events/meta.mjs +5 -7
  48. package/dist/atomic/events/meta.mjs.map +1 -1
  49. package/dist/atomic/events/sign.js +19 -2
  50. package/dist/atomic/events/sign.js.map +1 -1
  51. package/dist/atomic/events/sign.mjs +2 -2
  52. package/dist/atomic/events/sign.mjs.map +1 -1
  53. package/dist/atomic/layout/block/stacked.d.ts.map +1 -1
  54. package/dist/atomic/layout/block/stacked.js +37 -55
  55. package/dist/atomic/layout/block/stacked.js.map +1 -1
  56. package/dist/atomic/layout/block/stacked.mjs +36 -54
  57. package/dist/atomic/layout/block/stacked.mjs.map +1 -1
  58. package/dist/atomic/layout/overlay/modal.d.ts.map +1 -1
  59. package/dist/atomic/layout/overlay/modal.js +22 -8
  60. package/dist/atomic/layout/overlay/modal.js.map +1 -1
  61. package/dist/atomic/layout/overlay/modal.mjs +3 -6
  62. package/dist/atomic/layout/overlay/modal.mjs.map +1 -1
  63. package/dist/atomic/layout/person/columns.d.ts.map +1 -1
  64. package/dist/atomic/layout/person/columns.js +36 -34
  65. package/dist/atomic/layout/person/columns.js.map +1 -1
  66. package/dist/atomic/layout/person/columns.mjs +35 -33
  67. package/dist/atomic/layout/person/columns.mjs.map +1 -1
  68. package/dist/atomic/text/stat.d.ts.map +1 -1
  69. package/dist/atomic/text/stat.js +47 -29
  70. package/dist/atomic/text/stat.js.map +1 -1
  71. package/dist/atomic/text/stat.mjs +30 -29
  72. package/dist/atomic/text/stat.mjs.map +1 -1
  73. package/dist/atomic/text-lockup/contact.d.ts.map +1 -1
  74. package/dist/atomic/text-lockup/contact.js +13 -15
  75. package/dist/atomic/text-lockup/contact.js.map +1 -1
  76. package/dist/atomic/text-lockup/contact.mjs +18 -20
  77. package/dist/atomic/text-lockup/contact.mjs.map +1 -1
  78. package/dist/atomic/text-lockup/date.d.ts.map +1 -1
  79. package/dist/atomic/text-lockup/date.js +24 -20
  80. package/dist/atomic/text-lockup/date.js.map +1 -1
  81. package/dist/atomic/text-lockup/date.mjs +11 -9
  82. package/dist/atomic/text-lockup/date.mjs.map +1 -1
  83. package/dist/atomic/text-lockup/large.js +7 -7
  84. package/dist/atomic/text-lockup/large.js.map +1 -1
  85. package/dist/atomic/text-lockup/large.mjs +6 -6
  86. package/dist/atomic/text-lockup/large.mjs.map +1 -1
  87. package/dist/atomic/text-lockup/medium.js +9 -9
  88. package/dist/atomic/text-lockup/medium.js.map +1 -1
  89. package/dist/atomic/text-lockup/medium.mjs +8 -8
  90. package/dist/atomic/text-lockup/medium.mjs.map +1 -1
  91. package/dist/atomic/text-lockup/person.js +5 -5
  92. package/dist/atomic/text-lockup/person.js.map +1 -1
  93. package/dist/atomic/text-lockup/person.mjs +4 -4
  94. package/dist/atomic/text-lockup/person.mjs.map +1 -1
  95. package/dist/atomic/text-lockup/small.d.ts.map +1 -1
  96. package/dist/atomic/text-lockup/small.js +15 -14
  97. package/dist/atomic/text-lockup/small.js.map +1 -1
  98. package/dist/atomic/text-lockup/small.mjs +3 -3
  99. package/dist/atomic/text-lockup/small.mjs.map +1 -1
  100. package/dist/composite/accordion/item.d.ts.map +1 -1
  101. package/dist/composite/accordion/item.js +5 -5
  102. package/dist/composite/accordion/item.js.map +1 -1
  103. package/dist/composite/accordion/item.mjs +4 -4
  104. package/dist/composite/accordion/item.mjs.map +1 -1
  105. package/dist/composite/alert/elements/text.d.ts.map +1 -1
  106. package/dist/composite/alert/elements/text.js +34 -14
  107. package/dist/composite/alert/elements/text.js.map +1 -1
  108. package/dist/composite/alert/elements/text.mjs +5 -3
  109. package/dist/composite/alert/elements/text.mjs.map +1 -1
  110. package/dist/composite/alert/page.d.ts.map +1 -1
  111. package/dist/composite/alert/page.js +37 -22
  112. package/dist/composite/alert/page.js.map +1 -1
  113. package/dist/composite/alert/page.mjs +6 -8
  114. package/dist/composite/alert/page.mjs.map +1 -1
  115. package/dist/composite/alert/site.d.ts.map +1 -1
  116. package/dist/composite/alert/site.js +46 -27
  117. package/dist/composite/alert/site.js.map +1 -1
  118. package/dist/composite/alert/site.mjs +10 -9
  119. package/dist/composite/alert/site.mjs.map +1 -1
  120. package/dist/composite/banner/promo.d.ts.map +1 -1
  121. package/dist/composite/banner/promo.js +7 -8
  122. package/dist/composite/banner/promo.js.map +1 -1
  123. package/dist/composite/banner/promo.mjs +6 -7
  124. package/dist/composite/banner/promo.mjs.map +1 -1
  125. package/dist/composite/card/block.js +21 -9
  126. package/dist/composite/card/block.js.map +1 -1
  127. package/dist/composite/card/block.mjs +20 -8
  128. package/dist/composite/card/block.mjs.map +1 -1
  129. package/dist/composite/card/list.d.ts.map +1 -1
  130. package/dist/composite/card/list.js +47 -48
  131. package/dist/composite/card/list.js.map +1 -1
  132. package/dist/composite/card/list.mjs +46 -47
  133. package/dist/composite/card/list.mjs.map +1 -1
  134. package/dist/composite/card/overlay/color.d.ts.map +1 -1
  135. package/dist/composite/card/overlay/color.js +24 -12
  136. package/dist/composite/card/overlay/color.js.map +1 -1
  137. package/dist/composite/card/overlay/color.mjs +22 -11
  138. package/dist/composite/card/overlay/color.mjs.map +1 -1
  139. package/dist/composite/card/overlay/icon.js +21 -10
  140. package/dist/composite/card/overlay/icon.js.map +1 -1
  141. package/dist/composite/card/overlay/icon.mjs +20 -9
  142. package/dist/composite/card/overlay/icon.mjs.map +1 -1
  143. package/dist/composite/card/overlay/image.d.ts.map +1 -1
  144. package/dist/composite/card/overlay/image.js +29 -20
  145. package/dist/composite/card/overlay/image.js.map +1 -1
  146. package/dist/composite/card/overlay/image.mjs +27 -18
  147. package/dist/composite/card/overlay/image.mjs.map +1 -1
  148. package/dist/composite/card/video/block.js +15 -4
  149. package/dist/composite/card/video/block.js.map +1 -1
  150. package/dist/composite/card/video/block.mjs +15 -4
  151. package/dist/composite/card/video/block.mjs.map +1 -1
  152. package/dist/composite/carousel/cards/index.js +6 -6
  153. package/dist/composite/carousel/cards/index.js.map +1 -1
  154. package/dist/composite/carousel/cards/index.mjs +6 -6
  155. package/dist/composite/carousel/cards/index.mjs.map +1 -1
  156. package/dist/composite/carousel/default/index.js +24 -7
  157. package/dist/composite/carousel/default/index.js.map +1 -1
  158. package/dist/composite/carousel/default/index.mjs +1 -1
  159. package/dist/composite/carousel/default/index.mjs.map +1 -1
  160. package/dist/composite/carousel/elements/blocks.d.ts.map +1 -1
  161. package/dist/composite/carousel/elements/blocks.js +20 -22
  162. package/dist/composite/carousel/elements/blocks.js.map +1 -1
  163. package/dist/composite/carousel/elements/blocks.mjs +11 -14
  164. package/dist/composite/carousel/elements/blocks.mjs.map +1 -1
  165. package/dist/composite/carousel/elements/full-screen.js +36 -8
  166. package/dist/composite/carousel/elements/full-screen.js.map +1 -1
  167. package/dist/composite/carousel/elements/full-screen.mjs +17 -6
  168. package/dist/composite/carousel/elements/full-screen.mjs.map +1 -1
  169. package/dist/composite/carousel/elements/image.d.ts.map +1 -1
  170. package/dist/composite/carousel/elements/image.js +32 -21
  171. package/dist/composite/carousel/elements/image.js.map +1 -1
  172. package/dist/composite/carousel/elements/image.mjs +8 -14
  173. package/dist/composite/carousel/elements/image.mjs.map +1 -1
  174. package/dist/composite/carousel/elements/overlay.js +19 -2
  175. package/dist/composite/carousel/elements/overlay.js.map +1 -1
  176. package/dist/composite/carousel/elements/overlay.mjs +1 -1
  177. package/dist/composite/carousel/elements/overlay.mjs.map +1 -1
  178. package/dist/composite/carousel/image/multiple.d.ts.map +1 -1
  179. package/dist/composite/carousel/image/multiple.js +24 -12
  180. package/dist/composite/carousel/image/multiple.js.map +1 -1
  181. package/dist/composite/carousel/image/multiple.mjs +17 -6
  182. package/dist/composite/carousel/image/multiple.mjs.map +1 -1
  183. package/dist/composite/carousel/image/standard.d.ts.map +1 -1
  184. package/dist/composite/carousel/image/standard.js +44 -47
  185. package/dist/composite/carousel/image/standard.js.map +1 -1
  186. package/dist/composite/carousel/image/standard.mjs +19 -5
  187. package/dist/composite/carousel/image/standard.mjs.map +1 -1
  188. package/dist/composite/carousel/thumbnail/index.js +29 -12
  189. package/dist/composite/carousel/thumbnail/index.js.map +1 -1
  190. package/dist/composite/carousel/thumbnail/index.mjs +1 -1
  191. package/dist/composite/carousel/thumbnail/index.mjs.map +1 -1
  192. package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
  193. package/dist/composite/carousel/wide/controls.js +40 -30
  194. package/dist/composite/carousel/wide/controls.js.map +1 -1
  195. package/dist/composite/carousel/wide/controls.mjs +39 -29
  196. package/dist/composite/carousel/wide/controls.mjs.map +1 -1
  197. package/dist/composite/carousel/wide/frames.js +44 -33
  198. package/dist/composite/carousel/wide/frames.js.map +1 -1
  199. package/dist/composite/carousel/wide/frames.mjs +43 -32
  200. package/dist/composite/carousel/wide/frames.mjs.map +1 -1
  201. package/dist/composite/carousel/wide/index.d.ts.map +1 -1
  202. package/dist/composite/carousel/wide/index.js +17 -6
  203. package/dist/composite/carousel/wide/index.js.map +1 -1
  204. package/dist/composite/carousel/wide/index.mjs +16 -5
  205. package/dist/composite/carousel/wide/index.mjs.map +1 -1
  206. package/dist/composite/footer/elements/main-section/call-to-action.d.ts +5 -4
  207. package/dist/composite/footer/elements/main-section/call-to-action.d.ts.map +1 -1
  208. package/dist/composite/footer/elements/main-section/call-to-action.js +56 -37
  209. package/dist/composite/footer/elements/main-section/call-to-action.js.map +1 -1
  210. package/dist/composite/footer/elements/main-section/call-to-action.mjs +40 -37
  211. package/dist/composite/footer/elements/main-section/call-to-action.mjs.map +1 -1
  212. package/dist/composite/footer/elements/main-section/campaign.d.ts +3 -3
  213. package/dist/composite/footer/elements/main-section/campaign.d.ts.map +1 -1
  214. package/dist/composite/footer/elements/main-section/campaign.js +57 -22
  215. package/dist/composite/footer/elements/main-section/campaign.js.map +1 -1
  216. package/dist/composite/footer/elements/main-section/campaign.mjs +40 -22
  217. package/dist/composite/footer/elements/main-section/campaign.mjs.map +1 -1
  218. package/dist/composite/footer/elements/main-section/index.d.ts +3 -2
  219. package/dist/composite/footer/elements/main-section/index.d.ts.map +1 -1
  220. package/dist/composite/footer/elements/main-section/index.js +81 -94
  221. package/dist/composite/footer/elements/main-section/index.js.map +1 -1
  222. package/dist/composite/footer/elements/main-section/index.mjs +82 -95
  223. package/dist/composite/footer/elements/main-section/index.mjs.map +1 -1
  224. package/dist/composite/footer/elements/main-section/row-links/index.d.ts +5 -5
  225. package/dist/composite/footer/elements/main-section/row-links/index.d.ts.map +1 -1
  226. package/dist/composite/footer/elements/main-section/row-links/index.js +44 -72
  227. package/dist/composite/footer/elements/main-section/row-links/index.js.map +1 -1
  228. package/dist/composite/footer/elements/main-section/row-links/index.mjs +48 -75
  229. package/dist/composite/footer/elements/main-section/row-links/index.mjs.map +1 -1
  230. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts +5 -3
  231. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts.map +1 -1
  232. package/dist/composite/footer/elements/main-section/row-links/link-columns.js +178 -223
  233. package/dist/composite/footer/elements/main-section/row-links/link-columns.js.map +1 -1
  234. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs +180 -224
  235. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs.map +1 -1
  236. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts +5 -4
  237. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts.map +1 -1
  238. package/dist/composite/footer/elements/main-section/row-logo/contact.js +165 -199
  239. package/dist/composite/footer/elements/main-section/row-logo/contact.js.map +1 -1
  240. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs +166 -199
  241. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs.map +1 -1
  242. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts +6 -3
  243. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts.map +1 -1
  244. package/dist/composite/footer/elements/main-section/row-logo/index.js +54 -95
  245. package/dist/composite/footer/elements/main-section/row-logo/index.js.map +1 -1
  246. package/dist/composite/footer/elements/main-section/row-logo/index.mjs +59 -99
  247. package/dist/composite/footer/elements/main-section/row-logo/index.mjs.map +1 -1
  248. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts +4 -2
  249. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts.map +1 -1
  250. package/dist/composite/footer/elements/main-section/row-logo/logo.js +78 -71
  251. package/dist/composite/footer/elements/main-section/row-logo/logo.js.map +1 -1
  252. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs +64 -74
  253. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs.map +1 -1
  254. package/dist/composite/footer/elements/main-section/social.d.ts +5 -6
  255. package/dist/composite/footer/elements/main-section/social.d.ts.map +1 -1
  256. package/dist/composite/footer/elements/main-section/social.js +128 -202
  257. package/dist/composite/footer/elements/main-section/social.js.map +1 -1
  258. package/dist/composite/footer/elements/main-section/social.mjs +130 -203
  259. package/dist/composite/footer/elements/main-section/social.mjs.map +1 -1
  260. package/dist/composite/footer/elements/utility-section/index.d.ts +4 -2
  261. package/dist/composite/footer/elements/utility-section/index.d.ts.map +1 -1
  262. package/dist/composite/footer/elements/utility-section/index.js +107 -116
  263. package/dist/composite/footer/elements/utility-section/index.js.map +1 -1
  264. package/dist/composite/footer/elements/utility-section/index.mjs +109 -117
  265. package/dist/composite/footer/elements/utility-section/index.mjs.map +1 -1
  266. package/dist/composite/footer/globals.d.ts +0 -32
  267. package/dist/composite/footer/globals.d.ts.map +1 -1
  268. package/dist/composite/footer/globals.js +0 -19
  269. package/dist/composite/footer/globals.js.map +1 -1
  270. package/dist/composite/footer/globals.mjs +1 -20
  271. package/dist/composite/footer/globals.mjs.map +1 -1
  272. package/dist/composite/footer/options.d.ts +1 -1
  273. package/dist/composite/footer/options.d.ts.map +1 -1
  274. package/dist/composite/footer/options.js +52 -30
  275. package/dist/composite/footer/options.js.map +1 -1
  276. package/dist/composite/footer/options.mjs +37 -33
  277. package/dist/composite/footer/options.mjs.map +1 -1
  278. package/dist/composite/hero/custom/expand.d.ts.map +1 -1
  279. package/dist/composite/hero/custom/expand.js +36 -25
  280. package/dist/composite/hero/custom/expand.js.map +1 -1
  281. package/dist/composite/hero/custom/expand.mjs +30 -19
  282. package/dist/composite/hero/custom/expand.mjs.map +1 -1
  283. package/dist/composite/hero/custom/grid.d.ts.map +1 -1
  284. package/dist/composite/hero/custom/grid.js +48 -38
  285. package/dist/composite/hero/custom/grid.js.map +1 -1
  286. package/dist/composite/hero/custom/grid.mjs +35 -25
  287. package/dist/composite/hero/custom/grid.mjs.map +1 -1
  288. package/dist/composite/hero/custom/video-arrow.d.ts.map +1 -1
  289. package/dist/composite/hero/custom/video-arrow.js +23 -15
  290. package/dist/composite/hero/custom/video-arrow.js.map +1 -1
  291. package/dist/composite/hero/custom/video-arrow.mjs +20 -14
  292. package/dist/composite/hero/custom/video-arrow.mjs.map +1 -1
  293. package/dist/composite/hero/logo.d.ts.map +1 -1
  294. package/dist/composite/hero/logo.js +28 -16
  295. package/dist/composite/hero/logo.js.map +1 -1
  296. package/dist/composite/hero/logo.mjs +26 -15
  297. package/dist/composite/hero/logo.mjs.map +1 -1
  298. package/dist/composite/hero/minimal.d.ts.map +1 -1
  299. package/dist/composite/hero/minimal.js +33 -22
  300. package/dist/composite/hero/minimal.js.map +1 -1
  301. package/dist/composite/hero/minimal.mjs +32 -21
  302. package/dist/composite/hero/minimal.mjs.map +1 -1
  303. package/dist/composite/hero/overlay.d.ts.map +1 -1
  304. package/dist/composite/hero/overlay.js +32 -21
  305. package/dist/composite/hero/overlay.js.map +1 -1
  306. package/dist/composite/hero/overlay.mjs +30 -20
  307. package/dist/composite/hero/overlay.mjs.map +1 -1
  308. package/dist/composite/hero/stacked.d.ts.map +1 -1
  309. package/dist/composite/hero/stacked.js +45 -34
  310. package/dist/composite/hero/stacked.js.map +1 -1
  311. package/dist/composite/hero/stacked.mjs +40 -30
  312. package/dist/composite/hero/stacked.mjs.map +1 -1
  313. package/dist/composite/hero/standard.d.ts.map +1 -1
  314. package/dist/composite/hero/standard.js +38 -27
  315. package/dist/composite/hero/standard.js.map +1 -1
  316. package/dist/composite/hero/standard.mjs +36 -26
  317. package/dist/composite/hero/standard.mjs.map +1 -1
  318. package/dist/composite/layout/box/logo.d.ts.map +1 -1
  319. package/dist/composite/layout/box/logo.js +33 -14
  320. package/dist/composite/layout/box/logo.js.map +1 -1
  321. package/dist/composite/layout/box/logo.mjs +5 -4
  322. package/dist/composite/layout/box/logo.mjs.map +1 -1
  323. package/dist/composite/layout/image/expand.d.ts.map +1 -1
  324. package/dist/composite/layout/image/expand.js +32 -13
  325. package/dist/composite/layout/image/expand.js.map +1 -1
  326. package/dist/composite/layout/image/expand.mjs +7 -6
  327. package/dist/composite/layout/image/expand.mjs.map +1 -1
  328. package/dist/composite/layout/scroll-top/index.d.ts.map +1 -1
  329. package/dist/composite/layout/scroll-top/index.js +25 -11
  330. package/dist/composite/layout/scroll-top/index.js.map +1 -1
  331. package/dist/composite/layout/scroll-top/index.mjs +4 -7
  332. package/dist/composite/layout/scroll-top/index.mjs.map +1 -1
  333. package/dist/composite/layout/section-intro/small.d.ts.map +1 -1
  334. package/dist/composite/layout/section-intro/small.js +33 -14
  335. package/dist/composite/layout/section-intro/small.js.map +1 -1
  336. package/dist/composite/layout/section-intro/small.mjs +2 -1
  337. package/dist/composite/layout/section-intro/small.mjs.map +1 -1
  338. package/dist/composite/layout/section-intro/wide.js +20 -3
  339. package/dist/composite/layout/section-intro/wide.js.map +1 -1
  340. package/dist/composite/layout/section-intro/wide.mjs +1 -1
  341. package/dist/composite/layout/section-intro/wide.mjs.map +1 -1
  342. package/dist/composite/layout/sticky-columns/index.d.ts.map +1 -1
  343. package/dist/composite/layout/sticky-columns/index.js +26 -8
  344. package/dist/composite/layout/sticky-columns/index.js.map +1 -1
  345. package/dist/composite/layout/sticky-columns/index.mjs +4 -4
  346. package/dist/composite/layout/sticky-columns/index.mjs.map +1 -1
  347. package/dist/composite/media/elements/caption.d.ts.map +1 -1
  348. package/dist/composite/media/elements/caption.js +28 -9
  349. package/dist/composite/media/elements/caption.js.map +1 -1
  350. package/dist/composite/media/elements/caption.mjs +5 -4
  351. package/dist/composite/media/elements/caption.mjs.map +1 -1
  352. package/dist/composite/media/elements/gif.js +15 -4
  353. package/dist/composite/media/elements/gif.js.map +1 -1
  354. package/dist/composite/media/elements/gif.mjs +15 -4
  355. package/dist/composite/media/elements/gif.mjs.map +1 -1
  356. package/dist/composite/media/inline/caption.js +21 -8
  357. package/dist/composite/media/inline/caption.js.map +1 -1
  358. package/dist/composite/media/inline/caption.mjs +2 -6
  359. package/dist/composite/media/inline/caption.mjs.map +1 -1
  360. package/dist/composite/media/inline/wrapped.js +23 -10
  361. package/dist/composite/media/inline/wrapped.js.map +1 -1
  362. package/dist/composite/media/inline/wrapped.mjs +2 -6
  363. package/dist/composite/media/inline/wrapped.mjs.map +1 -1
  364. package/dist/composite/navigation/elements/breadcrumb/index.d.ts.map +1 -1
  365. package/dist/composite/navigation/elements/breadcrumb/index.js +35 -16
  366. package/dist/composite/navigation/elements/breadcrumb/index.js.map +1 -1
  367. package/dist/composite/navigation/elements/breadcrumb/index.mjs +7 -6
  368. package/dist/composite/navigation/elements/breadcrumb/index.mjs.map +1 -1
  369. package/dist/composite/navigation/elements/drawer/index.d.ts.map +1 -1
  370. package/dist/composite/navigation/elements/drawer/index.js +27 -13
  371. package/dist/composite/navigation/elements/drawer/index.js.map +1 -1
  372. package/dist/composite/navigation/elements/drawer/index.mjs +5 -8
  373. package/dist/composite/navigation/elements/drawer/index.mjs.map +1 -1
  374. package/dist/composite/navigation/elements/item/index.d.ts.map +1 -1
  375. package/dist/composite/navigation/elements/item/index.js +47 -28
  376. package/dist/composite/navigation/elements/item/index.js.map +1 -1
  377. package/dist/composite/navigation/elements/item/index.mjs +13 -12
  378. package/dist/composite/navigation/elements/item/index.mjs.map +1 -1
  379. package/dist/composite/navigation/elements/menu-button/index.js +20 -3
  380. package/dist/composite/navigation/elements/menu-button/index.js.map +1 -1
  381. package/dist/composite/navigation/elements/menu-button/index.mjs +1 -1
  382. package/dist/composite/navigation/elements/menu-button/index.mjs.map +1 -1
  383. package/dist/composite/navigation/elements/slider/action.d.ts.map +1 -1
  384. package/dist/composite/navigation/elements/slider/action.js +32 -13
  385. package/dist/composite/navigation/elements/slider/action.js.map +1 -1
  386. package/dist/composite/navigation/elements/slider/action.mjs +6 -5
  387. package/dist/composite/navigation/elements/slider/action.mjs.map +1 -1
  388. package/dist/composite/navigation/elements/slider/index.d.ts.map +1 -1
  389. package/dist/composite/navigation/elements/slider/index.js +35 -21
  390. package/dist/composite/navigation/elements/slider/index.js.map +1 -1
  391. package/dist/composite/navigation/elements/slider/index.mjs +3 -6
  392. package/dist/composite/navigation/elements/slider/index.mjs.map +1 -1
  393. package/dist/composite/navigation/elements/slider/slide-first.d.ts.map +1 -1
  394. package/dist/composite/navigation/elements/slider/slide-first.js +29 -10
  395. package/dist/composite/navigation/elements/slider/slide-first.js.map +1 -1
  396. package/dist/composite/navigation/elements/slider/slide-first.mjs +4 -3
  397. package/dist/composite/navigation/elements/slider/slide-first.mjs.map +1 -1
  398. package/dist/composite/navigation/elements/slider/slides.d.ts.map +1 -1
  399. package/dist/composite/navigation/elements/slider/slides.js +38 -19
  400. package/dist/composite/navigation/elements/slider/slides.js.map +1 -1
  401. package/dist/composite/navigation/elements/slider/slides.mjs +8 -7
  402. package/dist/composite/navigation/elements/slider/slides.mjs.map +1 -1
  403. package/dist/composite/navigation/elements/sticky/index.js +2 -5
  404. package/dist/composite/navigation/elements/sticky/index.js.map +1 -1
  405. package/dist/composite/navigation/elements/sticky/index.mjs +1 -4
  406. package/dist/composite/navigation/elements/sticky/index.mjs.map +1 -1
  407. package/dist/composite/navigation/header.d.ts.map +1 -1
  408. package/dist/composite/navigation/header.js +55 -36
  409. package/dist/composite/navigation/header.js.map +1 -1
  410. package/dist/composite/navigation/header.mjs +9 -8
  411. package/dist/composite/navigation/header.mjs.map +1 -1
  412. package/dist/composite/navigation/utility/alert.d.ts.map +1 -1
  413. package/dist/composite/navigation/utility/alert.js +18 -9
  414. package/dist/composite/navigation/utility/alert.js.map +1 -1
  415. package/dist/composite/navigation/utility/alert.mjs +18 -9
  416. package/dist/composite/navigation/utility/alert.mjs.map +1 -1
  417. package/dist/composite/navigation/utility/index.d.ts.map +1 -1
  418. package/dist/composite/navigation/utility/index.js +45 -41
  419. package/dist/composite/navigation/utility/index.js.map +1 -1
  420. package/dist/composite/navigation/utility/index.mjs +15 -13
  421. package/dist/composite/navigation/utility/index.mjs.map +1 -1
  422. package/dist/composite/navigation/utility/search.js +23 -6
  423. package/dist/composite/navigation/utility/search.js.map +1 -1
  424. package/dist/composite/navigation/utility/search.mjs +1 -1
  425. package/dist/composite/navigation/utility/search.mjs.map +1 -1
  426. package/dist/composite/pathway/_common.js +14 -3
  427. package/dist/composite/pathway/_common.js.map +1 -1
  428. package/dist/composite/pathway/_common.mjs +14 -3
  429. package/dist/composite/pathway/_common.mjs.map +1 -1
  430. package/dist/composite/pathway/hero.js +29 -19
  431. package/dist/composite/pathway/hero.js.map +1 -1
  432. package/dist/composite/pathway/hero.mjs +26 -16
  433. package/dist/composite/pathway/hero.mjs.map +1 -1
  434. package/dist/composite/pathway/highlight.js +21 -21
  435. package/dist/composite/pathway/highlight.js.map +1 -1
  436. package/dist/composite/pathway/highlight.mjs +20 -20
  437. package/dist/composite/pathway/highlight.mjs.map +1 -1
  438. package/dist/composite/pathway/overlay.js +19 -20
  439. package/dist/composite/pathway/overlay.js.map +1 -1
  440. package/dist/composite/pathway/overlay.mjs +14 -16
  441. package/dist/composite/pathway/overlay.mjs.map +1 -1
  442. package/dist/composite/pathway/standard.js +12 -15
  443. package/dist/composite/pathway/standard.js.map +1 -1
  444. package/dist/composite/pathway/standard.mjs +9 -12
  445. package/dist/composite/pathway/standard.mjs.map +1 -1
  446. package/dist/composite/pathway/sticky.d.ts.map +1 -1
  447. package/dist/composite/pathway/sticky.js +12 -10
  448. package/dist/composite/pathway/sticky.js.map +1 -1
  449. package/dist/composite/pathway/sticky.mjs +10 -9
  450. package/dist/composite/pathway/sticky.mjs.map +1 -1
  451. package/dist/composite/person/bio/full.d.ts.map +1 -1
  452. package/dist/composite/person/bio/full.js +24 -13
  453. package/dist/composite/person/bio/full.js.map +1 -1
  454. package/dist/composite/person/bio/full.mjs +22 -12
  455. package/dist/composite/person/bio/full.mjs.map +1 -1
  456. package/dist/composite/person/bio/small.js +33 -23
  457. package/dist/composite/person/bio/small.js.map +1 -1
  458. package/dist/composite/person/bio/small.mjs +32 -22
  459. package/dist/composite/person/bio/small.mjs.map +1 -1
  460. package/dist/composite/person/block.d.ts.map +1 -1
  461. package/dist/composite/person/block.js +26 -21
  462. package/dist/composite/person/block.js.map +1 -1
  463. package/dist/composite/person/block.mjs +24 -19
  464. package/dist/composite/person/block.mjs.map +1 -1
  465. package/dist/composite/person/hero.d.ts.map +1 -1
  466. package/dist/composite/person/hero.js +70 -43
  467. package/dist/composite/person/hero.js.map +1 -1
  468. package/dist/composite/person/hero.mjs +14 -4
  469. package/dist/composite/person/hero.mjs.map +1 -1
  470. package/dist/composite/person/list.d.ts.map +1 -1
  471. package/dist/composite/person/list.js +28 -21
  472. package/dist/composite/person/list.js.map +1 -1
  473. package/dist/composite/person/list.mjs +27 -20
  474. package/dist/composite/person/list.mjs.map +1 -1
  475. package/dist/composite/person/tabular.js +22 -11
  476. package/dist/composite/person/tabular.js.map +1 -1
  477. package/dist/composite/person/tabular.mjs +21 -10
  478. package/dist/composite/person/tabular.mjs.map +1 -1
  479. package/dist/composite/quote/_constants.d.ts +3 -0
  480. package/dist/composite/quote/_constants.d.ts.map +1 -0
  481. package/dist/composite/quote/_constants.js +7 -0
  482. package/dist/composite/quote/_constants.js.map +1 -0
  483. package/dist/composite/quote/_constants.mjs +7 -0
  484. package/dist/composite/quote/_constants.mjs.map +1 -0
  485. package/dist/composite/quote/_types.d.ts +24 -0
  486. package/dist/composite/quote/_types.d.ts.map +1 -0
  487. package/dist/composite/quote/elements/action.d.ts +11 -0
  488. package/dist/composite/quote/elements/action.d.ts.map +1 -0
  489. package/dist/composite/quote/elements/action.js +46 -0
  490. package/dist/composite/quote/elements/action.js.map +1 -0
  491. package/dist/composite/quote/elements/action.mjs +29 -0
  492. package/dist/composite/quote/elements/action.mjs.map +1 -0
  493. package/dist/composite/quote/elements/icon.d.ts +10 -0
  494. package/dist/composite/quote/elements/icon.d.ts.map +1 -0
  495. package/dist/composite/quote/elements/icon.js +67 -0
  496. package/dist/composite/quote/elements/icon.js.map +1 -0
  497. package/dist/composite/quote/elements/icon.mjs +51 -0
  498. package/dist/composite/quote/elements/icon.mjs.map +1 -0
  499. package/dist/composite/quote/elements/image.d.ts +7 -10
  500. package/dist/composite/quote/elements/image.d.ts.map +1 -1
  501. package/dist/composite/quote/elements/image.js +71 -12
  502. package/dist/composite/quote/elements/image.js.map +1 -1
  503. package/dist/composite/quote/elements/image.mjs +54 -12
  504. package/dist/composite/quote/elements/image.mjs.map +1 -1
  505. package/dist/composite/quote/elements/index.d.ts +4 -24
  506. package/dist/composite/quote/elements/index.d.ts.map +1 -1
  507. package/dist/composite/quote/elements/index.js +7 -5
  508. package/dist/composite/quote/elements/index.js.map +1 -1
  509. package/dist/composite/quote/elements/index.mjs +8 -7
  510. package/dist/composite/quote/elements/index.mjs.map +1 -1
  511. package/dist/composite/quote/elements/text.d.ts +5 -20
  512. package/dist/composite/quote/elements/text.d.ts.map +1 -1
  513. package/dist/composite/quote/elements/text.js +217 -194
  514. package/dist/composite/quote/elements/text.js.map +1 -1
  515. package/dist/composite/quote/elements/text.mjs +199 -194
  516. package/dist/composite/quote/elements/text.mjs.map +1 -1
  517. package/dist/composite/quote/featured.d.ts +4 -8
  518. package/dist/composite/quote/featured.d.ts.map +1 -1
  519. package/dist/composite/quote/featured.js +195 -243
  520. package/dist/composite/quote/featured.js.map +1 -1
  521. package/dist/composite/quote/featured.mjs +177 -242
  522. package/dist/composite/quote/featured.mjs.map +1 -1
  523. package/dist/composite/quote/helper/animation.d.ts +8 -0
  524. package/dist/composite/quote/helper/animation.d.ts.map +1 -0
  525. package/dist/composite/quote/helper/animation.js +74 -0
  526. package/dist/composite/quote/helper/animation.js.map +1 -0
  527. package/dist/composite/quote/helper/animation.mjs +74 -0
  528. package/dist/composite/quote/helper/animation.mjs.map +1 -0
  529. package/dist/composite/quote/index.d.ts +1 -1
  530. package/dist/composite/quote/index.d.ts.map +1 -1
  531. package/dist/composite/quote/index.mjs +6 -6
  532. package/dist/composite/quote/inline.d.ts +4 -9
  533. package/dist/composite/quote/inline.d.ts.map +1 -1
  534. package/dist/composite/quote/inline.js +72 -271
  535. package/dist/composite/quote/inline.js.map +1 -1
  536. package/dist/composite/quote/inline.mjs +56 -272
  537. package/dist/composite/quote/inline.mjs.map +1 -1
  538. package/dist/composite/quote/statement.d.ts +5 -7
  539. package/dist/composite/quote/statement.d.ts.map +1 -1
  540. package/dist/composite/slider/events.d.ts.map +1 -1
  541. package/dist/composite/slider/events.js +60 -46
  542. package/dist/composite/slider/events.js.map +1 -1
  543. package/dist/composite/slider/events.mjs +12 -16
  544. package/dist/composite/slider/events.mjs.map +1 -1
  545. package/dist/composite/social/sharing.d.ts.map +1 -1
  546. package/dist/composite/social/sharing.js +38 -23
  547. package/dist/composite/social/sharing.js.map +1 -1
  548. package/dist/composite/social/sharing.mjs +9 -11
  549. package/dist/composite/social/sharing.mjs.map +1 -1
  550. package/dist/composite/tabs/standard.d.ts.map +1 -1
  551. package/dist/composite/tabs/standard.js +44 -30
  552. package/dist/composite/tabs/standard.js.map +1 -1
  553. package/dist/composite/tabs/standard.mjs +9 -13
  554. package/dist/composite/tabs/standard.mjs.map +1 -1
  555. package/dist/index.d.ts +0 -1
  556. package/dist/index.d.ts.map +1 -1
  557. package/dist/index.js +0 -2
  558. package/dist/index.js.map +1 -1
  559. package/dist/index.mjs +1 -3
  560. package/dist/index.mjs.map +1 -1
  561. package/dist/layout/image.d.ts.map +1 -1
  562. package/dist/layout/image.js +25 -6
  563. package/dist/layout/image.js.map +1 -1
  564. package/dist/layout/image.mjs +4 -3
  565. package/dist/layout/image.mjs.map +1 -1
  566. package/dist/model/modifiers/index.d.ts +1 -1
  567. package/dist/model/modifiers/index.d.ts.map +1 -1
  568. package/dist/model/modifiers/index.js +12 -12
  569. package/dist/model/modifiers/index.js.map +1 -1
  570. package/dist/model/modifiers/index.mjs +2 -2
  571. package/dist/model/modifiers/index.mjs.map +1 -1
  572. package/dist/model/modifiers/style.js +7 -7
  573. package/dist/model/modifiers/style.js.map +1 -1
  574. package/dist/model/modifiers/style.mjs +2 -2
  575. package/dist/model/modifiers/style.mjs.map +1 -1
  576. package/package.json +17 -18
  577. package/dist/_virtual/___vite-browser-external.js +0 -8
  578. package/dist/_virtual/___vite-browser-external.js.map +0 -1
  579. package/dist/_virtual/___vite-browser-external.mjs +0 -7
  580. package/dist/_virtual/___vite-browser-external.mjs.map +0 -1
  581. package/dist/_virtual/__vite-browser-external.js +0 -4
  582. package/dist/_virtual/__vite-browser-external.js.map +0 -1
  583. package/dist/_virtual/__vite-browser-external.mjs +0 -5
  584. package/dist/_virtual/__vite-browser-external.mjs.map +0 -1
  585. package/dist/_virtual/_commonjsHelpers.js +0 -39
  586. package/dist/_virtual/_commonjsHelpers.js.map +0 -1
  587. package/dist/_virtual/_commonjsHelpers.mjs +0 -39
  588. package/dist/_virtual/_commonjsHelpers.mjs.map +0 -1
  589. package/dist/_virtual/attribute.js +0 -5
  590. package/dist/_virtual/attribute.js.map +0 -1
  591. package/dist/_virtual/attribute.mjs +0 -5
  592. package/dist/_virtual/attribute.mjs.map +0 -1
  593. package/dist/_virtual/className.js +0 -5
  594. package/dist/_virtual/className.js.map +0 -1
  595. package/dist/_virtual/className.mjs +0 -5
  596. package/dist/_virtual/className.mjs.map +0 -1
  597. package/dist/_virtual/combinator.js +0 -5
  598. package/dist/_virtual/combinator.js.map +0 -1
  599. package/dist/_virtual/combinator.mjs +0 -5
  600. package/dist/_virtual/combinator.mjs.map +0 -1
  601. package/dist/_virtual/comment.js +0 -5
  602. package/dist/_virtual/comment.js.map +0 -1
  603. package/dist/_virtual/comment.mjs +0 -5
  604. package/dist/_virtual/comment.mjs.map +0 -1
  605. package/dist/_virtual/constructors.js +0 -5
  606. package/dist/_virtual/constructors.js.map +0 -1
  607. package/dist/_virtual/constructors.mjs +0 -5
  608. package/dist/_virtual/constructors.mjs.map +0 -1
  609. package/dist/_virtual/container.js +0 -5
  610. package/dist/_virtual/container.js.map +0 -1
  611. package/dist/_virtual/container.mjs +0 -5
  612. package/dist/_virtual/container.mjs.map +0 -1
  613. package/dist/_virtual/ensureObject.js +0 -5
  614. package/dist/_virtual/ensureObject.js.map +0 -1
  615. package/dist/_virtual/ensureObject.mjs +0 -5
  616. package/dist/_virtual/ensureObject.mjs.map +0 -1
  617. package/dist/_virtual/getProp.js +0 -5
  618. package/dist/_virtual/getProp.js.map +0 -1
  619. package/dist/_virtual/getProp.mjs +0 -5
  620. package/dist/_virtual/getProp.mjs.map +0 -1
  621. package/dist/_virtual/guards.js +0 -5
  622. package/dist/_virtual/guards.js.map +0 -1
  623. package/dist/_virtual/guards.mjs +0 -5
  624. package/dist/_virtual/guards.mjs.map +0 -1
  625. package/dist/_virtual/id.js +0 -5
  626. package/dist/_virtual/id.js.map +0 -1
  627. package/dist/_virtual/id.mjs +0 -5
  628. package/dist/_virtual/id.mjs.map +0 -1
  629. package/dist/_virtual/index.js +0 -7
  630. package/dist/_virtual/index.js.map +0 -1
  631. package/dist/_virtual/index.mjs +0 -8
  632. package/dist/_virtual/index.mjs.map +0 -1
  633. package/dist/_virtual/index2.js +0 -7
  634. package/dist/_virtual/index2.js.map +0 -1
  635. package/dist/_virtual/index2.mjs +0 -8
  636. package/dist/_virtual/index2.mjs.map +0 -1
  637. package/dist/_virtual/index3.js +0 -5
  638. package/dist/_virtual/index3.js.map +0 -1
  639. package/dist/_virtual/index3.mjs +0 -5
  640. package/dist/_virtual/index3.mjs.map +0 -1
  641. package/dist/_virtual/index4.js +0 -5
  642. package/dist/_virtual/index4.js.map +0 -1
  643. package/dist/_virtual/index4.mjs +0 -5
  644. package/dist/_virtual/index4.mjs.map +0 -1
  645. package/dist/_virtual/index5.js +0 -5
  646. package/dist/_virtual/index5.js.map +0 -1
  647. package/dist/_virtual/index5.mjs +0 -5
  648. package/dist/_virtual/index5.mjs.map +0 -1
  649. package/dist/_virtual/namespace.js +0 -5
  650. package/dist/_virtual/namespace.js.map +0 -1
  651. package/dist/_virtual/namespace.mjs +0 -5
  652. package/dist/_virtual/namespace.mjs.map +0 -1
  653. package/dist/_virtual/nesting.js +0 -5
  654. package/dist/_virtual/nesting.js.map +0 -1
  655. package/dist/_virtual/nesting.mjs +0 -5
  656. package/dist/_virtual/nesting.mjs.map +0 -1
  657. package/dist/_virtual/node.js +0 -5
  658. package/dist/_virtual/node.js.map +0 -1
  659. package/dist/_virtual/node.mjs +0 -5
  660. package/dist/_virtual/node.mjs.map +0 -1
  661. package/dist/_virtual/parser.js +0 -5
  662. package/dist/_virtual/parser.js.map +0 -1
  663. package/dist/_virtual/parser.mjs +0 -5
  664. package/dist/_virtual/parser.mjs.map +0 -1
  665. package/dist/_virtual/picocolors.browser.js +0 -5
  666. package/dist/_virtual/picocolors.browser.js.map +0 -1
  667. package/dist/_virtual/picocolors.browser.mjs +0 -5
  668. package/dist/_virtual/picocolors.browser.mjs.map +0 -1
  669. package/dist/_virtual/postcss.js +0 -7
  670. package/dist/_virtual/postcss.js.map +0 -1
  671. package/dist/_virtual/postcss.mjs +0 -8
  672. package/dist/_virtual/postcss.mjs.map +0 -1
  673. package/dist/_virtual/processor.js +0 -5
  674. package/dist/_virtual/processor.js.map +0 -1
  675. package/dist/_virtual/processor.mjs +0 -5
  676. package/dist/_virtual/processor.mjs.map +0 -1
  677. package/dist/_virtual/pseudo.js +0 -5
  678. package/dist/_virtual/pseudo.js.map +0 -1
  679. package/dist/_virtual/pseudo.mjs +0 -5
  680. package/dist/_virtual/pseudo.mjs.map +0 -1
  681. package/dist/_virtual/root.js +0 -5
  682. package/dist/_virtual/root.js.map +0 -1
  683. package/dist/_virtual/root.mjs +0 -5
  684. package/dist/_virtual/root.mjs.map +0 -1
  685. package/dist/_virtual/selector.js +0 -5
  686. package/dist/_virtual/selector.js.map +0 -1
  687. package/dist/_virtual/selector.mjs +0 -5
  688. package/dist/_virtual/selector.mjs.map +0 -1
  689. package/dist/_virtual/sortAscending.js +0 -5
  690. package/dist/_virtual/sortAscending.js.map +0 -1
  691. package/dist/_virtual/sortAscending.mjs +0 -5
  692. package/dist/_virtual/sortAscending.mjs.map +0 -1
  693. package/dist/_virtual/string.js +0 -5
  694. package/dist/_virtual/string.js.map +0 -1
  695. package/dist/_virtual/string.mjs +0 -5
  696. package/dist/_virtual/string.mjs.map +0 -1
  697. package/dist/_virtual/stripComments.js +0 -5
  698. package/dist/_virtual/stripComments.js.map +0 -1
  699. package/dist/_virtual/stripComments.mjs +0 -5
  700. package/dist/_virtual/stripComments.mjs.map +0 -1
  701. package/dist/_virtual/symbols.js +0 -5
  702. package/dist/_virtual/symbols.js.map +0 -1
  703. package/dist/_virtual/symbols.mjs +0 -5
  704. package/dist/_virtual/symbols.mjs.map +0 -1
  705. package/dist/_virtual/tag.js +0 -5
  706. package/dist/_virtual/tag.js.map +0 -1
  707. package/dist/_virtual/tag.mjs +0 -5
  708. package/dist/_virtual/tag.mjs.map +0 -1
  709. package/dist/_virtual/tokenTypes.js +0 -5
  710. package/dist/_virtual/tokenTypes.js.map +0 -1
  711. package/dist/_virtual/tokenTypes.mjs +0 -5
  712. package/dist/_virtual/tokenTypes.mjs.map +0 -1
  713. package/dist/_virtual/tokenize.js +0 -5
  714. package/dist/_virtual/tokenize.js.map +0 -1
  715. package/dist/_virtual/tokenize.mjs +0 -5
  716. package/dist/_virtual/tokenize.mjs.map +0 -1
  717. package/dist/_virtual/types.js +0 -5
  718. package/dist/_virtual/types.js.map +0 -1
  719. package/dist/_virtual/types.mjs +0 -5
  720. package/dist/_virtual/types.mjs.map +0 -1
  721. package/dist/_virtual/unesc.js +0 -5
  722. package/dist/_virtual/unesc.js.map +0 -1
  723. package/dist/_virtual/unesc.mjs +0 -5
  724. package/dist/_virtual/unesc.mjs.map +0 -1
  725. package/dist/_virtual/universal.js +0 -5
  726. package/dist/_virtual/universal.js.map +0 -1
  727. package/dist/_virtual/universal.mjs +0 -5
  728. package/dist/_virtual/universal.mjs.map +0 -1
  729. package/dist/node_modules/@csstools/selector-specificity/dist/index.js +0 -96
  730. package/dist/node_modules/@csstools/selector-specificity/dist/index.js.map +0 -1
  731. package/dist/node_modules/@csstools/selector-specificity/dist/index.mjs +0 -96
  732. package/dist/node_modules/@csstools/selector-specificity/dist/index.mjs.map +0 -1
  733. package/dist/node_modules/camelcase-css/index-es5.js +0 -26
  734. package/dist/node_modules/camelcase-css/index-es5.js.map +0 -1
  735. package/dist/node_modules/camelcase-css/index-es5.mjs +0 -26
  736. package/dist/node_modules/camelcase-css/index-es5.mjs.map +0 -1
  737. package/dist/node_modules/cssesc/cssesc.js +0 -95
  738. package/dist/node_modules/cssesc/cssesc.js.map +0 -1
  739. package/dist/node_modules/cssesc/cssesc.mjs +0 -95
  740. package/dist/node_modules/cssesc/cssesc.mjs.map +0 -1
  741. package/dist/node_modules/nanoid/non-secure/index.js +0 -31
  742. package/dist/node_modules/nanoid/non-secure/index.js.map +0 -1
  743. package/dist/node_modules/nanoid/non-secure/index.mjs +0 -31
  744. package/dist/node_modules/nanoid/non-secure/index.mjs.map +0 -1
  745. package/dist/node_modules/picocolors/picocolors.browser.js +0 -17
  746. package/dist/node_modules/picocolors/picocolors.browser.js.map +0 -1
  747. package/dist/node_modules/picocolors/picocolors.browser.mjs +0 -17
  748. package/dist/node_modules/picocolors/picocolors.browser.mjs.map +0 -1
  749. package/dist/node_modules/postcss/lib/at-rule.js +0 -30
  750. package/dist/node_modules/postcss/lib/at-rule.js.map +0 -1
  751. package/dist/node_modules/postcss/lib/at-rule.mjs +0 -30
  752. package/dist/node_modules/postcss/lib/at-rule.mjs.map +0 -1
  753. package/dist/node_modules/postcss/lib/comment.js +0 -21
  754. package/dist/node_modules/postcss/lib/comment.js.map +0 -1
  755. package/dist/node_modules/postcss/lib/comment.mjs +0 -21
  756. package/dist/node_modules/postcss/lib/comment.mjs.map +0 -1
  757. package/dist/node_modules/postcss/lib/container.js +0 -383
  758. package/dist/node_modules/postcss/lib/container.js.map +0 -1
  759. package/dist/node_modules/postcss/lib/container.mjs +0 -383
  760. package/dist/node_modules/postcss/lib/container.mjs.map +0 -1
  761. package/dist/node_modules/postcss/lib/css-syntax-error.js +0 -92
  762. package/dist/node_modules/postcss/lib/css-syntax-error.js.map +0 -1
  763. package/dist/node_modules/postcss/lib/css-syntax-error.mjs +0 -92
  764. package/dist/node_modules/postcss/lib/css-syntax-error.mjs.map +0 -1
  765. package/dist/node_modules/postcss/lib/declaration.js +0 -27
  766. package/dist/node_modules/postcss/lib/declaration.js.map +0 -1
  767. package/dist/node_modules/postcss/lib/declaration.mjs +0 -27
  768. package/dist/node_modules/postcss/lib/declaration.mjs.map +0 -1
  769. package/dist/node_modules/postcss/lib/document.js +0 -34
  770. package/dist/node_modules/postcss/lib/document.js.map +0 -1
  771. package/dist/node_modules/postcss/lib/document.mjs +0 -34
  772. package/dist/node_modules/postcss/lib/document.mjs.map +0 -1
  773. package/dist/node_modules/postcss/lib/fromJSON.js +0 -67
  774. package/dist/node_modules/postcss/lib/fromJSON.js.map +0 -1
  775. package/dist/node_modules/postcss/lib/fromJSON.mjs +0 -67
  776. package/dist/node_modules/postcss/lib/fromJSON.mjs.map +0 -1
  777. package/dist/node_modules/postcss/lib/input.js +0 -216
  778. package/dist/node_modules/postcss/lib/input.js.map +0 -1
  779. package/dist/node_modules/postcss/lib/input.mjs +0 -216
  780. package/dist/node_modules/postcss/lib/input.mjs.map +0 -1
  781. package/dist/node_modules/postcss/lib/lazy-result.js +0 -467
  782. package/dist/node_modules/postcss/lib/lazy-result.js.map +0 -1
  783. package/dist/node_modules/postcss/lib/lazy-result.mjs +0 -467
  784. package/dist/node_modules/postcss/lib/lazy-result.mjs.map +0 -1
  785. package/dist/node_modules/postcss/lib/list.js +0 -60
  786. package/dist/node_modules/postcss/lib/list.js.map +0 -1
  787. package/dist/node_modules/postcss/lib/list.mjs +0 -60
  788. package/dist/node_modules/postcss/lib/list.mjs.map +0 -1
  789. package/dist/node_modules/postcss/lib/map-generator.js +0 -314
  790. package/dist/node_modules/postcss/lib/map-generator.js.map +0 -1
  791. package/dist/node_modules/postcss/lib/map-generator.mjs +0 -314
  792. package/dist/node_modules/postcss/lib/map-generator.mjs.map +0 -1
  793. package/dist/node_modules/postcss/lib/no-work-result.js +0 -113
  794. package/dist/node_modules/postcss/lib/no-work-result.js.map +0 -1
  795. package/dist/node_modules/postcss/lib/no-work-result.mjs +0 -113
  796. package/dist/node_modules/postcss/lib/no-work-result.mjs.map +0 -1
  797. package/dist/node_modules/postcss/lib/node.js +0 -335
  798. package/dist/node_modules/postcss/lib/node.js.map +0 -1
  799. package/dist/node_modules/postcss/lib/node.mjs +0 -335
  800. package/dist/node_modules/postcss/lib/node.mjs.map +0 -1
  801. package/dist/node_modules/postcss/lib/parse.js +0 -30
  802. package/dist/node_modules/postcss/lib/parse.js.map +0 -1
  803. package/dist/node_modules/postcss/lib/parse.mjs +0 -30
  804. package/dist/node_modules/postcss/lib/parse.mjs.map +0 -1
  805. package/dist/node_modules/postcss/lib/parser.js +0 -543
  806. package/dist/node_modules/postcss/lib/parser.js.map +0 -1
  807. package/dist/node_modules/postcss/lib/parser.mjs +0 -543
  808. package/dist/node_modules/postcss/lib/parser.mjs.map +0 -1
  809. package/dist/node_modules/postcss/lib/postcss.js +0 -28
  810. package/dist/node_modules/postcss/lib/postcss.js.map +0 -1
  811. package/dist/node_modules/postcss/lib/postcss.mjs +0 -29
  812. package/dist/node_modules/postcss/lib/postcss.mjs.map +0 -1
  813. package/dist/node_modules/postcss/lib/postcss2.js +0 -110
  814. package/dist/node_modules/postcss/lib/postcss2.js.map +0 -1
  815. package/dist/node_modules/postcss/lib/postcss2.mjs +0 -110
  816. package/dist/node_modules/postcss/lib/postcss2.mjs.map +0 -1
  817. package/dist/node_modules/postcss/lib/previous-map.js +0 -123
  818. package/dist/node_modules/postcss/lib/previous-map.js.map +0 -1
  819. package/dist/node_modules/postcss/lib/previous-map.mjs +0 -123
  820. package/dist/node_modules/postcss/lib/previous-map.mjs.map +0 -1
  821. package/dist/node_modules/postcss/lib/processor.js +0 -61
  822. package/dist/node_modules/postcss/lib/processor.js.map +0 -1
  823. package/dist/node_modules/postcss/lib/processor.mjs +0 -61
  824. package/dist/node_modules/postcss/lib/processor.mjs.map +0 -1
  825. package/dist/node_modules/postcss/lib/result.js +0 -44
  826. package/dist/node_modules/postcss/lib/result.js.map +0 -1
  827. package/dist/node_modules/postcss/lib/result.mjs +0 -44
  828. package/dist/node_modules/postcss/lib/result.mjs.map +0 -1
  829. package/dist/node_modules/postcss/lib/root.js +0 -58
  830. package/dist/node_modules/postcss/lib/root.js.map +0 -1
  831. package/dist/node_modules/postcss/lib/root.mjs +0 -58
  832. package/dist/node_modules/postcss/lib/root.mjs.map +0 -1
  833. package/dist/node_modules/postcss/lib/rule.js +0 -33
  834. package/dist/node_modules/postcss/lib/rule.js.map +0 -1
  835. package/dist/node_modules/postcss/lib/rule.mjs +0 -33
  836. package/dist/node_modules/postcss/lib/rule.mjs.map +0 -1
  837. package/dist/node_modules/postcss/lib/stringifier.js +0 -308
  838. package/dist/node_modules/postcss/lib/stringifier.js.map +0 -1
  839. package/dist/node_modules/postcss/lib/stringifier.mjs +0 -308
  840. package/dist/node_modules/postcss/lib/stringifier.mjs.map +0 -1
  841. package/dist/node_modules/postcss/lib/stringify.js +0 -19
  842. package/dist/node_modules/postcss/lib/stringify.js.map +0 -1
  843. package/dist/node_modules/postcss/lib/stringify.mjs +0 -19
  844. package/dist/node_modules/postcss/lib/stringify.mjs.map +0 -1
  845. package/dist/node_modules/postcss/lib/symbols.js +0 -13
  846. package/dist/node_modules/postcss/lib/symbols.js.map +0 -1
  847. package/dist/node_modules/postcss/lib/symbols.mjs +0 -13
  848. package/dist/node_modules/postcss/lib/symbols.mjs.map +0 -1
  849. package/dist/node_modules/postcss/lib/tokenize.js +0 -219
  850. package/dist/node_modules/postcss/lib/tokenize.js.map +0 -1
  851. package/dist/node_modules/postcss/lib/tokenize.mjs +0 -219
  852. package/dist/node_modules/postcss/lib/tokenize.mjs.map +0 -1
  853. package/dist/node_modules/postcss/lib/warning.js +0 -40
  854. package/dist/node_modules/postcss/lib/warning.js.map +0 -1
  855. package/dist/node_modules/postcss/lib/warning.mjs +0 -40
  856. package/dist/node_modules/postcss/lib/warning.mjs.map +0 -1
  857. package/dist/node_modules/postcss-js/async.js +0 -27
  858. package/dist/node_modules/postcss-js/async.js.map +0 -1
  859. package/dist/node_modules/postcss-js/async.mjs +0 -27
  860. package/dist/node_modules/postcss-js/async.mjs.map +0 -1
  861. package/dist/node_modules/postcss-js/index.js +0 -8
  862. package/dist/node_modules/postcss-js/index.js.map +0 -1
  863. package/dist/node_modules/postcss-js/index.mjs +0 -9
  864. package/dist/node_modules/postcss-js/index.mjs.map +0 -1
  865. package/dist/node_modules/postcss-js/index2.js +0 -25
  866. package/dist/node_modules/postcss-js/index2.js.map +0 -1
  867. package/dist/node_modules/postcss-js/index2.mjs +0 -25
  868. package/dist/node_modules/postcss-js/index2.mjs.map +0 -1
  869. package/dist/node_modules/postcss-js/objectifier.js +0 -92
  870. package/dist/node_modules/postcss-js/objectifier.js.map +0 -1
  871. package/dist/node_modules/postcss-js/objectifier.mjs +0 -92
  872. package/dist/node_modules/postcss-js/objectifier.mjs.map +0 -1
  873. package/dist/node_modules/postcss-js/parser.js +0 -102
  874. package/dist/node_modules/postcss-js/parser.js.map +0 -1
  875. package/dist/node_modules/postcss-js/parser.mjs +0 -102
  876. package/dist/node_modules/postcss-js/parser.mjs.map +0 -1
  877. package/dist/node_modules/postcss-js/process-result.js +0 -22
  878. package/dist/node_modules/postcss-js/process-result.js.map +0 -1
  879. package/dist/node_modules/postcss-js/process-result.mjs +0 -22
  880. package/dist/node_modules/postcss-js/process-result.mjs.map +0 -1
  881. package/dist/node_modules/postcss-js/sync.js +0 -24
  882. package/dist/node_modules/postcss-js/sync.js.map +0 -1
  883. package/dist/node_modules/postcss-js/sync.mjs +0 -24
  884. package/dist/node_modules/postcss-js/sync.mjs.map +0 -1
  885. package/dist/node_modules/postcss-nesting/dist/index.js +0 -267
  886. package/dist/node_modules/postcss-nesting/dist/index.js.map +0 -1
  887. package/dist/node_modules/postcss-nesting/dist/index.mjs +0 -268
  888. package/dist/node_modules/postcss-nesting/dist/index.mjs.map +0 -1
  889. package/dist/node_modules/postcss-selector-parser/dist/index.js +0 -67
  890. package/dist/node_modules/postcss-selector-parser/dist/index.js.map +0 -1
  891. package/dist/node_modules/postcss-selector-parser/dist/index.mjs +0 -67
  892. package/dist/node_modules/postcss-selector-parser/dist/index.mjs.map +0 -1
  893. package/dist/node_modules/postcss-selector-parser/dist/parser.js +0 -1038
  894. package/dist/node_modules/postcss-selector-parser/dist/parser.js.map +0 -1
  895. package/dist/node_modules/postcss-selector-parser/dist/parser.mjs +0 -1038
  896. package/dist/node_modules/postcss-selector-parser/dist/parser.mjs.map +0 -1
  897. package/dist/node_modules/postcss-selector-parser/dist/processor.js +0 -137
  898. package/dist/node_modules/postcss-selector-parser/dist/processor.js.map +0 -1
  899. package/dist/node_modules/postcss-selector-parser/dist/processor.mjs +0 -137
  900. package/dist/node_modules/postcss-selector-parser/dist/processor.mjs.map +0 -1
  901. package/dist/node_modules/postcss-selector-parser/dist/selectors/attribute.js +0 -404
  902. package/dist/node_modules/postcss-selector-parser/dist/selectors/attribute.js.map +0 -1
  903. package/dist/node_modules/postcss-selector-parser/dist/selectors/attribute.mjs +0 -404
  904. package/dist/node_modules/postcss-selector-parser/dist/selectors/attribute.mjs.map +0 -1
  905. package/dist/node_modules/postcss-selector-parser/dist/selectors/className.js +0 -89
  906. package/dist/node_modules/postcss-selector-parser/dist/selectors/className.js.map +0 -1
  907. package/dist/node_modules/postcss-selector-parser/dist/selectors/className.mjs +0 -89
  908. package/dist/node_modules/postcss-selector-parser/dist/selectors/className.mjs.map +0 -1
  909. package/dist/node_modules/postcss-selector-parser/dist/selectors/combinator.js +0 -46
  910. package/dist/node_modules/postcss-selector-parser/dist/selectors/combinator.js.map +0 -1
  911. package/dist/node_modules/postcss-selector-parser/dist/selectors/combinator.mjs +0 -46
  912. package/dist/node_modules/postcss-selector-parser/dist/selectors/combinator.mjs.map +0 -1
  913. package/dist/node_modules/postcss-selector-parser/dist/selectors/comment.js +0 -46
  914. package/dist/node_modules/postcss-selector-parser/dist/selectors/comment.js.map +0 -1
  915. package/dist/node_modules/postcss-selector-parser/dist/selectors/comment.mjs +0 -46
  916. package/dist/node_modules/postcss-selector-parser/dist/selectors/comment.mjs.map +0 -1
  917. package/dist/node_modules/postcss-selector-parser/dist/selectors/constructors.js +0 -88
  918. package/dist/node_modules/postcss-selector-parser/dist/selectors/constructors.js.map +0 -1
  919. package/dist/node_modules/postcss-selector-parser/dist/selectors/constructors.mjs +0 -88
  920. package/dist/node_modules/postcss-selector-parser/dist/selectors/constructors.mjs.map +0 -1
  921. package/dist/node_modules/postcss-selector-parser/dist/selectors/container.js +0 -391
  922. package/dist/node_modules/postcss-selector-parser/dist/selectors/container.js.map +0 -1
  923. package/dist/node_modules/postcss-selector-parser/dist/selectors/container.mjs +0 -391
  924. package/dist/node_modules/postcss-selector-parser/dist/selectors/container.mjs.map +0 -1
  925. package/dist/node_modules/postcss-selector-parser/dist/selectors/guards.js +0 -68
  926. package/dist/node_modules/postcss-selector-parser/dist/selectors/guards.js.map +0 -1
  927. package/dist/node_modules/postcss-selector-parser/dist/selectors/guards.mjs +0 -68
  928. package/dist/node_modules/postcss-selector-parser/dist/selectors/guards.mjs.map +0 -1
  929. package/dist/node_modules/postcss-selector-parser/dist/selectors/id.js +0 -50
  930. package/dist/node_modules/postcss-selector-parser/dist/selectors/id.js.map +0 -1
  931. package/dist/node_modules/postcss-selector-parser/dist/selectors/id.mjs +0 -50
  932. package/dist/node_modules/postcss-selector-parser/dist/selectors/id.mjs.map +0 -1
  933. package/dist/node_modules/postcss-selector-parser/dist/selectors/index.js +0 -35
  934. package/dist/node_modules/postcss-selector-parser/dist/selectors/index.js.map +0 -1
  935. package/dist/node_modules/postcss-selector-parser/dist/selectors/index.mjs +0 -35
  936. package/dist/node_modules/postcss-selector-parser/dist/selectors/index.mjs.map +0 -1
  937. package/dist/node_modules/postcss-selector-parser/dist/selectors/namespace.js +0 -117
  938. package/dist/node_modules/postcss-selector-parser/dist/selectors/namespace.js.map +0 -1
  939. package/dist/node_modules/postcss-selector-parser/dist/selectors/namespace.mjs +0 -117
  940. package/dist/node_modules/postcss-selector-parser/dist/selectors/namespace.mjs.map +0 -1
  941. package/dist/node_modules/postcss-selector-parser/dist/selectors/nesting.js +0 -47
  942. package/dist/node_modules/postcss-selector-parser/dist/selectors/nesting.js.map +0 -1
  943. package/dist/node_modules/postcss-selector-parser/dist/selectors/nesting.mjs +0 -47
  944. package/dist/node_modules/postcss-selector-parser/dist/selectors/nesting.mjs.map +0 -1
  945. package/dist/node_modules/postcss-selector-parser/dist/selectors/node.js +0 -183
  946. package/dist/node_modules/postcss-selector-parser/dist/selectors/node.js.map +0 -1
  947. package/dist/node_modules/postcss-selector-parser/dist/selectors/node.mjs +0 -183
  948. package/dist/node_modules/postcss-selector-parser/dist/selectors/node.mjs.map +0 -1
  949. package/dist/node_modules/postcss-selector-parser/dist/selectors/pseudo.js +0 -51
  950. package/dist/node_modules/postcss-selector-parser/dist/selectors/pseudo.js.map +0 -1
  951. package/dist/node_modules/postcss-selector-parser/dist/selectors/pseudo.mjs +0 -51
  952. package/dist/node_modules/postcss-selector-parser/dist/selectors/pseudo.mjs.map +0 -1
  953. package/dist/node_modules/postcss-selector-parser/dist/selectors/root.js +0 -81
  954. package/dist/node_modules/postcss-selector-parser/dist/selectors/root.js.map +0 -1
  955. package/dist/node_modules/postcss-selector-parser/dist/selectors/root.mjs +0 -81
  956. package/dist/node_modules/postcss-selector-parser/dist/selectors/root.mjs.map +0 -1
  957. package/dist/node_modules/postcss-selector-parser/dist/selectors/selector.js +0 -46
  958. package/dist/node_modules/postcss-selector-parser/dist/selectors/selector.js.map +0 -1
  959. package/dist/node_modules/postcss-selector-parser/dist/selectors/selector.mjs +0 -46
  960. package/dist/node_modules/postcss-selector-parser/dist/selectors/selector.mjs.map +0 -1
  961. package/dist/node_modules/postcss-selector-parser/dist/selectors/string.js +0 -46
  962. package/dist/node_modules/postcss-selector-parser/dist/selectors/string.js.map +0 -1
  963. package/dist/node_modules/postcss-selector-parser/dist/selectors/string.mjs +0 -46
  964. package/dist/node_modules/postcss-selector-parser/dist/selectors/string.mjs.map +0 -1
  965. package/dist/node_modules/postcss-selector-parser/dist/selectors/tag.js +0 -46
  966. package/dist/node_modules/postcss-selector-parser/dist/selectors/tag.js.map +0 -1
  967. package/dist/node_modules/postcss-selector-parser/dist/selectors/tag.mjs +0 -46
  968. package/dist/node_modules/postcss-selector-parser/dist/selectors/tag.mjs.map +0 -1
  969. package/dist/node_modules/postcss-selector-parser/dist/selectors/types.js +0 -37
  970. package/dist/node_modules/postcss-selector-parser/dist/selectors/types.js.map +0 -1
  971. package/dist/node_modules/postcss-selector-parser/dist/selectors/types.mjs +0 -37
  972. package/dist/node_modules/postcss-selector-parser/dist/selectors/types.mjs.map +0 -1
  973. package/dist/node_modules/postcss-selector-parser/dist/selectors/universal.js +0 -47
  974. package/dist/node_modules/postcss-selector-parser/dist/selectors/universal.js.map +0 -1
  975. package/dist/node_modules/postcss-selector-parser/dist/selectors/universal.mjs +0 -47
  976. package/dist/node_modules/postcss-selector-parser/dist/selectors/universal.mjs.map +0 -1
  977. package/dist/node_modules/postcss-selector-parser/dist/sortAscending.js +0 -21
  978. package/dist/node_modules/postcss-selector-parser/dist/sortAscending.js.map +0 -1
  979. package/dist/node_modules/postcss-selector-parser/dist/sortAscending.mjs +0 -21
  980. package/dist/node_modules/postcss-selector-parser/dist/sortAscending.mjs.map +0 -1
  981. package/dist/node_modules/postcss-selector-parser/dist/tokenTypes.js +0 -75
  982. package/dist/node_modules/postcss-selector-parser/dist/tokenTypes.js.map +0 -1
  983. package/dist/node_modules/postcss-selector-parser/dist/tokenTypes.mjs +0 -75
  984. package/dist/node_modules/postcss-selector-parser/dist/tokenTypes.mjs.map +0 -1
  985. package/dist/node_modules/postcss-selector-parser/dist/tokenize.js +0 -264
  986. package/dist/node_modules/postcss-selector-parser/dist/tokenize.js.map +0 -1
  987. package/dist/node_modules/postcss-selector-parser/dist/tokenize.mjs +0 -264
  988. package/dist/node_modules/postcss-selector-parser/dist/tokenize.mjs.map +0 -1
  989. package/dist/node_modules/postcss-selector-parser/dist/util/ensureObject.js +0 -28
  990. package/dist/node_modules/postcss-selector-parser/dist/util/ensureObject.js.map +0 -1
  991. package/dist/node_modules/postcss-selector-parser/dist/util/ensureObject.mjs +0 -28
  992. package/dist/node_modules/postcss-selector-parser/dist/util/ensureObject.mjs.map +0 -1
  993. package/dist/node_modules/postcss-selector-parser/dist/util/getProp.js +0 -29
  994. package/dist/node_modules/postcss-selector-parser/dist/util/getProp.js.map +0 -1
  995. package/dist/node_modules/postcss-selector-parser/dist/util/getProp.mjs +0 -29
  996. package/dist/node_modules/postcss-selector-parser/dist/util/getProp.mjs.map +0 -1
  997. package/dist/node_modules/postcss-selector-parser/dist/util/index.js +0 -28
  998. package/dist/node_modules/postcss-selector-parser/dist/util/index.js.map +0 -1
  999. package/dist/node_modules/postcss-selector-parser/dist/util/index.mjs +0 -28
  1000. package/dist/node_modules/postcss-selector-parser/dist/util/index.mjs.map +0 -1
  1001. package/dist/node_modules/postcss-selector-parser/dist/util/stripComments.js +0 -32
  1002. package/dist/node_modules/postcss-selector-parser/dist/util/stripComments.js.map +0 -1
  1003. package/dist/node_modules/postcss-selector-parser/dist/util/stripComments.mjs +0 -32
  1004. package/dist/node_modules/postcss-selector-parser/dist/util/stripComments.mjs.map +0 -1
  1005. package/dist/node_modules/postcss-selector-parser/dist/util/unesc.js +0 -68
  1006. package/dist/node_modules/postcss-selector-parser/dist/util/unesc.js.map +0 -1
  1007. package/dist/node_modules/postcss-selector-parser/dist/util/unesc.mjs +0 -68
  1008. package/dist/node_modules/postcss-selector-parser/dist/util/unesc.mjs.map +0 -1
  1009. package/dist/node_modules/util-deprecate/browser.js +0 -43
  1010. package/dist/node_modules/util-deprecate/browser.js.map +0 -1
  1011. package/dist/node_modules/util-deprecate/browser.mjs +0 -43
  1012. package/dist/node_modules/util-deprecate/browser.mjs.map +0 -1
  1013. package/dist/utilities/accessibility/index.d.ts +0 -13
  1014. package/dist/utilities/accessibility/index.d.ts.map +0 -1
  1015. package/dist/utilities/accessibility/index.js +0 -89
  1016. package/dist/utilities/accessibility/index.js.map +0 -1
  1017. package/dist/utilities/accessibility/index.mjs +0 -89
  1018. package/dist/utilities/accessibility/index.mjs.map +0 -1
  1019. package/dist/utilities/assets/icons.d.ts +0 -26
  1020. package/dist/utilities/assets/icons.d.ts.map +0 -1
  1021. package/dist/utilities/assets/icons.js +0 -53
  1022. package/dist/utilities/assets/icons.js.map +0 -1
  1023. package/dist/utilities/assets/icons.mjs +0 -53
  1024. package/dist/utilities/assets/icons.mjs.map +0 -1
  1025. package/dist/utilities/assets/index.d.ts +0 -4
  1026. package/dist/utilities/assets/index.d.ts.map +0 -1
  1027. package/dist/utilities/assets/index.js +0 -9
  1028. package/dist/utilities/assets/index.js.map +0 -1
  1029. package/dist/utilities/assets/index.mjs +0 -9
  1030. package/dist/utilities/assets/index.mjs.map +0 -1
  1031. package/dist/utilities/assets/logos.d.ts +0 -6
  1032. package/dist/utilities/assets/logos.d.ts.map +0 -1
  1033. package/dist/utilities/assets/logos.js +0 -14
  1034. package/dist/utilities/assets/logos.js.map +0 -1
  1035. package/dist/utilities/assets/logos.mjs +0 -14
  1036. package/dist/utilities/assets/logos.mjs.map +0 -1
  1037. package/dist/utilities/assets/social.d.ts +0 -8
  1038. package/dist/utilities/assets/social.d.ts.map +0 -1
  1039. package/dist/utilities/assets/social.js +0 -17
  1040. package/dist/utilities/assets/social.js.map +0 -1
  1041. package/dist/utilities/assets/social.mjs +0 -17
  1042. package/dist/utilities/assets/social.mjs.map +0 -1
  1043. package/dist/utilities/date.d.ts +0 -12
  1044. package/dist/utilities/date.d.ts.map +0 -1
  1045. package/dist/utilities/date.js +0 -36
  1046. package/dist/utilities/date.js.map +0 -1
  1047. package/dist/utilities/date.mjs +0 -36
  1048. package/dist/utilities/date.mjs.map +0 -1
  1049. package/dist/utilities/index.d.ts +0 -10
  1050. package/dist/utilities/index.d.ts.map +0 -1
  1051. package/dist/utilities/js-events/index.d.ts +0 -5
  1052. package/dist/utilities/js-events/index.d.ts.map +0 -1
  1053. package/dist/utilities/js-events/index.js +0 -37
  1054. package/dist/utilities/js-events/index.js.map +0 -1
  1055. package/dist/utilities/js-events/index.mjs +0 -37
  1056. package/dist/utilities/js-events/index.mjs.map +0 -1
  1057. package/dist/utilities/markup/create.d.ts +0 -13
  1058. package/dist/utilities/markup/create.d.ts.map +0 -1
  1059. package/dist/utilities/markup/create.js +0 -95
  1060. package/dist/utilities/markup/create.js.map +0 -1
  1061. package/dist/utilities/markup/create.mjs +0 -95
  1062. package/dist/utilities/markup/create.mjs.map +0 -1
  1063. package/dist/utilities/markup/get.d.ts +0 -4
  1064. package/dist/utilities/markup/get.d.ts.map +0 -1
  1065. package/dist/utilities/markup/get.js +0 -18
  1066. package/dist/utilities/markup/get.js.map +0 -1
  1067. package/dist/utilities/markup/get.mjs +0 -18
  1068. package/dist/utilities/markup/get.mjs.map +0 -1
  1069. package/dist/utilities/markup/index.d.ts +0 -5
  1070. package/dist/utilities/markup/index.d.ts.map +0 -1
  1071. package/dist/utilities/markup/index.js +0 -11
  1072. package/dist/utilities/markup/index.js.map +0 -1
  1073. package/dist/utilities/markup/index.mjs +0 -11
  1074. package/dist/utilities/markup/index.mjs.map +0 -1
  1075. package/dist/utilities/markup/locate.d.ts +0 -5
  1076. package/dist/utilities/markup/locate.d.ts.map +0 -1
  1077. package/dist/utilities/markup/locate.js +0 -26
  1078. package/dist/utilities/markup/locate.js.map +0 -1
  1079. package/dist/utilities/markup/locate.mjs +0 -26
  1080. package/dist/utilities/markup/locate.mjs.map +0 -1
  1081. package/dist/utilities/markup/modify.d.ts +0 -21
  1082. package/dist/utilities/markup/modify.d.ts.map +0 -1
  1083. package/dist/utilities/markup/modify.js +0 -93
  1084. package/dist/utilities/markup/modify.js.map +0 -1
  1085. package/dist/utilities/markup/modify.mjs +0 -93
  1086. package/dist/utilities/markup/modify.mjs.map +0 -1
  1087. package/dist/utilities/network/index.d.ts +0 -10
  1088. package/dist/utilities/network/index.d.ts.map +0 -1
  1089. package/dist/utilities/network/index.js +0 -35
  1090. package/dist/utilities/network/index.js.map +0 -1
  1091. package/dist/utilities/network/index.mjs +0 -35
  1092. package/dist/utilities/network/index.mjs.map +0 -1
  1093. package/dist/utilities/performance/index.d.ts +0 -2
  1094. package/dist/utilities/performance/index.d.ts.map +0 -1
  1095. package/dist/utilities/performance/index.js +0 -12
  1096. package/dist/utilities/performance/index.js.map +0 -1
  1097. package/dist/utilities/performance/index.mjs +0 -12
  1098. package/dist/utilities/performance/index.mjs.map +0 -1
  1099. package/dist/utilities/storage/index.d.ts +0 -2
  1100. package/dist/utilities/storage/index.d.ts.map +0 -1
  1101. package/dist/utilities/storage/index.js +0 -5
  1102. package/dist/utilities/storage/index.js.map +0 -1
  1103. package/dist/utilities/storage/index.mjs +0 -5
  1104. package/dist/utilities/storage/index.mjs.map +0 -1
  1105. package/dist/utilities/storage/local.d.ts +0 -7
  1106. package/dist/utilities/storage/local.d.ts.map +0 -1
  1107. package/dist/utilities/storage/local.js +0 -14
  1108. package/dist/utilities/storage/local.js.map +0 -1
  1109. package/dist/utilities/storage/local.mjs +0 -14
  1110. package/dist/utilities/storage/local.mjs.map +0 -1
  1111. package/dist/utilities/theme/animations.d.ts +0 -9
  1112. package/dist/utilities/theme/animations.d.ts.map +0 -1
  1113. package/dist/utilities/theme/animations.js +0 -70
  1114. package/dist/utilities/theme/animations.js.map +0 -1
  1115. package/dist/utilities/theme/animations.mjs +0 -70
  1116. package/dist/utilities/theme/animations.mjs.map +0 -1
  1117. package/dist/utilities/theme/assets.d.ts +0 -6
  1118. package/dist/utilities/theme/assets.d.ts.map +0 -1
  1119. package/dist/utilities/theme/assets.js +0 -17
  1120. package/dist/utilities/theme/assets.js.map +0 -1
  1121. package/dist/utilities/theme/assets.mjs +0 -17
  1122. package/dist/utilities/theme/assets.mjs.map +0 -1
  1123. package/dist/utilities/theme/index.d.ts +0 -11
  1124. package/dist/utilities/theme/index.d.ts.map +0 -1
  1125. package/dist/utilities/theme/index.js +0 -28
  1126. package/dist/utilities/theme/index.js.map +0 -1
  1127. package/dist/utilities/theme/index.mjs +0 -28
  1128. package/dist/utilities/theme/index.mjs.map +0 -1
  1129. package/dist/utilities/theme/media.d.ts +0 -12
  1130. package/dist/utilities/theme/media.d.ts.map +0 -1
  1131. package/dist/utilities/theme/media.js +0 -21
  1132. package/dist/utilities/theme/media.js.map +0 -1
  1133. package/dist/utilities/theme/media.mjs +0 -21
  1134. package/dist/utilities/theme/media.mjs.map +0 -1
  1135. package/dist/utilities.d.ts +0 -2
  1136. package/dist/utilities.js +0 -21
  1137. package/dist/utilities.js.map +0 -1
  1138. package/dist/utilities.mjs +0 -21
  1139. package/dist/utilities.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../source/composite/carousel/default/index.ts"],"sourcesContent":["import { token } from '@universityofmaryland/web-styles-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
+ {"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":"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"}
@@ -1,4 +1,4 @@
1
- import { token } from "@universityofmaryland/web-styles-library";
1
+ import * as token from "@universityofmaryland/web-styles-library/token";
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 { token } from '@universityofmaryland/web-styles-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
+ {"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 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"names":[],"mappings":"AAGA,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,KAAK,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEvD,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,CAAC;;2BA+UyC,+BAA+B;;;;;;;;;;;;;;;;;AAkQ1E,wBAWE"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"names":[],"mappings":"AAOA,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,KAAK,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEvD,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,CAAC;;2BA8UyC,+BAA+B;;;;;;;;;;;;;;;;;AA+P1E,wBAWE"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
- const Styles = require("@universityofmaryland/web-styles-library");
3
- const icons = require("../../../utilities/assets/icons.js");
4
- const index$2 = require("../../../utilities/js-events/index.js");
5
- const index$1 = require("../../../utilities/performance/index.js");
6
- const index = require("../../../utilities/theme/index.js");
2
+ const token = require("@universityofmaryland/web-styles-library/token");
3
+ const elementStyles = require("@universityofmaryland/web-styles-library/element");
4
+ const arrows = require("@universityofmaryland/web-icons-library/arrows");
5
+ const performance = require("@universityofmaryland/web-utilities-library/performance");
6
+ const events = require("@universityofmaryland/web-utilities-library/events");
7
+ const styles = require("@universityofmaryland/web-utilities-library/styles");
7
8
  function _interopNamespaceDefault(e) {
8
9
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
10
  if (e) {
@@ -20,9 +21,9 @@ function _interopNamespaceDefault(e) {
20
21
  n.default = e;
21
22
  return Object.freeze(n);
22
23
  }
23
- const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
24
- const { token } = Styles__namespace;
25
- const fullScreenClassName = Styles__namespace.element.action.button.fullScreen.className;
24
+ const token__namespace = /* @__PURE__ */ _interopNamespaceDefault(token);
25
+ const elementStyles__namespace = /* @__PURE__ */ _interopNamespaceDefault(elementStyles);
26
+ const fullScreenClassName = elementStyles__namespace.action.button.fullScreen.className;
26
27
  const ATTRIBUTE_SINGLE_BLOCK = "single";
27
28
  const ANIMATION_DURATION = 750;
28
29
  const HINT_MULTIPLER_MOBILE_SIZING = 0.2;
@@ -38,8 +39,8 @@ const ELEMENT_ANIMATION_CAROUSEL_PREVIOUS = `animation-carousel-block-button-pre
38
39
  const OVERWRITE_SINGLE_BLOCK_CONTAINER = `.${ELEMENT_ANIMATION_CAROUSEL_CONTAINER}${IS_SINGLE_BLOCK}`;
39
40
  const ButtonStyles = `
40
41
  .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} {
41
- background-color: ${token.color.red};
42
- padding: 10px ${token.spacing.xs};
42
+ background-color: ${token__namespace.color.red};
43
+ padding: 10px ${token__namespace.spacing.xs};
43
44
  position: absolute;
44
45
  z-index: 9999;
45
46
  display: flex;
@@ -56,7 +57,7 @@ const ButtonStyles = `
56
57
  .${ELEMENT_ANIMATION_CAROUSEL_BUTTON} svg {
57
58
  width: 20px;
58
59
  height: 20px;
59
- fill: ${token.color.white};
60
+ fill: ${token__namespace.color.white};
60
61
  }
61
62
 
62
63
  .${ELEMENT_ANIMATION_CAROUSEL_PREVIOUS} svg {
@@ -114,10 +115,10 @@ const EventScrollCarousel = (props) => {
114
115
  const cloneFullScreen = clone.querySelector(`.${fullScreenClassName}`);
115
116
  if (orginalFullScreen && cloneFullScreen) {
116
117
  const indexAttr = orginalFullScreen.getAttribute("data-index");
117
- const index2 = indexAttr ? parseInt(indexAttr) : 0;
118
+ const index = indexAttr ? parseInt(indexAttr) : 0;
118
119
  cloneFullScreen.addEventListener(
119
120
  "click",
120
- () => fullScreenCallback(index2)
121
+ () => fullScreenCallback(index)
121
122
  );
122
123
  }
123
124
  };
@@ -182,7 +183,7 @@ const EventSwipe = (props) => {
182
183
  EventScrollCarousel({ ...props, isDirectionRight: false });
183
184
  }
184
185
  };
185
- index$2.CreateEventSwipe({ container, callback: swipes });
186
+ events.setupSwipeDetection({ container, callback: swipes });
186
187
  };
187
188
  const ButtonVisibility = (props) => {
188
189
  const { GetElements, GetViewOptions } = props;
@@ -235,7 +236,7 @@ const CreateButton = ({
235
236
  button.setAttribute("type", "button");
236
237
  button.setAttribute("aria-label", "Next");
237
238
  button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);
238
- button.innerHTML = icons.FORWARD_ARROW;
239
+ button.innerHTML = arrows.arrow_right;
239
240
  if (isRight) {
240
241
  button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);
241
242
  }
@@ -266,7 +267,7 @@ const CreateCarouselCardsElement = (props) => (() => {
266
267
  tabletCount: 2,
267
268
  desktopCount: 3,
268
269
  maxCount: 4,
269
- blockGap: index.convertPixelStringToNumber(token.spacing.lg),
270
+ blockGap: styles.parsePixelValue(token__namespace.spacing.lg),
270
271
  hasRightButton: true,
271
272
  hasLeftButton: true,
272
273
  showMobileHint: true,
@@ -365,8 +366,8 @@ const CreateCarouselCardsElement = (props) => (() => {
365
366
  );
366
367
  const isHint = GetViewOptions.shouldShowHint();
367
368
  const isShowMobileHint = GetViewOptions.shouldShowMobileHint();
368
- containerBlocks.forEach((block, index2) => {
369
- if (index2 >= count) {
369
+ containerBlocks.forEach((block, index) => {
370
+ if (index >= count) {
370
371
  block.style.display = "none";
371
372
  } else {
372
373
  block.style.display = "block";
@@ -457,10 +458,7 @@ const CreateCarouselCardsElement = (props) => (() => {
457
458
  container.appendChild(wrapper);
458
459
  declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);
459
460
  declaration.appendChild(container);
460
- window.addEventListener(
461
- "resize",
462
- index$1.debounce(Event.resize, 30)
463
- );
461
+ window.addEventListener("resize", performance.debounce(Event.resize, 30));
464
462
  return {
465
463
  element: declaration,
466
464
  events: {
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as Utility from 'utilities';\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 { token } = Styles;\nconst fullScreenClassName = Styles.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 Utility.javascriptEvents.CreateEventSwipe({ 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 = Utility.asset.icon.FORWARD_ARROW;\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: Utility.theme.convertPixelStringToNumber(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(\n 'resize',\n Utility.performance.debounce(Event.resize, 30),\n );\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":["Styles","index","Utility.javascriptEvents.CreateEventSwipe","Utility.asset.icon.FORWARD_ARROW","blocks","Utility.theme.convertPixelStringToNumber","count","Utility.performance.debounce"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAwDA,MAAM,EAAE,UAAUA;AAClB,MAAM,sBAAsBA,kBAAO,QAAQ,OAAO,OAAO,WAAW;AAEpE,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,wBACd,MAAM,MAAM,GAAG;AAAA,oBACnB,MAAM,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAU/B,iCAAiC;AAAA;AAAA;AAAA;AAAA,KAIjC,iCAAiC;AAAA;AAAA;AAAA,YAG1B,MAAM,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,YAAMC,SAAQ,YAAY,SAAS,SAAS,IAAI;AAChD,sBAAgB;AAAA,QAAiB;AAAA,QAAS,MACxC,mBAAmBA,MAAK;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,UAAAA,iBAA0C,EAAE,WAAW,UAAU,QAAQ;AAC3E;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,MAAAA;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,MAAAA,2BAAyC,MAAM,QAAQ,EAAE;AAAA,IACnE,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,MAAMD;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,OAAOH,WAAU;AACxC,YAAIA,UAAS,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,OAAAK,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;AAAA,IACL;AAAA,IACAG,iBAA6B,MAAM,QAAQ,EAAE;AAAA,EAAA;AAG/C,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-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":"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"}
@@ -1,10 +1,10 @@
1
- import * as Styles from "@universityofmaryland/web-styles-library";
2
- import { FORWARD_ARROW } from "../../../utilities/assets/icons.mjs";
3
- import { CreateEventSwipe } from "../../../utilities/js-events/index.mjs";
4
- import { debounce } from "../../../utilities/performance/index.mjs";
5
- import { convertPixelStringToNumber } from "../../../utilities/theme/index.mjs";
6
- const { token } = Styles;
7
- const fullScreenClassName = Styles.element.action.button.fullScreen.className;
1
+ import * as token from "@universityofmaryland/web-styles-library/token";
2
+ import * as elementStyles from "@universityofmaryland/web-styles-library/element";
3
+ import { arrow_right } from "@universityofmaryland/web-icons-library/arrows";
4
+ import { debounce } from "@universityofmaryland/web-utilities-library/performance";
5
+ import { setupSwipeDetection } from "@universityofmaryland/web-utilities-library/events";
6
+ import { parsePixelValue } from "@universityofmaryland/web-utilities-library/styles";
7
+ const fullScreenClassName = elementStyles.action.button.fullScreen.className;
8
8
  const ATTRIBUTE_SINGLE_BLOCK = "single";
9
9
  const ANIMATION_DURATION = 750;
10
10
  const HINT_MULTIPLER_MOBILE_SIZING = 0.2;
@@ -164,7 +164,7 @@ const EventSwipe = (props) => {
164
164
  EventScrollCarousel({ ...props, isDirectionRight: false });
165
165
  }
166
166
  };
167
- CreateEventSwipe({ container, callback: swipes });
167
+ setupSwipeDetection({ container, callback: swipes });
168
168
  };
169
169
  const ButtonVisibility = (props) => {
170
170
  const { GetElements, GetViewOptions } = props;
@@ -217,7 +217,7 @@ const CreateButton = ({
217
217
  button.setAttribute("type", "button");
218
218
  button.setAttribute("aria-label", "Next");
219
219
  button.classList.add(ELEMENT_ANIMATION_CAROUSEL_BUTTON);
220
- button.innerHTML = FORWARD_ARROW;
220
+ button.innerHTML = arrow_right;
221
221
  if (isRight) {
222
222
  button.classList.add(ELEMENT_ANIMATION_CAROUSEL_NEXT);
223
223
  }
@@ -248,7 +248,7 @@ const CreateCarouselCardsElement = (props) => (() => {
248
248
  tabletCount: 2,
249
249
  desktopCount: 3,
250
250
  maxCount: 4,
251
- blockGap: convertPixelStringToNumber(token.spacing.lg),
251
+ blockGap: parsePixelValue(token.spacing.lg),
252
252
  hasRightButton: true,
253
253
  hasLeftButton: true,
254
254
  showMobileHint: true,
@@ -439,10 +439,7 @@ const CreateCarouselCardsElement = (props) => (() => {
439
439
  container.appendChild(wrapper);
440
440
  declaration.classList.add(ELEMENT_ANIMATION_CAROUSEL_DECLARATION);
441
441
  declaration.appendChild(container);
442
- window.addEventListener(
443
- "resize",
444
- debounce(Event.resize, 30)
445
- );
442
+ window.addEventListener("resize", debounce(Event.resize, 30));
446
443
  return {
447
444
  element: declaration,
448
445
  events: {
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.mjs","sources":["../../../../source/composite/carousel/elements/blocks.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as Utility from 'utilities';\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 { token } = Styles;\nconst fullScreenClassName = Styles.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 Utility.javascriptEvents.CreateEventSwipe({ 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 = Utility.asset.icon.FORWARD_ARROW;\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: Utility.theme.convertPixelStringToNumber(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(\n 'resize',\n Utility.performance.debounce(Event.resize, 30),\n );\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":["Utility.javascriptEvents.CreateEventSwipe","Utility.asset.icon.FORWARD_ARROW","blocks","Utility.theme.convertPixelStringToNumber","count","Utility.performance.debounce"],"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-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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"}