@universityofmaryland/web-elements-library 1.5.3 → 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (708) hide show
  1. package/README.md +1 -1
  2. package/dist/_types.d.ts +2 -9
  3. package/dist/_types.d.ts.map +1 -1
  4. package/dist/atomic/_types.d.ts +2 -2
  5. package/dist/atomic/_types.d.ts.map +1 -1
  6. package/dist/atomic/actions/icon.d.ts +1 -5
  7. package/dist/atomic/actions/icon.d.ts.map +1 -1
  8. package/dist/atomic/actions/icon.js +43 -48
  9. package/dist/atomic/actions/icon.js.map +1 -1
  10. package/dist/atomic/actions/icon.mjs +43 -48
  11. package/dist/atomic/actions/icon.mjs.map +1 -1
  12. package/dist/atomic/actions/text.d.ts +4 -16
  13. package/dist/atomic/actions/text.d.ts.map +1 -1
  14. package/dist/atomic/actions/text.js +82 -104
  15. package/dist/atomic/actions/text.js.map +1 -1
  16. package/dist/atomic/actions/text.mjs +81 -106
  17. package/dist/atomic/actions/text.mjs.map +1 -1
  18. package/dist/atomic/animations/actions/indicator.js +1 -1
  19. package/dist/atomic/animations/actions/indicator.js.map +1 -1
  20. package/dist/atomic/animations/actions/indicator.mjs +1 -1
  21. package/dist/atomic/animations/actions/indicator.mjs.map +1 -1
  22. package/dist/atomic/animations/brand/card-stack.d.ts +2 -1
  23. package/dist/atomic/animations/brand/card-stack.d.ts.map +1 -1
  24. package/dist/atomic/animations/brand/card-stack.js +148 -172
  25. package/dist/atomic/animations/brand/card-stack.js.map +1 -1
  26. package/dist/atomic/animations/brand/card-stack.mjs +140 -164
  27. package/dist/atomic/animations/brand/card-stack.mjs.map +1 -1
  28. package/dist/atomic/animations/brand/chevron-scroll.js +1 -1
  29. package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
  30. package/dist/atomic/animations/brand/chevron-scroll.mjs +1 -1
  31. package/dist/atomic/animations/brand/chevron-scroll.mjs.map +1 -1
  32. package/dist/atomic/assets/image/background.d.ts +1 -5
  33. package/dist/atomic/assets/image/background.d.ts.map +1 -1
  34. package/dist/atomic/assets/image/background.js +40 -40
  35. package/dist/atomic/assets/image/background.js.map +1 -1
  36. package/dist/atomic/assets/image/background.mjs +23 -40
  37. package/dist/atomic/assets/image/background.mjs.map +1 -1
  38. package/dist/atomic/assets/image/gif.d.ts +1 -5
  39. package/dist/atomic/assets/image/gif.d.ts.map +1 -1
  40. package/dist/atomic/assets/image/gif.js +28 -12
  41. package/dist/atomic/assets/image/gif.js.map +1 -1
  42. package/dist/atomic/assets/image/gif.mjs +11 -12
  43. package/dist/atomic/assets/image/gif.mjs.map +1 -1
  44. package/dist/atomic/assets/image/placeholder.d.ts +1 -5
  45. package/dist/atomic/assets/image/placeholder.d.ts.map +1 -1
  46. package/dist/atomic/assets/video/observed-auto-play.d.ts +1 -9
  47. package/dist/atomic/assets/video/observed-auto-play.d.ts.map +1 -1
  48. package/dist/atomic/assets/video/observed-auto-play.js +9 -5
  49. package/dist/atomic/assets/video/observed-auto-play.js.map +1 -1
  50. package/dist/atomic/assets/video/observed-auto-play.mjs +9 -5
  51. package/dist/atomic/assets/video/observed-auto-play.mjs.map +1 -1
  52. package/dist/atomic/assets/video/toggle.d.ts +1 -9
  53. package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
  54. package/dist/atomic/assets/video/toggle.js +38 -40
  55. package/dist/atomic/assets/video/toggle.js.map +1 -1
  56. package/dist/atomic/assets/video/toggle.mjs +21 -40
  57. package/dist/atomic/assets/video/toggle.mjs.map +1 -1
  58. package/dist/atomic/buttons/fullscreen.d.ts +1 -5
  59. package/dist/atomic/buttons/fullscreen.d.ts.map +1 -1
  60. package/dist/atomic/buttons/fullscreen.js +21 -15
  61. package/dist/atomic/buttons/fullscreen.js.map +1 -1
  62. package/dist/atomic/buttons/fullscreen.mjs +4 -15
  63. package/dist/atomic/buttons/fullscreen.mjs.map +1 -1
  64. package/dist/atomic/events/meta.d.ts +1 -5
  65. package/dist/atomic/events/meta.d.ts.map +1 -1
  66. package/dist/atomic/events/meta.js +48 -48
  67. package/dist/atomic/events/meta.js.map +1 -1
  68. package/dist/atomic/events/meta.mjs +31 -48
  69. package/dist/atomic/events/meta.mjs.map +1 -1
  70. package/dist/atomic/events/sign.d.ts +1 -5
  71. package/dist/atomic/events/sign.d.ts.map +1 -1
  72. package/dist/atomic/events/sign.js +84 -93
  73. package/dist/atomic/events/sign.js.map +1 -1
  74. package/dist/atomic/events/sign.mjs +82 -93
  75. package/dist/atomic/events/sign.mjs.map +1 -1
  76. package/dist/atomic/layout/block/stacked.d.ts +7 -19
  77. package/dist/atomic/layout/block/stacked.d.ts.map +1 -1
  78. package/dist/atomic/layout/block/stacked.js +14 -20
  79. package/dist/atomic/layout/block/stacked.js.map +1 -1
  80. package/dist/atomic/layout/block/stacked.mjs +14 -20
  81. package/dist/atomic/layout/block/stacked.mjs.map +1 -1
  82. package/dist/atomic/layout/overlay/modal.js +1 -1
  83. package/dist/atomic/layout/overlay/modal.js.map +1 -1
  84. package/dist/atomic/layout/overlay/modal.mjs +1 -1
  85. package/dist/atomic/layout/overlay/modal.mjs.map +1 -1
  86. package/dist/atomic/layout/person/columns.d.ts +4 -20
  87. package/dist/atomic/layout/person/columns.d.ts.map +1 -1
  88. package/dist/atomic/layout/person/columns.js +56 -66
  89. package/dist/atomic/layout/person/columns.js.map +1 -1
  90. package/dist/atomic/layout/person/columns.mjs +56 -66
  91. package/dist/atomic/layout/person/columns.mjs.map +1 -1
  92. package/dist/atomic/text/stat.d.ts +2 -3
  93. package/dist/atomic/text/stat.d.ts.map +1 -1
  94. package/dist/atomic/text/stat.js +101 -119
  95. package/dist/atomic/text/stat.js.map +1 -1
  96. package/dist/atomic/text/stat.mjs +100 -119
  97. package/dist/atomic/text/stat.mjs.map +1 -1
  98. package/dist/atomic/text-lockup/contact.d.ts +1 -5
  99. package/dist/atomic/text-lockup/contact.d.ts.map +1 -1
  100. package/dist/atomic/text-lockup/contact.js +65 -105
  101. package/dist/atomic/text-lockup/contact.js.map +1 -1
  102. package/dist/atomic/text-lockup/contact.mjs +60 -103
  103. package/dist/atomic/text-lockup/contact.mjs.map +1 -1
  104. package/dist/atomic/text-lockup/date.d.ts.map +1 -1
  105. package/dist/atomic/text-lockup/date.js +6 -1
  106. package/dist/atomic/text-lockup/date.js.map +1 -1
  107. package/dist/atomic/text-lockup/date.mjs +6 -1
  108. package/dist/atomic/text-lockup/date.mjs.map +1 -1
  109. package/dist/atomic/text-lockup/large.d.ts +3 -7
  110. package/dist/atomic/text-lockup/large.d.ts.map +1 -1
  111. package/dist/atomic/text-lockup/large.js +62 -71
  112. package/dist/atomic/text-lockup/large.js.map +1 -1
  113. package/dist/atomic/text-lockup/large.mjs +59 -71
  114. package/dist/atomic/text-lockup/large.mjs.map +1 -1
  115. package/dist/atomic/text-lockup/medium.d.ts +5 -9
  116. package/dist/atomic/text-lockup/medium.d.ts.map +1 -1
  117. package/dist/atomic/text-lockup/medium.js +76 -84
  118. package/dist/atomic/text-lockup/medium.js.map +1 -1
  119. package/dist/atomic/text-lockup/medium.mjs +70 -82
  120. package/dist/atomic/text-lockup/medium.mjs.map +1 -1
  121. package/dist/atomic/text-lockup/person.d.ts +1 -5
  122. package/dist/atomic/text-lockup/person.d.ts.map +1 -1
  123. package/dist/atomic/text-lockup/person.js +102 -101
  124. package/dist/atomic/text-lockup/person.js.map +1 -1
  125. package/dist/atomic/text-lockup/person.mjs +99 -101
  126. package/dist/atomic/text-lockup/person.mjs.map +1 -1
  127. package/dist/atomic/text-lockup/small-scaling.d.ts +1 -5
  128. package/dist/atomic/text-lockup/small-scaling.d.ts.map +1 -1
  129. package/dist/atomic/text-lockup/small-scaling.js +64 -39
  130. package/dist/atomic/text-lockup/small-scaling.js.map +1 -1
  131. package/dist/atomic/text-lockup/small-scaling.mjs +44 -38
  132. package/dist/atomic/text-lockup/small-scaling.mjs.map +1 -1
  133. package/dist/atomic/text-lockup/small.d.ts +11 -25
  134. package/dist/atomic/text-lockup/small.d.ts.map +1 -1
  135. package/dist/atomic/text-lockup/small.js +70 -69
  136. package/dist/atomic/text-lockup/small.js.map +1 -1
  137. package/dist/atomic/text-lockup/small.mjs +64 -66
  138. package/dist/atomic/text-lockup/small.mjs.map +1 -1
  139. package/dist/composite/alert/elements/closeButton.d.ts +7 -0
  140. package/dist/composite/alert/elements/closeButton.d.ts.map +1 -0
  141. package/dist/composite/alert/elements/closeButton.js +51 -0
  142. package/dist/composite/alert/elements/closeButton.js.map +1 -0
  143. package/dist/composite/alert/elements/closeButton.mjs +34 -0
  144. package/dist/composite/alert/elements/closeButton.mjs.map +1 -0
  145. package/dist/composite/alert/elements/text.d.ts +3 -13
  146. package/dist/composite/alert/elements/text.d.ts.map +1 -1
  147. package/dist/composite/alert/elements/text.js +60 -81
  148. package/dist/composite/alert/elements/text.js.map +1 -1
  149. package/dist/composite/alert/elements/text.mjs +56 -80
  150. package/dist/composite/alert/elements/text.mjs.map +1 -1
  151. package/dist/composite/alert/globals.d.ts +4 -0
  152. package/dist/composite/alert/globals.d.ts.map +1 -0
  153. package/dist/composite/alert/globals.js +7 -0
  154. package/dist/composite/alert/globals.js.map +1 -0
  155. package/dist/composite/alert/globals.mjs +7 -0
  156. package/dist/composite/alert/globals.mjs.map +1 -0
  157. package/dist/composite/alert/index.d.ts +2 -2
  158. package/dist/composite/alert/index.d.ts.map +1 -1
  159. package/dist/composite/alert/index.js +2 -2
  160. package/dist/composite/alert/index.mjs +4 -4
  161. package/dist/composite/alert/page.d.ts +5 -12
  162. package/dist/composite/alert/page.d.ts.map +1 -1
  163. package/dist/composite/alert/page.js +44 -113
  164. package/dist/composite/alert/page.js.map +1 -1
  165. package/dist/composite/alert/page.mjs +44 -112
  166. package/dist/composite/alert/page.mjs.map +1 -1
  167. package/dist/composite/alert/site.d.ts +5 -11
  168. package/dist/composite/alert/site.d.ts.map +1 -1
  169. package/dist/composite/alert/site.js +60 -109
  170. package/dist/composite/alert/site.js.map +1 -1
  171. package/dist/composite/alert/site.mjs +61 -109
  172. package/dist/composite/alert/site.mjs.map +1 -1
  173. package/dist/composite/banner/promo.js +1 -1
  174. package/dist/composite/banner/promo.js.map +1 -1
  175. package/dist/composite/banner/promo.mjs +1 -1
  176. package/dist/composite/banner/promo.mjs.map +1 -1
  177. package/dist/composite/card/block.d.ts +1 -5
  178. package/dist/composite/card/block.d.ts.map +1 -1
  179. package/dist/composite/card/block.js +7 -5
  180. package/dist/composite/card/block.js.map +1 -1
  181. package/dist/composite/card/block.mjs +7 -5
  182. package/dist/composite/card/block.mjs.map +1 -1
  183. package/dist/composite/card/list.d.ts +1 -5
  184. package/dist/composite/card/list.d.ts.map +1 -1
  185. package/dist/composite/card/list.js +52 -64
  186. package/dist/composite/card/list.js.map +1 -1
  187. package/dist/composite/card/list.mjs +52 -64
  188. package/dist/composite/card/list.mjs.map +1 -1
  189. package/dist/composite/card/overlay/color.d.ts +1 -5
  190. package/dist/composite/card/overlay/color.d.ts.map +1 -1
  191. package/dist/composite/card/overlay/color.js +36 -41
  192. package/dist/composite/card/overlay/color.js.map +1 -1
  193. package/dist/composite/card/overlay/color.mjs +36 -41
  194. package/dist/composite/card/overlay/color.mjs.map +1 -1
  195. package/dist/composite/card/overlay/icon.d.ts +1 -5
  196. package/dist/composite/card/overlay/icon.d.ts.map +1 -1
  197. package/dist/composite/card/overlay/icon.js +27 -31
  198. package/dist/composite/card/overlay/icon.js.map +1 -1
  199. package/dist/composite/card/overlay/icon.mjs +27 -31
  200. package/dist/composite/card/overlay/icon.mjs.map +1 -1
  201. package/dist/composite/card/overlay/image.d.ts +2 -1
  202. package/dist/composite/card/overlay/image.d.ts.map +1 -1
  203. package/dist/composite/card/overlay/image.js +74 -93
  204. package/dist/composite/card/overlay/image.js.map +1 -1
  205. package/dist/composite/card/overlay/image.mjs +73 -93
  206. package/dist/composite/card/overlay/image.mjs.map +1 -1
  207. package/dist/composite/card/video/block.d.ts +1 -9
  208. package/dist/composite/card/video/block.d.ts.map +1 -1
  209. package/dist/composite/card/video/block.js +7 -5
  210. package/dist/composite/card/video/block.js.map +1 -1
  211. package/dist/composite/card/video/block.mjs +7 -5
  212. package/dist/composite/card/video/block.mjs.map +1 -1
  213. package/dist/composite/card/video/short.d.ts +1 -5
  214. package/dist/composite/card/video/short.d.ts.map +1 -1
  215. package/dist/composite/card/video/short.js +16 -21
  216. package/dist/composite/card/video/short.js.map +1 -1
  217. package/dist/composite/card/video/short.mjs +16 -21
  218. package/dist/composite/card/video/short.mjs.map +1 -1
  219. package/dist/composite/carousel/_types.d.ts.map +1 -1
  220. package/dist/composite/carousel/default/index.js +1 -1
  221. package/dist/composite/carousel/default/index.js.map +1 -1
  222. package/dist/composite/carousel/default/index.mjs +1 -1
  223. package/dist/composite/carousel/default/index.mjs.map +1 -1
  224. package/dist/composite/carousel/elements/blocks.js +2 -2
  225. package/dist/composite/carousel/elements/blocks.js.map +1 -1
  226. package/dist/composite/carousel/elements/blocks.mjs +2 -2
  227. package/dist/composite/carousel/elements/blocks.mjs.map +1 -1
  228. package/dist/composite/carousel/elements/full-screen.js +7 -5
  229. package/dist/composite/carousel/elements/full-screen.js.map +1 -1
  230. package/dist/composite/carousel/elements/full-screen.mjs +7 -5
  231. package/dist/composite/carousel/elements/full-screen.mjs.map +1 -1
  232. package/dist/composite/carousel/elements/image.js +2 -2
  233. package/dist/composite/carousel/elements/image.js.map +1 -1
  234. package/dist/composite/carousel/elements/image.mjs +2 -2
  235. package/dist/composite/carousel/elements/image.mjs.map +1 -1
  236. package/dist/composite/carousel/elements/overlay.js +2 -2
  237. package/dist/composite/carousel/elements/overlay.js.map +1 -1
  238. package/dist/composite/carousel/elements/overlay.mjs +2 -2
  239. package/dist/composite/carousel/elements/overlay.mjs.map +1 -1
  240. package/dist/composite/carousel/image/multiple.js +11 -9
  241. package/dist/composite/carousel/image/multiple.js.map +1 -1
  242. package/dist/composite/carousel/image/multiple.mjs +11 -9
  243. package/dist/composite/carousel/image/multiple.mjs.map +1 -1
  244. package/dist/composite/carousel/image/standard.js +10 -8
  245. package/dist/composite/carousel/image/standard.js.map +1 -1
  246. package/dist/composite/carousel/image/standard.mjs +10 -8
  247. package/dist/composite/carousel/image/standard.mjs.map +1 -1
  248. package/dist/composite/carousel/thumbnail/index.js +1 -1
  249. package/dist/composite/carousel/thumbnail/index.js.map +1 -1
  250. package/dist/composite/carousel/thumbnail/index.mjs +1 -1
  251. package/dist/composite/carousel/thumbnail/index.mjs.map +1 -1
  252. package/dist/composite/carousel/wide/_elementModel.d.ts +2 -2
  253. package/dist/composite/carousel/wide/_elementModel.d.ts.map +1 -1
  254. package/dist/composite/carousel/wide/_elementModel.js +20 -7
  255. package/dist/composite/carousel/wide/_elementModel.js.map +1 -1
  256. package/dist/composite/carousel/wide/_elementModel.mjs +20 -7
  257. package/dist/composite/carousel/wide/_elementModel.mjs.map +1 -1
  258. package/dist/composite/carousel/wide/container.d.ts.map +1 -1
  259. package/dist/composite/carousel/wide/container.js +9 -15
  260. package/dist/composite/carousel/wide/container.js.map +1 -1
  261. package/dist/composite/carousel/wide/container.mjs +9 -15
  262. package/dist/composite/carousel/wide/container.mjs.map +1 -1
  263. package/dist/composite/carousel/wide/controls.d.ts +1 -5
  264. package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
  265. package/dist/composite/carousel/wide/controls.js +55 -56
  266. package/dist/composite/carousel/wide/controls.js.map +1 -1
  267. package/dist/composite/carousel/wide/controls.mjs +55 -56
  268. package/dist/composite/carousel/wide/controls.mjs.map +1 -1
  269. package/dist/composite/carousel/wide/frames.d.ts.map +1 -1
  270. package/dist/composite/carousel/wide/frames.js +156 -171
  271. package/dist/composite/carousel/wide/frames.js.map +1 -1
  272. package/dist/composite/carousel/wide/frames.mjs +153 -169
  273. package/dist/composite/carousel/wide/frames.mjs.map +1 -1
  274. package/dist/composite/carousel/wide/index.d.ts +1 -5
  275. package/dist/composite/carousel/wide/index.d.ts.map +1 -1
  276. package/dist/composite/carousel/wide/index.js +23 -17
  277. package/dist/composite/carousel/wide/index.js.map +1 -1
  278. package/dist/composite/carousel/wide/index.mjs +23 -17
  279. package/dist/composite/carousel/wide/index.mjs.map +1 -1
  280. package/dist/composite/footer/elements/main-section/call-to-action.d.ts +2 -2
  281. package/dist/composite/footer/elements/main-section/call-to-action.d.ts.map +1 -1
  282. package/dist/composite/footer/elements/main-section/call-to-action.js +19 -28
  283. package/dist/composite/footer/elements/main-section/call-to-action.js.map +1 -1
  284. package/dist/composite/footer/elements/main-section/call-to-action.mjs +18 -28
  285. package/dist/composite/footer/elements/main-section/call-to-action.mjs.map +1 -1
  286. package/dist/composite/footer/elements/main-section/campaign.d.ts +2 -2
  287. package/dist/composite/footer/elements/main-section/campaign.d.ts.map +1 -1
  288. package/dist/composite/footer/elements/main-section/campaign.js +27 -35
  289. package/dist/composite/footer/elements/main-section/campaign.js.map +1 -1
  290. package/dist/composite/footer/elements/main-section/campaign.mjs +27 -35
  291. package/dist/composite/footer/elements/main-section/campaign.mjs.map +1 -1
  292. package/dist/composite/footer/elements/main-section/index.d.ts +2 -2
  293. package/dist/composite/footer/elements/main-section/index.d.ts.map +1 -1
  294. package/dist/composite/footer/elements/main-section/index.js +38 -50
  295. package/dist/composite/footer/elements/main-section/index.js.map +1 -1
  296. package/dist/composite/footer/elements/main-section/index.mjs +38 -50
  297. package/dist/composite/footer/elements/main-section/index.mjs.map +1 -1
  298. package/dist/composite/footer/elements/main-section/row-links/index.d.ts +2 -2
  299. package/dist/composite/footer/elements/main-section/row-links/index.d.ts.map +1 -1
  300. package/dist/composite/footer/elements/main-section/row-links/index.js +24 -36
  301. package/dist/composite/footer/elements/main-section/row-links/index.js.map +1 -1
  302. package/dist/composite/footer/elements/main-section/row-links/index.mjs +24 -36
  303. package/dist/composite/footer/elements/main-section/row-links/index.mjs.map +1 -1
  304. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts +2 -2
  305. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts.map +1 -1
  306. package/dist/composite/footer/elements/main-section/row-links/link-columns.js +75 -95
  307. package/dist/composite/footer/elements/main-section/row-links/link-columns.js.map +1 -1
  308. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs +73 -93
  309. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs.map +1 -1
  310. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts +2 -2
  311. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts.map +1 -1
  312. package/dist/composite/footer/elements/main-section/row-logo/contact.js +88 -98
  313. package/dist/composite/footer/elements/main-section/row-logo/contact.js.map +1 -1
  314. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs +88 -98
  315. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs.map +1 -1
  316. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts +2 -2
  317. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts.map +1 -1
  318. package/dist/composite/footer/elements/main-section/row-logo/index.js +30 -43
  319. package/dist/composite/footer/elements/main-section/row-logo/index.js.map +1 -1
  320. package/dist/composite/footer/elements/main-section/row-logo/index.mjs +30 -43
  321. package/dist/composite/footer/elements/main-section/row-logo/index.mjs.map +1 -1
  322. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts +2 -2
  323. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts.map +1 -1
  324. package/dist/composite/footer/elements/main-section/row-logo/logo.js +24 -32
  325. package/dist/composite/footer/elements/main-section/row-logo/logo.js.map +1 -1
  326. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs +24 -32
  327. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs.map +1 -1
  328. package/dist/composite/footer/elements/main-section/social.d.ts +2 -2
  329. package/dist/composite/footer/elements/main-section/social.d.ts.map +1 -1
  330. package/dist/composite/footer/elements/main-section/social.js +74 -97
  331. package/dist/composite/footer/elements/main-section/social.js.map +1 -1
  332. package/dist/composite/footer/elements/main-section/social.mjs +74 -97
  333. package/dist/composite/footer/elements/main-section/social.mjs.map +1 -1
  334. package/dist/composite/footer/elements/utility-section/index.d.ts +1 -5
  335. package/dist/composite/footer/elements/utility-section/index.d.ts.map +1 -1
  336. package/dist/composite/footer/elements/utility-section/index.js +56 -83
  337. package/dist/composite/footer/elements/utility-section/index.js.map +1 -1
  338. package/dist/composite/footer/elements/utility-section/index.mjs +56 -83
  339. package/dist/composite/footer/elements/utility-section/index.mjs.map +1 -1
  340. package/dist/composite/footer/options.d.ts +1 -4
  341. package/dist/composite/footer/options.d.ts.map +1 -1
  342. package/dist/composite/footer/options.js +19 -27
  343. package/dist/composite/footer/options.js.map +1 -1
  344. package/dist/composite/footer/options.mjs +19 -27
  345. package/dist/composite/footer/options.mjs.map +1 -1
  346. package/dist/composite/hero/_types.d.ts.map +1 -1
  347. package/dist/composite/hero/custom/expand.d.ts +3 -2
  348. package/dist/composite/hero/custom/expand.d.ts.map +1 -1
  349. package/dist/composite/hero/custom/expand.js +151 -192
  350. package/dist/composite/hero/custom/expand.js.map +1 -1
  351. package/dist/composite/hero/custom/expand.mjs +145 -187
  352. package/dist/composite/hero/custom/expand.mjs.map +1 -1
  353. package/dist/composite/hero/custom/grid.d.ts +1 -5
  354. package/dist/composite/hero/custom/grid.d.ts.map +1 -1
  355. package/dist/composite/hero/custom/grid.js +122 -171
  356. package/dist/composite/hero/custom/grid.js.map +1 -1
  357. package/dist/composite/hero/custom/grid.mjs +116 -166
  358. package/dist/composite/hero/custom/grid.mjs.map +1 -1
  359. package/dist/composite/hero/custom/video-arrow.d.ts +2 -1
  360. package/dist/composite/hero/custom/video-arrow.d.ts.map +1 -1
  361. package/dist/composite/hero/custom/video-arrow.js +83 -105
  362. package/dist/composite/hero/custom/video-arrow.js.map +1 -1
  363. package/dist/composite/hero/custom/video-arrow.mjs +77 -99
  364. package/dist/composite/hero/custom/video-arrow.mjs.map +1 -1
  365. package/dist/composite/hero/logo.d.ts +1 -5
  366. package/dist/composite/hero/logo.d.ts.map +1 -1
  367. package/dist/composite/hero/logo.js +71 -89
  368. package/dist/composite/hero/logo.js.map +1 -1
  369. package/dist/composite/hero/logo.mjs +68 -87
  370. package/dist/composite/hero/logo.mjs.map +1 -1
  371. package/dist/composite/hero/minimal.d.ts +1 -5
  372. package/dist/composite/hero/minimal.d.ts.map +1 -1
  373. package/dist/composite/hero/minimal.js +67 -86
  374. package/dist/composite/hero/minimal.js.map +1 -1
  375. package/dist/composite/hero/minimal.mjs +63 -83
  376. package/dist/composite/hero/minimal.mjs.map +1 -1
  377. package/dist/composite/hero/overlay.d.ts +1 -5
  378. package/dist/composite/hero/overlay.d.ts.map +1 -1
  379. package/dist/composite/hero/overlay.js +107 -135
  380. package/dist/composite/hero/overlay.js.map +1 -1
  381. package/dist/composite/hero/overlay.mjs +103 -132
  382. package/dist/composite/hero/overlay.mjs.map +1 -1
  383. package/dist/composite/hero/stacked.d.ts +1 -5
  384. package/dist/composite/hero/stacked.d.ts.map +1 -1
  385. package/dist/composite/hero/stacked.js +114 -137
  386. package/dist/composite/hero/stacked.js.map +1 -1
  387. package/dist/composite/hero/stacked.mjs +110 -134
  388. package/dist/composite/hero/stacked.mjs.map +1 -1
  389. package/dist/composite/hero/standard.d.ts +1 -5
  390. package/dist/composite/hero/standard.d.ts.map +1 -1
  391. package/dist/composite/hero/standard.js +103 -116
  392. package/dist/composite/hero/standard.js.map +1 -1
  393. package/dist/composite/hero/standard.mjs +100 -114
  394. package/dist/composite/hero/standard.mjs.map +1 -1
  395. package/dist/composite/layout/box/logo.js +1 -1
  396. package/dist/composite/layout/box/logo.js.map +1 -1
  397. package/dist/composite/layout/box/logo.mjs +1 -1
  398. package/dist/composite/layout/box/logo.mjs.map +1 -1
  399. package/dist/composite/layout/image/expand.js +1 -1
  400. package/dist/composite/layout/image/expand.js.map +1 -1
  401. package/dist/composite/layout/image/expand.mjs +1 -1
  402. package/dist/composite/layout/image/expand.mjs.map +1 -1
  403. package/dist/composite/layout/scroll-top/index.js +1 -1
  404. package/dist/composite/layout/scroll-top/index.js.map +1 -1
  405. package/dist/composite/layout/scroll-top/index.mjs +1 -1
  406. package/dist/composite/layout/scroll-top/index.mjs.map +1 -1
  407. package/dist/composite/layout/section-intro/small.d.ts +2 -1
  408. package/dist/composite/layout/section-intro/small.d.ts.map +1 -1
  409. package/dist/composite/layout/section-intro/small.js +97 -107
  410. package/dist/composite/layout/section-intro/small.js.map +1 -1
  411. package/dist/composite/layout/section-intro/small.mjs +95 -106
  412. package/dist/composite/layout/section-intro/small.mjs.map +1 -1
  413. package/dist/composite/layout/section-intro/wide.d.ts +2 -2
  414. package/dist/composite/layout/section-intro/wide.d.ts.map +1 -1
  415. package/dist/composite/layout/section-intro/wide.js +40 -53
  416. package/dist/composite/layout/section-intro/wide.js.map +1 -1
  417. package/dist/composite/layout/section-intro/wide.mjs +39 -53
  418. package/dist/composite/layout/section-intro/wide.mjs.map +1 -1
  419. package/dist/composite/layout/sticky-columns/index.js +1 -1
  420. package/dist/composite/layout/sticky-columns/index.js.map +1 -1
  421. package/dist/composite/layout/sticky-columns/index.mjs +1 -1
  422. package/dist/composite/layout/sticky-columns/index.mjs.map +1 -1
  423. package/dist/composite/media/elements/caption.js +1 -1
  424. package/dist/composite/media/elements/caption.js.map +1 -1
  425. package/dist/composite/media/elements/caption.mjs +1 -1
  426. package/dist/composite/media/elements/caption.mjs.map +1 -1
  427. package/dist/composite/media/elements/gif.d.ts +3 -2
  428. package/dist/composite/media/elements/gif.d.ts.map +1 -1
  429. package/dist/composite/media/elements/gif.js +25 -27
  430. package/dist/composite/media/elements/gif.js.map +1 -1
  431. package/dist/composite/media/elements/gif.mjs +25 -27
  432. package/dist/composite/media/elements/gif.mjs.map +1 -1
  433. package/dist/composite/media/inline/caption.js +2 -2
  434. package/dist/composite/media/inline/caption.js.map +1 -1
  435. package/dist/composite/media/inline/caption.mjs +2 -2
  436. package/dist/composite/media/inline/caption.mjs.map +1 -1
  437. package/dist/composite/media/inline/wrapped.js +2 -2
  438. package/dist/composite/media/inline/wrapped.js.map +1 -1
  439. package/dist/composite/media/inline/wrapped.mjs +2 -2
  440. package/dist/composite/media/inline/wrapped.mjs.map +1 -1
  441. package/dist/composite/navigation/elements/breadcrumb/index.js +1 -1
  442. package/dist/composite/navigation/elements/breadcrumb/index.js.map +1 -1
  443. package/dist/composite/navigation/elements/breadcrumb/index.mjs +1 -1
  444. package/dist/composite/navigation/elements/breadcrumb/index.mjs.map +1 -1
  445. package/dist/composite/navigation/elements/drawer/index.js +1 -1
  446. package/dist/composite/navigation/elements/drawer/index.js.map +1 -1
  447. package/dist/composite/navigation/elements/drawer/index.mjs +1 -1
  448. package/dist/composite/navigation/elements/drawer/index.mjs.map +1 -1
  449. package/dist/composite/navigation/elements/item/index.js +1 -1
  450. package/dist/composite/navigation/elements/item/index.js.map +1 -1
  451. package/dist/composite/navigation/elements/item/index.mjs +1 -1
  452. package/dist/composite/navigation/elements/item/index.mjs.map +1 -1
  453. package/dist/composite/navigation/elements/menu-button/index.js +1 -1
  454. package/dist/composite/navigation/elements/menu-button/index.js.map +1 -1
  455. package/dist/composite/navigation/elements/menu-button/index.mjs +1 -1
  456. package/dist/composite/navigation/elements/menu-button/index.mjs.map +1 -1
  457. package/dist/composite/navigation/elements/slider/action.js +1 -1
  458. package/dist/composite/navigation/elements/slider/action.js.map +1 -1
  459. package/dist/composite/navigation/elements/slider/action.mjs +1 -1
  460. package/dist/composite/navigation/elements/slider/action.mjs.map +1 -1
  461. package/dist/composite/navigation/elements/slider/index.js +1 -1
  462. package/dist/composite/navigation/elements/slider/index.js.map +1 -1
  463. package/dist/composite/navigation/elements/slider/index.mjs +1 -1
  464. package/dist/composite/navigation/elements/slider/index.mjs.map +1 -1
  465. package/dist/composite/navigation/elements/slider/slide-first.js +1 -1
  466. package/dist/composite/navigation/elements/slider/slide-first.js.map +1 -1
  467. package/dist/composite/navigation/elements/slider/slide-first.mjs +1 -1
  468. package/dist/composite/navigation/elements/slider/slide-first.mjs.map +1 -1
  469. package/dist/composite/navigation/elements/slider/slides.js +1 -1
  470. package/dist/composite/navigation/elements/slider/slides.js.map +1 -1
  471. package/dist/composite/navigation/elements/slider/slides.mjs +1 -1
  472. package/dist/composite/navigation/elements/slider/slides.mjs.map +1 -1
  473. package/dist/composite/navigation/header.js +1 -1
  474. package/dist/composite/navigation/header.js.map +1 -1
  475. package/dist/composite/navigation/header.mjs +1 -1
  476. package/dist/composite/navigation/header.mjs.map +1 -1
  477. package/dist/composite/navigation/utility/alert.js +8 -4
  478. package/dist/composite/navigation/utility/alert.js.map +1 -1
  479. package/dist/composite/navigation/utility/alert.mjs +8 -4
  480. package/dist/composite/navigation/utility/alert.mjs.map +1 -1
  481. package/dist/composite/navigation/utility/index.d.ts.map +1 -1
  482. package/dist/composite/navigation/utility/index.js +90 -13
  483. package/dist/composite/navigation/utility/index.js.map +1 -1
  484. package/dist/composite/navigation/utility/index.mjs +90 -13
  485. package/dist/composite/navigation/utility/index.mjs.map +1 -1
  486. package/dist/composite/navigation/utility/search.js +1 -1
  487. package/dist/composite/navigation/utility/search.js.map +1 -1
  488. package/dist/composite/navigation/utility/search.mjs +1 -1
  489. package/dist/composite/navigation/utility/search.mjs.map +1 -1
  490. package/dist/composite/pathway/_common.d.ts +4 -20
  491. package/dist/composite/pathway/_common.d.ts.map +1 -1
  492. package/dist/composite/pathway/_common.js +62 -64
  493. package/dist/composite/pathway/_common.js.map +1 -1
  494. package/dist/composite/pathway/_common.mjs +56 -60
  495. package/dist/composite/pathway/_common.mjs.map +1 -1
  496. package/dist/composite/pathway/hero.d.ts +1 -5
  497. package/dist/composite/pathway/hero.d.ts.map +1 -1
  498. package/dist/composite/pathway/hero.js +119 -140
  499. package/dist/composite/pathway/hero.js.map +1 -1
  500. package/dist/composite/pathway/hero.mjs +113 -135
  501. package/dist/composite/pathway/hero.mjs.map +1 -1
  502. package/dist/composite/pathway/highlight.d.ts +1 -5
  503. package/dist/composite/pathway/highlight.d.ts.map +1 -1
  504. package/dist/composite/pathway/highlight.js +99 -129
  505. package/dist/composite/pathway/highlight.js.map +1 -1
  506. package/dist/composite/pathway/highlight.mjs +98 -129
  507. package/dist/composite/pathway/highlight.mjs.map +1 -1
  508. package/dist/composite/pathway/overlay.d.ts +2 -1
  509. package/dist/composite/pathway/overlay.d.ts.map +1 -1
  510. package/dist/composite/pathway/overlay.js +125 -153
  511. package/dist/composite/pathway/overlay.js.map +1 -1
  512. package/dist/composite/pathway/overlay.mjs +122 -151
  513. package/dist/composite/pathway/overlay.mjs.map +1 -1
  514. package/dist/composite/pathway/standard.d.ts +2 -1
  515. package/dist/composite/pathway/standard.d.ts.map +1 -1
  516. package/dist/composite/pathway/standard.js +96 -123
  517. package/dist/composite/pathway/standard.js.map +1 -1
  518. package/dist/composite/pathway/standard.mjs +95 -123
  519. package/dist/composite/pathway/standard.mjs.map +1 -1
  520. package/dist/composite/pathway/sticky.d.ts +1 -5
  521. package/dist/composite/pathway/sticky.d.ts.map +1 -1
  522. package/dist/composite/pathway/sticky.js +91 -116
  523. package/dist/composite/pathway/sticky.js.map +1 -1
  524. package/dist/composite/pathway/sticky.mjs +88 -114
  525. package/dist/composite/pathway/sticky.mjs.map +1 -1
  526. package/dist/composite/person/bio/full.d.ts +2 -5
  527. package/dist/composite/person/bio/full.d.ts.map +1 -1
  528. package/dist/composite/person/bio/full.js +53 -57
  529. package/dist/composite/person/bio/full.js.map +1 -1
  530. package/dist/composite/person/bio/full.mjs +52 -57
  531. package/dist/composite/person/bio/full.mjs.map +1 -1
  532. package/dist/composite/person/bio/small.d.ts +2 -5
  533. package/dist/composite/person/bio/small.d.ts.map +1 -1
  534. package/dist/composite/person/bio/small.js +85 -98
  535. package/dist/composite/person/bio/small.js.map +1 -1
  536. package/dist/composite/person/bio/small.mjs +84 -98
  537. package/dist/composite/person/bio/small.mjs.map +1 -1
  538. package/dist/composite/person/block.d.ts +2 -5
  539. package/dist/composite/person/block.d.ts.map +1 -1
  540. package/dist/composite/person/block.js +34 -42
  541. package/dist/composite/person/block.js.map +1 -1
  542. package/dist/composite/person/block.mjs +34 -42
  543. package/dist/composite/person/block.mjs.map +1 -1
  544. package/dist/composite/person/hero.d.ts +2 -5
  545. package/dist/composite/person/hero.d.ts.map +1 -1
  546. package/dist/composite/person/hero.js +160 -220
  547. package/dist/composite/person/hero.js.map +1 -1
  548. package/dist/composite/person/hero.mjs +159 -220
  549. package/dist/composite/person/hero.mjs.map +1 -1
  550. package/dist/composite/person/list.d.ts +2 -5
  551. package/dist/composite/person/list.d.ts.map +1 -1
  552. package/dist/composite/person/list.js +19 -19
  553. package/dist/composite/person/list.js.map +1 -1
  554. package/dist/composite/person/list.mjs +19 -19
  555. package/dist/composite/person/list.mjs.map +1 -1
  556. package/dist/composite/person/tabular.d.ts +2 -5
  557. package/dist/composite/person/tabular.d.ts.map +1 -1
  558. package/dist/composite/person/tabular.js +40 -36
  559. package/dist/composite/person/tabular.js.map +1 -1
  560. package/dist/composite/person/tabular.mjs +38 -36
  561. package/dist/composite/person/tabular.mjs.map +1 -1
  562. package/dist/composite/quote/elements/action.d.ts +1 -5
  563. package/dist/composite/quote/elements/action.d.ts.map +1 -1
  564. package/dist/composite/quote/elements/action.js +13 -17
  565. package/dist/composite/quote/elements/action.js.map +1 -1
  566. package/dist/composite/quote/elements/action.mjs +13 -17
  567. package/dist/composite/quote/elements/action.mjs.map +1 -1
  568. package/dist/composite/quote/elements/icon.d.ts +1 -5
  569. package/dist/composite/quote/elements/icon.d.ts.map +1 -1
  570. package/dist/composite/quote/elements/icon.js +37 -40
  571. package/dist/composite/quote/elements/icon.js.map +1 -1
  572. package/dist/composite/quote/elements/icon.mjs +37 -40
  573. package/dist/composite/quote/elements/icon.mjs.map +1 -1
  574. package/dist/composite/quote/elements/image.d.ts +1 -5
  575. package/dist/composite/quote/elements/image.d.ts.map +1 -1
  576. package/dist/composite/quote/elements/image.js +27 -35
  577. package/dist/composite/quote/elements/image.js.map +1 -1
  578. package/dist/composite/quote/elements/image.mjs +27 -35
  579. package/dist/composite/quote/elements/image.mjs.map +1 -1
  580. package/dist/composite/quote/elements/quote.d.ts +1 -5
  581. package/dist/composite/quote/elements/quote.d.ts.map +1 -1
  582. package/dist/composite/quote/elements/quote.js +37 -48
  583. package/dist/composite/quote/elements/quote.js.map +1 -1
  584. package/dist/composite/quote/elements/quote.mjs +35 -46
  585. package/dist/composite/quote/elements/quote.mjs.map +1 -1
  586. package/dist/composite/quote/elements/text.d.ts +1 -5
  587. package/dist/composite/quote/elements/text.d.ts.map +1 -1
  588. package/dist/composite/quote/elements/text.js +60 -73
  589. package/dist/composite/quote/elements/text.js.map +1 -1
  590. package/dist/composite/quote/elements/text.mjs +60 -73
  591. package/dist/composite/quote/elements/text.mjs.map +1 -1
  592. package/dist/composite/quote/featured.d.ts +2 -1
  593. package/dist/composite/quote/featured.d.ts.map +1 -1
  594. package/dist/composite/quote/featured.js +102 -135
  595. package/dist/composite/quote/featured.js.map +1 -1
  596. package/dist/composite/quote/featured.mjs +102 -135
  597. package/dist/composite/quote/featured.mjs.map +1 -1
  598. package/dist/composite/quote/helper/animation.d.ts +2 -2
  599. package/dist/composite/quote/helper/animation.d.ts.map +1 -1
  600. package/dist/composite/quote/helper/animation.js.map +1 -1
  601. package/dist/composite/quote/helper/animation.mjs.map +1 -1
  602. package/dist/composite/quote/inline.d.ts +2 -1
  603. package/dist/composite/quote/inline.d.ts.map +1 -1
  604. package/dist/composite/quote/inline.js +29 -45
  605. package/dist/composite/quote/inline.js.map +1 -1
  606. package/dist/composite/quote/inline.mjs +29 -45
  607. package/dist/composite/quote/inline.mjs.map +1 -1
  608. package/dist/composite/quote/statement.d.ts +1 -5
  609. package/dist/composite/quote/statement.d.ts.map +1 -1
  610. package/dist/composite/slider/events.js +1 -1
  611. package/dist/composite/slider/events.js.map +1 -1
  612. package/dist/composite/slider/events.mjs +1 -1
  613. package/dist/composite/slider/events.mjs.map +1 -1
  614. package/dist/composite/social/sharing.js +1 -1
  615. package/dist/composite/social/sharing.js.map +1 -1
  616. package/dist/composite/social/sharing.mjs +1 -1
  617. package/dist/composite/social/sharing.mjs.map +1 -1
  618. package/dist/composite/tabs/standard.d.ts.map +1 -1
  619. package/dist/composite/tabs/standard.js +3 -2
  620. package/dist/composite/tabs/standard.js.map +1 -1
  621. package/dist/composite/tabs/standard.mjs +3 -2
  622. package/dist/composite/tabs/standard.mjs.map +1 -1
  623. package/dist/index.d.ts +0 -1
  624. package/dist/index.d.ts.map +1 -1
  625. package/dist/index.js +0 -2
  626. package/dist/index.js.map +1 -1
  627. package/dist/index.mjs +1 -3
  628. package/dist/index.mjs.map +1 -1
  629. package/dist/layout/image.js +1 -1
  630. package/dist/layout/image.js.map +1 -1
  631. package/dist/layout/image.mjs +1 -1
  632. package/dist/layout/image.mjs.map +1 -1
  633. package/package.json +10 -9
  634. package/dist/model/elements/actions.d.ts +0 -62
  635. package/dist/model/elements/actions.d.ts.map +0 -1
  636. package/dist/model/elements/actions.js +0 -71
  637. package/dist/model/elements/actions.js.map +0 -1
  638. package/dist/model/elements/actions.mjs +0 -54
  639. package/dist/model/elements/actions.mjs.map +0 -1
  640. package/dist/model/elements/assets.d.ts +0 -30
  641. package/dist/model/elements/assets.d.ts.map +0 -1
  642. package/dist/model/elements/assets.js +0 -42
  643. package/dist/model/elements/assets.js.map +0 -1
  644. package/dist/model/elements/assets.mjs +0 -25
  645. package/dist/model/elements/assets.mjs.map +0 -1
  646. package/dist/model/elements/buttons.d.ts +0 -12
  647. package/dist/model/elements/buttons.d.ts.map +0 -1
  648. package/dist/model/elements/buttons.js +0 -26
  649. package/dist/model/elements/buttons.js.map +0 -1
  650. package/dist/model/elements/buttons.mjs +0 -9
  651. package/dist/model/elements/buttons.mjs.map +0 -1
  652. package/dist/model/elements/event.d.ts +0 -22
  653. package/dist/model/elements/event.d.ts.map +0 -1
  654. package/dist/model/elements/event.js +0 -30
  655. package/dist/model/elements/event.js.map +0 -1
  656. package/dist/model/elements/event.mjs +0 -13
  657. package/dist/model/elements/event.mjs.map +0 -1
  658. package/dist/model/elements/headline.d.ts +0 -67
  659. package/dist/model/elements/headline.d.ts.map +0 -1
  660. package/dist/model/elements/headline.js +0 -74
  661. package/dist/model/elements/headline.js.map +0 -1
  662. package/dist/model/elements/headline.mjs +0 -57
  663. package/dist/model/elements/headline.mjs.map +0 -1
  664. package/dist/model/elements/index.d.ts +0 -34
  665. package/dist/model/elements/index.d.ts.map +0 -1
  666. package/dist/model/elements/index.js +0 -37
  667. package/dist/model/elements/index.js.map +0 -1
  668. package/dist/model/elements/index.mjs +0 -37
  669. package/dist/model/elements/index.mjs.map +0 -1
  670. package/dist/model/elements/layout.d.ts +0 -64
  671. package/dist/model/elements/layout.d.ts.map +0 -1
  672. package/dist/model/elements/layout.js +0 -68
  673. package/dist/model/elements/layout.js.map +0 -1
  674. package/dist/model/elements/layout.mjs +0 -51
  675. package/dist/model/elements/layout.mjs.map +0 -1
  676. package/dist/model/elements/rich-text.d.ts +0 -27
  677. package/dist/model/elements/rich-text.d.ts.map +0 -1
  678. package/dist/model/elements/rich-text.js +0 -68
  679. package/dist/model/elements/rich-text.js.map +0 -1
  680. package/dist/model/elements/rich-text.mjs +0 -51
  681. package/dist/model/elements/rich-text.mjs.map +0 -1
  682. package/dist/model/elements/text.d.ts +0 -22
  683. package/dist/model/elements/text.d.ts.map +0 -1
  684. package/dist/model/elements/text.js +0 -30
  685. package/dist/model/elements/text.js.map +0 -1
  686. package/dist/model/elements/text.mjs +0 -13
  687. package/dist/model/elements/text.mjs.map +0 -1
  688. package/dist/model/index.d.ts +0 -2
  689. package/dist/model/index.d.ts.map +0 -1
  690. package/dist/model/modifiers/_types.d.ts +0 -41
  691. package/dist/model/modifiers/_types.d.ts.map +0 -1
  692. package/dist/model/modifiers/index.d.ts +0 -44
  693. package/dist/model/modifiers/index.d.ts.map +0 -1
  694. package/dist/model/modifiers/index.js +0 -136
  695. package/dist/model/modifiers/index.js.map +0 -1
  696. package/dist/model/modifiers/index.mjs +0 -136
  697. package/dist/model/modifiers/index.mjs.map +0 -1
  698. package/dist/model/modifiers/style.d.ts +0 -19
  699. package/dist/model/modifiers/style.d.ts.map +0 -1
  700. package/dist/model/modifiers/style.js +0 -122
  701. package/dist/model/modifiers/style.js.map +0 -1
  702. package/dist/model/modifiers/style.mjs +0 -105
  703. package/dist/model/modifiers/style.mjs.map +0 -1
  704. package/dist/model.d.ts +0 -2
  705. package/dist/model.js +0 -5
  706. package/dist/model.js.map +0 -1
  707. package/dist/model.mjs +0 -5
  708. package/dist/model.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
+ import { ElementBuilder } from "@universityofmaryland/web-builder-library";
1
2
  import { token, animation, typography } from "@universityofmaryland/web-styles-library";
2
3
  import { wrapLinkForAnimation } from "@universityofmaryland/web-utilities-library/animation";
3
- import { createDiv, create } from "../../../../../model/elements/index.mjs";
4
4
  import { BREAKPOINTS } from "../../../globals.mjs";
5
5
  const { MEDIUM, LARGE } = BREAKPOINTS;
6
6
  const COLUMN_ONE_DEFAULT_LINKS = [
@@ -71,49 +71,41 @@ const COLUMN_THREE_DEFAULT_LINKS = [
71
71
  ];
72
72
  const createLinkColumn = (props, children) => {
73
73
  const { isThemeLight } = props;
74
- return createDiv({
75
- className: "link-column-fonts",
76
- children,
77
- elementStyles: {
78
- element: {
79
- marginBottom: token.spacing.sm,
80
- ["& > *"]: {
81
- marginBottom: token.spacing.sm
82
- },
83
- ["& a"]: {
84
- ...animation.line.slideUnderWhite,
85
- ...typography.sans.smaller,
86
- ...isThemeLight && {
87
- ...animation.line.slideUnderBlack
88
- }
89
- },
90
- ["& a, & span, & p"]: {
91
- color: token.color.gray.light,
92
- ...isThemeLight && {
93
- color: token.color.gray.dark
94
- }
95
- },
96
- [`@container (max-width: ${MEDIUM - 1}px)`]: {
97
- ["&:last-child"]: {
98
- marginBottom: 0
99
- }
74
+ return new ElementBuilder().withClassName("link-column-fonts").withChildren(...children).withStyles({
75
+ element: {
76
+ marginBottom: token.spacing.sm,
77
+ ["& > *"]: {
78
+ marginBottom: token.spacing.sm
79
+ },
80
+ ["& a"]: {
81
+ ...animation.line.slideUnderWhite,
82
+ ...typography.sans.smaller,
83
+ ...isThemeLight && {
84
+ ...animation.line.slideUnderBlack
85
+ }
86
+ },
87
+ ["& a, & span, & p"]: {
88
+ color: token.color.gray.light,
89
+ ...isThemeLight && {
90
+ color: token.color.gray.dark
91
+ }
92
+ },
93
+ [`@container (max-width: ${MEDIUM - 1}px)`]: {
94
+ ["&:last-child"]: {
95
+ marginBottom: 0
100
96
  }
101
97
  }
102
98
  }
103
- });
99
+ }).build();
104
100
  };
105
101
  const createLinkColumnFontsLink = (element) => {
106
- return create({
107
- element,
108
- className: `link-column-fonts-link`,
109
- elementStyles: {
110
- element: {
111
- [`&p`]: {
112
- gridColumn: "1 / span 2"
113
- }
102
+ return new ElementBuilder(element).withClassName(`link-column-fonts-link`).withStyles({
103
+ element: {
104
+ [`&p`]: {
105
+ gridColumn: "1 / span 2"
114
106
  }
115
107
  }
116
- });
108
+ }).build();
117
109
  };
118
110
  const createDefaultColumn = (props, defaultContent) => {
119
111
  const children = defaultContent.map((row) => {
@@ -140,33 +132,29 @@ const createDefaultColumn = (props, defaultContent) => {
140
132
  const createRowLinksColumnWrapper = ({
141
133
  children
142
134
  }) => {
143
- return createDiv({
144
- className: "umd-footer-row-links-column-wrapper",
145
- children,
146
- elementStyles: {
147
- element: {
148
- [`@container (min-width: ${MEDIUM}px) and (max-width: ${LARGE}px)`]: {
149
- display: "grid",
150
- gridTemplateColumns: "1fr 1fr",
151
- gap: `0 ${token.spacing.md}`
152
- },
153
- [`@container (max-width: ${MEDIUM}px)`]: {
154
- ["&:not(:last-child)"]: {
155
- marginBottom: token.spacing.lg
156
- }
157
- },
158
- [`@container (min-width: ${LARGE}px)`]: {
159
- paddingRight: token.spacing.xs,
160
- minWidth: "240px",
161
- [`&:not(:first-child)`]: {
162
- marginLeft: token.spacing.lg,
163
- paddingLeft: token.spacing.lg,
164
- borderLeft: `1px solid ${token.color.gray.dark}`
165
- }
135
+ return new ElementBuilder().withClassName("umd-footer-row-links-column-wrapper").withChildren(...children).withStyles({
136
+ element: {
137
+ [`@container (min-width: ${MEDIUM}px) and (max-width: ${LARGE}px)`]: {
138
+ display: "grid",
139
+ gridTemplateColumns: "1fr 1fr",
140
+ gap: `0 ${token.spacing.md}`
141
+ },
142
+ [`@container (max-width: ${MEDIUM}px)`]: {
143
+ ["&:not(:last-child)"]: {
144
+ marginBottom: token.spacing.lg
145
+ }
146
+ },
147
+ [`@container (min-width: ${LARGE}px)`]: {
148
+ paddingRight: token.spacing.xs,
149
+ minWidth: "240px",
150
+ [`&:not(:first-child)`]: {
151
+ marginLeft: token.spacing.lg,
152
+ paddingLeft: token.spacing.lg,
153
+ borderLeft: `1px solid ${token.color.gray.dark}`
166
154
  }
167
155
  }
168
156
  }
169
- });
157
+ }).build();
170
158
  };
171
159
  const createSlotColumn = ({
172
160
  props,
@@ -174,13 +162,13 @@ const createSlotColumn = ({
174
162
  slotHasHeadline,
175
163
  isColumnOne
176
164
  }) => {
177
- const linkChildren = Array.from(
178
- slot.querySelectorAll("a")
179
- ).map((link) => {
180
- wrapLinkForAnimation({ element: link });
181
- const slotColumnChild = [createLinkColumnFontsLink(link)];
182
- return createLinkColumn(props, slotColumnChild);
183
- });
165
+ const linkChildren = Array.from(slot.querySelectorAll("a")).map(
166
+ (link) => {
167
+ wrapLinkForAnimation({ element: link });
168
+ const slotColumnChild = [createLinkColumnFontsLink(link)];
169
+ return createLinkColumn(props, slotColumnChild);
170
+ }
171
+ );
184
172
  const wrapperChildren = [];
185
173
  if (slotHasHeadline) {
186
174
  const headlineAttr = slot.getAttribute("data-headline") ?? "";
@@ -195,18 +183,14 @@ const createSlotColumn = ({
195
183
  return createRowLinksColumnWrapper({ children: wrapperChildren });
196
184
  };
197
185
  const createLinkColumnHeadline = (element) => {
198
- return create({
199
- element,
200
- className: "link-column-headline",
201
- elementStyles: {
202
- element: {
203
- ...typography.elements.interativeMedium,
204
- marginBottom: token.spacing.sm,
205
- fontWeight: 700,
206
- gridColumn: "1 / span 2"
207
- }
186
+ return new ElementBuilder(element).withClassName("link-column-headline").withStyles({
187
+ element: {
188
+ ...typography.elements.interativeMedium,
189
+ marginBottom: token.spacing.sm,
190
+ fontWeight: 700,
191
+ gridColumn: "1 / span 2"
208
192
  }
209
- });
193
+ }).build();
210
194
  };
211
195
  const createLinkColumns = (props) => {
212
196
  const { slotColumns } = props;
@@ -245,23 +229,19 @@ const createLinkColumns = (props) => {
245
229
  createDefaultColumn(props, COLUMN_THREE_DEFAULT_LINKS)
246
230
  ];
247
231
  }
248
- return createDiv({
249
- className: "umd-footer-row-links-columns",
250
- children,
251
- elementStyles: {
252
- element: {
253
- [`@container (min-width: ${LARGE}px)`]: {
254
- [`&`]: {
255
- display: "grid",
256
- gridTemplateColumns: "1fr 1fr 1fr"
257
- }
258
- },
259
- [`@container (max-width: ${LARGE - 1}px)`]: {
260
- paddingTop: token.spacing.md
232
+ return new ElementBuilder().withClassName("umd-footer-row-links-columns").withChildren(...children).withStyles({
233
+ element: {
234
+ [`@container (min-width: ${LARGE}px)`]: {
235
+ [`&`]: {
236
+ display: "grid",
237
+ gridTemplateColumns: "1fr 1fr 1fr"
261
238
  }
239
+ },
240
+ [`@container (max-width: ${LARGE - 1}px)`]: {
241
+ paddingTop: token.spacing.md
262
242
  }
263
243
  }
264
- });
244
+ }).build();
265
245
  };
266
246
  export {
267
247
  createLinkColumns as default
@@ -1 +1 @@
1
- {"version":3,"file":"link-columns.mjs","sources":["../../../../../../source/composite/footer/elements/main-section/row-links/link-columns.ts"],"sourcesContent":["import {\n animation,\n token,\n typography,\n} from '@universityofmaryland/web-styles-library';\nimport { wrapLinkForAnimation } from '@universityofmaryland/web-utilities-library/animation';\nimport { ElementModel } from 'model';\nimport { BREAKPOINTS } from '../../../globals';\nimport { BaseProps } from '../../../_types';\nimport { type ElementVisual } from '../../../../../_types';\n\nconst { MEDIUM, LARGE } = BREAKPOINTS;\n\ntype ColumnRow = {\n elmentType: string;\n title: string;\n url?: string;\n};\n\nconst COLUMN_ONE_DEFAULT_LINKS: ColumnRow[] = [\n { elmentType: 'link', title: 'Careers', url: 'https://ejobs.umd.edu' },\n {\n elmentType: 'link',\n title: 'Office of Civil Rights & Sexual Misconduct',\n url: 'https://ocrsm.umd.edu',\n },\n {\n elmentType: 'link',\n title: 'UMD Police Department',\n url: 'https://www.umpd.umd.edu',\n },\n {\n elmentType: 'link',\n title: 'Public Records Request',\n url: 'https://umd.edu/administration/public-information-request',\n },\n {\n elmentType: 'link',\n title: 'Report Fraud and Waste',\n url: 'https://finance.umd.edu/ethics-integrity-and-compliance-reporting',\n },\n {\n elmentType: 'link',\n title: 'Policies and Procedures',\n url: 'https://umd.edu/policies-and-procedures',\n },\n];\n\nconst COLUMN_TWO_DEFAULT_LINKS: ColumnRow[] = [\n { elmentType: 'headline', title: 'Information for' },\n {\n elmentType: 'link',\n title: 'Prospective Undergraduate Students',\n url: 'https://admissions.umd.edu/',\n },\n {\n elmentType: 'link',\n title: 'Prospective Graduate Students',\n url: 'https://gradschool.umd.edu/',\n },\n {\n elmentType: 'link',\n title: 'Parents & Families',\n url: 'https://admissions.umd.edu/persona/parent-families',\n },\n { elmentType: 'link', title: 'Alumni', url: 'https://alumni.umd.edu/' },\n];\n\nconst COLUMN_THREE_DEFAULT_LINKS: ColumnRow[] = [\n { elmentType: 'headline', title: 'Academics' },\n {\n elmentType: 'link',\n title: 'Academic Calendars',\n url: 'https://provost.umd.edu/node/3876',\n },\n {\n elmentType: 'link',\n title: 'Course Catalogs',\n url: 'https://academiccatalog.umd.edu',\n },\n { elmentType: 'link', title: 'Libraries', url: 'https://www.lib.umd.edu' },\n {\n elmentType: 'link',\n title: 'Terp Portals',\n url: 'https://testudo.umd.edu',\n },\n];\n\nconst createLinkColumn = (\n props: slotColumnsProps,\n children: ElementVisual[],\n) => {\n const { isThemeLight } = props;\n\n return ElementModel.createDiv({\n className: 'link-column-fonts',\n children: children,\n elementStyles: {\n element: {\n marginBottom: token.spacing.sm,\n\n ['& > *']: {\n marginBottom: token.spacing.sm,\n },\n\n ['& a']: {\n ...animation.line.slideUnderWhite,\n ...typography.sans.smaller,\n\n ...(isThemeLight && {\n ...animation.line.slideUnderBlack,\n }),\n },\n\n ['& a, & span, & p']: {\n color: token.color.gray.light,\n\n ...(isThemeLight && {\n color: token.color.gray.dark,\n }),\n },\n\n [`@container (max-width: ${MEDIUM - 1}px)`]: {\n ['&:last-child']: {\n marginBottom: 0,\n },\n },\n },\n },\n });\n};\n\nconst createLinkColumnFontsLink = (element: HTMLElement) => {\n return ElementModel.create({\n element: element,\n className: `link-column-fonts-link`,\n elementStyles: {\n element: {\n [`&p`]: {\n gridColumn: '1 / span 2',\n },\n },\n },\n });\n};\n\nconst createDefaultColumn = (\n props: slotColumnsProps,\n defaultContent: ColumnRow[],\n): ElementVisual => {\n const children: ElementVisual[] = defaultContent\n .map((row) => {\n if (row.elmentType === 'link' && row.url) {\n const link = document.createElement('a');\n const span = document.createElement('span');\n const columnLinkChildren = [createLinkColumnFontsLink(link)];\n\n span.textContent = row.title;\n link.appendChild(span);\n link.href = row.url;\n link.target = '_blank';\n link.rel = 'noopener noreferrer';\n\n return createLinkColumn(props, columnLinkChildren);\n }\n\n if (row.elmentType === 'headline') {\n const headline = document.createElement('p');\n\n headline.textContent = row.title;\n\n return createLinkColumnHeadline(headline);\n }\n\n return undefined as unknown as ElementVisual;\n })\n .filter(Boolean) as ElementVisual[];\n\n return createRowLinksColumnWrapper({ children: children });\n};\n\nconst createRowLinksColumnWrapper = ({\n children,\n}: {\n children: ElementVisual[];\n}) => {\n return ElementModel.createDiv({\n className: 'umd-footer-row-links-column-wrapper',\n children,\n elementStyles: {\n element: {\n [`@container (min-width: ${MEDIUM}px) and (max-width: ${LARGE}px)`]: {\n display: 'grid',\n gridTemplateColumns: '1fr 1fr',\n gap: `0 ${token.spacing.md}`,\n },\n\n [`@container (max-width: ${MEDIUM}px)`]: {\n ['&:not(:last-child)']: {\n marginBottom: token.spacing.lg,\n },\n },\n\n [`@container (min-width: ${LARGE}px)`]: {\n paddingRight: token.spacing.xs,\n minWidth: '240px',\n\n [`&:not(:first-child)`]: {\n marginLeft: token.spacing.lg,\n paddingLeft: token.spacing.lg,\n borderLeft: `1px solid ${token.color.gray.dark}`,\n },\n },\n },\n },\n });\n};\n\nconst createSlotColumn = ({\n props,\n slot,\n slotHasHeadline,\n isColumnOne,\n}: {\n props: slotColumnsProps;\n slot: HTMLElement;\n slotHasHeadline: boolean;\n isColumnOne: boolean;\n}): ElementVisual => {\n const linkChildren: ElementVisual[] = Array.from(\n slot.querySelectorAll('a'),\n ).map((link) => {\n wrapLinkForAnimation({ element: link });\n\n const slotColumnChild = [createLinkColumnFontsLink(link)];\n\n return createLinkColumn(props, slotColumnChild);\n });\n\n const wrapperChildren: ElementVisual[] = [];\n\n if (slotHasHeadline) {\n const headlineAttr = slot.getAttribute('data-headline') ?? '';\n const headline = document.createElement('p');\n\n headline.innerHTML = headlineAttr;\n\n if (!headlineAttr && !isColumnOne) {\n headline.setAttribute('data-empty', 'true');\n }\n\n wrapperChildren.push(createLinkColumnHeadline(headline));\n }\n\n wrapperChildren.push(...linkChildren);\n\n return createRowLinksColumnWrapper({ children: wrapperChildren });\n};\n\nconst createLinkColumnHeadline = (element: HTMLElement) => {\n return ElementModel.create({\n element: element,\n className: 'link-column-headline',\n elementStyles: {\n element: {\n ...typography.elements.interativeMedium,\n marginBottom: token.spacing.sm,\n fontWeight: 700,\n gridColumn: '1 / span 2',\n },\n },\n });\n};\n\nexport interface slotColumnsProps extends BaseProps {\n slotColumns?: HTMLSlotElement[];\n}\n\nexport default (props: slotColumnsProps): ElementVisual => {\n const { slotColumns } = props;\n\n let children: ElementVisual[];\n\n if (slotColumns) {\n const hasHeadlines = slotColumns.some((slot) =>\n slot.hasAttribute('data-headline'),\n );\n\n children = slotColumns.map((slot, index) => {\n const slotHasHeadline = slot.hasAttribute('data-headline');\n return createSlotColumn({\n props,\n slot,\n slotHasHeadline,\n isColumnOne: index === 0,\n });\n });\n\n if (hasHeadlines) {\n setTimeout(() => {\n const headlines = Array.from(\n document.querySelectorAll(`.${'link-column-headline'}`),\n ) as HTMLElement[];\n const renderedHeadlinesSize = headlines.reduce(\n (acc, h) => Math.max(acc, h.offsetHeight),\n 10,\n );\n headlines.forEach(\n (h) => (h.style.height = `${renderedHeadlinesSize}px`),\n );\n }, 200);\n }\n } else {\n children = [\n createDefaultColumn(props, COLUMN_ONE_DEFAULT_LINKS),\n createDefaultColumn(props, COLUMN_TWO_DEFAULT_LINKS),\n createDefaultColumn(props, COLUMN_THREE_DEFAULT_LINKS),\n ];\n }\n\n return ElementModel.createDiv({\n className: 'umd-footer-row-links-columns',\n children,\n elementStyles: {\n element: {\n [`@container (min-width: ${LARGE}px)`]: {\n [`&`]: {\n display: 'grid',\n gridTemplateColumns: '1fr 1fr 1fr',\n },\n },\n\n [`@container (max-width: ${LARGE - 1}px)`]: {\n paddingTop: token.spacing.md,\n },\n },\n },\n });\n};\n"],"names":["ElementModel.createDiv","ElementModel.create"],"mappings":"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"}
1
+ {"version":3,"file":"link-columns.mjs","sources":["../../../../../../source/composite/footer/elements/main-section/row-links/link-columns.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport {\n animation,\n token,\n typography,\n} from '@universityofmaryland/web-styles-library';\nimport { wrapLinkForAnimation } from '@universityofmaryland/web-utilities-library/animation';\nimport { BREAKPOINTS } from '../../../globals';\nimport { BaseProps } from '../../../_types';\nimport { type UMDElement } from '../../../../../_types';\n\nconst { MEDIUM, LARGE } = BREAKPOINTS;\n\ntype ColumnRow = {\n elmentType: string;\n title: string;\n url?: string;\n};\n\nconst COLUMN_ONE_DEFAULT_LINKS: ColumnRow[] = [\n { elmentType: 'link', title: 'Careers', url: 'https://ejobs.umd.edu' },\n {\n elmentType: 'link',\n title: 'Office of Civil Rights & Sexual Misconduct',\n url: 'https://ocrsm.umd.edu',\n },\n {\n elmentType: 'link',\n title: 'UMD Police Department',\n url: 'https://www.umpd.umd.edu',\n },\n {\n elmentType: 'link',\n title: 'Public Records Request',\n url: 'https://umd.edu/administration/public-information-request',\n },\n {\n elmentType: 'link',\n title: 'Report Fraud and Waste',\n url: 'https://finance.umd.edu/ethics-integrity-and-compliance-reporting',\n },\n {\n elmentType: 'link',\n title: 'Policies and Procedures',\n url: 'https://umd.edu/policies-and-procedures',\n },\n];\n\nconst COLUMN_TWO_DEFAULT_LINKS: ColumnRow[] = [\n { elmentType: 'headline', title: 'Information for' },\n {\n elmentType: 'link',\n title: 'Prospective Undergraduate Students',\n url: 'https://admissions.umd.edu/',\n },\n {\n elmentType: 'link',\n title: 'Prospective Graduate Students',\n url: 'https://gradschool.umd.edu/',\n },\n {\n elmentType: 'link',\n title: 'Parents & Families',\n url: 'https://admissions.umd.edu/persona/parent-families',\n },\n { elmentType: 'link', title: 'Alumni', url: 'https://alumni.umd.edu/' },\n];\n\nconst COLUMN_THREE_DEFAULT_LINKS: ColumnRow[] = [\n { elmentType: 'headline', title: 'Academics' },\n {\n elmentType: 'link',\n title: 'Academic Calendars',\n url: 'https://provost.umd.edu/node/3876',\n },\n {\n elmentType: 'link',\n title: 'Course Catalogs',\n url: 'https://academiccatalog.umd.edu',\n },\n { elmentType: 'link', title: 'Libraries', url: 'https://www.lib.umd.edu' },\n {\n elmentType: 'link',\n title: 'Terp Portals',\n url: 'https://testudo.umd.edu',\n },\n];\n\nconst createLinkColumn = (props: slotColumnsProps, children: UMDElement[]) => {\n const { isThemeLight } = props;\n\n return new ElementBuilder()\n .withClassName('link-column-fonts')\n .withChildren(...children)\n .withStyles({\n element: {\n marginBottom: token.spacing.sm,\n\n ['& > *']: {\n marginBottom: token.spacing.sm,\n },\n\n ['& a']: {\n ...animation.line.slideUnderWhite,\n ...typography.sans.smaller,\n\n ...(isThemeLight && {\n ...animation.line.slideUnderBlack,\n }),\n },\n\n ['& a, & span, & p']: {\n color: token.color.gray.light,\n\n ...(isThemeLight && {\n color: token.color.gray.dark,\n }),\n },\n\n [`@container (max-width: ${MEDIUM - 1}px)`]: {\n ['&:last-child']: {\n marginBottom: 0,\n },\n },\n },\n })\n .build();\n};\n\nconst createLinkColumnFontsLink = (element: HTMLElement) => {\n return new ElementBuilder(element)\n .withClassName(`link-column-fonts-link`)\n .withStyles({\n element: {\n [`&p`]: {\n gridColumn: '1 / span 2',\n },\n },\n })\n .build();\n};\n\nconst createDefaultColumn = (\n props: slotColumnsProps,\n defaultContent: ColumnRow[],\n): UMDElement => {\n const children: UMDElement[] = defaultContent\n .map((row) => {\n if (row.elmentType === 'link' && row.url) {\n const link = document.createElement('a');\n const span = document.createElement('span');\n const columnLinkChildren = [createLinkColumnFontsLink(link)];\n\n span.textContent = row.title;\n link.appendChild(span);\n link.href = row.url;\n link.target = '_blank';\n link.rel = 'noopener noreferrer';\n\n return createLinkColumn(props, columnLinkChildren);\n }\n\n if (row.elmentType === 'headline') {\n const headline = document.createElement('p');\n\n headline.textContent = row.title;\n\n return createLinkColumnHeadline(headline);\n }\n\n return undefined as unknown as UMDElement;\n })\n .filter(Boolean) as UMDElement[];\n\n return createRowLinksColumnWrapper({ children: children });\n};\n\nconst createRowLinksColumnWrapper = ({\n children,\n}: {\n children: UMDElement[];\n}) => {\n return new ElementBuilder()\n .withClassName('umd-footer-row-links-column-wrapper')\n .withChildren(...children)\n .withStyles({\n element: {\n [`@container (min-width: ${MEDIUM}px) and (max-width: ${LARGE}px)`]: {\n display: 'grid',\n gridTemplateColumns: '1fr 1fr',\n gap: `0 ${token.spacing.md}`,\n },\n\n [`@container (max-width: ${MEDIUM}px)`]: {\n ['&:not(:last-child)']: {\n marginBottom: token.spacing.lg,\n },\n },\n\n [`@container (min-width: ${LARGE}px)`]: {\n paddingRight: token.spacing.xs,\n minWidth: '240px',\n\n [`&:not(:first-child)`]: {\n marginLeft: token.spacing.lg,\n paddingLeft: token.spacing.lg,\n borderLeft: `1px solid ${token.color.gray.dark}`,\n },\n },\n },\n })\n .build();\n};\n\nconst createSlotColumn = ({\n props,\n slot,\n slotHasHeadline,\n isColumnOne,\n}: {\n props: slotColumnsProps;\n slot: HTMLElement;\n slotHasHeadline: boolean;\n isColumnOne: boolean;\n}): UMDElement => {\n const linkChildren: UMDElement[] = Array.from(slot.querySelectorAll('a')).map(\n (link) => {\n wrapLinkForAnimation({ element: link });\n\n const slotColumnChild = [createLinkColumnFontsLink(link)];\n\n return createLinkColumn(props, slotColumnChild);\n },\n );\n\n const wrapperChildren: UMDElement[] = [];\n\n if (slotHasHeadline) {\n const headlineAttr = slot.getAttribute('data-headline') ?? '';\n const headline = document.createElement('p');\n\n headline.innerHTML = headlineAttr;\n\n if (!headlineAttr && !isColumnOne) {\n headline.setAttribute('data-empty', 'true');\n }\n\n wrapperChildren.push(createLinkColumnHeadline(headline));\n }\n\n wrapperChildren.push(...linkChildren);\n\n return createRowLinksColumnWrapper({ children: wrapperChildren });\n};\n\nconst createLinkColumnHeadline = (element: HTMLElement) => {\n return new ElementBuilder(element)\n .withClassName('link-column-headline')\n .withStyles({\n element: {\n ...typography.elements.interativeMedium,\n marginBottom: token.spacing.sm,\n fontWeight: 700,\n gridColumn: '1 / span 2',\n },\n })\n .build();\n};\n\nexport interface slotColumnsProps extends BaseProps {\n slotColumns?: HTMLSlotElement[];\n}\n\nexport default (props: slotColumnsProps): UMDElement => {\n const { slotColumns } = props;\n\n let children: UMDElement[];\n\n if (slotColumns) {\n const hasHeadlines = slotColumns.some((slot) =>\n slot.hasAttribute('data-headline'),\n );\n\n children = slotColumns.map((slot, index) => {\n const slotHasHeadline = slot.hasAttribute('data-headline');\n return createSlotColumn({\n props,\n slot,\n slotHasHeadline,\n isColumnOne: index === 0,\n });\n });\n\n if (hasHeadlines) {\n setTimeout(() => {\n const headlines = Array.from(\n document.querySelectorAll(`.${'link-column-headline'}`),\n ) as HTMLElement[];\n const renderedHeadlinesSize = headlines.reduce(\n (acc, h) => Math.max(acc, h.offsetHeight),\n 10,\n );\n headlines.forEach(\n (h) => (h.style.height = `${renderedHeadlinesSize}px`),\n );\n }, 200);\n }\n } else {\n children = [\n createDefaultColumn(props, COLUMN_ONE_DEFAULT_LINKS),\n createDefaultColumn(props, COLUMN_TWO_DEFAULT_LINKS),\n createDefaultColumn(props, COLUMN_THREE_DEFAULT_LINKS),\n ];\n }\n\n return new ElementBuilder()\n .withClassName('umd-footer-row-links-columns')\n .withChildren(...children)\n .withStyles({\n element: {\n [`@container (min-width: ${LARGE}px)`]: {\n [`&`]: {\n display: 'grid',\n gridTemplateColumns: '1fr 1fr 1fr',\n },\n },\n\n [`@container (max-width: ${LARGE - 1}px)`]: {\n paddingTop: token.spacing.md,\n },\n },\n })\n .build();\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SocialCampaignColumnsProps } from '../social';
2
2
  import { BaseProps } from '../../../_types';
3
- import { ElementVisual } from '../../../../../_types';
3
+ import { UMDElement } from '../../../../../_types';
4
4
  interface HeadlineProps {
5
5
  slotHeadline: HTMLSlotElement;
6
6
  }
@@ -12,6 +12,6 @@ interface LinksProps {
12
12
  }
13
13
  export interface ContactProps extends BaseProps, SocialCampaignColumnsProps, AddressProps, HeadlineProps, LinksProps {
14
14
  }
15
- declare const _default: (props: ContactProps) => ElementVisual;
15
+ declare const _default: (props: ContactProps) => UMDElement;
16
16
  export default _default;
17
17
  //# sourceMappingURL=contact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../../../source/composite/footer/elements/main-section/row-logo/contact.ts"],"names":[],"mappings":"AAMA,OAAoC,EAClC,KAAK,0BAA0B,EAChC,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,UAAU,aAAa;IACrB,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,UAAU,YAAY;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,gBAAgB,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,YACf,SAAQ,SAAS,EACf,0BAA0B,EAC1B,YAAY,EACZ,aAAa,EACb,UAAU;CAAG;yBAsMD,OAAO,YAAY,KAAG,aAAa;AAAnD,wBAqDE"}
1
+ {"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../../../source/composite/footer/elements/main-section/row-logo/contact.ts"],"names":[],"mappings":"AAOA,OAAoC,EAClC,KAAK,0BAA0B,EAChC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,UAAU,aAAa;IACrB,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,UAAU,YAAY;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,gBAAgB,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,YACf,SAAQ,SAAS,EACf,0BAA0B,EAC1B,YAAY,EACZ,aAAa,EACb,UAAU;CAAG;yBA8MD,OAAO,YAAY,KAAG,UAAU;AAAhD,wBAqDE"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
+ const webBuilderLibrary = require("@universityofmaryland/web-builder-library");
2
3
  const Styles = require("@universityofmaryland/web-styles-library");
3
4
  const animation = require("@universityofmaryland/web-utilities-library/animation");
4
5
  const social = require("../social.js");
5
- const index = require("../../../../../model/elements/index.js");
6
6
  const globals = require("../../../globals.js");
7
7
  const { MEDIUM, LARGE } = globals.BREAKPOINTS;
8
8
  const DEFAULT_HEADLINE_LINK = {
@@ -28,57 +28,54 @@ const createContactListHeadline = ({
28
28
  children
29
29
  }) => {
30
30
  const { isThemeLight } = props;
31
- return index.create({
32
- element: element ?? document.createElement("p"),
33
- className: "umd-footer-contact-list-headline",
34
- children: children ?? [],
35
- elementStyles: {
36
- element: {
37
- marginBottom: Styles.token.spacing.min,
38
- color: Styles.token.color.white,
39
- fontWeight: 700,
40
- ...Styles.typography.elements.interativeMedium,
41
- ["& span"]: {
42
- ...isThemeLight && {
43
- color: Styles.token.color.black
44
- }
45
- },
46
- [`& a`]: {
47
- ...Styles.animation.line.slideUnderWhite,
48
- ...isThemeLight && {
49
- ...Styles.animation.line.slideUnderBlack
50
- }
51
- },
52
- [`& p`]: {
53
- lineHeight: "1.4em"
54
- },
55
- [`@container (max-width: ${MEDIUM - 1}px)`]: {
56
- paddingTop: Styles.token.spacing.md
31
+ const builder = new webBuilderLibrary.ElementBuilder(
32
+ element ?? document.createElement("p")
33
+ ).withClassName("umd-footer-contact-list-headline");
34
+ if (children) {
35
+ builder.withChildren(...children);
36
+ }
37
+ return builder.withStyles({
38
+ element: {
39
+ marginBottom: Styles.token.spacing.min,
40
+ color: Styles.token.color.white,
41
+ fontWeight: 700,
42
+ ...Styles.typography.elements.interativeMedium,
43
+ ["& span"]: {
44
+ ...isThemeLight && {
45
+ color: Styles.token.color.black
46
+ }
47
+ },
48
+ [`& a`]: {
49
+ ...Styles.animation.line.slideUnderWhite,
50
+ ...isThemeLight && {
51
+ ...Styles.animation.line.slideUnderBlack
57
52
  }
53
+ },
54
+ [`& p`]: {
55
+ lineHeight: "1.4em"
56
+ },
57
+ [`@container (max-width: ${MEDIUM - 1}px)`]: {
58
+ paddingTop: Styles.token.spacing.md
58
59
  }
59
60
  }
60
- });
61
+ }).build();
61
62
  };
62
63
  const createDefaultHeadline = (props) => {
63
64
  const headlineLink = linkWithSpan(props, DEFAULT_HEADLINE_LINK);
64
65
  return createContactListHeadline({ props, children: [headlineLink] });
65
66
  };
66
67
  const createAddress = (address) => {
67
- return index.create({
68
- element: address,
69
- className: "umd-footer-contact-list-address",
70
- elementStyles: {
71
- element: {
72
- [`& *`]: {
73
- display: "block",
74
- ...Styles.typography.sans.small
75
- },
76
- ["& + *"]: {
77
- marginTop: "2px"
78
- }
68
+ return new webBuilderLibrary.ElementBuilder(address).withClassName("umd-footer-contact-list-address").withStyles({
69
+ element: {
70
+ [`& *`]: {
71
+ display: "block",
72
+ ...Styles.typography.sans.small
73
+ },
74
+ ["& + *"]: {
75
+ marginTop: "2px"
79
76
  }
80
77
  }
81
- });
78
+ }).build();
82
79
  };
83
80
  const createDefaultAddress = () => {
84
81
  const address = document.createElement("address");
@@ -104,54 +101,51 @@ const linkWithSpan = (props, {
104
101
  if (label) link.setAttribute("aria-label", label);
105
102
  span.innerText = title;
106
103
  link.appendChild(span);
107
- return index.create({
108
- className: "umd-element-footer-contact-link",
109
- element: link,
110
- elementStyles: {
111
- element: {
112
- display: "block",
113
- ...Styles.animation.line.slideUnderWhite,
114
- ...isThemeLight && {
115
- ...Styles.animation.line.slideUnderBlack
116
- },
117
- [`&:not(:first-child)`]: {
118
- position: "relative",
119
- marginLeft: Styles.token.spacing.min,
120
- paddingLeft: Styles.token.spacing.min,
121
- backgroundPosition: "10px 100%"
122
- },
123
- [`&:not(:first-child)::before`]: {
124
- content: '""',
125
- display: "inline-block",
126
- height: "3px",
127
- width: "3px",
128
- backgroundColor: Styles.token.color.white,
129
- borderRadius: "50%",
130
- position: "absolute",
131
- top: "50%",
132
- left: 0
133
- }
104
+ return new webBuilderLibrary.ElementBuilder(link).withClassName("umd-element-footer-contact-link").withStyles({
105
+ element: {
106
+ display: "block",
107
+ ...Styles.animation.line.slideUnderWhite,
108
+ ...isThemeLight && {
109
+ ...Styles.animation.line.slideUnderBlack
110
+ },
111
+ [`&:not(:first-child)`]: {
112
+ position: "relative",
113
+ marginLeft: Styles.token.spacing.min,
114
+ paddingLeft: Styles.token.spacing.min,
115
+ backgroundPosition: "10px 100%"
116
+ },
117
+ [`&:not(:first-child)::before`]: {
118
+ content: '""',
119
+ display: "inline-block",
120
+ height: "3px",
121
+ width: "3px",
122
+ backgroundColor: Styles.token.color.white,
123
+ borderRadius: "50%",
124
+ position: "absolute",
125
+ top: "50%",
126
+ left: 0
134
127
  }
135
128
  }
136
- });
129
+ }).build();
137
130
  };
138
131
  const createContactLinksList = ({
139
132
  element,
140
133
  children
141
134
  }) => {
142
- return index.create({
143
- element: element ?? document.createElement("p"),
144
- className: "umd-footer-contact-links-list",
145
- children: children ?? [],
146
- elementStyles: {
147
- element: {
148
- display: "flex",
149
- [`& *`]: {
150
- ...Styles.typography.sans.small
151
- }
135
+ const builder = new webBuilderLibrary.ElementBuilder(
136
+ element ?? document.createElement("p")
137
+ ).withClassName("umd-footer-contact-links-list");
138
+ if (children) {
139
+ builder.withChildren(...children);
140
+ }
141
+ return builder.withStyles({
142
+ element: {
143
+ display: "flex",
144
+ [`& *`]: {
145
+ ...Styles.typography.sans.small
152
146
  }
153
147
  }
154
- });
148
+ }).build();
155
149
  };
156
150
  const createDefaultLinks = (props) => {
157
151
  const email = linkWithSpan(props, DEFAULT_EMAIL);
@@ -184,26 +178,22 @@ const createContactContainer = (props) => {
184
178
  contactChildren.push(createDefaultLinks(props));
185
179
  }
186
180
  contactChildren.push(socialContainer);
187
- return index.createDiv({
188
- className: "umd-footer-contact-container",
189
- children: contactChildren,
190
- elementStyles: {
191
- element: {
192
- ["& p"]: {
193
- lineHeight: "1.4em"
194
- },
195
- ["& > .umd-footer-social-column_wrapper"]: {
196
- display: "block"
197
- },
198
- [`@container (max-width: ${MEDIUM - 1})`]: {
199
- paddingTop: Styles.token.spacing.md
200
- },
201
- [`@container (min-width: ${LARGE}px)`]: {
202
- paddingLeft: Styles.token.spacing["xl"]
203
- }
181
+ return new webBuilderLibrary.ElementBuilder().withClassName("umd-footer-contact-container").withChildren(...contactChildren).withStyles({
182
+ element: {
183
+ ["& p"]: {
184
+ lineHeight: "1.4em"
185
+ },
186
+ ["& > .umd-footer-social-column_wrapper"]: {
187
+ display: "block"
188
+ },
189
+ [`@container (max-width: ${MEDIUM - 1})`]: {
190
+ paddingTop: Styles.token.spacing.md
191
+ },
192
+ [`@container (min-width: ${LARGE}px)`]: {
193
+ paddingLeft: Styles.token.spacing["xl"]
204
194
  }
205
195
  }
206
- });
196
+ }).build();
207
197
  };
208
198
  module.exports = createContactContainer;
209
199
  //# sourceMappingURL=contact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contact.js","sources":["../../../../../../source/composite/footer/elements/main-section/row-logo/contact.ts"],"sourcesContent":["import {\n animation,\n token,\n typography,\n} from '@universityofmaryland/web-styles-library';\nimport { wrapLinkForAnimation } from '@universityofmaryland/web-utilities-library/animation';\nimport createSocialCampaignColumns, {\n type SocialCampaignColumnsProps,\n} from '../social';\nimport { ElementModel } from 'model';\nimport { BREAKPOINTS } from '../../../globals';\nimport { BaseProps } from '../../../_types';\nimport { type ElementVisual } from '../../../../../_types';\n\ninterface HeadlineProps {\n slotHeadline: HTMLSlotElement;\n}\n\ninterface AddressProps {\n slotAddress: HTMLSlotElement;\n}\n\ninterface LinksProps {\n slotContentLinks: HTMLSlotElement;\n}\n\nexport interface ContactProps\n extends BaseProps,\n SocialCampaignColumnsProps,\n AddressProps,\n HeadlineProps,\n LinksProps {}\n\nconst { MEDIUM, LARGE } = BREAKPOINTS;\n\nconst DEFAULT_HEADLINE_LINK = {\n url: 'https://www.usmd.edu/',\n title: 'The Flagship Institution of the State of Maryland',\n};\nconst DEFAULT_ADDRESS_TITLE = 'Office of Marketing and Communications';\nconst DEFAULT_ADDRESS_ONE = '2101 Turner Hall';\nconst DEFAULT_ADDRESS_TWO = 'College Park, MD 20742';\nconst DEFAULT_EMAIL = {\n url: 'mailto:omc@umd.edu',\n title: 'omc@umd.edu',\n label: 'Email: Office of the marketing and communications at omc@umd.edu',\n};\nconst DEFAULT_PHONE = {\n url: 'tel:3014051000',\n title: '301.405.1000',\n label: 'Call: 301-405-1000',\n};\n\nconst createContactListHeadline = ({\n props,\n element,\n children,\n}: {\n props: ContactProps;\n element?: HTMLElement;\n children?: ElementVisual[];\n}) => {\n const { isThemeLight } = props;\n\n return ElementModel.create({\n element: element ?? document.createElement('p'),\n className: 'umd-footer-contact-list-headline',\n children: children ?? [],\n elementStyles: {\n element: {\n marginBottom: token.spacing.min,\n color: token.color.white,\n fontWeight: 700,\n ...typography.elements.interativeMedium,\n\n ['& span']: {\n ...(isThemeLight && {\n color: token.color.black,\n }),\n },\n\n [`& a`]: {\n ...animation.line.slideUnderWhite,\n\n ...(isThemeLight && {\n ...animation.line.slideUnderBlack,\n }),\n },\n\n [`& p`]: {\n lineHeight: '1.4em',\n },\n\n [`@container (max-width: ${MEDIUM - 1}px)`]: {\n paddingTop: token.spacing.md,\n },\n },\n },\n });\n};\n\nconst createDefaultHeadline = (props: ContactProps): ElementVisual => {\n const headlineLink = linkWithSpan(props, DEFAULT_HEADLINE_LINK);\n\n return createContactListHeadline({ props: props, children: [headlineLink] });\n};\n\nconst createAddress = (address: HTMLElement) => {\n return ElementModel.create({\n element: address,\n className: 'umd-footer-contact-list-address',\n elementStyles: {\n element: {\n [`& *`]: {\n display: 'block',\n ...typography.sans.small,\n },\n\n ['& + *']: {\n marginTop: '2px',\n },\n },\n },\n });\n};\n\nconst createDefaultAddress = (): ElementVisual => {\n const address = document.createElement('address');\n const addressParagraphOne = document.createElement('p');\n const addressParagraphTwo = document.createElement('p');\n\n addressParagraphOne.innerHTML = DEFAULT_ADDRESS_TITLE;\n addressParagraphTwo.innerHTML = `${DEFAULT_ADDRESS_ONE} ${DEFAULT_ADDRESS_TWO}`;\n\n address.appendChild(addressParagraphOne);\n address.appendChild(addressParagraphTwo);\n\n return createAddress(address);\n};\n\nconst linkWithSpan = (\n props: ContactProps,\n {\n url,\n title,\n label,\n }: {\n url: string;\n title: string;\n label?: string;\n },\n) => {\n const link = document.createElement('a');\n const span = document.createElement('span');\n const { isThemeLight } = props;\n\n link.setAttribute('href', url);\n link.setAttribute('target', '_blank');\n link.setAttribute('rel', 'noopener noreferrer');\n\n if (label) link.setAttribute('aria-label', label);\n\n span.innerText = title;\n link.appendChild(span);\n\n return ElementModel.create({\n className: 'umd-element-footer-contact-link',\n element: link,\n elementStyles: {\n element: {\n display: 'block',\n ...animation.line.slideUnderWhite,\n\n ...(isThemeLight && {\n ...animation.line.slideUnderBlack,\n }),\n\n [`&:not(:first-child)`]: {\n position: 'relative',\n marginLeft: token.spacing.min,\n paddingLeft: token.spacing.min,\n backgroundPosition: '10px 100%',\n },\n\n [`&:not(:first-child)::before`]: {\n content: '\"\"',\n display: 'inline-block',\n height: '3px',\n width: '3px',\n backgroundColor: token.color.white,\n borderRadius: '50%',\n position: 'absolute',\n top: '50%',\n left: 0,\n },\n },\n },\n });\n};\n\nconst createContactLinksList = ({\n element,\n children,\n}: {\n element?: HTMLElement;\n children?: ElementVisual[];\n}) => {\n return ElementModel.create({\n element: element ?? document.createElement('p'),\n className: 'umd-footer-contact-links-list',\n children: children ?? [],\n elementStyles: {\n element: {\n display: 'flex',\n [`& *`]: {\n ...typography.sans.small,\n },\n },\n },\n });\n};\n\nconst createDefaultLinks = (props: ContactProps): ElementVisual => {\n const email = linkWithSpan(props, DEFAULT_EMAIL);\n const phone = linkWithSpan(props, DEFAULT_PHONE);\n\n return createContactLinksList({ children: [email, phone] });\n};\n\nexport default (props: ContactProps): ElementVisual => {\n const { slotAddress, slotHeadline, slotContentLinks } = props;\n const socialContainer = createSocialCampaignColumns(props);\n const hasSlot = slotAddress || slotHeadline || slotContentLinks;\n\n const contactChildren: ElementVisual[] = [];\n\n if (hasSlot) {\n if (slotHeadline) {\n wrapLinkForAnimation({ element: slotHeadline });\n contactChildren.push(\n createContactListHeadline({ props: props, element: slotHeadline }),\n );\n }\n if (slotAddress) {\n contactChildren.push(createAddress(slotAddress));\n }\n if (slotContentLinks) {\n contactChildren.push(\n createContactLinksList({ element: slotContentLinks }),\n );\n }\n } else {\n contactChildren.push(createDefaultHeadline(props));\n contactChildren.push(createDefaultAddress());\n contactChildren.push(createDefaultLinks(props));\n }\n\n contactChildren.push(socialContainer);\n\n return ElementModel.createDiv({\n className: 'umd-footer-contact-container',\n children: contactChildren,\n elementStyles: {\n element: {\n ['& p']: {\n lineHeight: '1.4em',\n },\n\n ['& > .umd-footer-social-column_wrapper']: {\n display: 'block',\n },\n\n [`@container (max-width: ${MEDIUM - 1})`]: {\n paddingTop: token.spacing.md,\n },\n\n [`@container (min-width: ${LARGE}px)`]: {\n paddingLeft: token.spacing['xl'],\n },\n },\n },\n });\n};\n"],"names":["BREAKPOINTS","ElementModel.create","token","typography","animation","createSocialCampaignColumns","wrapLinkForAnimation","ElementModel.createDiv"],"mappings":"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"}
1
+ {"version":3,"file":"contact.js","sources":["../../../../../../source/composite/footer/elements/main-section/row-logo/contact.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport {\n animation,\n token,\n typography,\n} from '@universityofmaryland/web-styles-library';\nimport { wrapLinkForAnimation } from '@universityofmaryland/web-utilities-library/animation';\nimport createSocialCampaignColumns, {\n type SocialCampaignColumnsProps,\n} from '../social';\nimport { BREAKPOINTS } from '../../../globals';\nimport { BaseProps } from '../../../_types';\nimport { type UMDElement } from '../../../../../_types';\n\ninterface HeadlineProps {\n slotHeadline: HTMLSlotElement;\n}\n\ninterface AddressProps {\n slotAddress: HTMLSlotElement;\n}\n\ninterface LinksProps {\n slotContentLinks: HTMLSlotElement;\n}\n\nexport interface ContactProps\n extends BaseProps,\n SocialCampaignColumnsProps,\n AddressProps,\n HeadlineProps,\n LinksProps {}\n\nconst { MEDIUM, LARGE } = BREAKPOINTS;\n\nconst DEFAULT_HEADLINE_LINK = {\n url: 'https://www.usmd.edu/',\n title: 'The Flagship Institution of the State of Maryland',\n};\nconst DEFAULT_ADDRESS_TITLE = 'Office of Marketing and Communications';\nconst DEFAULT_ADDRESS_ONE = '2101 Turner Hall';\nconst DEFAULT_ADDRESS_TWO = 'College Park, MD 20742';\nconst DEFAULT_EMAIL = {\n url: 'mailto:omc@umd.edu',\n title: 'omc@umd.edu',\n label: 'Email: Office of the marketing and communications at omc@umd.edu',\n};\nconst DEFAULT_PHONE = {\n url: 'tel:3014051000',\n title: '301.405.1000',\n label: 'Call: 301-405-1000',\n};\n\nconst createContactListHeadline = ({\n props,\n element,\n children,\n}: {\n props: ContactProps;\n element?: HTMLElement;\n children?: UMDElement[];\n}) => {\n const { isThemeLight } = props;\n\n const builder = new ElementBuilder(\n element ?? document.createElement('p'),\n ).withClassName('umd-footer-contact-list-headline');\n\n if (children) {\n builder.withChildren(...children);\n }\n\n return builder\n .withStyles({\n element: {\n marginBottom: token.spacing.min,\n color: token.color.white,\n fontWeight: 700,\n ...typography.elements.interativeMedium,\n\n ['& span']: {\n ...(isThemeLight && {\n color: token.color.black,\n }),\n },\n\n [`& a`]: {\n ...animation.line.slideUnderWhite,\n\n ...(isThemeLight && {\n ...animation.line.slideUnderBlack,\n }),\n },\n\n [`& p`]: {\n lineHeight: '1.4em',\n },\n\n [`@container (max-width: ${MEDIUM - 1}px)`]: {\n paddingTop: token.spacing.md,\n },\n },\n })\n .build();\n};\n\nconst createDefaultHeadline = (props: ContactProps): UMDElement => {\n const headlineLink = linkWithSpan(props, DEFAULT_HEADLINE_LINK);\n\n return createContactListHeadline({ props: props, children: [headlineLink] });\n};\n\nconst createAddress = (address: HTMLElement) => {\n return new ElementBuilder(address)\n .withClassName('umd-footer-contact-list-address')\n .withStyles({\n element: {\n [`& *`]: {\n display: 'block',\n ...typography.sans.small,\n },\n\n ['& + *']: {\n marginTop: '2px',\n },\n },\n })\n .build();\n};\n\nconst createDefaultAddress = (): UMDElement => {\n const address = document.createElement('address');\n const addressParagraphOne = document.createElement('p');\n const addressParagraphTwo = document.createElement('p');\n\n addressParagraphOne.innerHTML = DEFAULT_ADDRESS_TITLE;\n addressParagraphTwo.innerHTML = `${DEFAULT_ADDRESS_ONE} ${DEFAULT_ADDRESS_TWO}`;\n\n address.appendChild(addressParagraphOne);\n address.appendChild(addressParagraphTwo);\n\n return createAddress(address);\n};\n\nconst linkWithSpan = (\n props: ContactProps,\n {\n url,\n title,\n label,\n }: {\n url: string;\n title: string;\n label?: string;\n },\n) => {\n const link = document.createElement('a');\n const span = document.createElement('span');\n const { isThemeLight } = props;\n\n link.setAttribute('href', url);\n link.setAttribute('target', '_blank');\n link.setAttribute('rel', 'noopener noreferrer');\n\n if (label) link.setAttribute('aria-label', label);\n\n span.innerText = title;\n link.appendChild(span);\n\n return new ElementBuilder(link)\n .withClassName('umd-element-footer-contact-link')\n .withStyles({\n element: {\n display: 'block',\n ...animation.line.slideUnderWhite,\n\n ...(isThemeLight && {\n ...animation.line.slideUnderBlack,\n }),\n\n [`&:not(:first-child)`]: {\n position: 'relative',\n marginLeft: token.spacing.min,\n paddingLeft: token.spacing.min,\n backgroundPosition: '10px 100%',\n },\n\n [`&:not(:first-child)::before`]: {\n content: '\"\"',\n display: 'inline-block',\n height: '3px',\n width: '3px',\n backgroundColor: token.color.white,\n borderRadius: '50%',\n position: 'absolute',\n top: '50%',\n left: 0,\n },\n },\n })\n .build();\n};\n\nconst createContactLinksList = ({\n element,\n children,\n}: {\n element?: HTMLElement;\n children?: UMDElement[];\n}) => {\n const builder = new ElementBuilder(\n element ?? document.createElement('p'),\n ).withClassName('umd-footer-contact-links-list');\n\n if (children) {\n builder.withChildren(...children);\n }\n\n return builder\n .withStyles({\n element: {\n display: 'flex',\n [`& *`]: {\n ...typography.sans.small,\n },\n },\n })\n .build();\n};\n\nconst createDefaultLinks = (props: ContactProps): UMDElement => {\n const email = linkWithSpan(props, DEFAULT_EMAIL);\n const phone = linkWithSpan(props, DEFAULT_PHONE);\n\n return createContactLinksList({ children: [email, phone] });\n};\n\nexport default (props: ContactProps): UMDElement => {\n const { slotAddress, slotHeadline, slotContentLinks } = props;\n const socialContainer = createSocialCampaignColumns(props);\n const hasSlot = slotAddress || slotHeadline || slotContentLinks;\n\n const contactChildren: UMDElement[] = [];\n\n if (hasSlot) {\n if (slotHeadline) {\n wrapLinkForAnimation({ element: slotHeadline });\n contactChildren.push(\n createContactListHeadline({ props: props, element: slotHeadline }),\n );\n }\n if (slotAddress) {\n contactChildren.push(createAddress(slotAddress));\n }\n if (slotContentLinks) {\n contactChildren.push(\n createContactLinksList({ element: slotContentLinks }),\n );\n }\n } else {\n contactChildren.push(createDefaultHeadline(props));\n contactChildren.push(createDefaultAddress());\n contactChildren.push(createDefaultLinks(props));\n }\n\n contactChildren.push(socialContainer);\n\n return new ElementBuilder()\n .withClassName('umd-footer-contact-container')\n .withChildren(...contactChildren)\n .withStyles({\n element: {\n ['& p']: {\n lineHeight: '1.4em',\n },\n\n ['& > .umd-footer-social-column_wrapper']: {\n display: 'block',\n },\n\n [`@container (max-width: ${MEDIUM - 1})`]: {\n paddingTop: token.spacing.md,\n },\n\n [`@container (min-width: ${LARGE}px)`]: {\n paddingLeft: token.spacing['xl'],\n },\n },\n })\n .build();\n};\n"],"names":["BREAKPOINTS","ElementBuilder","token","typography","animation","createSocialCampaignColumns","wrapLinkForAnimation"],"mappings":"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"}