@universityofmaryland/web-elements-library 1.5.2 → 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (710) hide show
  1. package/README.md +1 -1
  2. package/dist/_types.d.ts +2 -9
  3. package/dist/_types.d.ts.map +1 -1
  4. package/dist/atomic/_types.d.ts +2 -2
  5. package/dist/atomic/_types.d.ts.map +1 -1
  6. package/dist/atomic/actions/icon.d.ts +1 -5
  7. package/dist/atomic/actions/icon.d.ts.map +1 -1
  8. package/dist/atomic/actions/icon.js +43 -48
  9. package/dist/atomic/actions/icon.js.map +1 -1
  10. package/dist/atomic/actions/icon.mjs +43 -48
  11. package/dist/atomic/actions/icon.mjs.map +1 -1
  12. package/dist/atomic/actions/text.d.ts +4 -16
  13. package/dist/atomic/actions/text.d.ts.map +1 -1
  14. package/dist/atomic/actions/text.js +82 -104
  15. package/dist/atomic/actions/text.js.map +1 -1
  16. package/dist/atomic/actions/text.mjs +81 -106
  17. package/dist/atomic/actions/text.mjs.map +1 -1
  18. package/dist/atomic/animations/actions/indicator.js +1 -1
  19. package/dist/atomic/animations/actions/indicator.js.map +1 -1
  20. package/dist/atomic/animations/actions/indicator.mjs +1 -1
  21. package/dist/atomic/animations/actions/indicator.mjs.map +1 -1
  22. package/dist/atomic/animations/brand/card-stack.d.ts +2 -1
  23. package/dist/atomic/animations/brand/card-stack.d.ts.map +1 -1
  24. package/dist/atomic/animations/brand/card-stack.js +148 -172
  25. package/dist/atomic/animations/brand/card-stack.js.map +1 -1
  26. package/dist/atomic/animations/brand/card-stack.mjs +140 -164
  27. package/dist/atomic/animations/brand/card-stack.mjs.map +1 -1
  28. package/dist/atomic/animations/brand/chevron-scroll.js +1 -1
  29. package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
  30. package/dist/atomic/animations/brand/chevron-scroll.mjs +1 -1
  31. package/dist/atomic/animations/brand/chevron-scroll.mjs.map +1 -1
  32. package/dist/atomic/assets/image/background.d.ts +1 -5
  33. package/dist/atomic/assets/image/background.d.ts.map +1 -1
  34. package/dist/atomic/assets/image/background.js +40 -40
  35. package/dist/atomic/assets/image/background.js.map +1 -1
  36. package/dist/atomic/assets/image/background.mjs +23 -40
  37. package/dist/atomic/assets/image/background.mjs.map +1 -1
  38. package/dist/atomic/assets/image/gif.d.ts +1 -5
  39. package/dist/atomic/assets/image/gif.d.ts.map +1 -1
  40. package/dist/atomic/assets/image/gif.js +28 -12
  41. package/dist/atomic/assets/image/gif.js.map +1 -1
  42. package/dist/atomic/assets/image/gif.mjs +11 -12
  43. package/dist/atomic/assets/image/gif.mjs.map +1 -1
  44. package/dist/atomic/assets/image/placeholder.d.ts +1 -5
  45. package/dist/atomic/assets/image/placeholder.d.ts.map +1 -1
  46. package/dist/atomic/assets/video/observed-auto-play.d.ts +1 -9
  47. package/dist/atomic/assets/video/observed-auto-play.d.ts.map +1 -1
  48. package/dist/atomic/assets/video/observed-auto-play.js +9 -5
  49. package/dist/atomic/assets/video/observed-auto-play.js.map +1 -1
  50. package/dist/atomic/assets/video/observed-auto-play.mjs +9 -5
  51. package/dist/atomic/assets/video/observed-auto-play.mjs.map +1 -1
  52. package/dist/atomic/assets/video/toggle.d.ts +1 -9
  53. package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
  54. package/dist/atomic/assets/video/toggle.js +38 -40
  55. package/dist/atomic/assets/video/toggle.js.map +1 -1
  56. package/dist/atomic/assets/video/toggle.mjs +21 -40
  57. package/dist/atomic/assets/video/toggle.mjs.map +1 -1
  58. package/dist/atomic/buttons/fullscreen.d.ts +1 -5
  59. package/dist/atomic/buttons/fullscreen.d.ts.map +1 -1
  60. package/dist/atomic/buttons/fullscreen.js +21 -15
  61. package/dist/atomic/buttons/fullscreen.js.map +1 -1
  62. package/dist/atomic/buttons/fullscreen.mjs +4 -15
  63. package/dist/atomic/buttons/fullscreen.mjs.map +1 -1
  64. package/dist/atomic/events/meta.d.ts +1 -5
  65. package/dist/atomic/events/meta.d.ts.map +1 -1
  66. package/dist/atomic/events/meta.js +48 -48
  67. package/dist/atomic/events/meta.js.map +1 -1
  68. package/dist/atomic/events/meta.mjs +31 -48
  69. package/dist/atomic/events/meta.mjs.map +1 -1
  70. package/dist/atomic/events/sign.d.ts +1 -5
  71. package/dist/atomic/events/sign.d.ts.map +1 -1
  72. package/dist/atomic/events/sign.js +84 -93
  73. package/dist/atomic/events/sign.js.map +1 -1
  74. package/dist/atomic/events/sign.mjs +82 -93
  75. package/dist/atomic/events/sign.mjs.map +1 -1
  76. package/dist/atomic/layout/block/stacked.d.ts +7 -19
  77. package/dist/atomic/layout/block/stacked.d.ts.map +1 -1
  78. package/dist/atomic/layout/block/stacked.js +14 -20
  79. package/dist/atomic/layout/block/stacked.js.map +1 -1
  80. package/dist/atomic/layout/block/stacked.mjs +14 -20
  81. package/dist/atomic/layout/block/stacked.mjs.map +1 -1
  82. package/dist/atomic/layout/overlay/modal.js +1 -1
  83. package/dist/atomic/layout/overlay/modal.js.map +1 -1
  84. package/dist/atomic/layout/overlay/modal.mjs +1 -1
  85. package/dist/atomic/layout/overlay/modal.mjs.map +1 -1
  86. package/dist/atomic/layout/person/columns.d.ts +4 -20
  87. package/dist/atomic/layout/person/columns.d.ts.map +1 -1
  88. package/dist/atomic/layout/person/columns.js +56 -66
  89. package/dist/atomic/layout/person/columns.js.map +1 -1
  90. package/dist/atomic/layout/person/columns.mjs +56 -66
  91. package/dist/atomic/layout/person/columns.mjs.map +1 -1
  92. package/dist/atomic/text/stat.d.ts +2 -3
  93. package/dist/atomic/text/stat.d.ts.map +1 -1
  94. package/dist/atomic/text/stat.js +101 -119
  95. package/dist/atomic/text/stat.js.map +1 -1
  96. package/dist/atomic/text/stat.mjs +100 -119
  97. package/dist/atomic/text/stat.mjs.map +1 -1
  98. package/dist/atomic/text-lockup/contact.d.ts +1 -5
  99. package/dist/atomic/text-lockup/contact.d.ts.map +1 -1
  100. package/dist/atomic/text-lockup/contact.js +65 -105
  101. package/dist/atomic/text-lockup/contact.js.map +1 -1
  102. package/dist/atomic/text-lockup/contact.mjs +60 -103
  103. package/dist/atomic/text-lockup/contact.mjs.map +1 -1
  104. package/dist/atomic/text-lockup/date.d.ts.map +1 -1
  105. package/dist/atomic/text-lockup/date.js +6 -1
  106. package/dist/atomic/text-lockup/date.js.map +1 -1
  107. package/dist/atomic/text-lockup/date.mjs +6 -1
  108. package/dist/atomic/text-lockup/date.mjs.map +1 -1
  109. package/dist/atomic/text-lockup/large.d.ts +3 -7
  110. package/dist/atomic/text-lockup/large.d.ts.map +1 -1
  111. package/dist/atomic/text-lockup/large.js +62 -71
  112. package/dist/atomic/text-lockup/large.js.map +1 -1
  113. package/dist/atomic/text-lockup/large.mjs +59 -71
  114. package/dist/atomic/text-lockup/large.mjs.map +1 -1
  115. package/dist/atomic/text-lockup/medium.d.ts +5 -9
  116. package/dist/atomic/text-lockup/medium.d.ts.map +1 -1
  117. package/dist/atomic/text-lockup/medium.js +76 -84
  118. package/dist/atomic/text-lockup/medium.js.map +1 -1
  119. package/dist/atomic/text-lockup/medium.mjs +70 -82
  120. package/dist/atomic/text-lockup/medium.mjs.map +1 -1
  121. package/dist/atomic/text-lockup/person.d.ts +1 -5
  122. package/dist/atomic/text-lockup/person.d.ts.map +1 -1
  123. package/dist/atomic/text-lockup/person.js +102 -101
  124. package/dist/atomic/text-lockup/person.js.map +1 -1
  125. package/dist/atomic/text-lockup/person.mjs +99 -101
  126. package/dist/atomic/text-lockup/person.mjs.map +1 -1
  127. package/dist/atomic/text-lockup/small-scaling.d.ts +1 -5
  128. package/dist/atomic/text-lockup/small-scaling.d.ts.map +1 -1
  129. package/dist/atomic/text-lockup/small-scaling.js +64 -39
  130. package/dist/atomic/text-lockup/small-scaling.js.map +1 -1
  131. package/dist/atomic/text-lockup/small-scaling.mjs +44 -38
  132. package/dist/atomic/text-lockup/small-scaling.mjs.map +1 -1
  133. package/dist/atomic/text-lockup/small.d.ts +11 -25
  134. package/dist/atomic/text-lockup/small.d.ts.map +1 -1
  135. package/dist/atomic/text-lockup/small.js +70 -69
  136. package/dist/atomic/text-lockup/small.js.map +1 -1
  137. package/dist/atomic/text-lockup/small.mjs +64 -66
  138. package/dist/atomic/text-lockup/small.mjs.map +1 -1
  139. package/dist/composite/alert/elements/closeButton.d.ts +7 -0
  140. package/dist/composite/alert/elements/closeButton.d.ts.map +1 -0
  141. package/dist/composite/alert/elements/closeButton.js +51 -0
  142. package/dist/composite/alert/elements/closeButton.js.map +1 -0
  143. package/dist/composite/alert/elements/closeButton.mjs +34 -0
  144. package/dist/composite/alert/elements/closeButton.mjs.map +1 -0
  145. package/dist/composite/alert/elements/text.d.ts +3 -13
  146. package/dist/composite/alert/elements/text.d.ts.map +1 -1
  147. package/dist/composite/alert/elements/text.js +60 -81
  148. package/dist/composite/alert/elements/text.js.map +1 -1
  149. package/dist/composite/alert/elements/text.mjs +56 -80
  150. package/dist/composite/alert/elements/text.mjs.map +1 -1
  151. package/dist/composite/alert/globals.d.ts +4 -0
  152. package/dist/composite/alert/globals.d.ts.map +1 -0
  153. package/dist/composite/alert/globals.js +7 -0
  154. package/dist/composite/alert/globals.js.map +1 -0
  155. package/dist/composite/alert/globals.mjs +7 -0
  156. package/dist/composite/alert/globals.mjs.map +1 -0
  157. package/dist/composite/alert/index.d.ts +2 -2
  158. package/dist/composite/alert/index.d.ts.map +1 -1
  159. package/dist/composite/alert/index.js +2 -2
  160. package/dist/composite/alert/index.mjs +4 -4
  161. package/dist/composite/alert/page.d.ts +5 -12
  162. package/dist/composite/alert/page.d.ts.map +1 -1
  163. package/dist/composite/alert/page.js +44 -113
  164. package/dist/composite/alert/page.js.map +1 -1
  165. package/dist/composite/alert/page.mjs +44 -112
  166. package/dist/composite/alert/page.mjs.map +1 -1
  167. package/dist/composite/alert/site.d.ts +5 -11
  168. package/dist/composite/alert/site.d.ts.map +1 -1
  169. package/dist/composite/alert/site.js +60 -109
  170. package/dist/composite/alert/site.js.map +1 -1
  171. package/dist/composite/alert/site.mjs +61 -109
  172. package/dist/composite/alert/site.mjs.map +1 -1
  173. package/dist/composite/banner/promo.js +1 -1
  174. package/dist/composite/banner/promo.js.map +1 -1
  175. package/dist/composite/banner/promo.mjs +1 -1
  176. package/dist/composite/banner/promo.mjs.map +1 -1
  177. package/dist/composite/card/block.d.ts +1 -5
  178. package/dist/composite/card/block.d.ts.map +1 -1
  179. package/dist/composite/card/block.js +7 -5
  180. package/dist/composite/card/block.js.map +1 -1
  181. package/dist/composite/card/block.mjs +7 -5
  182. package/dist/composite/card/block.mjs.map +1 -1
  183. package/dist/composite/card/list.d.ts +1 -5
  184. package/dist/composite/card/list.d.ts.map +1 -1
  185. package/dist/composite/card/list.js +52 -64
  186. package/dist/composite/card/list.js.map +1 -1
  187. package/dist/composite/card/list.mjs +52 -64
  188. package/dist/composite/card/list.mjs.map +1 -1
  189. package/dist/composite/card/overlay/color.d.ts +1 -5
  190. package/dist/composite/card/overlay/color.d.ts.map +1 -1
  191. package/dist/composite/card/overlay/color.js +36 -41
  192. package/dist/composite/card/overlay/color.js.map +1 -1
  193. package/dist/composite/card/overlay/color.mjs +36 -41
  194. package/dist/composite/card/overlay/color.mjs.map +1 -1
  195. package/dist/composite/card/overlay/icon.d.ts +1 -5
  196. package/dist/composite/card/overlay/icon.d.ts.map +1 -1
  197. package/dist/composite/card/overlay/icon.js +27 -31
  198. package/dist/composite/card/overlay/icon.js.map +1 -1
  199. package/dist/composite/card/overlay/icon.mjs +27 -31
  200. package/dist/composite/card/overlay/icon.mjs.map +1 -1
  201. package/dist/composite/card/overlay/image.d.ts +2 -1
  202. package/dist/composite/card/overlay/image.d.ts.map +1 -1
  203. package/dist/composite/card/overlay/image.js +74 -93
  204. package/dist/composite/card/overlay/image.js.map +1 -1
  205. package/dist/composite/card/overlay/image.mjs +73 -93
  206. package/dist/composite/card/overlay/image.mjs.map +1 -1
  207. package/dist/composite/card/video/block.d.ts +1 -9
  208. package/dist/composite/card/video/block.d.ts.map +1 -1
  209. package/dist/composite/card/video/block.js +7 -5
  210. package/dist/composite/card/video/block.js.map +1 -1
  211. package/dist/composite/card/video/block.mjs +7 -5
  212. package/dist/composite/card/video/block.mjs.map +1 -1
  213. package/dist/composite/card/video/short.d.ts +1 -5
  214. package/dist/composite/card/video/short.d.ts.map +1 -1
  215. package/dist/composite/card/video/short.js +16 -21
  216. package/dist/composite/card/video/short.js.map +1 -1
  217. package/dist/composite/card/video/short.mjs +16 -21
  218. package/dist/composite/card/video/short.mjs.map +1 -1
  219. package/dist/composite/carousel/_types.d.ts.map +1 -1
  220. package/dist/composite/carousel/default/index.js +1 -1
  221. package/dist/composite/carousel/default/index.js.map +1 -1
  222. package/dist/composite/carousel/default/index.mjs +1 -1
  223. package/dist/composite/carousel/default/index.mjs.map +1 -1
  224. package/dist/composite/carousel/elements/blocks.js +2 -2
  225. package/dist/composite/carousel/elements/blocks.js.map +1 -1
  226. package/dist/composite/carousel/elements/blocks.mjs +2 -2
  227. package/dist/composite/carousel/elements/blocks.mjs.map +1 -1
  228. package/dist/composite/carousel/elements/full-screen.js +7 -5
  229. package/dist/composite/carousel/elements/full-screen.js.map +1 -1
  230. package/dist/composite/carousel/elements/full-screen.mjs +7 -5
  231. package/dist/composite/carousel/elements/full-screen.mjs.map +1 -1
  232. package/dist/composite/carousel/elements/image.js +2 -2
  233. package/dist/composite/carousel/elements/image.js.map +1 -1
  234. package/dist/composite/carousel/elements/image.mjs +2 -2
  235. package/dist/composite/carousel/elements/image.mjs.map +1 -1
  236. package/dist/composite/carousel/elements/overlay.js +2 -2
  237. package/dist/composite/carousel/elements/overlay.js.map +1 -1
  238. package/dist/composite/carousel/elements/overlay.mjs +2 -2
  239. package/dist/composite/carousel/elements/overlay.mjs.map +1 -1
  240. package/dist/composite/carousel/image/multiple.js +11 -9
  241. package/dist/composite/carousel/image/multiple.js.map +1 -1
  242. package/dist/composite/carousel/image/multiple.mjs +11 -9
  243. package/dist/composite/carousel/image/multiple.mjs.map +1 -1
  244. package/dist/composite/carousel/image/standard.js +10 -8
  245. package/dist/composite/carousel/image/standard.js.map +1 -1
  246. package/dist/composite/carousel/image/standard.mjs +10 -8
  247. package/dist/composite/carousel/image/standard.mjs.map +1 -1
  248. package/dist/composite/carousel/thumbnail/index.js +1 -1
  249. package/dist/composite/carousel/thumbnail/index.js.map +1 -1
  250. package/dist/composite/carousel/thumbnail/index.mjs +1 -1
  251. package/dist/composite/carousel/thumbnail/index.mjs.map +1 -1
  252. package/dist/composite/carousel/wide/_elementModel.d.ts +2 -2
  253. package/dist/composite/carousel/wide/_elementModel.d.ts.map +1 -1
  254. package/dist/composite/carousel/wide/_elementModel.js +20 -7
  255. package/dist/composite/carousel/wide/_elementModel.js.map +1 -1
  256. package/dist/composite/carousel/wide/_elementModel.mjs +20 -7
  257. package/dist/composite/carousel/wide/_elementModel.mjs.map +1 -1
  258. package/dist/composite/carousel/wide/container.d.ts.map +1 -1
  259. package/dist/composite/carousel/wide/container.js +9 -15
  260. package/dist/composite/carousel/wide/container.js.map +1 -1
  261. package/dist/composite/carousel/wide/container.mjs +9 -15
  262. package/dist/composite/carousel/wide/container.mjs.map +1 -1
  263. package/dist/composite/carousel/wide/controls.d.ts +1 -5
  264. package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
  265. package/dist/composite/carousel/wide/controls.js +55 -56
  266. package/dist/composite/carousel/wide/controls.js.map +1 -1
  267. package/dist/composite/carousel/wide/controls.mjs +55 -56
  268. package/dist/composite/carousel/wide/controls.mjs.map +1 -1
  269. package/dist/composite/carousel/wide/frames.d.ts.map +1 -1
  270. package/dist/composite/carousel/wide/frames.js +156 -171
  271. package/dist/composite/carousel/wide/frames.js.map +1 -1
  272. package/dist/composite/carousel/wide/frames.mjs +153 -169
  273. package/dist/composite/carousel/wide/frames.mjs.map +1 -1
  274. package/dist/composite/carousel/wide/index.d.ts +1 -5
  275. package/dist/composite/carousel/wide/index.d.ts.map +1 -1
  276. package/dist/composite/carousel/wide/index.js +23 -17
  277. package/dist/composite/carousel/wide/index.js.map +1 -1
  278. package/dist/composite/carousel/wide/index.mjs +23 -17
  279. package/dist/composite/carousel/wide/index.mjs.map +1 -1
  280. package/dist/composite/footer/_types.d.ts +1 -0
  281. package/dist/composite/footer/_types.d.ts.map +1 -1
  282. package/dist/composite/footer/elements/main-section/call-to-action.d.ts +2 -2
  283. package/dist/composite/footer/elements/main-section/call-to-action.d.ts.map +1 -1
  284. package/dist/composite/footer/elements/main-section/call-to-action.js +19 -28
  285. package/dist/composite/footer/elements/main-section/call-to-action.js.map +1 -1
  286. package/dist/composite/footer/elements/main-section/call-to-action.mjs +18 -28
  287. package/dist/composite/footer/elements/main-section/call-to-action.mjs.map +1 -1
  288. package/dist/composite/footer/elements/main-section/campaign.d.ts +3 -3
  289. package/dist/composite/footer/elements/main-section/campaign.d.ts.map +1 -1
  290. package/dist/composite/footer/elements/main-section/campaign.js +51 -32
  291. package/dist/composite/footer/elements/main-section/campaign.js.map +1 -1
  292. package/dist/composite/footer/elements/main-section/campaign.mjs +51 -32
  293. package/dist/composite/footer/elements/main-section/campaign.mjs.map +1 -1
  294. package/dist/composite/footer/elements/main-section/index.d.ts +2 -2
  295. package/dist/composite/footer/elements/main-section/index.d.ts.map +1 -1
  296. package/dist/composite/footer/elements/main-section/index.js +38 -50
  297. package/dist/composite/footer/elements/main-section/index.js.map +1 -1
  298. package/dist/composite/footer/elements/main-section/index.mjs +38 -50
  299. package/dist/composite/footer/elements/main-section/index.mjs.map +1 -1
  300. package/dist/composite/footer/elements/main-section/row-links/index.d.ts +2 -2
  301. package/dist/composite/footer/elements/main-section/row-links/index.d.ts.map +1 -1
  302. package/dist/composite/footer/elements/main-section/row-links/index.js +24 -36
  303. package/dist/composite/footer/elements/main-section/row-links/index.js.map +1 -1
  304. package/dist/composite/footer/elements/main-section/row-links/index.mjs +24 -36
  305. package/dist/composite/footer/elements/main-section/row-links/index.mjs.map +1 -1
  306. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts +2 -2
  307. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts.map +1 -1
  308. package/dist/composite/footer/elements/main-section/row-links/link-columns.js +75 -95
  309. package/dist/composite/footer/elements/main-section/row-links/link-columns.js.map +1 -1
  310. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs +73 -93
  311. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs.map +1 -1
  312. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts +2 -2
  313. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts.map +1 -1
  314. package/dist/composite/footer/elements/main-section/row-logo/contact.js +88 -98
  315. package/dist/composite/footer/elements/main-section/row-logo/contact.js.map +1 -1
  316. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs +88 -98
  317. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs.map +1 -1
  318. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts +2 -2
  319. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts.map +1 -1
  320. package/dist/composite/footer/elements/main-section/row-logo/index.js +30 -43
  321. package/dist/composite/footer/elements/main-section/row-logo/index.js.map +1 -1
  322. package/dist/composite/footer/elements/main-section/row-logo/index.mjs +30 -43
  323. package/dist/composite/footer/elements/main-section/row-logo/index.mjs.map +1 -1
  324. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts +2 -2
  325. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts.map +1 -1
  326. package/dist/composite/footer/elements/main-section/row-logo/logo.js +24 -32
  327. package/dist/composite/footer/elements/main-section/row-logo/logo.js.map +1 -1
  328. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs +24 -32
  329. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs.map +1 -1
  330. package/dist/composite/footer/elements/main-section/social.d.ts +2 -2
  331. package/dist/composite/footer/elements/main-section/social.d.ts.map +1 -1
  332. package/dist/composite/footer/elements/main-section/social.js +74 -97
  333. package/dist/composite/footer/elements/main-section/social.js.map +1 -1
  334. package/dist/composite/footer/elements/main-section/social.mjs +74 -97
  335. package/dist/composite/footer/elements/main-section/social.mjs.map +1 -1
  336. package/dist/composite/footer/elements/utility-section/index.d.ts +3 -4
  337. package/dist/composite/footer/elements/utility-section/index.d.ts.map +1 -1
  338. package/dist/composite/footer/elements/utility-section/index.js +56 -84
  339. package/dist/composite/footer/elements/utility-section/index.js.map +1 -1
  340. package/dist/composite/footer/elements/utility-section/index.mjs +56 -84
  341. package/dist/composite/footer/elements/utility-section/index.mjs.map +1 -1
  342. package/dist/composite/footer/options.d.ts +1 -4
  343. package/dist/composite/footer/options.d.ts.map +1 -1
  344. package/dist/composite/footer/options.js +19 -27
  345. package/dist/composite/footer/options.js.map +1 -1
  346. package/dist/composite/footer/options.mjs +19 -27
  347. package/dist/composite/footer/options.mjs.map +1 -1
  348. package/dist/composite/hero/_types.d.ts.map +1 -1
  349. package/dist/composite/hero/custom/expand.d.ts +3 -2
  350. package/dist/composite/hero/custom/expand.d.ts.map +1 -1
  351. package/dist/composite/hero/custom/expand.js +151 -192
  352. package/dist/composite/hero/custom/expand.js.map +1 -1
  353. package/dist/composite/hero/custom/expand.mjs +145 -187
  354. package/dist/composite/hero/custom/expand.mjs.map +1 -1
  355. package/dist/composite/hero/custom/grid.d.ts +1 -5
  356. package/dist/composite/hero/custom/grid.d.ts.map +1 -1
  357. package/dist/composite/hero/custom/grid.js +122 -171
  358. package/dist/composite/hero/custom/grid.js.map +1 -1
  359. package/dist/composite/hero/custom/grid.mjs +116 -166
  360. package/dist/composite/hero/custom/grid.mjs.map +1 -1
  361. package/dist/composite/hero/custom/video-arrow.d.ts +2 -1
  362. package/dist/composite/hero/custom/video-arrow.d.ts.map +1 -1
  363. package/dist/composite/hero/custom/video-arrow.js +83 -105
  364. package/dist/composite/hero/custom/video-arrow.js.map +1 -1
  365. package/dist/composite/hero/custom/video-arrow.mjs +77 -99
  366. package/dist/composite/hero/custom/video-arrow.mjs.map +1 -1
  367. package/dist/composite/hero/logo.d.ts +1 -5
  368. package/dist/composite/hero/logo.d.ts.map +1 -1
  369. package/dist/composite/hero/logo.js +71 -89
  370. package/dist/composite/hero/logo.js.map +1 -1
  371. package/dist/composite/hero/logo.mjs +68 -87
  372. package/dist/composite/hero/logo.mjs.map +1 -1
  373. package/dist/composite/hero/minimal.d.ts +1 -5
  374. package/dist/composite/hero/minimal.d.ts.map +1 -1
  375. package/dist/composite/hero/minimal.js +67 -86
  376. package/dist/composite/hero/minimal.js.map +1 -1
  377. package/dist/composite/hero/minimal.mjs +63 -83
  378. package/dist/composite/hero/minimal.mjs.map +1 -1
  379. package/dist/composite/hero/overlay.d.ts +1 -5
  380. package/dist/composite/hero/overlay.d.ts.map +1 -1
  381. package/dist/composite/hero/overlay.js +107 -135
  382. package/dist/composite/hero/overlay.js.map +1 -1
  383. package/dist/composite/hero/overlay.mjs +103 -132
  384. package/dist/composite/hero/overlay.mjs.map +1 -1
  385. package/dist/composite/hero/stacked.d.ts +1 -5
  386. package/dist/composite/hero/stacked.d.ts.map +1 -1
  387. package/dist/composite/hero/stacked.js +114 -137
  388. package/dist/composite/hero/stacked.js.map +1 -1
  389. package/dist/composite/hero/stacked.mjs +110 -134
  390. package/dist/composite/hero/stacked.mjs.map +1 -1
  391. package/dist/composite/hero/standard.d.ts +1 -5
  392. package/dist/composite/hero/standard.d.ts.map +1 -1
  393. package/dist/composite/hero/standard.js +103 -116
  394. package/dist/composite/hero/standard.js.map +1 -1
  395. package/dist/composite/hero/standard.mjs +100 -114
  396. package/dist/composite/hero/standard.mjs.map +1 -1
  397. package/dist/composite/layout/box/logo.js +1 -1
  398. package/dist/composite/layout/box/logo.js.map +1 -1
  399. package/dist/composite/layout/box/logo.mjs +1 -1
  400. package/dist/composite/layout/box/logo.mjs.map +1 -1
  401. package/dist/composite/layout/image/expand.js +1 -1
  402. package/dist/composite/layout/image/expand.js.map +1 -1
  403. package/dist/composite/layout/image/expand.mjs +1 -1
  404. package/dist/composite/layout/image/expand.mjs.map +1 -1
  405. package/dist/composite/layout/scroll-top/index.js +1 -1
  406. package/dist/composite/layout/scroll-top/index.js.map +1 -1
  407. package/dist/composite/layout/scroll-top/index.mjs +1 -1
  408. package/dist/composite/layout/scroll-top/index.mjs.map +1 -1
  409. package/dist/composite/layout/section-intro/small.d.ts +2 -1
  410. package/dist/composite/layout/section-intro/small.d.ts.map +1 -1
  411. package/dist/composite/layout/section-intro/small.js +97 -107
  412. package/dist/composite/layout/section-intro/small.js.map +1 -1
  413. package/dist/composite/layout/section-intro/small.mjs +95 -106
  414. package/dist/composite/layout/section-intro/small.mjs.map +1 -1
  415. package/dist/composite/layout/section-intro/wide.d.ts +2 -2
  416. package/dist/composite/layout/section-intro/wide.d.ts.map +1 -1
  417. package/dist/composite/layout/section-intro/wide.js +40 -53
  418. package/dist/composite/layout/section-intro/wide.js.map +1 -1
  419. package/dist/composite/layout/section-intro/wide.mjs +39 -53
  420. package/dist/composite/layout/section-intro/wide.mjs.map +1 -1
  421. package/dist/composite/layout/sticky-columns/index.js +1 -1
  422. package/dist/composite/layout/sticky-columns/index.js.map +1 -1
  423. package/dist/composite/layout/sticky-columns/index.mjs +1 -1
  424. package/dist/composite/layout/sticky-columns/index.mjs.map +1 -1
  425. package/dist/composite/media/elements/caption.js +1 -1
  426. package/dist/composite/media/elements/caption.js.map +1 -1
  427. package/dist/composite/media/elements/caption.mjs +1 -1
  428. package/dist/composite/media/elements/caption.mjs.map +1 -1
  429. package/dist/composite/media/elements/gif.d.ts +3 -2
  430. package/dist/composite/media/elements/gif.d.ts.map +1 -1
  431. package/dist/composite/media/elements/gif.js +25 -27
  432. package/dist/composite/media/elements/gif.js.map +1 -1
  433. package/dist/composite/media/elements/gif.mjs +25 -27
  434. package/dist/composite/media/elements/gif.mjs.map +1 -1
  435. package/dist/composite/media/inline/caption.js +2 -2
  436. package/dist/composite/media/inline/caption.js.map +1 -1
  437. package/dist/composite/media/inline/caption.mjs +2 -2
  438. package/dist/composite/media/inline/caption.mjs.map +1 -1
  439. package/dist/composite/media/inline/wrapped.js +2 -2
  440. package/dist/composite/media/inline/wrapped.js.map +1 -1
  441. package/dist/composite/media/inline/wrapped.mjs +2 -2
  442. package/dist/composite/media/inline/wrapped.mjs.map +1 -1
  443. package/dist/composite/navigation/elements/breadcrumb/index.js +1 -1
  444. package/dist/composite/navigation/elements/breadcrumb/index.js.map +1 -1
  445. package/dist/composite/navigation/elements/breadcrumb/index.mjs +1 -1
  446. package/dist/composite/navigation/elements/breadcrumb/index.mjs.map +1 -1
  447. package/dist/composite/navigation/elements/drawer/index.js +1 -1
  448. package/dist/composite/navigation/elements/drawer/index.js.map +1 -1
  449. package/dist/composite/navigation/elements/drawer/index.mjs +1 -1
  450. package/dist/composite/navigation/elements/drawer/index.mjs.map +1 -1
  451. package/dist/composite/navigation/elements/item/index.js +1 -1
  452. package/dist/composite/navigation/elements/item/index.js.map +1 -1
  453. package/dist/composite/navigation/elements/item/index.mjs +1 -1
  454. package/dist/composite/navigation/elements/item/index.mjs.map +1 -1
  455. package/dist/composite/navigation/elements/menu-button/index.js +1 -1
  456. package/dist/composite/navigation/elements/menu-button/index.js.map +1 -1
  457. package/dist/composite/navigation/elements/menu-button/index.mjs +1 -1
  458. package/dist/composite/navigation/elements/menu-button/index.mjs.map +1 -1
  459. package/dist/composite/navigation/elements/slider/action.js +1 -1
  460. package/dist/composite/navigation/elements/slider/action.js.map +1 -1
  461. package/dist/composite/navigation/elements/slider/action.mjs +1 -1
  462. package/dist/composite/navigation/elements/slider/action.mjs.map +1 -1
  463. package/dist/composite/navigation/elements/slider/index.js +1 -1
  464. package/dist/composite/navigation/elements/slider/index.js.map +1 -1
  465. package/dist/composite/navigation/elements/slider/index.mjs +1 -1
  466. package/dist/composite/navigation/elements/slider/index.mjs.map +1 -1
  467. package/dist/composite/navigation/elements/slider/slide-first.js +1 -1
  468. package/dist/composite/navigation/elements/slider/slide-first.js.map +1 -1
  469. package/dist/composite/navigation/elements/slider/slide-first.mjs +1 -1
  470. package/dist/composite/navigation/elements/slider/slide-first.mjs.map +1 -1
  471. package/dist/composite/navigation/elements/slider/slides.js +1 -1
  472. package/dist/composite/navigation/elements/slider/slides.js.map +1 -1
  473. package/dist/composite/navigation/elements/slider/slides.mjs +1 -1
  474. package/dist/composite/navigation/elements/slider/slides.mjs.map +1 -1
  475. package/dist/composite/navigation/header.js +1 -1
  476. package/dist/composite/navigation/header.js.map +1 -1
  477. package/dist/composite/navigation/header.mjs +1 -1
  478. package/dist/composite/navigation/header.mjs.map +1 -1
  479. package/dist/composite/navigation/utility/alert.js +8 -4
  480. package/dist/composite/navigation/utility/alert.js.map +1 -1
  481. package/dist/composite/navigation/utility/alert.mjs +8 -4
  482. package/dist/composite/navigation/utility/alert.mjs.map +1 -1
  483. package/dist/composite/navigation/utility/index.d.ts.map +1 -1
  484. package/dist/composite/navigation/utility/index.js +90 -13
  485. package/dist/composite/navigation/utility/index.js.map +1 -1
  486. package/dist/composite/navigation/utility/index.mjs +90 -13
  487. package/dist/composite/navigation/utility/index.mjs.map +1 -1
  488. package/dist/composite/navigation/utility/search.js +1 -1
  489. package/dist/composite/navigation/utility/search.js.map +1 -1
  490. package/dist/composite/navigation/utility/search.mjs +1 -1
  491. package/dist/composite/navigation/utility/search.mjs.map +1 -1
  492. package/dist/composite/pathway/_common.d.ts +4 -20
  493. package/dist/composite/pathway/_common.d.ts.map +1 -1
  494. package/dist/composite/pathway/_common.js +62 -64
  495. package/dist/composite/pathway/_common.js.map +1 -1
  496. package/dist/composite/pathway/_common.mjs +56 -60
  497. package/dist/composite/pathway/_common.mjs.map +1 -1
  498. package/dist/composite/pathway/hero.d.ts +1 -5
  499. package/dist/composite/pathway/hero.d.ts.map +1 -1
  500. package/dist/composite/pathway/hero.js +119 -140
  501. package/dist/composite/pathway/hero.js.map +1 -1
  502. package/dist/composite/pathway/hero.mjs +113 -135
  503. package/dist/composite/pathway/hero.mjs.map +1 -1
  504. package/dist/composite/pathway/highlight.d.ts +1 -5
  505. package/dist/composite/pathway/highlight.d.ts.map +1 -1
  506. package/dist/composite/pathway/highlight.js +99 -129
  507. package/dist/composite/pathway/highlight.js.map +1 -1
  508. package/dist/composite/pathway/highlight.mjs +98 -129
  509. package/dist/composite/pathway/highlight.mjs.map +1 -1
  510. package/dist/composite/pathway/overlay.d.ts +2 -1
  511. package/dist/composite/pathway/overlay.d.ts.map +1 -1
  512. package/dist/composite/pathway/overlay.js +125 -153
  513. package/dist/composite/pathway/overlay.js.map +1 -1
  514. package/dist/composite/pathway/overlay.mjs +122 -151
  515. package/dist/composite/pathway/overlay.mjs.map +1 -1
  516. package/dist/composite/pathway/standard.d.ts +2 -1
  517. package/dist/composite/pathway/standard.d.ts.map +1 -1
  518. package/dist/composite/pathway/standard.js +96 -123
  519. package/dist/composite/pathway/standard.js.map +1 -1
  520. package/dist/composite/pathway/standard.mjs +95 -123
  521. package/dist/composite/pathway/standard.mjs.map +1 -1
  522. package/dist/composite/pathway/sticky.d.ts +1 -5
  523. package/dist/composite/pathway/sticky.d.ts.map +1 -1
  524. package/dist/composite/pathway/sticky.js +91 -116
  525. package/dist/composite/pathway/sticky.js.map +1 -1
  526. package/dist/composite/pathway/sticky.mjs +88 -114
  527. package/dist/composite/pathway/sticky.mjs.map +1 -1
  528. package/dist/composite/person/bio/full.d.ts +2 -5
  529. package/dist/composite/person/bio/full.d.ts.map +1 -1
  530. package/dist/composite/person/bio/full.js +53 -57
  531. package/dist/composite/person/bio/full.js.map +1 -1
  532. package/dist/composite/person/bio/full.mjs +52 -57
  533. package/dist/composite/person/bio/full.mjs.map +1 -1
  534. package/dist/composite/person/bio/small.d.ts +2 -5
  535. package/dist/composite/person/bio/small.d.ts.map +1 -1
  536. package/dist/composite/person/bio/small.js +85 -98
  537. package/dist/composite/person/bio/small.js.map +1 -1
  538. package/dist/composite/person/bio/small.mjs +84 -98
  539. package/dist/composite/person/bio/small.mjs.map +1 -1
  540. package/dist/composite/person/block.d.ts +2 -5
  541. package/dist/composite/person/block.d.ts.map +1 -1
  542. package/dist/composite/person/block.js +34 -42
  543. package/dist/composite/person/block.js.map +1 -1
  544. package/dist/composite/person/block.mjs +34 -42
  545. package/dist/composite/person/block.mjs.map +1 -1
  546. package/dist/composite/person/hero.d.ts +2 -5
  547. package/dist/composite/person/hero.d.ts.map +1 -1
  548. package/dist/composite/person/hero.js +160 -220
  549. package/dist/composite/person/hero.js.map +1 -1
  550. package/dist/composite/person/hero.mjs +159 -220
  551. package/dist/composite/person/hero.mjs.map +1 -1
  552. package/dist/composite/person/list.d.ts +2 -5
  553. package/dist/composite/person/list.d.ts.map +1 -1
  554. package/dist/composite/person/list.js +19 -19
  555. package/dist/composite/person/list.js.map +1 -1
  556. package/dist/composite/person/list.mjs +19 -19
  557. package/dist/composite/person/list.mjs.map +1 -1
  558. package/dist/composite/person/tabular.d.ts +2 -5
  559. package/dist/composite/person/tabular.d.ts.map +1 -1
  560. package/dist/composite/person/tabular.js +40 -36
  561. package/dist/composite/person/tabular.js.map +1 -1
  562. package/dist/composite/person/tabular.mjs +38 -36
  563. package/dist/composite/person/tabular.mjs.map +1 -1
  564. package/dist/composite/quote/elements/action.d.ts +1 -5
  565. package/dist/composite/quote/elements/action.d.ts.map +1 -1
  566. package/dist/composite/quote/elements/action.js +13 -17
  567. package/dist/composite/quote/elements/action.js.map +1 -1
  568. package/dist/composite/quote/elements/action.mjs +13 -17
  569. package/dist/composite/quote/elements/action.mjs.map +1 -1
  570. package/dist/composite/quote/elements/icon.d.ts +1 -5
  571. package/dist/composite/quote/elements/icon.d.ts.map +1 -1
  572. package/dist/composite/quote/elements/icon.js +37 -40
  573. package/dist/composite/quote/elements/icon.js.map +1 -1
  574. package/dist/composite/quote/elements/icon.mjs +37 -40
  575. package/dist/composite/quote/elements/icon.mjs.map +1 -1
  576. package/dist/composite/quote/elements/image.d.ts +1 -5
  577. package/dist/composite/quote/elements/image.d.ts.map +1 -1
  578. package/dist/composite/quote/elements/image.js +27 -35
  579. package/dist/composite/quote/elements/image.js.map +1 -1
  580. package/dist/composite/quote/elements/image.mjs +27 -35
  581. package/dist/composite/quote/elements/image.mjs.map +1 -1
  582. package/dist/composite/quote/elements/quote.d.ts +1 -5
  583. package/dist/composite/quote/elements/quote.d.ts.map +1 -1
  584. package/dist/composite/quote/elements/quote.js +37 -48
  585. package/dist/composite/quote/elements/quote.js.map +1 -1
  586. package/dist/composite/quote/elements/quote.mjs +35 -46
  587. package/dist/composite/quote/elements/quote.mjs.map +1 -1
  588. package/dist/composite/quote/elements/text.d.ts +1 -5
  589. package/dist/composite/quote/elements/text.d.ts.map +1 -1
  590. package/dist/composite/quote/elements/text.js +60 -73
  591. package/dist/composite/quote/elements/text.js.map +1 -1
  592. package/dist/composite/quote/elements/text.mjs +60 -73
  593. package/dist/composite/quote/elements/text.mjs.map +1 -1
  594. package/dist/composite/quote/featured.d.ts +2 -1
  595. package/dist/composite/quote/featured.d.ts.map +1 -1
  596. package/dist/composite/quote/featured.js +102 -135
  597. package/dist/composite/quote/featured.js.map +1 -1
  598. package/dist/composite/quote/featured.mjs +102 -135
  599. package/dist/composite/quote/featured.mjs.map +1 -1
  600. package/dist/composite/quote/helper/animation.d.ts +2 -2
  601. package/dist/composite/quote/helper/animation.d.ts.map +1 -1
  602. package/dist/composite/quote/helper/animation.js.map +1 -1
  603. package/dist/composite/quote/helper/animation.mjs.map +1 -1
  604. package/dist/composite/quote/inline.d.ts +2 -1
  605. package/dist/composite/quote/inline.d.ts.map +1 -1
  606. package/dist/composite/quote/inline.js +29 -45
  607. package/dist/composite/quote/inline.js.map +1 -1
  608. package/dist/composite/quote/inline.mjs +29 -45
  609. package/dist/composite/quote/inline.mjs.map +1 -1
  610. package/dist/composite/quote/statement.d.ts +1 -5
  611. package/dist/composite/quote/statement.d.ts.map +1 -1
  612. package/dist/composite/slider/events.js +1 -1
  613. package/dist/composite/slider/events.js.map +1 -1
  614. package/dist/composite/slider/events.mjs +1 -1
  615. package/dist/composite/slider/events.mjs.map +1 -1
  616. package/dist/composite/social/sharing.js +1 -1
  617. package/dist/composite/social/sharing.js.map +1 -1
  618. package/dist/composite/social/sharing.mjs +1 -1
  619. package/dist/composite/social/sharing.mjs.map +1 -1
  620. package/dist/composite/tabs/standard.d.ts.map +1 -1
  621. package/dist/composite/tabs/standard.js +3 -2
  622. package/dist/composite/tabs/standard.js.map +1 -1
  623. package/dist/composite/tabs/standard.mjs +3 -2
  624. package/dist/composite/tabs/standard.mjs.map +1 -1
  625. package/dist/index.d.ts +0 -1
  626. package/dist/index.d.ts.map +1 -1
  627. package/dist/index.js +0 -2
  628. package/dist/index.js.map +1 -1
  629. package/dist/index.mjs +1 -3
  630. package/dist/index.mjs.map +1 -1
  631. package/dist/layout/image.js +1 -1
  632. package/dist/layout/image.js.map +1 -1
  633. package/dist/layout/image.mjs +1 -1
  634. package/dist/layout/image.mjs.map +1 -1
  635. package/package.json +10 -9
  636. package/dist/model/elements/actions.d.ts +0 -62
  637. package/dist/model/elements/actions.d.ts.map +0 -1
  638. package/dist/model/elements/actions.js +0 -71
  639. package/dist/model/elements/actions.js.map +0 -1
  640. package/dist/model/elements/actions.mjs +0 -54
  641. package/dist/model/elements/actions.mjs.map +0 -1
  642. package/dist/model/elements/assets.d.ts +0 -30
  643. package/dist/model/elements/assets.d.ts.map +0 -1
  644. package/dist/model/elements/assets.js +0 -42
  645. package/dist/model/elements/assets.js.map +0 -1
  646. package/dist/model/elements/assets.mjs +0 -25
  647. package/dist/model/elements/assets.mjs.map +0 -1
  648. package/dist/model/elements/buttons.d.ts +0 -12
  649. package/dist/model/elements/buttons.d.ts.map +0 -1
  650. package/dist/model/elements/buttons.js +0 -26
  651. package/dist/model/elements/buttons.js.map +0 -1
  652. package/dist/model/elements/buttons.mjs +0 -9
  653. package/dist/model/elements/buttons.mjs.map +0 -1
  654. package/dist/model/elements/event.d.ts +0 -22
  655. package/dist/model/elements/event.d.ts.map +0 -1
  656. package/dist/model/elements/event.js +0 -30
  657. package/dist/model/elements/event.js.map +0 -1
  658. package/dist/model/elements/event.mjs +0 -13
  659. package/dist/model/elements/event.mjs.map +0 -1
  660. package/dist/model/elements/headline.d.ts +0 -67
  661. package/dist/model/elements/headline.d.ts.map +0 -1
  662. package/dist/model/elements/headline.js +0 -74
  663. package/dist/model/elements/headline.js.map +0 -1
  664. package/dist/model/elements/headline.mjs +0 -57
  665. package/dist/model/elements/headline.mjs.map +0 -1
  666. package/dist/model/elements/index.d.ts +0 -34
  667. package/dist/model/elements/index.d.ts.map +0 -1
  668. package/dist/model/elements/index.js +0 -37
  669. package/dist/model/elements/index.js.map +0 -1
  670. package/dist/model/elements/index.mjs +0 -37
  671. package/dist/model/elements/index.mjs.map +0 -1
  672. package/dist/model/elements/layout.d.ts +0 -64
  673. package/dist/model/elements/layout.d.ts.map +0 -1
  674. package/dist/model/elements/layout.js +0 -68
  675. package/dist/model/elements/layout.js.map +0 -1
  676. package/dist/model/elements/layout.mjs +0 -51
  677. package/dist/model/elements/layout.mjs.map +0 -1
  678. package/dist/model/elements/rich-text.d.ts +0 -27
  679. package/dist/model/elements/rich-text.d.ts.map +0 -1
  680. package/dist/model/elements/rich-text.js +0 -68
  681. package/dist/model/elements/rich-text.js.map +0 -1
  682. package/dist/model/elements/rich-text.mjs +0 -51
  683. package/dist/model/elements/rich-text.mjs.map +0 -1
  684. package/dist/model/elements/text.d.ts +0 -22
  685. package/dist/model/elements/text.d.ts.map +0 -1
  686. package/dist/model/elements/text.js +0 -30
  687. package/dist/model/elements/text.js.map +0 -1
  688. package/dist/model/elements/text.mjs +0 -13
  689. package/dist/model/elements/text.mjs.map +0 -1
  690. package/dist/model/index.d.ts +0 -2
  691. package/dist/model/index.d.ts.map +0 -1
  692. package/dist/model/modifiers/_types.d.ts +0 -41
  693. package/dist/model/modifiers/_types.d.ts.map +0 -1
  694. package/dist/model/modifiers/index.d.ts +0 -44
  695. package/dist/model/modifiers/index.d.ts.map +0 -1
  696. package/dist/model/modifiers/index.js +0 -136
  697. package/dist/model/modifiers/index.js.map +0 -1
  698. package/dist/model/modifiers/index.mjs +0 -136
  699. package/dist/model/modifiers/index.mjs.map +0 -1
  700. package/dist/model/modifiers/style.d.ts +0 -19
  701. package/dist/model/modifiers/style.d.ts.map +0 -1
  702. package/dist/model/modifiers/style.js +0 -122
  703. package/dist/model/modifiers/style.js.map +0 -1
  704. package/dist/model/modifiers/style.mjs +0 -105
  705. package/dist/model/modifiers/style.mjs.map +0 -1
  706. package/dist/model.d.ts +0 -2
  707. package/dist/model.js +0 -5
  708. package/dist/model.js.map +0 -1
  709. package/dist/model.mjs +0 -5
  710. package/dist/model.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../source/composite/navigation/utility/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport {\n jssToCSS,\n jssEntryToCSS,\n} from '@universityofmaryland/web-utilities-library/styles';\nimport { handleKeyboardNavigation } from '@universityofmaryland/web-utilities-library/events';\nimport { search as iconSearch } from '@universityofmaryland/web-icons-library/search';\nimport { chevron_down as iconChevronDown } from '@universityofmaryland/web-icons-library/controls';\nimport {\n createNavAlert,\n STYLES_NAV_ALERT,\n ALERT_CONSTANTS,\n TypeAlertProps,\n} from './alert';\nimport UtilitySearch from './search';\n\ntype TypeMenuItemsRequirements = {\n alertUrl?: string | null;\n giftUrl?: string;\n isAdmissionsFeed: boolean;\n isAlertOff?: boolean;\n isEventsFeed: boolean;\n isGiftsFeed: boolean;\n isLockFull?: boolean;\n isNewsFeed: boolean;\n isSchoolsFeed: boolean;\n isSearch: boolean;\n isSearchDomain?: boolean;\n};\n\ntype TypeUtilityRequirements = TypeMenuItemsRequirements & TypeAlertProps;\n\nconst flagIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\"><title>Flag</title><path d=\"M5 4c0 .72-.39 1.36-1 1.72V25.5c0 .266-.234.5-.5.5h-1c-.266 0-.5-.234-.5-.5V5.72c-.61-.36-1-1-1-1.72 0-1.11.89-2 2-2s2 .89 2 2zm23 1v11.922c0 .578-.36.797-.812 1.03-1.766.954-3.72 1.814-5.766 1.814-2.875 0-4.25-2.188-7.656-2.188-2.484 0-5.094 1.125-7.25 2.28-.172.095-.328.142-.516.142-.547 0-1-.453-1-1V7.406c0-.375.187-.64.484-.86.375-.25.828-.468 1.234-.67 1.97-1 4.36-1.876 6.578-1.876 2.453 0 4.375.812 6.547 1.828.438.22.89.297 1.375.297C23.67 6.125 26.312 4 26.998 4c.548 0 1 .453 1 1z\"></path></svg>`;\nconst homeIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"28\" viewBox=\"0 0 26 28\"><title>School</title><path d=\"M22 15.5V23c0 .547-.453 1-1 1h-6v-6h-4v6H5c-.547 0-1-.453-1-1v-7.5c0-.03.016-.063.016-.094L13 8l8.984 7.406c.016.03.016.063.016.094zm3.484-1.078l-.97 1.156c-.077.094-.202.156-.327.172h-.047c-.125 0-.234-.03-.328-.11L13 6.626 2.185 15.64c-.11.08-.234.126-.375.11-.124-.016-.25-.078-.327-.172l-.97-1.156c-.17-.203-.14-.53.064-.703L11.81 4.36c.657-.547 1.72-.547 2.376 0L18 7.547V4.5c0-.28.218-.5.5-.5h3c.28 0 .5.22.5.5v6.375l3.42 2.844c.204.17.235.5.064.702z\"></path></svg>`;\nconst starIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"28\" viewBox=\"0 0 26 28\"><title>Star</title><path d=\"M26 10.11c0 .28-.203.546-.406.75l-5.672 5.53 1.344 7.812c.016.11.016.203.016.313 0 .406-.187.78-.64.78-.22 0-.44-.077-.626-.186L13 21.42 5.984 25.11c-.203.108-.406.186-.625.186-.454 0-.657-.375-.657-.78 0-.11.016-.204.03-.314L6.08 16.39.39 10.86c-.187-.204-.39-.47-.39-.75 0-.47.483-.657.874-.72l7.844-1.14 3.516-7.11c.14-.297.406-.64.766-.64s.625.343.766.64l3.516 7.11 7.844 1.14c.375.063.875.25.875.72z\"></path></svg>`;\nconst calendarIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"28\" viewBox=\"0 0 26 28\"><title>Calendar</title><path d=\"M2 26h22V10H2v16zM8 7V2.5c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7c0 .28.22.5.5.5h1c.28 0 .5-.22.5-.5zm12 0V2.5c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7c0 .28.22.5.5.5h1c.28 0 .5-.22.5-.5zm6-1v20c0 1.094-.906 2-2 2H2c-1.094 0-2-.906-2-2V6c0-1.094.906-2 2-2h2V2.5C4 1.125 5.125 0 6.5 0h1C8.875 0 10 1.125 10 2.5V4h6V2.5C16 1.125 17.125 0 18.5 0h1C20.875 0 22 1.125 22 2.5V4h2c1.094 0 2 .906 2 2z\"></path></svg>`;\nconst mIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"28\" viewBox=\"0 0 35 28\"><title>Gift</title><path d=\"M16 1.4C7.937 1.4 1.4 7.937 1.4 16S7.937 30.6 16 30.6c8.063 0 14.6-6.537 14.6-14.6S24.063 1.4 16 1.4zm3.38 22.66v-2.55h2L21 13l-4.68 8.36h-.38L11.11 13l-.27 8.55h2v2.55H6.08v-2.55H8l.45-11.5H6.42V7.5h4.54l5.16 9.19 5-9.27h4.51v2.55h-2.04l.61 11.49h2v2.55z\"></path></svg>`;\n\nconst TABLET = 768;\nconst DESKTOP = 1024;\nconst ANIMATION_OUT_SPEED = 400;\nconst ANIMATION_IN_SPEED = 800;\n\nconst ATTRIBUTE_LOCK = 'lock';\nconst LOCK_FULL = 'full';\n\nconst ELEMENT_NAME = 'umd-element-utility-header';\n\nconst IS_LOCK_FULL = `[${ATTRIBUTE_LOCK}=${LOCK_FULL}]`;\n\nconst ELEMENT_UTILITY_DECLARATION = 'element-utility-declaration';\nconst ELEMENT_UTILITY_CONTAINTER = 'element-utility-container';\nconst ELEMENT_UTILITY_LOCK = 'umd-element-nav-utility-lock';\nconst ELEMENT_UTILITY_WRAPPER = 'umd-element-nav-utility-wrapper';\nconst ELEMENT_UTILITY_LOGO = 'umd-element-nav-utility-logo';\nconst ELEMENT_UTILITY_MENU = 'umd-element-nav-utility-menu';\nconst ELEMENT_UTILITY_MOBILE_MENU = 'umd-element-nav-utility-mobile-menu';\nconst ELEMENT_UTILITY_MOBILE_BUTTON = 'umd-element-nav-utility-mobile-button';\nconst ELEMENT_UTILITY_SEARCH_BUTTON = 'umd-element-nav-utility-search-button';\n\nconst OVERWRITE_LOCK_FULL = `.${ELEMENT_UTILITY_CONTAINTER}${IS_LOCK_FULL} .${ELEMENT_UTILITY_LOCK}`;\n\nconst isDesktop = () => window.innerWidth >= DESKTOP;\n\n// prettier-ignore\nconst LockStyles = `\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_UTILITY_LOCK}`]: layout.space.horizontal.larger,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`${OVERWRITE_LOCK_FULL}`]: layout.space.horizontal.full,\n },\n })}\n`;\n\n// prettier-ignore\nconst WrapperStyles = `\n .${ELEMENT_UTILITY_WRAPPER} {\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: relative;\n min-height: 44px;\n }\n\n .${ELEMENT_UTILITY_WRAPPER} > a {\n color: ${token.color.white};\n text-transform: uppercase;\n }\n\n .${ELEMENT_UTILITY_WRAPPER} > a:hover,\n .${ELEMENT_UTILITY_WRAPPER} > a:focus {\n text-decoration: underline;\n }\n`;\n\n// prettier-ignore\nconst MenuStyles = `\n .${ELEMENT_UTILITY_MENU} {\n display: flex;\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} {\n flex-direction: column;\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MENU} {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n }\n\n .${ELEMENT_UTILITY_MENU} a {\n color: ${token.color.white};\n text-decoration: none;\n text-transform: uppercase;\n }\n\n .${ELEMENT_UTILITY_MENU} > * {\n display: flex;\n align-items: center;\n gap: 4px;\n height: 100%;\n padding: ${token.spacing.min} ${token.spacing.sm};\n font-weight: 700;\n font-size: 13px;\n transition: background ${ANIMATION_IN_SPEED}ms;\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MENU} > * {\n justify-content: space-between;\n }\n }\n\n .${ELEMENT_UTILITY_MENU} > *[aria-expanded=\"true\"] {\n background-color: ${token.color.redDark};\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_CONTAINTER} .${ELEMENT_UTILITY_MENU} > * {\n border-top: 1px solid ${token.color.gray.lighter};\n color: ${token.color.red};\n order: 2;\n transition: background ${ANIMATION_OUT_SPEED}ms, color ${ANIMATION_OUT_SPEED}ms;\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} > *:first-child {\n border-top: none;\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} > a:hover,\n .${ELEMENT_UTILITY_MENU} > a:focus {\n background-color: ${token.color.red};\n color: ${token.color.white};\n transition: background ${ANIMATION_IN_SPEED}ms, color ${ANIMATION_IN_SPEED}ms;\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MENU} > *:hover,\n .${ELEMENT_UTILITY_MENU} > *:focus {\n background-color: ${token.color.redDark};\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} > a:hover svg,\n .${ELEMENT_UTILITY_MENU} > a:focus svg {\n fill: ${token.color.white};\n }\n }\n\n .${ELEMENT_UTILITY_SEARCH_BUTTON} svg {\n height: 22px;\n width: inherit;\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_SEARCH_BUTTON} {\n display: none;\n }\n }\n\n .${ELEMENT_UTILITY_MENU} svg {\n max-width: 15px;\n transition: fill ${ANIMATION_OUT_SPEED}ms;\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} svg {\n fill: ${token.color.red};\n transition: fill ${ANIMATION_IN_SPEED}ms;\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MENU} svg {\n fill: ${token.color.white};\n }\n }\n`;\n\n// prettier-ignore\nconst MobileMenuStyles = `\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} {\n position: absolute;\n left: -${token.spacing['2xl']};\n right: -${token.spacing['2xl']};\n top: 44px;\n box-shadow: 0 5px 5px 1px rgba(0, 0, 0, .2);\n height: 0;\n overflow: hidden;\n transition: height ${ANIMATION_OUT_SPEED}ms;\n display: flex;\n flex-direction: column;\n background-color: ${token.color.white};\n }\n }\n\n @container (max-width: ${TABLET - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} {\n left: -${token.spacing.md};\n right: -${token.spacing.md};\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} {\n display: flex;\n height: inherit !important;\n margin-left: auto;\n position: relative;\n margin-right: -${token.spacing.md};\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU}[aria-hidden=\"true\"] {\n transition: height ${ANIMATION_OUT_SPEED}ms;\n display: none;\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU}[aria-hidden=\"false\"] {\n transition: height ${ANIMATION_IN_SPEED}ms;\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} > button {\n display: none;\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} > button {\n transition: background ${ANIMATION_OUT_SPEED}ms;\n }\n }\n`\n\n// prettier-ignore\nconst MobileButtonStyles = `\n .${ELEMENT_UTILITY_MOBILE_BUTTON} {\n margin-left: auto;\n height: 100%;\n padding: ${token.spacing.xs} ${token.spacing.md};\n margin-right: -${token.spacing.md};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n @media (min-width: ${TABLET}px) {\n margin-right: -${token.spacing['2xl']};\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MOBILE_BUTTON} {\n display: none;\n }\n }\n\n .${ELEMENT_UTILITY_MOBILE_BUTTON}:hover,\n .${ELEMENT_UTILITY_MOBILE_BUTTON}:focus {\n background-color: ${token.color.redDark};\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_BUTTON} svg {\n fill: ${token.color.white};\n width: 18px;\n height: 18px;\n }\n }\n`;\n\n// prettier-ignore\nconst LogoStyles = `\n .${ELEMENT_UTILITY_LOGO} {\n font-size: 14px;\n font-family: Crimson Text, Georgia, serif;\n letter-spacing: 1px;\n padding: 10px 0;\n opacity: 0;\n transition: opacity .3s ease-in;\n }\n`;\n\nlet STYLES_NAVIGATION_UTILITY = `\n .${ELEMENT_UTILITY_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_UTILITY_CONTAINTER} {\n display: block;\n background-color: ${token.color.red};\n position: relative;\n z-index: 999;\n }\n\n ${LockStyles}\n ${WrapperStyles}\n ${LogoStyles}\n ${MenuStyles}\n ${MobileButtonStyles}\n ${MobileMenuStyles}\n ${STYLES_NAV_ALERT}\n ${UtilitySearch.Styles}\n`;\n\nconst CreateSearchFormButton = ({\n expandElement,\n}: {\n expandElement: HTMLDivElement | HTMLFormElement;\n}) => {\n const button = document.createElement('button');\n const elements = Array.from(expandElement.querySelectorAll('div'));\n let focusCallback = () => {};\n\n const eventClose = () => {\n expandElement.style.height = `0`;\n\n setTimeout(() => {\n expandElement.style.display = 'none';\n expandElement.setAttribute('aria-hidden', 'true');\n button.setAttribute('aria-expanded', 'false');\n button.focus();\n\n if (focusCallback) {\n focusCallback();\n focusCallback = () => {};\n }\n }, ANIMATION_OUT_SPEED + 100);\n };\n\n const eventOpen = () => {\n const focusElement = expandElement.querySelector(\n 'input[type=\"text\"]',\n ) as HTMLInputElement;\n\n expandElement.style.display = 'block';\n\n setTimeout(() => {\n const size = elements.reduce((accumulator, currentValue) => {\n return accumulator + currentValue.offsetHeight;\n }, 0);\n\n expandElement.setAttribute('aria-hidden', 'false');\n expandElement.style.height = `${size}px`;\n button.setAttribute('aria-expanded', 'true');\n if (focusElement) focusElement.focus();\n }, 100);\n\n focusCallback = handleKeyboardNavigation({\n element: expandElement,\n action: () => eventClose(),\n });\n };\n\n button.setAttribute('aria-label', 'enable the search form');\n button.setAttribute('type', 'button');\n button.innerHTML = `${iconSearch}`;\n button.setAttribute('aria-controls', UtilitySearch.Elements.form);\n button.classList.add(ELEMENT_UTILITY_SEARCH_BUTTON);\n button.setAttribute('aria-expanded', 'false');\n\n button.addEventListener('click', () => {\n const isExpanded = button.getAttribute('aria-expanded') === 'true';\n\n if (isExpanded) {\n eventClose();\n } else {\n eventOpen();\n }\n });\n\n return button;\n};\n\nconst CreateMobileMenuButton = ({\n expandElement,\n}: {\n expandElement: HTMLDivElement;\n}) => {\n const button = document.createElement('button');\n let focusCallback = () => {};\n\n const eventClose = () => {\n expandElement.style.height = `0`;\n\n setTimeout(() => {\n expandElement.style.display = 'none';\n expandElement.setAttribute('aria-hidden', 'true');\n button.setAttribute('aria-expanded', 'false');\n button.focus();\n\n if (focusCallback) {\n focusCallback();\n focusCallback = () => {};\n }\n }, ANIMATION_OUT_SPEED + 100);\n };\n\n const eventOpen = () => {\n const wrapper = expandElement.querySelector(\n `.${ELEMENT_UTILITY_MENU}`,\n ) as HTMLElement;\n const focusElement = expandElement.querySelector('a') as HTMLAnchorElement;\n\n expandElement.style.display = 'block';\n\n setTimeout(() => {\n expandElement.setAttribute('aria-hidden', 'false');\n expandElement.style.height = `${wrapper.offsetHeight}px`;\n button.setAttribute('aria-expanded', 'true');\n if (focusElement) focusElement.focus();\n }, 100);\n\n focusCallback = handleKeyboardNavigation({\n element: expandElement,\n action: () => eventClose(),\n });\n };\n\n button.innerHTML = `${iconChevronDown}`;\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'toggle mobile menu');\n button.setAttribute('aria-controls', `${ELEMENT_UTILITY_MOBILE_MENU}`);\n button.classList.add(ELEMENT_UTILITY_MOBILE_BUTTON);\n\n button.addEventListener('click', () => {\n const isExpanded = button.getAttribute('aria-expanded') === 'true';\n\n if (isExpanded) {\n eventClose();\n } else {\n eventOpen();\n }\n });\n\n return button;\n};\n\nconst CreateLogoElement = () => {\n const logo = document.createElement('a');\n\n logo.innerHTML = 'University of Maryland';\n logo.setAttribute('href', 'https://umd.edu');\n logo.setAttribute('target', '_blank');\n logo.setAttribute('rel', 'noopener noreferrer');\n logo.classList.add(ELEMENT_UTILITY_LOGO);\n\n setTimeout(() => {\n logo.style.opacity = '1';\n }, 200);\n\n return logo;\n};\n\nconst CreateMenuItems = ({\n isAdmissionsFeed,\n isEventsFeed,\n isGiftsFeed,\n isNewsFeed,\n isSchoolsFeed,\n isSearch,\n giftUrl,\n isSearchDomain,\n}: TypeMenuItemsRequirements) => {\n const container = document.createElement('div');\n\n const isValidUrl = (url: string) => {\n try {\n new URL(url);\n } catch (e) {\n return false;\n }\n return true;\n };\n\n const makeLinkElement = ({\n name,\n icon,\n url,\n }: {\n name: string;\n icon: string;\n url: string;\n }) => {\n const tag = document.createElement('a');\n\n tag.setAttribute('href', url);\n tag.setAttribute('target', '_blank');\n tag.setAttribute('rel', 'noopener noreferrer');\n tag.innerHTML = `${icon} <span>${name}</span>`;\n\n return tag;\n };\n\n let hasItems = false;\n\n if (isAdmissionsFeed) {\n hasItems = true;\n\n container.appendChild(\n makeLinkElement({\n name: 'Admissions',\n url: 'https://umd.edu/admissions',\n icon: flagIcon,\n }),\n );\n }\n\n if (isSchoolsFeed) {\n hasItems = true;\n\n container.appendChild(\n makeLinkElement({\n name: 'Colleges & Schools',\n url: 'https://umd.edu/colleges-and-schools',\n icon: homeIcon,\n }),\n );\n }\n\n if (isNewsFeed) {\n hasItems = true;\n\n container.appendChild(\n makeLinkElement({\n name: 'News',\n url: 'https://today.umd.edu/',\n icon: starIcon,\n }),\n );\n }\n\n if (isEventsFeed) {\n hasItems = true;\n\n container.appendChild(\n makeLinkElement({\n name: 'Events',\n url: 'https://calendar.umd.edu',\n icon: calendarIcon,\n }),\n );\n }\n\n if (isGiftsFeed) {\n hasItems = true;\n const getURL = () => {\n const defaultURL = 'https://giving.umd.edu/giving';\n\n if (!giftUrl) return defaultURL;\n\n const validURL = giftUrl ? isValidUrl(giftUrl) : null;\n return validURL ? giftUrl : defaultURL;\n };\n\n container.appendChild(\n makeLinkElement({\n name: 'Make a Gift',\n url: getURL(),\n icon: mIcon,\n }),\n );\n }\n\n if (isSearch || isSearchDomain) {\n hasItems = true;\n const formElement = UtilitySearch.CreateElement({ isSearchDomain });\n const button = CreateSearchFormButton({\n expandElement: formElement,\n });\n\n container.appendChild(button);\n container.appendChild(formElement);\n }\n\n container.classList.add(ELEMENT_UTILITY_MENU);\n\n if (!hasItems) return null;\n\n return container;\n};\n\nconst CreateNavigationUtility = (props: TypeUtilityRequirements) =>\n (() => {\n {\n const { isLockFull, isAlertOff } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const lock = document.createElement('div');\n const wrapper = document.createElement('div');\n const logoElement = CreateLogoElement();\n\n const secondaryCta = elementStyles.action.secondary.normal;\n\n let styles =\n STYLES_NAVIGATION_UTILITY + jssEntryToCSS(secondaryCta);\n\n const setLayout = () => {\n const menuItems = CreateMenuItems({ ...props });\n const mobileMenu = document.createElement('div');\n const mobileMenuButton = CreateMobileMenuButton({\n expandElement: mobileMenu,\n });\n\n mobileMenu.setAttribute('id', `${ELEMENT_UTILITY_MOBILE_MENU}`);\n mobileMenu.classList.add(ELEMENT_UTILITY_MOBILE_MENU);\n mobileMenu.setAttribute('aria-hidden', (!isDesktop()).toString());\n\n if (menuItems) {\n mobileMenu.appendChild(menuItems);\n wrapper.appendChild(mobileMenuButton);\n wrapper.appendChild(mobileMenu);\n } else {\n wrapper.style.display = 'flex';\n wrapper.style.justifyContent = 'center';\n }\n };\n\n const resizeEvent = () => {\n const isDesktop = window.innerWidth >= DESKTOP;\n\n const form = container.querySelector(`.${UtilitySearch.Elements.form}`);\n const menu = container.querySelector(`.${ELEMENT_UTILITY_MOBILE_MENU}`);\n\n if (!form || !menu) return;\n\n if (isDesktop) {\n menu.setAttribute('aria-hidden', 'false');\n form.setAttribute('aria-hidden', 'true');\n form.setAttribute('layout', 'desktop');\n } else {\n menu.setAttribute('aria-hidden', 'true');\n form.setAttribute('aria-hidden', 'false');\n form.setAttribute('layout', 'mobile');\n }\n };\n\n const load = async () => {\n if (!isAlertOff) {\n const alert = await createNavAlert(props);\n\n if (alert) {\n container.insertBefore(alert?.element, container.firstChild);\n }\n }\n\n setLayout();\n resizeEvent();\n };\n\n const showAlert = async () => {\n const isCurrentAlert = container.querySelector(\n `.${ALERT_CONSTANTS.ELEMENTS.CONTAINER}`,\n );\n\n if (isCurrentAlert) return;\n\n const alert = await createNavAlert(props);\n\n if (alert) {\n container.insertBefore(alert?.element, container.firstChild);\n }\n };\n\n const hideAlert = () => {\n const alert = container.querySelector(\n `.${ALERT_CONSTANTS.ELEMENTS.CONTAINER}`,\n );\n\n if (alert) {\n alert.remove();\n }\n };\n\n wrapper.appendChild(logoElement);\n wrapper.classList.add(ELEMENT_UTILITY_WRAPPER);\n\n lock.appendChild(wrapper);\n lock.classList.add(ELEMENT_UTILITY_LOCK);\n\n container.appendChild(lock);\n container.classList.add(ELEMENT_UTILITY_CONTAINTER);\n if (isLockFull) container.setAttribute(ATTRIBUTE_LOCK, LOCK_FULL);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_UTILITY_DECLARATION);\n\n load();\n window.addEventListener('resize', resizeEvent);\n\n return {\n element: declaration,\n styles,\n events: {\n showAlert,\n hideAlert,\n },\n };\n }\n })();\n\nexport default CreateNavigationUtility;\n"],"names":["iconSearch","iconChevronDown","isDesktop"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../source/composite/navigation/utility/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport {\n jssToCSS,\n jssEntryToCSS,\n} from '@universityofmaryland/web-utilities-library/styles';\nimport { handleKeyboardNavigation } from '@universityofmaryland/web-utilities-library/events';\nimport { search as iconSearch } from '@universityofmaryland/web-icons-library/search';\nimport { chevron_down as iconChevronDown } from '@universityofmaryland/web-icons-library/controls';\nimport {\n createNavAlert,\n STYLES_NAV_ALERT,\n ALERT_CONSTANTS,\n TypeAlertProps,\n} from './alert';\nimport UtilitySearch from './search';\n\ntype TypeMenuItemsRequirements = {\n alertUrl?: string | null;\n giftUrl?: string;\n isAdmissionsFeed: boolean;\n isAlertOff?: boolean;\n isEventsFeed: boolean;\n isGiftsFeed: boolean;\n isLockFull?: boolean;\n isNewsFeed: boolean;\n isSchoolsFeed: boolean;\n isSearch: boolean;\n isSearchDomain?: boolean;\n};\n\ntype TypeUtilityRequirements = TypeMenuItemsRequirements & TypeAlertProps;\n\nconst flagIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\"><title>Flag</title><path d=\"M5 4c0 .72-.39 1.36-1 1.72V25.5c0 .266-.234.5-.5.5h-1c-.266 0-.5-.234-.5-.5V5.72c-.61-.36-1-1-1-1.72 0-1.11.89-2 2-2s2 .89 2 2zm23 1v11.922c0 .578-.36.797-.812 1.03-1.766.954-3.72 1.814-5.766 1.814-2.875 0-4.25-2.188-7.656-2.188-2.484 0-5.094 1.125-7.25 2.28-.172.095-.328.142-.516.142-.547 0-1-.453-1-1V7.406c0-.375.187-.64.484-.86.375-.25.828-.468 1.234-.67 1.97-1 4.36-1.876 6.578-1.876 2.453 0 4.375.812 6.547 1.828.438.22.89.297 1.375.297C23.67 6.125 26.312 4 26.998 4c.548 0 1 .453 1 1z\"></path></svg>`;\nconst homeIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"28\" viewBox=\"0 0 26 28\"><title>School</title><path d=\"M22 15.5V23c0 .547-.453 1-1 1h-6v-6h-4v6H5c-.547 0-1-.453-1-1v-7.5c0-.03.016-.063.016-.094L13 8l8.984 7.406c.016.03.016.063.016.094zm3.484-1.078l-.97 1.156c-.077.094-.202.156-.327.172h-.047c-.125 0-.234-.03-.328-.11L13 6.626 2.185 15.64c-.11.08-.234.126-.375.11-.124-.016-.25-.078-.327-.172l-.97-1.156c-.17-.203-.14-.53.064-.703L11.81 4.36c.657-.547 1.72-.547 2.376 0L18 7.547V4.5c0-.28.218-.5.5-.5h3c.28 0 .5.22.5.5v6.375l3.42 2.844c.204.17.235.5.064.702z\"></path></svg>`;\nconst starIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"28\" viewBox=\"0 0 26 28\"><title>Star</title><path d=\"M26 10.11c0 .28-.203.546-.406.75l-5.672 5.53 1.344 7.812c.016.11.016.203.016.313 0 .406-.187.78-.64.78-.22 0-.44-.077-.626-.186L13 21.42 5.984 25.11c-.203.108-.406.186-.625.186-.454 0-.657-.375-.657-.78 0-.11.016-.204.03-.314L6.08 16.39.39 10.86c-.187-.204-.39-.47-.39-.75 0-.47.483-.657.874-.72l7.844-1.14 3.516-7.11c.14-.297.406-.64.766-.64s.625.343.766.64l3.516 7.11 7.844 1.14c.375.063.875.25.875.72z\"></path></svg>`;\nconst calendarIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"26\" height=\"28\" viewBox=\"0 0 26 28\"><title>Calendar</title><path d=\"M2 26h22V10H2v16zM8 7V2.5c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7c0 .28.22.5.5.5h1c.28 0 .5-.22.5-.5zm12 0V2.5c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7c0 .28.22.5.5.5h1c.28 0 .5-.22.5-.5zm6-1v20c0 1.094-.906 2-2 2H2c-1.094 0-2-.906-2-2V6c0-1.094.906-2 2-2h2V2.5C4 1.125 5.125 0 6.5 0h1C8.875 0 10 1.125 10 2.5V4h6V2.5C16 1.125 17.125 0 18.5 0h1C20.875 0 22 1.125 22 2.5V4h2c1.094 0 2 .906 2 2z\"></path></svg>`;\nconst mIcon = `<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"28\" viewBox=\"0 0 35 28\"><title>Gift</title><path d=\"M16 1.4C7.937 1.4 1.4 7.937 1.4 16S7.937 30.6 16 30.6c8.063 0 14.6-6.537 14.6-14.6S24.063 1.4 16 1.4zm3.38 22.66v-2.55h2L21 13l-4.68 8.36h-.38L11.11 13l-.27 8.55h2v2.55H6.08v-2.55H8l.45-11.5H6.42V7.5h4.54l5.16 9.19 5-9.27h4.51v2.55h-2.04l.61 11.49h2v2.55z\"></path></svg>`;\n\nconst TABLET = 768;\nconst DESKTOP = 1024;\nconst ANIMATION_OUT_SPEED = 400;\nconst ANIMATION_IN_SPEED = 800;\n\nconst ATTRIBUTE_LOCK = 'lock';\nconst WITH_ITEMS = 'data-items';\nconst LOCK_FULL = 'full';\n\nconst ELEMENT_NAME = 'umd-element-utility-header';\n\nconst IS_LOCK_FULL = `[${ATTRIBUTE_LOCK}=${LOCK_FULL}]`;\nconst IS_HAS_ITEMS = `[${WITH_ITEMS}=\"true\"]`;\nconst IS_WITHOUT_ITEMS = `[${WITH_ITEMS}=\"false\"]`;\n\nconst ELEMENT_UTILITY_DECLARATION = 'element-utility-declaration';\nconst ELEMENT_UTILITY_CONTAINTER = 'element-utility-container';\nconst ELEMENT_UTILITY_LOCK = 'umd-element-nav-utility-lock';\nconst ELEMENT_UTILITY_WRAPPER = 'umd-element-nav-utility-wrapper';\nconst ELEMENT_UTILITY_LOGO = 'umd-element-nav-utility-logo';\nconst ELEMENT_UTILITY_LOGO_COLUMN = 'umd-element-nav-utility-logo-column';\nconst ELEMENT_UTILITY_MENU = 'umd-element-nav-utility-menu';\nconst ELEMENT_UTILITY_MOBILE_MENU = 'umd-element-nav-utility-mobile-menu';\nconst ELEMENT_UTILITY_MOBILE_BUTTON = 'umd-element-nav-utility-mobile-button';\nconst ELEMENT_UTILITY_SEARCH_BUTTON = 'umd-element-nav-utility-search-button';\n\nconst OVERWRITE_LOCK_FULL = `.${ELEMENT_UTILITY_CONTAINTER}${IS_LOCK_FULL} .${ELEMENT_UTILITY_LOCK}`;\n\nconst OVERWRITE_CONTAINER_WITH_ITEMS = `.${ELEMENT_UTILITY_CONTAINTER}${IS_HAS_ITEMS}`;\nconst OVERWRITE_CONTAINER_WITHOUT_ITEMS = `.${ELEMENT_UTILITY_CONTAINTER}${IS_WITHOUT_ITEMS}`;\nconst OVERWRIE_WRAPPER_WITH_ITEMS = `${OVERWRITE_CONTAINER_WITH_ITEMS} .${ELEMENT_UTILITY_WRAPPER}`;\nconst OVERWRIE_WRAPPER_WITHOUT_ITEMS = `${OVERWRITE_CONTAINER_WITHOUT_ITEMS} .${ELEMENT_UTILITY_WRAPPER}`;\n\nconst isDesktop = () => window.innerWidth >= DESKTOP;\n\nconst TOP_TWENTY_TEXT = `A Top 20 Public Research University`;\n\n// prettier-ignore\nconst LockStyles = `\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_UTILITY_LOCK}`]: layout.space.horizontal.larger,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`${OVERWRITE_LOCK_FULL}`]: layout.space.horizontal.full,\n },\n })}\n`;\n\n// prettier-ignore\nconst WrapperStyles = `\n .${ELEMENT_UTILITY_WRAPPER} {\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: relative;\n min-height: 44px;\n }\n\n .${ELEMENT_UTILITY_WRAPPER} > a {\n color: ${token.color.white};\n text-transform: uppercase;\n }\n\n .${ELEMENT_UTILITY_WRAPPER} > a:hover,\n .${ELEMENT_UTILITY_WRAPPER} > a:focus {\n text-decoration: underline;\n }\n\n ${OVERWRIE_WRAPPER_WITHOUT_ITEMS} {\n display: flex;\n justify-content: center;\n justify-self: center;\n }\n`;\n\n// prettier-ignore\nconst MenuStyles = `\n .${ELEMENT_UTILITY_MENU} {\n display: flex;\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} {\n flex-direction: column;\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MENU} {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n }\n\n .${ELEMENT_UTILITY_MENU} a {\n color: ${token.color.white};\n text-decoration: none;\n text-transform: uppercase;\n }\n\n .${ELEMENT_UTILITY_MENU} > * {\n display: flex;\n align-items: center;\n gap: 4px;\n height: 100%;\n padding: ${token.spacing.min} ${token.spacing.sm};\n font-weight: 700;\n font-size: 13px;\n transition: background ${ANIMATION_IN_SPEED}ms;\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MENU} > * {\n justify-content: space-between;\n }\n }\n\n .${ELEMENT_UTILITY_MENU} > *[aria-expanded=\"true\"] {\n background-color: ${token.color.redDark};\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_CONTAINTER} .${ELEMENT_UTILITY_MENU} > * {\n border-top: 1px solid ${token.color.gray.lighter};\n color: ${token.color.red};\n order: 2;\n transition: background ${ANIMATION_OUT_SPEED}ms, color ${ANIMATION_OUT_SPEED}ms;\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} > *:first-child {\n border-top: none;\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} > a:hover,\n .${ELEMENT_UTILITY_MENU} > a:focus {\n background-color: ${token.color.red};\n color: ${token.color.white};\n transition: background ${ANIMATION_IN_SPEED}ms, color ${ANIMATION_IN_SPEED}ms;\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MENU} > *:hover,\n .${ELEMENT_UTILITY_MENU} > *:focus {\n background-color: ${token.color.redDark};\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} > a:hover svg,\n .${ELEMENT_UTILITY_MENU} > a:focus svg {\n fill: ${token.color.white};\n }\n }\n\n .${ELEMENT_UTILITY_SEARCH_BUTTON} svg {\n height: 22px;\n width: inherit;\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_SEARCH_BUTTON} {\n display: none;\n }\n }\n\n .${ELEMENT_UTILITY_MENU} svg {\n max-width: 15px;\n transition: fill ${ANIMATION_OUT_SPEED}ms;\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MENU} svg {\n fill: ${token.color.red};\n transition: fill ${ANIMATION_IN_SPEED}ms;\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MENU} svg {\n fill: ${token.color.white};\n }\n }\n`;\n\n// prettier-ignore\nconst MobileMenuStyles = `\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} {\n position: absolute;\n left: -${token.spacing['2xl']};\n right: -${token.spacing['2xl']};\n top: 44px;\n box-shadow: 0 5px 5px 1px rgba(0, 0, 0, .2);\n height: 0;\n overflow: hidden;\n transition: height ${ANIMATION_OUT_SPEED}ms;\n display: flex;\n flex-direction: column;\n background-color: ${token.color.white};\n }\n }\n\n @container (max-width: ${TABLET - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} {\n left: -${token.spacing.md};\n right: -${token.spacing.md};\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} {\n display: flex;\n height: inherit !important;\n margin-left: auto;\n position: relative;\n margin-right: -${token.spacing.md};\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU}[aria-hidden=\"true\"] {\n transition: height ${ANIMATION_OUT_SPEED}ms;\n display: none;\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU}[aria-hidden=\"false\"] {\n transition: height ${ANIMATION_IN_SPEED}ms;\n }\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} > button {\n display: none;\n }\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MOBILE_MENU} > button {\n transition: background ${ANIMATION_OUT_SPEED}ms;\n }\n }\n`\n\n// prettier-ignore\nconst MobileButtonStyles = `\n .${ELEMENT_UTILITY_MOBILE_BUTTON} {\n margin-left: auto;\n height: 100%;\n padding: ${token.spacing.xs} ${token.spacing.md};\n margin-right: -${token.spacing.md};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n @media (min-width: ${TABLET}px) {\n margin-right: -${token.spacing['2xl']};\n }\n\n @container (min-width: ${DESKTOP}px) {\n .${ELEMENT_UTILITY_MOBILE_BUTTON} {\n display: none;\n }\n }\n\n .${ELEMENT_UTILITY_MOBILE_BUTTON}:hover,\n .${ELEMENT_UTILITY_MOBILE_BUTTON}:focus {\n background-color: ${token.color.redDark};\n }\n\n @container (max-width: ${DESKTOP - 1}px) {\n .${ELEMENT_UTILITY_MOBILE_BUTTON} svg {\n fill: ${token.color.white};\n width: 18px;\n height: 18px;\n }\n }\n`;\n\n// prettier-ignore\nconst LogoStyles = `\n .${ELEMENT_UTILITY_LOGO_COLUMN} {\n display: flex;\n opacity: 0;\n transition: opacity .3s ease-in;\n padding: 10px 0;\n }\n\n @media (max-width: ${TABLET - 1}px) {\n .${ELEMENT_UTILITY_LOGO_COLUMN} {\n flex-direction: column;\n gap: ${token.spacing.min};\n text-align: center;\n }\n }\n\n @media (min-width: ${TABLET}px) {\n .${ELEMENT_UTILITY_LOGO_COLUMN} {\n align-items: center;\n gap: ${token.spacing.xs};\n }\n }\n\n .${ELEMENT_UTILITY_LOGO_COLUMN} * {\n color: ${token.color.white};\n\n }\n\n .${ELEMENT_UTILITY_LOGO_COLUMN} > p {\n display: block;\n font-size: 11px;\n }\n\n @media (max-width: ${TABLET - 1}px) {\n ${OVERWRIE_WRAPPER_WITH_ITEMS} .${ELEMENT_UTILITY_LOGO_COLUMN} > p {\n display: none;\n }\n }\n\n @media (min-width: ${TABLET}px) {\n .${ELEMENT_UTILITY_LOGO_COLUMN} > p {\n position: relative;\n font-size: 13px;\n }\n\n .${ELEMENT_UTILITY_LOGO_COLUMN} > p:before {\n content: '';\n position: absolute;\n left: -4px;\n height: 100%;\n width: 1px;\n background-color: ${token.color.white};\n }\n }\n\n .${ELEMENT_UTILITY_LOGO} {\n font-family: Crimson Text, Georgia, serif;\n letter-spacing: 1px;\n font-size: 14px;\n text-transform: uppercase;\n }\n`;\n\nlet STYLES_NAVIGATION_UTILITY = `\n .${ELEMENT_UTILITY_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_UTILITY_CONTAINTER} {\n display: block;\n background-color: ${token.color.red};\n position: relative;\n z-index: 999;\n }\n\n ${LockStyles}\n ${WrapperStyles}\n ${LogoStyles}\n ${MenuStyles}\n ${MobileButtonStyles}\n ${MobileMenuStyles}\n ${STYLES_NAV_ALERT}\n ${UtilitySearch.Styles}\n`;\n\nconst CreateSearchFormButton = ({\n expandElement,\n}: {\n expandElement: HTMLDivElement | HTMLFormElement;\n}) => {\n const button = document.createElement('button');\n const elements = Array.from(expandElement.querySelectorAll('div'));\n let focusCallback = () => {};\n\n const eventClose = () => {\n expandElement.style.height = `0`;\n\n setTimeout(() => {\n expandElement.style.display = 'none';\n expandElement.setAttribute('aria-hidden', 'true');\n button.setAttribute('aria-expanded', 'false');\n button.focus();\n\n if (focusCallback) {\n focusCallback();\n focusCallback = () => {};\n }\n }, ANIMATION_OUT_SPEED + 100);\n };\n\n const eventOpen = () => {\n const focusElement = expandElement.querySelector(\n 'input[type=\"text\"]',\n ) as HTMLInputElement;\n\n expandElement.style.display = 'block';\n\n setTimeout(() => {\n const size = elements.reduce((accumulator, currentValue) => {\n return accumulator + currentValue.offsetHeight;\n }, 0);\n\n expandElement.setAttribute('aria-hidden', 'false');\n expandElement.style.height = `${size}px`;\n button.setAttribute('aria-expanded', 'true');\n if (focusElement) focusElement.focus();\n }, 100);\n\n focusCallback = handleKeyboardNavigation({\n element: expandElement,\n action: () => eventClose(),\n });\n };\n\n button.setAttribute('aria-label', 'enable the search form');\n button.setAttribute('type', 'button');\n button.innerHTML = `${iconSearch}`;\n button.setAttribute('aria-controls', UtilitySearch.Elements.form);\n button.classList.add(ELEMENT_UTILITY_SEARCH_BUTTON);\n button.setAttribute('aria-expanded', 'false');\n\n button.addEventListener('click', () => {\n const isExpanded = button.getAttribute('aria-expanded') === 'true';\n\n if (isExpanded) {\n eventClose();\n } else {\n eventOpen();\n }\n });\n\n return button;\n};\n\nconst CreateMobileMenuButton = ({\n expandElement,\n}: {\n expandElement: HTMLDivElement;\n}) => {\n const button = document.createElement('button');\n let focusCallback = () => {};\n\n const eventClose = () => {\n expandElement.style.height = `0`;\n\n setTimeout(() => {\n expandElement.style.display = 'none';\n expandElement.setAttribute('aria-hidden', 'true');\n button.setAttribute('aria-expanded', 'false');\n button.focus();\n\n if (focusCallback) {\n focusCallback();\n focusCallback = () => {};\n }\n }, ANIMATION_OUT_SPEED + 100);\n };\n\n const eventOpen = () => {\n const wrapper = expandElement.querySelector(\n `.${ELEMENT_UTILITY_MENU}`,\n ) as HTMLElement;\n const focusElement = expandElement.querySelector('a') as HTMLAnchorElement;\n\n expandElement.style.display = 'block';\n\n setTimeout(() => {\n expandElement.setAttribute('aria-hidden', 'false');\n expandElement.style.height = `${wrapper.offsetHeight}px`;\n button.setAttribute('aria-expanded', 'true');\n if (focusElement) focusElement.focus();\n }, 100);\n\n focusCallback = handleKeyboardNavigation({\n element: expandElement,\n action: () => eventClose(),\n });\n };\n\n button.innerHTML = `${iconChevronDown}`;\n button.setAttribute('type', 'button');\n button.setAttribute('aria-label', 'toggle mobile menu');\n button.setAttribute('aria-controls', `${ELEMENT_UTILITY_MOBILE_MENU}`);\n button.classList.add(ELEMENT_UTILITY_MOBILE_BUTTON);\n\n button.addEventListener('click', () => {\n const isExpanded = button.getAttribute('aria-expanded') === 'true';\n\n if (isExpanded) {\n eventClose();\n } else {\n eventOpen();\n }\n });\n\n return button;\n};\n\nconst createLogoElement = () => {\n const logo = document.createElement('a');\n\n logo.innerHTML = 'University of Maryland';\n logo.setAttribute('href', 'https://umd.edu');\n logo.setAttribute('target', '_blank');\n logo.setAttribute('rel', 'noopener noreferrer');\n logo.classList.add(ELEMENT_UTILITY_LOGO);\n\n return logo;\n};\n\nconst createLogoColumn = () => {\n const container = document.createElement('div');\n const text = document.createElement('p');\n const logo = createLogoElement();\n\n text.innerHTML = TOP_TWENTY_TEXT;\n\n container.appendChild(logo);\n container.appendChild(text);\n container.classList.add(ELEMENT_UTILITY_LOGO_COLUMN);\n\n setTimeout(() => {\n container.style.opacity = '1';\n }, 400);\n\n return container;\n};\n\nconst CreateMenuItems = ({\n isAdmissionsFeed,\n isEventsFeed,\n isGiftsFeed,\n isNewsFeed,\n isSchoolsFeed,\n isSearch,\n giftUrl,\n isSearchDomain,\n}: TypeMenuItemsRequirements) => {\n const container = document.createElement('div');\n\n const isValidUrl = (url: string) => {\n try {\n new URL(url);\n } catch (e) {\n return false;\n }\n return true;\n };\n\n const makeLinkElement = ({\n name,\n icon,\n url,\n }: {\n name: string;\n icon: string;\n url: string;\n }) => {\n const tag = document.createElement('a');\n\n tag.setAttribute('href', url);\n tag.setAttribute('target', '_blank');\n tag.setAttribute('rel', 'noopener noreferrer');\n tag.innerHTML = `${icon} <span>${name}</span>`;\n\n return tag;\n };\n\n let hasItems = false;\n\n if (isAdmissionsFeed) {\n hasItems = true;\n\n container.appendChild(\n makeLinkElement({\n name: 'Admissions',\n url: 'https://umd.edu/admissions',\n icon: flagIcon,\n }),\n );\n }\n\n if (isSchoolsFeed) {\n hasItems = true;\n\n container.appendChild(\n makeLinkElement({\n name: 'Colleges & Schools',\n url: 'https://umd.edu/colleges-and-schools',\n icon: homeIcon,\n }),\n );\n }\n\n if (isNewsFeed) {\n hasItems = true;\n\n container.appendChild(\n makeLinkElement({\n name: 'News',\n url: 'https://today.umd.edu/',\n icon: starIcon,\n }),\n );\n }\n\n if (isEventsFeed) {\n hasItems = true;\n\n container.appendChild(\n makeLinkElement({\n name: 'Events',\n url: 'https://calendar.umd.edu',\n icon: calendarIcon,\n }),\n );\n }\n\n if (isGiftsFeed) {\n hasItems = true;\n const getURL = () => {\n const defaultURL = 'https://giving.umd.edu/giving';\n\n if (!giftUrl) return defaultURL;\n\n const validURL = giftUrl ? isValidUrl(giftUrl) : null;\n return validURL ? giftUrl : defaultURL;\n };\n\n container.appendChild(\n makeLinkElement({\n name: 'Make a Gift',\n url: getURL(),\n icon: mIcon,\n }),\n );\n }\n\n if (isSearch || isSearchDomain) {\n hasItems = true;\n const formElement = UtilitySearch.CreateElement({ isSearchDomain });\n const button = CreateSearchFormButton({\n expandElement: formElement,\n });\n\n container.appendChild(button);\n container.appendChild(formElement);\n }\n\n container.classList.add(ELEMENT_UTILITY_MENU);\n\n if (!hasItems) return null;\n\n return container;\n};\n\nconst CreateNavigationUtility = (props: TypeUtilityRequirements) =>\n (() => {\n {\n const { isLockFull, isAlertOff } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const lock = document.createElement('div');\n const wrapper = document.createElement('div');\n const logoColumn = createLogoColumn();\n\n const secondaryCta = elementStyles.action.secondary.normal;\n\n let styles = STYLES_NAVIGATION_UTILITY + jssEntryToCSS(secondaryCta);\n\n const setLayout = () => {\n const menuItems = CreateMenuItems({ ...props });\n const mobileMenu = document.createElement('div');\n const mobileMenuButton = CreateMobileMenuButton({\n expandElement: mobileMenu,\n });\n\n mobileMenu.setAttribute('id', `${ELEMENT_UTILITY_MOBILE_MENU}`);\n mobileMenu.classList.add(ELEMENT_UTILITY_MOBILE_MENU);\n mobileMenu.setAttribute('aria-hidden', (!isDesktop()).toString());\n\n if (menuItems) {\n mobileMenu.appendChild(menuItems);\n wrapper.appendChild(mobileMenuButton);\n wrapper.appendChild(mobileMenu);\n container.setAttribute(WITH_ITEMS, 'true');\n } else {\n container.setAttribute(WITH_ITEMS, 'false');\n }\n };\n\n const resizeEvent = () => {\n const isDesktop = window.innerWidth >= DESKTOP;\n\n const form = container.querySelector(`.${UtilitySearch.Elements.form}`);\n const menu = container.querySelector(`.${ELEMENT_UTILITY_MOBILE_MENU}`);\n\n if (!form || !menu) return;\n\n if (isDesktop) {\n menu.setAttribute('aria-hidden', 'false');\n form.setAttribute('aria-hidden', 'true');\n form.setAttribute('layout', 'desktop');\n } else {\n menu.setAttribute('aria-hidden', 'true');\n form.setAttribute('aria-hidden', 'false');\n form.setAttribute('layout', 'mobile');\n }\n };\n\n const load = async () => {\n if (!isAlertOff) {\n const alert = await createNavAlert(props);\n\n if (alert) {\n container.insertBefore(alert?.element, container.firstChild);\n }\n }\n\n setLayout();\n resizeEvent();\n };\n\n const showAlert = async () => {\n const isCurrentAlert = container.querySelector(\n `.${ALERT_CONSTANTS.ELEMENTS.CONTAINER}`,\n );\n\n if (isCurrentAlert) return;\n\n const alert = await createNavAlert(props);\n\n if (alert) {\n container.insertBefore(alert?.element, container.firstChild);\n }\n };\n\n const hideAlert = () => {\n const alert = container.querySelector(\n `.${ALERT_CONSTANTS.ELEMENTS.CONTAINER}`,\n );\n\n if (alert) {\n alert.remove();\n }\n };\n\n wrapper.appendChild(logoColumn);\n wrapper.classList.add(ELEMENT_UTILITY_WRAPPER);\n\n lock.appendChild(wrapper);\n lock.classList.add(ELEMENT_UTILITY_LOCK);\n\n container.appendChild(lock);\n container.classList.add(ELEMENT_UTILITY_CONTAINTER);\n if (isLockFull) container.setAttribute(ATTRIBUTE_LOCK, LOCK_FULL);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_UTILITY_DECLARATION);\n\n load();\n window.addEventListener('resize', resizeEvent);\n\n return {\n element: declaration,\n styles,\n events: {\n showAlert,\n hideAlert,\n },\n };\n }\n })();\n\nexport default CreateNavigationUtility;\n"],"names":["iconSearch","iconChevronDown","isDesktop"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const token = require("@universityofmaryland/web-styles-library/token");
2
+ const token = require("@universityofmaryland/web-token-library");
3
3
  function _interopNamespaceDefault(e) {
4
4
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
5
5
  if (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sources":["../../../../source/composite/navigation/utility/search.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\n\ntype TypeUtilitySearchProps = {\n isSearchDomain?: boolean;\n};\n\nconst SEARCH_URL = 'https://search.umd.edu';\nconst ANIMATION_IN_SPEED = 800;\nconst ANIMATION_OUT_SPEED = 400;\nconst LARGE = 1024;\n\nconst ATTRIBUTE_LAYOUT = 'layout';\nconst LAYOUT_DESKTOP = 'desktop';\nconst LAYOUT_MOBILE = 'mobile';\n\nconst IS_LAYOUT_DESKTOP = `[${ATTRIBUTE_LAYOUT}=${LAYOUT_DESKTOP}]`;\nconst IS_LAYOUT_MOBILE = `[${ATTRIBUTE_LAYOUT}=${LAYOUT_MOBILE}]`;\n\nconst ELEMENT_UTILITY_FORM = 'element-utility-form';\nconst ELEMENT_UTILITY_FORM_WRAPPER = 'element-utility-form-wrapper';\n\nconst OVERWRITE_UTILITY_FORM_LAYOUT_DESKTOP = `.${ELEMENT_UTILITY_FORM}${IS_LAYOUT_DESKTOP}`;\nconst OVERWRITE_UTILITY_FORM_LAYOUT_MOBILE = `.${ELEMENT_UTILITY_FORM}${IS_LAYOUT_MOBILE}`;\n\nconst OverwriteLayoutDesktop = `\n ${OVERWRITE_UTILITY_FORM_LAYOUT_DESKTOP} {\n margin: 0;\n padding: 0;\n display: none;\n overflow: hidden;\n min-width: 420px;\n height: 0;\n position: absolute;\n top: 48px;\n right: 0;\n background-color: ${token.color.white};\n transition: height ${ANIMATION_OUT_SPEED}ms;\n }\n\n ${ELEMENT_UTILITY_FORM}[aria-hidden=\"true\"] {\n transition: height ${ANIMATION_OUT_SPEED}ms;\n }\n\n ${ELEMENT_UTILITY_FORM}[aria-hidden=\"false\"] {\n transition: height ${ANIMATION_IN_SPEED}ms;\n }\n`;\n\nconst OverwriteLayoutMobile = `\n ${OVERWRITE_UTILITY_FORM_LAYOUT_MOBILE} {\n padding: ${token.spacing.md} ${token.spacing.lg};\n order: 1;\n display: block;\n height: auto;\n }\n`;\n\n// prettier-ignore\nconst FormElementsStyles = `\n .${ELEMENT_UTILITY_FORM} input[type=\"text\"] {\n width: calc(100% - 120px);\n display: block;\n padding: 0 10px;\n height: 44px;\n font-family: Source Sans,Source Sans Pro,sans-serif;\n font-size: 13px;\n line-height: 1.3;\n border: 1px solid #ccc;\n }\n\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"] {\n border: none;\n background-color: ${token.color.red};\n color: ${token.color.white};\n font-weight: 700;\n font-size: 12px;\n transition: background ${ANIMATION_OUT_SPEED}ms;\n min-width: 120px;\n height: 44px;\n }\n\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"]:hover,\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"]:focus {\n background-color: ${token.color.redDark};\n transition: background ${ANIMATION_IN_SPEED}ms;\n }\n`;\n\n// prettier-ignore\nconst FormWrapperStyles = `\n .${ELEMENT_UTILITY_FORM_WRAPPER} {\n display: flex;\n }\n\n @container (min-width: ${LARGE}px) {\n .${ELEMENT_UTILITY_FORM_WRAPPER} {\n padding: 10px;\n }\n }\n`;\n\n// prettier-ignore\nconst STYLES_NAV_UTILITY_SEARCH = `\n ${FormWrapperStyles}\n ${FormElementsStyles}\n ${OverwriteLayoutDesktop}\n ${OverwriteLayoutMobile}\n`\n\nconst CreateNavUtilitySearch = ({ isSearchDomain }: TypeUtilitySearchProps) =>\n (() => {\n const isDesktop = window.innerWidth >= LARGE;\n const form = document.createElement('form');\n const wrapper = document.createElement('div');\n const inputTextLabel = document.createElement('label');\n const inputText = document.createElement('input');\n const inputSubmit = document.createElement('input');\n\n inputTextLabel.innerHTML = 'Search input';\n inputTextLabel.setAttribute('for', 'input-text');\n inputTextLabel.classList.add('sr-only');\n\n inputText.setAttribute('type', 'text');\n inputText.setAttribute('id', 'input-text');\n inputText.setAttribute('name', 'query');\n inputText.setAttribute(\n 'placeholder',\n 'Search for People, places and things',\n );\n inputText.setAttribute('required', '');\n\n inputSubmit.setAttribute('type', 'submit');\n inputSubmit.value = 'Submit';\n\n wrapper.appendChild(inputTextLabel);\n wrapper.appendChild(inputText);\n wrapper.appendChild(inputSubmit);\n wrapper.classList.add(ELEMENT_UTILITY_FORM_WRAPPER);\n\n form.setAttribute('id', ELEMENT_UTILITY_FORM);\n form.classList.add(ELEMENT_UTILITY_FORM);\n form.addEventListener('submit', (event) => {\n event.preventDefault();\n\n let searchString = `#gsc.tab=0&gsc`;\n\n if (isSearchDomain) {\n searchString += `.q=site:${window.location.hostname} ${inputText.value}`;\n } else {\n searchString += `.q=${inputText.value}`;\n }\n\n searchString += `&gsc.sort=`;\n\n window.open(`${SEARCH_URL}${encodeURI(searchString)}`, '_blank');\n });\n\n if (isDesktop) {\n form.setAttribute('aria-hidden', 'true');\n form.setAttribute(ATTRIBUTE_LAYOUT, LAYOUT_DESKTOP);\n } else {\n form.setAttribute('aria-hidden', 'false');\n form.setAttribute(ATTRIBUTE_LAYOUT, LAYOUT_MOBILE);\n }\n\n form.appendChild(wrapper);\n\n return form;\n })();\n\nexport default {\n CreateElement: CreateNavUtilitySearch,\n Styles: STYLES_NAV_UTILITY_SEARCH,\n Elements: {\n form: ELEMENT_UTILITY_FORM,\n },\n};\n"],"names":["token"],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sources":["../../../../source/composite/navigation/utility/search.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\n\ntype TypeUtilitySearchProps = {\n isSearchDomain?: boolean;\n};\n\nconst SEARCH_URL = 'https://search.umd.edu';\nconst ANIMATION_IN_SPEED = 800;\nconst ANIMATION_OUT_SPEED = 400;\nconst LARGE = 1024;\n\nconst ATTRIBUTE_LAYOUT = 'layout';\nconst LAYOUT_DESKTOP = 'desktop';\nconst LAYOUT_MOBILE = 'mobile';\n\nconst IS_LAYOUT_DESKTOP = `[${ATTRIBUTE_LAYOUT}=${LAYOUT_DESKTOP}]`;\nconst IS_LAYOUT_MOBILE = `[${ATTRIBUTE_LAYOUT}=${LAYOUT_MOBILE}]`;\n\nconst ELEMENT_UTILITY_FORM = 'element-utility-form';\nconst ELEMENT_UTILITY_FORM_WRAPPER = 'element-utility-form-wrapper';\n\nconst OVERWRITE_UTILITY_FORM_LAYOUT_DESKTOP = `.${ELEMENT_UTILITY_FORM}${IS_LAYOUT_DESKTOP}`;\nconst OVERWRITE_UTILITY_FORM_LAYOUT_MOBILE = `.${ELEMENT_UTILITY_FORM}${IS_LAYOUT_MOBILE}`;\n\nconst OverwriteLayoutDesktop = `\n ${OVERWRITE_UTILITY_FORM_LAYOUT_DESKTOP} {\n margin: 0;\n padding: 0;\n display: none;\n overflow: hidden;\n min-width: 420px;\n height: 0;\n position: absolute;\n top: 48px;\n right: 0;\n background-color: ${token.color.white};\n transition: height ${ANIMATION_OUT_SPEED}ms;\n }\n\n ${ELEMENT_UTILITY_FORM}[aria-hidden=\"true\"] {\n transition: height ${ANIMATION_OUT_SPEED}ms;\n }\n\n ${ELEMENT_UTILITY_FORM}[aria-hidden=\"false\"] {\n transition: height ${ANIMATION_IN_SPEED}ms;\n }\n`;\n\nconst OverwriteLayoutMobile = `\n ${OVERWRITE_UTILITY_FORM_LAYOUT_MOBILE} {\n padding: ${token.spacing.md} ${token.spacing.lg};\n order: 1;\n display: block;\n height: auto;\n }\n`;\n\n// prettier-ignore\nconst FormElementsStyles = `\n .${ELEMENT_UTILITY_FORM} input[type=\"text\"] {\n width: calc(100% - 120px);\n display: block;\n padding: 0 10px;\n height: 44px;\n font-family: Source Sans,Source Sans Pro,sans-serif;\n font-size: 13px;\n line-height: 1.3;\n border: 1px solid #ccc;\n }\n\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"] {\n border: none;\n background-color: ${token.color.red};\n color: ${token.color.white};\n font-weight: 700;\n font-size: 12px;\n transition: background ${ANIMATION_OUT_SPEED}ms;\n min-width: 120px;\n height: 44px;\n }\n\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"]:hover,\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"]:focus {\n background-color: ${token.color.redDark};\n transition: background ${ANIMATION_IN_SPEED}ms;\n }\n`;\n\n// prettier-ignore\nconst FormWrapperStyles = `\n .${ELEMENT_UTILITY_FORM_WRAPPER} {\n display: flex;\n }\n\n @container (min-width: ${LARGE}px) {\n .${ELEMENT_UTILITY_FORM_WRAPPER} {\n padding: 10px;\n }\n }\n`;\n\n// prettier-ignore\nconst STYLES_NAV_UTILITY_SEARCH = `\n ${FormWrapperStyles}\n ${FormElementsStyles}\n ${OverwriteLayoutDesktop}\n ${OverwriteLayoutMobile}\n`\n\nconst CreateNavUtilitySearch = ({ isSearchDomain }: TypeUtilitySearchProps) =>\n (() => {\n const isDesktop = window.innerWidth >= LARGE;\n const form = document.createElement('form');\n const wrapper = document.createElement('div');\n const inputTextLabel = document.createElement('label');\n const inputText = document.createElement('input');\n const inputSubmit = document.createElement('input');\n\n inputTextLabel.innerHTML = 'Search input';\n inputTextLabel.setAttribute('for', 'input-text');\n inputTextLabel.classList.add('sr-only');\n\n inputText.setAttribute('type', 'text');\n inputText.setAttribute('id', 'input-text');\n inputText.setAttribute('name', 'query');\n inputText.setAttribute(\n 'placeholder',\n 'Search for People, places and things',\n );\n inputText.setAttribute('required', '');\n\n inputSubmit.setAttribute('type', 'submit');\n inputSubmit.value = 'Submit';\n\n wrapper.appendChild(inputTextLabel);\n wrapper.appendChild(inputText);\n wrapper.appendChild(inputSubmit);\n wrapper.classList.add(ELEMENT_UTILITY_FORM_WRAPPER);\n\n form.setAttribute('id', ELEMENT_UTILITY_FORM);\n form.classList.add(ELEMENT_UTILITY_FORM);\n form.addEventListener('submit', (event) => {\n event.preventDefault();\n\n let searchString = `#gsc.tab=0&gsc`;\n\n if (isSearchDomain) {\n searchString += `.q=site:${window.location.hostname} ${inputText.value}`;\n } else {\n searchString += `.q=${inputText.value}`;\n }\n\n searchString += `&gsc.sort=`;\n\n window.open(`${SEARCH_URL}${encodeURI(searchString)}`, '_blank');\n });\n\n if (isDesktop) {\n form.setAttribute('aria-hidden', 'true');\n form.setAttribute(ATTRIBUTE_LAYOUT, LAYOUT_DESKTOP);\n } else {\n form.setAttribute('aria-hidden', 'false');\n form.setAttribute(ATTRIBUTE_LAYOUT, LAYOUT_MOBILE);\n }\n\n form.appendChild(wrapper);\n\n return form;\n })();\n\nexport default {\n CreateElement: CreateNavUtilitySearch,\n Styles: STYLES_NAV_UTILITY_SEARCH,\n Elements: {\n form: ELEMENT_UTILITY_FORM,\n },\n};\n"],"names":["token"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as token from "@universityofmaryland/web-styles-library/token";
1
+ import * as token from "@universityofmaryland/web-token-library";
2
2
  const SEARCH_URL = "https://search.umd.edu";
3
3
  const ANIMATION_IN_SPEED = 800;
4
4
  const ANIMATION_OUT_SPEED = 400;
@@ -1 +1 @@
1
- {"version":3,"file":"search.mjs","sources":["../../../../source/composite/navigation/utility/search.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\n\ntype TypeUtilitySearchProps = {\n isSearchDomain?: boolean;\n};\n\nconst SEARCH_URL = 'https://search.umd.edu';\nconst ANIMATION_IN_SPEED = 800;\nconst ANIMATION_OUT_SPEED = 400;\nconst LARGE = 1024;\n\nconst ATTRIBUTE_LAYOUT = 'layout';\nconst LAYOUT_DESKTOP = 'desktop';\nconst LAYOUT_MOBILE = 'mobile';\n\nconst IS_LAYOUT_DESKTOP = `[${ATTRIBUTE_LAYOUT}=${LAYOUT_DESKTOP}]`;\nconst IS_LAYOUT_MOBILE = `[${ATTRIBUTE_LAYOUT}=${LAYOUT_MOBILE}]`;\n\nconst ELEMENT_UTILITY_FORM = 'element-utility-form';\nconst ELEMENT_UTILITY_FORM_WRAPPER = 'element-utility-form-wrapper';\n\nconst OVERWRITE_UTILITY_FORM_LAYOUT_DESKTOP = `.${ELEMENT_UTILITY_FORM}${IS_LAYOUT_DESKTOP}`;\nconst OVERWRITE_UTILITY_FORM_LAYOUT_MOBILE = `.${ELEMENT_UTILITY_FORM}${IS_LAYOUT_MOBILE}`;\n\nconst OverwriteLayoutDesktop = `\n ${OVERWRITE_UTILITY_FORM_LAYOUT_DESKTOP} {\n margin: 0;\n padding: 0;\n display: none;\n overflow: hidden;\n min-width: 420px;\n height: 0;\n position: absolute;\n top: 48px;\n right: 0;\n background-color: ${token.color.white};\n transition: height ${ANIMATION_OUT_SPEED}ms;\n }\n\n ${ELEMENT_UTILITY_FORM}[aria-hidden=\"true\"] {\n transition: height ${ANIMATION_OUT_SPEED}ms;\n }\n\n ${ELEMENT_UTILITY_FORM}[aria-hidden=\"false\"] {\n transition: height ${ANIMATION_IN_SPEED}ms;\n }\n`;\n\nconst OverwriteLayoutMobile = `\n ${OVERWRITE_UTILITY_FORM_LAYOUT_MOBILE} {\n padding: ${token.spacing.md} ${token.spacing.lg};\n order: 1;\n display: block;\n height: auto;\n }\n`;\n\n// prettier-ignore\nconst FormElementsStyles = `\n .${ELEMENT_UTILITY_FORM} input[type=\"text\"] {\n width: calc(100% - 120px);\n display: block;\n padding: 0 10px;\n height: 44px;\n font-family: Source Sans,Source Sans Pro,sans-serif;\n font-size: 13px;\n line-height: 1.3;\n border: 1px solid #ccc;\n }\n\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"] {\n border: none;\n background-color: ${token.color.red};\n color: ${token.color.white};\n font-weight: 700;\n font-size: 12px;\n transition: background ${ANIMATION_OUT_SPEED}ms;\n min-width: 120px;\n height: 44px;\n }\n\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"]:hover,\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"]:focus {\n background-color: ${token.color.redDark};\n transition: background ${ANIMATION_IN_SPEED}ms;\n }\n`;\n\n// prettier-ignore\nconst FormWrapperStyles = `\n .${ELEMENT_UTILITY_FORM_WRAPPER} {\n display: flex;\n }\n\n @container (min-width: ${LARGE}px) {\n .${ELEMENT_UTILITY_FORM_WRAPPER} {\n padding: 10px;\n }\n }\n`;\n\n// prettier-ignore\nconst STYLES_NAV_UTILITY_SEARCH = `\n ${FormWrapperStyles}\n ${FormElementsStyles}\n ${OverwriteLayoutDesktop}\n ${OverwriteLayoutMobile}\n`\n\nconst CreateNavUtilitySearch = ({ isSearchDomain }: TypeUtilitySearchProps) =>\n (() => {\n const isDesktop = window.innerWidth >= LARGE;\n const form = document.createElement('form');\n const wrapper = document.createElement('div');\n const inputTextLabel = document.createElement('label');\n const inputText = document.createElement('input');\n const inputSubmit = document.createElement('input');\n\n inputTextLabel.innerHTML = 'Search input';\n inputTextLabel.setAttribute('for', 'input-text');\n inputTextLabel.classList.add('sr-only');\n\n inputText.setAttribute('type', 'text');\n inputText.setAttribute('id', 'input-text');\n inputText.setAttribute('name', 'query');\n inputText.setAttribute(\n 'placeholder',\n 'Search for People, places and things',\n );\n inputText.setAttribute('required', '');\n\n inputSubmit.setAttribute('type', 'submit');\n inputSubmit.value = 'Submit';\n\n wrapper.appendChild(inputTextLabel);\n wrapper.appendChild(inputText);\n wrapper.appendChild(inputSubmit);\n wrapper.classList.add(ELEMENT_UTILITY_FORM_WRAPPER);\n\n form.setAttribute('id', ELEMENT_UTILITY_FORM);\n form.classList.add(ELEMENT_UTILITY_FORM);\n form.addEventListener('submit', (event) => {\n event.preventDefault();\n\n let searchString = `#gsc.tab=0&gsc`;\n\n if (isSearchDomain) {\n searchString += `.q=site:${window.location.hostname} ${inputText.value}`;\n } else {\n searchString += `.q=${inputText.value}`;\n }\n\n searchString += `&gsc.sort=`;\n\n window.open(`${SEARCH_URL}${encodeURI(searchString)}`, '_blank');\n });\n\n if (isDesktop) {\n form.setAttribute('aria-hidden', 'true');\n form.setAttribute(ATTRIBUTE_LAYOUT, LAYOUT_DESKTOP);\n } else {\n form.setAttribute('aria-hidden', 'false');\n form.setAttribute(ATTRIBUTE_LAYOUT, LAYOUT_MOBILE);\n }\n\n form.appendChild(wrapper);\n\n return form;\n })();\n\nexport default {\n CreateElement: CreateNavUtilitySearch,\n Styles: STYLES_NAV_UTILITY_SEARCH,\n Elements: {\n form: ELEMENT_UTILITY_FORM,\n },\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.mjs","sources":["../../../../source/composite/navigation/utility/search.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\n\ntype TypeUtilitySearchProps = {\n isSearchDomain?: boolean;\n};\n\nconst SEARCH_URL = 'https://search.umd.edu';\nconst ANIMATION_IN_SPEED = 800;\nconst ANIMATION_OUT_SPEED = 400;\nconst LARGE = 1024;\n\nconst ATTRIBUTE_LAYOUT = 'layout';\nconst LAYOUT_DESKTOP = 'desktop';\nconst LAYOUT_MOBILE = 'mobile';\n\nconst IS_LAYOUT_DESKTOP = `[${ATTRIBUTE_LAYOUT}=${LAYOUT_DESKTOP}]`;\nconst IS_LAYOUT_MOBILE = `[${ATTRIBUTE_LAYOUT}=${LAYOUT_MOBILE}]`;\n\nconst ELEMENT_UTILITY_FORM = 'element-utility-form';\nconst ELEMENT_UTILITY_FORM_WRAPPER = 'element-utility-form-wrapper';\n\nconst OVERWRITE_UTILITY_FORM_LAYOUT_DESKTOP = `.${ELEMENT_UTILITY_FORM}${IS_LAYOUT_DESKTOP}`;\nconst OVERWRITE_UTILITY_FORM_LAYOUT_MOBILE = `.${ELEMENT_UTILITY_FORM}${IS_LAYOUT_MOBILE}`;\n\nconst OverwriteLayoutDesktop = `\n ${OVERWRITE_UTILITY_FORM_LAYOUT_DESKTOP} {\n margin: 0;\n padding: 0;\n display: none;\n overflow: hidden;\n min-width: 420px;\n height: 0;\n position: absolute;\n top: 48px;\n right: 0;\n background-color: ${token.color.white};\n transition: height ${ANIMATION_OUT_SPEED}ms;\n }\n\n ${ELEMENT_UTILITY_FORM}[aria-hidden=\"true\"] {\n transition: height ${ANIMATION_OUT_SPEED}ms;\n }\n\n ${ELEMENT_UTILITY_FORM}[aria-hidden=\"false\"] {\n transition: height ${ANIMATION_IN_SPEED}ms;\n }\n`;\n\nconst OverwriteLayoutMobile = `\n ${OVERWRITE_UTILITY_FORM_LAYOUT_MOBILE} {\n padding: ${token.spacing.md} ${token.spacing.lg};\n order: 1;\n display: block;\n height: auto;\n }\n`;\n\n// prettier-ignore\nconst FormElementsStyles = `\n .${ELEMENT_UTILITY_FORM} input[type=\"text\"] {\n width: calc(100% - 120px);\n display: block;\n padding: 0 10px;\n height: 44px;\n font-family: Source Sans,Source Sans Pro,sans-serif;\n font-size: 13px;\n line-height: 1.3;\n border: 1px solid #ccc;\n }\n\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"] {\n border: none;\n background-color: ${token.color.red};\n color: ${token.color.white};\n font-weight: 700;\n font-size: 12px;\n transition: background ${ANIMATION_OUT_SPEED}ms;\n min-width: 120px;\n height: 44px;\n }\n\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"]:hover,\n .${ELEMENT_UTILITY_FORM} input[type=\"submit\"]:focus {\n background-color: ${token.color.redDark};\n transition: background ${ANIMATION_IN_SPEED}ms;\n }\n`;\n\n// prettier-ignore\nconst FormWrapperStyles = `\n .${ELEMENT_UTILITY_FORM_WRAPPER} {\n display: flex;\n }\n\n @container (min-width: ${LARGE}px) {\n .${ELEMENT_UTILITY_FORM_WRAPPER} {\n padding: 10px;\n }\n }\n`;\n\n// prettier-ignore\nconst STYLES_NAV_UTILITY_SEARCH = `\n ${FormWrapperStyles}\n ${FormElementsStyles}\n ${OverwriteLayoutDesktop}\n ${OverwriteLayoutMobile}\n`\n\nconst CreateNavUtilitySearch = ({ isSearchDomain }: TypeUtilitySearchProps) =>\n (() => {\n const isDesktop = window.innerWidth >= LARGE;\n const form = document.createElement('form');\n const wrapper = document.createElement('div');\n const inputTextLabel = document.createElement('label');\n const inputText = document.createElement('input');\n const inputSubmit = document.createElement('input');\n\n inputTextLabel.innerHTML = 'Search input';\n inputTextLabel.setAttribute('for', 'input-text');\n inputTextLabel.classList.add('sr-only');\n\n inputText.setAttribute('type', 'text');\n inputText.setAttribute('id', 'input-text');\n inputText.setAttribute('name', 'query');\n inputText.setAttribute(\n 'placeholder',\n 'Search for People, places and things',\n );\n inputText.setAttribute('required', '');\n\n inputSubmit.setAttribute('type', 'submit');\n inputSubmit.value = 'Submit';\n\n wrapper.appendChild(inputTextLabel);\n wrapper.appendChild(inputText);\n wrapper.appendChild(inputSubmit);\n wrapper.classList.add(ELEMENT_UTILITY_FORM_WRAPPER);\n\n form.setAttribute('id', ELEMENT_UTILITY_FORM);\n form.classList.add(ELEMENT_UTILITY_FORM);\n form.addEventListener('submit', (event) => {\n event.preventDefault();\n\n let searchString = `#gsc.tab=0&gsc`;\n\n if (isSearchDomain) {\n searchString += `.q=site:${window.location.hostname} ${inputText.value}`;\n } else {\n searchString += `.q=${inputText.value}`;\n }\n\n searchString += `&gsc.sort=`;\n\n window.open(`${SEARCH_URL}${encodeURI(searchString)}`, '_blank');\n });\n\n if (isDesktop) {\n form.setAttribute('aria-hidden', 'true');\n form.setAttribute(ATTRIBUTE_LAYOUT, LAYOUT_DESKTOP);\n } else {\n form.setAttribute('aria-hidden', 'false');\n form.setAttribute(ATTRIBUTE_LAYOUT, LAYOUT_MOBILE);\n }\n\n form.appendChild(wrapper);\n\n return form;\n })();\n\nexport default {\n CreateElement: CreateNavUtilitySearch,\n Styles: STYLES_NAV_UTILITY_SEARCH,\n Elements: {\n form: ELEMENT_UTILITY_FORM,\n },\n};\n"],"names":[],"mappings":"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"}
@@ -1,22 +1,6 @@
1
1
  import { PathwayTextLockupProps, PathwayAssetProps } from './_types';
2
- export declare const createCompositeHeadline: ({ headline, isThemeDark, isThemeMaryland, }: Pick<PathwayTextLockupProps, "headline" | "isThemeDark" | "isThemeMaryland">) => {
3
- element: HTMLElement;
4
- className: string;
5
- styles: string;
6
- } | null;
7
- export declare const createCompositeStat: ({ stats, }: Pick<PathwayTextLockupProps, "stats">) => {
8
- element: HTMLElement;
9
- className: string;
10
- styles: string;
11
- } | null;
12
- export declare const createTextLockupMedium: (props: Pick<PathwayTextLockupProps, "stats" | "actions" | "eventDetails" | "eyebrow" | "headline" | "stats" | "text" | "isThemeDark" | "isThemeMaryland">) => {
13
- element: HTMLElement;
14
- className: string;
15
- styles: string;
16
- };
17
- export declare const createAssetContent: (props: Pick<PathwayAssetProps, "dateSign" | "image" | "video" | "isImageScaled">) => {
18
- element: HTMLElement;
19
- className: string;
20
- styles: string;
21
- };
2
+ export declare const createCompositeHeadline: ({ headline, isThemeDark, isThemeMaryland, }: Pick<PathwayTextLockupProps, "headline" | "isThemeDark" | "isThemeMaryland">) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement> | null;
3
+ export declare const createCompositeStat: ({ stats, }: Pick<PathwayTextLockupProps, "stats">) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement> | null;
4
+ export declare const createTextLockupMedium: (props: Pick<PathwayTextLockupProps, "stats" | "actions" | "eventDetails" | "eyebrow" | "headline" | "stats" | "text" | "isThemeDark" | "isThemeMaryland">) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
5
+ export declare const createAssetContent: (props: Pick<PathwayAssetProps, "dateSign" | "image" | "video" | "isImageScaled">) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
22
6
  //# sourceMappingURL=_common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"_common.d.ts","sourceRoot":"","sources":["../../../source/composite/pathway/_common.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/E,eAAO,MAAM,uBAAuB,GAAI,6CAIrC,IAAI,CACL,sBAAsB,EACtB,UAAU,GAAG,aAAa,GAAG,iBAAiB,CAC/C;;;;QA8BA,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,YAEjC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC;;;;QAqCvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,IAAI,CACT,sBAAsB,EACpB,OAAO,GACP,SAAS,GACT,cAAc,GACd,SAAS,GACT,UAAU,GACV,OAAO,GACP,MAAM,GACN,aAAa,GACb,iBAAiB,CACpB;;;;CAOC,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAC7B,OAAO,IAAI,CACT,iBAAiB,EACjB,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,eAAe,CACjD;;;;CAkDF,CAAC"}
1
+ {"version":3,"file":"_common.d.ts","sourceRoot":"","sources":["../../../source/composite/pathway/_common.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/E,eAAO,MAAM,uBAAuB,GAAI,6CAIrC,IAAI,CACL,sBAAsB,EACtB,UAAU,GAAG,aAAa,GAAG,iBAAiB,CAC/C,yFAoCA,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,YAEjC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,yFAqCvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,IAAI,CACT,sBAAsB,EACpB,OAAO,GACP,SAAS,GACT,cAAc,GACd,SAAS,GACT,UAAU,GACV,OAAO,GACP,MAAM,GACN,aAAa,GACb,iBAAiB,CACpB,kFAOC,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAC7B,OAAO,IAAI,CACT,iBAAiB,EACjB,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,eAAe,CACjD,kFAkDF,CAAC"}
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Styles = require("@universityofmaryland/web-styles-library");
4
- const index = require("../../model/elements/index.js");
5
- require("@universityofmaryland/web-styles-library/token");
3
+ const webBuilderLibrary = require("@universityofmaryland/web-builder-library");
4
+ const token = require("@universityofmaryland/web-token-library");
5
+ const typography = require("@universityofmaryland/web-styles-library/typography");
6
+ const animation = require("@universityofmaryland/web-styles-library/animation");
7
+ const theme = require("@universityofmaryland/web-utilities-library/theme");
8
+ const dom = require("@universityofmaryland/web-utilities-library/dom");
6
9
  require("@universityofmaryland/web-styles-library/element");
10
+ require("@universityofmaryland/web-styles-library/layout");
7
11
  require("@universityofmaryland/web-utilities-library/media");
8
- require("@universityofmaryland/web-utilities-library/dom");
9
12
  require("@universityofmaryland/web-icons-library/controls");
10
13
  require("@universityofmaryland/web-icons-library/communication");
11
14
  require("@universityofmaryland/web-icons-library/files");
@@ -15,6 +18,7 @@ require("../../atomic/animations/actions/indicator.js");
15
18
  require("../../atomic/animations/brand/chevron-scroll.js");
16
19
  require("../../atomic/animations/brand/card-stack.js");
17
20
  const background = require("../../atomic/assets/image/background.js");
21
+ require("@universityofmaryland/web-styles-library");
18
22
  require("@universityofmaryland/web-utilities-library/performance");
19
23
  const observedAutoPlay = require("../../atomic/assets/video/observed-auto-play.js");
20
24
  require("@universityofmaryland/web-icons-library/location");
@@ -26,8 +30,6 @@ require("@universityofmaryland/web-icons-library/social");
26
30
  require("../../atomic/text-lockup/date.js");
27
31
  const medium = require("../../atomic/text-lockup/medium.js");
28
32
  require("../../atomic/text-lockup/small.js");
29
- require("@universityofmaryland/web-styles-library/typography");
30
- const headline = require("../../model/elements/headline.js");
31
33
  function _interopNamespaceDefault(e) {
32
34
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
33
35
  if (e) {
@@ -44,68 +46,68 @@ function _interopNamespaceDefault(e) {
44
46
  n.default = e;
45
47
  return Object.freeze(n);
46
48
  }
47
- const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
49
+ const token__namespace = /* @__PURE__ */ _interopNamespaceDefault(token);
50
+ const typography__namespace = /* @__PURE__ */ _interopNamespaceDefault(typography);
51
+ const animation__namespace = /* @__PURE__ */ _interopNamespaceDefault(animation);
48
52
  const createCompositeHeadline = ({
49
- headline: headline$1,
53
+ headline,
50
54
  isThemeDark,
51
55
  isThemeMaryland
52
56
  }) => {
53
- const characterCount = headline$1?.textContent?.trim().length || 0;
57
+ const characterCount = headline?.textContent?.trim().length || 0;
54
58
  const isOverwriteHeadline = characterCount > 30;
55
- if (!headline$1) return null;
56
- const desktopStyles = {
57
- [`@container (${Styles__namespace.token.media.queries.desktop.min})`]: {
58
- ...isOverwriteHeadline && {
59
- fontSize: "40px"
60
- }
61
- }
59
+ const finalIsThemeDark = isThemeDark || isThemeMaryland;
60
+ if (!headline) return null;
61
+ const headlineStyles = {
62
+ ...typography__namespace.sans.compose("largest", {
63
+ theme: theme.theme.fontColor(finalIsThemeDark)
64
+ }),
65
+ ...animation__namespace.line.composeSlideUnder({
66
+ color: theme.theme.foreground(finalIsThemeDark)
67
+ })
62
68
  };
63
- return headline.sansLargest({
64
- element: headline$1,
65
- isThemeDark: isThemeDark || isThemeMaryland,
66
- elementStyles: {
67
- element: {
68
- fontWeight: 800,
69
- textTransform: "uppercase",
70
- textWrap: "balance",
71
- color: Styles__namespace.token.color.black,
72
- ...desktopStyles
73
- },
74
- siblingAfter: {
75
- marginTop: Styles__namespace.token.spacing.md
69
+ return new webBuilderLibrary.ElementBuilder(headline).styled(headlineStyles).withStyles({
70
+ element: {
71
+ fontWeight: 800,
72
+ textTransform: "uppercase",
73
+ textWrap: "balance",
74
+ [`@container (${token__namespace.media.queries.desktop.min})`]: {
75
+ ...isOverwriteHeadline && {
76
+ fontSize: "40px"
77
+ }
76
78
  }
79
+ },
80
+ siblingAfter: {
81
+ marginTop: token__namespace.spacing.md
77
82
  }
78
- });
83
+ }).withModifier((el) => dom.wrapTextNodeInSpan(el)).build();
79
84
  };
80
85
  const createCompositeStat = ({
81
86
  stats
82
87
  }) => {
83
88
  const mediumSize = 800;
84
89
  if (!stats) return null;
85
- const statWrapper = index.createDiv({
86
- className: "text-lockup-medium-stats",
87
- elementStyles: {
88
- element: {
89
- marginTop: Styles__namespace.token.spacing.lg,
90
+ const statWrapper = new webBuilderLibrary.ElementBuilder().withClassName("text-lockup-medium-stats").withStyles({
91
+ element: {
92
+ marginTop: token__namespace.spacing.lg,
93
+ [`&:has(> *:nth-child(2))`]: {
94
+ display: `grid`,
95
+ gridGap: `${token__namespace.spacing.md}`
96
+ },
97
+ [`@container (max-width: ${mediumSize - 1}px)`]: {
98
+ marginTop: token__namespace.spacing.lg,
99
+ paddingTop: token__namespace.spacing.md,
100
+ borderTop: `1px solid ${token__namespace.color.gray.light}`
101
+ },
102
+ [`@container (min-width: ${mediumSize}px)`]: {
103
+ marginTop: token__namespace.spacing["2xl"],
90
104
  [`&:has(> *:nth-child(2))`]: {
91
- display: `grid`,
92
- gridGap: `${Styles__namespace.token.spacing.md}`
93
- },
94
- [`@container (max-width: ${mediumSize - 1}px)`]: {
95
- marginTop: Styles__namespace.token.spacing.lg,
96
- paddingTop: Styles__namespace.token.spacing.md,
97
- borderTop: `1px solid ${Styles__namespace.token.color.gray.light}`
98
- },
99
- [`@container (min-width: ${mediumSize}px)`]: {
100
- marginTop: Styles__namespace.token.spacing["2xl"],
101
- [`&:has(> *:nth-child(2))`]: {
102
- gridGap: `${Styles__namespace.token.spacing.lg}`,
103
- gridTemplateColumns: `repeat(2, 1fr)`
104
- }
105
+ gridGap: `${token__namespace.spacing.lg}`,
106
+ gridTemplateColumns: `repeat(2, 1fr)`
105
107
  }
106
108
  }
107
109
  }
108
- });
110
+ }).build();
109
111
  statWrapper.element.innerHTML = stats.innerHTML;
110
112
  return statWrapper;
111
113
  };
@@ -144,22 +146,18 @@ const createAssetContent = (props) => {
144
146
  })
145
147
  );
146
148
  }
147
- return index.createDiv({
148
- className: "pathway-image-container-wrapper",
149
- children,
150
- elementStyles: {
151
- element: {
152
- position: "relative",
153
- overflow: "hidden",
154
- height: "100%",
155
- width: "100%",
156
- display: "grid",
157
- [`&:has(.image-container)`]: {
158
- alignItems: "center"
159
- }
149
+ return new webBuilderLibrary.ElementBuilder().withClassName("pathway-image-container-wrapper").withChildren(...children).withStyles({
150
+ element: {
151
+ position: "relative",
152
+ overflow: "hidden",
153
+ height: "100%",
154
+ width: "100%",
155
+ display: "grid",
156
+ [`&:has(.image-container)`]: {
157
+ alignItems: "center"
160
158
  }
161
159
  }
162
- });
160
+ }).build();
163
161
  };
164
162
  exports.createAssetContent = createAssetContent;
165
163
  exports.createCompositeHeadline = createCompositeHeadline;
@@ -1 +1 @@
1
- {"version":3,"file":"_common.js","sources":["../../../source/composite/pathway/_common.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport { ElementModel } from 'model';\nimport * as Atomic from 'atomic';\nimport { type PathwayTextLockupProps, type PathwayAssetProps } from './_types';\n\nexport const createCompositeHeadline = ({\n headline,\n isThemeDark,\n isThemeMaryland,\n}: Pick<\n PathwayTextLockupProps,\n 'headline' | 'isThemeDark' | 'isThemeMaryland'\n>) => {\n const characterCount = headline?.textContent?.trim().length || 0;\n const isOverwriteHeadline = characterCount > 30;\n\n if (!headline) return null;\n\n const desktopStyles = {\n [`@container (${Styles.token.media.queries.desktop.min})`]: {\n ...(isOverwriteHeadline && {\n fontSize: '40px',\n }),\n },\n };\n\n return ElementModel.headline.sansLargest({\n element: headline,\n isThemeDark: isThemeDark || isThemeMaryland,\n elementStyles: {\n element: {\n fontWeight: 800,\n textTransform: 'uppercase',\n textWrap: 'balance',\n color: Styles.token.color.black,\n ...desktopStyles,\n },\n siblingAfter: {\n marginTop: Styles.token.spacing.md,\n },\n },\n });\n};\n\nexport const createCompositeStat = ({\n stats,\n}: Pick<PathwayTextLockupProps, 'stats'>) => {\n const mediumSize = 800;\n\n if (!stats) return null;\n\n const statWrapper = ElementModel.createDiv({\n className: 'text-lockup-medium-stats',\n elementStyles: {\n element: {\n marginTop: Styles.token.spacing.lg,\n\n [`&:has(> *:nth-child(2))`]: {\n display: `grid`,\n gridGap: `${Styles.token.spacing.md}`,\n },\n\n [`@container (max-width: ${mediumSize - 1}px)`]: {\n marginTop: Styles.token.spacing.lg,\n paddingTop: Styles.token.spacing.md,\n borderTop: `1px solid ${Styles.token.color.gray.light}`,\n },\n\n [`@container (min-width: ${mediumSize}px)`]: {\n marginTop: Styles.token.spacing['2xl'],\n\n [`&:has(> *:nth-child(2))`]: {\n gridGap: `${Styles.token.spacing.lg}`,\n gridTemplateColumns: `repeat(2, 1fr)`,\n },\n },\n },\n },\n });\n\n statWrapper.element.innerHTML = stats.innerHTML;\n\n return statWrapper;\n};\n\nexport const createTextLockupMedium = (\n props: Pick<\n PathwayTextLockupProps,\n | 'stats'\n | 'actions'\n | 'eventDetails'\n | 'eyebrow'\n | 'headline'\n | 'stats'\n | 'text'\n | 'isThemeDark'\n | 'isThemeMaryland'\n >,\n) =>\n Atomic.textLockup.medium({\n ...props,\n ribbon: props.eyebrow,\n compositeHeadline: createCompositeHeadline(props),\n compositeStats: createCompositeStat(props),\n });\n\nexport const createAssetContent = (\n props: Pick<\n PathwayAssetProps,\n 'dateSign' | 'image' | 'video' | 'isImageScaled'\n >,\n) => {\n const { dateSign, image, video, isImageScaled = true } = props;\n const children = [];\n\n if (video) {\n children.push(\n Atomic.assets.video.observedAutoPlay({\n video,\n isScaled: isImageScaled,\n additionalElementStyles: {\n [`& video`]: {\n objectFit: 'cover',\n width: '100%',\n height: '100%',\n },\n },\n }),\n );\n }\n\n if (!video && image) {\n children.push(\n Atomic.assets.image.background({\n element: image,\n isScaled: isImageScaled,\n isShowCaption: true,\n isGifAllowed: true,\n dateSign,\n }),\n );\n }\n\n return ElementModel.createDiv({\n className: 'pathway-image-container-wrapper',\n children,\n elementStyles: {\n element: {\n position: 'relative',\n overflow: 'hidden',\n height: '100%',\n width: '100%',\n display: 'grid',\n\n [`&:has(.image-container)`]: {\n alignItems: 'center',\n },\n },\n },\n });\n};\n"],"names":["headline","Styles","ElementModel.headline.sansLargest","ElementModel.createDiv","Atomic.textLockup.medium","Atomic.assets.video.observedAutoPlay","Atomic.assets.image.background"],"mappings":"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"}
1
+ {"version":3,"file":"_common.js","sources":["../../../source/composite/pathway/_common.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport * as animationStyles from '@universityofmaryland/web-styles-library/animation';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport { wrapTextNodeInSpan } from '@universityofmaryland/web-utilities-library/dom';\nimport * as Atomic from 'atomic';\nimport { type PathwayTextLockupProps, type PathwayAssetProps } from './_types';\n\nexport const createCompositeHeadline = ({\n headline,\n isThemeDark,\n isThemeMaryland,\n}: Pick<\n PathwayTextLockupProps,\n 'headline' | 'isThemeDark' | 'isThemeMaryland'\n>) => {\n const characterCount = headline?.textContent?.trim().length || 0;\n const isOverwriteHeadline = characterCount > 30;\n const finalIsThemeDark = isThemeDark || isThemeMaryland;\n\n if (!headline) return null;\n\n const headlineStyles = {\n ...typography.sans.compose('largest', {\n theme: theme.fontColor(finalIsThemeDark),\n }),\n ...animationStyles.line.composeSlideUnder({\n color: theme.foreground(finalIsThemeDark),\n }),\n };\n\n return new ElementBuilder(headline)\n .styled(headlineStyles)\n .withStyles({\n element: {\n fontWeight: 800,\n textTransform: 'uppercase',\n textWrap: 'balance',\n\n [`@container (${token.media.queries.desktop.min})`]: {\n ...(isOverwriteHeadline && {\n fontSize: '40px',\n }),\n },\n },\n siblingAfter: {\n marginTop: token.spacing.md,\n },\n })\n .withModifier((el) => wrapTextNodeInSpan(el))\n .build();\n};\n\nexport const createCompositeStat = ({\n stats,\n}: Pick<PathwayTextLockupProps, 'stats'>) => {\n const mediumSize = 800;\n\n if (!stats) return null;\n\n const statWrapper = new ElementBuilder()\n .withClassName('text-lockup-medium-stats')\n .withStyles({\n element: {\n marginTop: token.spacing.lg,\n\n [`&:has(> *:nth-child(2))`]: {\n display: `grid`,\n gridGap: `${token.spacing.md}`,\n },\n\n [`@container (max-width: ${mediumSize - 1}px)`]: {\n marginTop: token.spacing.lg,\n paddingTop: token.spacing.md,\n borderTop: `1px solid ${token.color.gray.light}`,\n },\n\n [`@container (min-width: ${mediumSize}px)`]: {\n marginTop: token.spacing['2xl'],\n\n [`&:has(> *:nth-child(2))`]: {\n gridGap: `${token.spacing.lg}`,\n gridTemplateColumns: `repeat(2, 1fr)`,\n },\n },\n },\n })\n .build();\n\n statWrapper.element.innerHTML = stats.innerHTML;\n\n return statWrapper;\n};\n\nexport const createTextLockupMedium = (\n props: Pick<\n PathwayTextLockupProps,\n | 'stats'\n | 'actions'\n | 'eventDetails'\n | 'eyebrow'\n | 'headline'\n | 'stats'\n | 'text'\n | 'isThemeDark'\n | 'isThemeMaryland'\n >,\n) =>\n Atomic.textLockup.medium({\n ...props,\n ribbon: props.eyebrow,\n compositeHeadline: createCompositeHeadline(props),\n compositeStats: createCompositeStat(props),\n });\n\nexport const createAssetContent = (\n props: Pick<\n PathwayAssetProps,\n 'dateSign' | 'image' | 'video' | 'isImageScaled'\n >,\n) => {\n const { dateSign, image, video, isImageScaled = true } = props;\n const children = [];\n\n if (video) {\n children.push(\n Atomic.assets.video.observedAutoPlay({\n video,\n isScaled: isImageScaled,\n additionalElementStyles: {\n [`& video`]: {\n objectFit: 'cover',\n width: '100%',\n height: '100%',\n },\n },\n }),\n );\n }\n\n if (!video && image) {\n children.push(\n Atomic.assets.image.background({\n element: image,\n isScaled: isImageScaled,\n isShowCaption: true,\n isGifAllowed: true,\n dateSign,\n }),\n );\n }\n\n return new ElementBuilder()\n .withClassName('pathway-image-container-wrapper')\n .withChildren(...children)\n .withStyles({\n element: {\n position: 'relative',\n overflow: 'hidden',\n height: '100%',\n width: '100%',\n display: 'grid',\n\n [`&:has(.image-container)`]: {\n alignItems: 'center',\n },\n },\n })\n .build();\n};\n"],"names":["typography","theme","animationStyles","ElementBuilder","token","wrapTextNodeInSpan","Atomic.textLockup.medium","Atomic.assets.video.observedAutoPlay","Atomic.assets.image.background"],"mappings":"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"}