@universityofmaryland/web-elements-library 1.5.3 → 1.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (708) hide show
  1. package/README.md +1 -1
  2. package/dist/_types.d.ts +2 -9
  3. package/dist/_types.d.ts.map +1 -1
  4. package/dist/atomic/_types.d.ts +2 -2
  5. package/dist/atomic/_types.d.ts.map +1 -1
  6. package/dist/atomic/actions/icon.d.ts +1 -5
  7. package/dist/atomic/actions/icon.d.ts.map +1 -1
  8. package/dist/atomic/actions/icon.js +43 -48
  9. package/dist/atomic/actions/icon.js.map +1 -1
  10. package/dist/atomic/actions/icon.mjs +43 -48
  11. package/dist/atomic/actions/icon.mjs.map +1 -1
  12. package/dist/atomic/actions/text.d.ts +4 -16
  13. package/dist/atomic/actions/text.d.ts.map +1 -1
  14. package/dist/atomic/actions/text.js +82 -104
  15. package/dist/atomic/actions/text.js.map +1 -1
  16. package/dist/atomic/actions/text.mjs +81 -106
  17. package/dist/atomic/actions/text.mjs.map +1 -1
  18. package/dist/atomic/animations/actions/indicator.js +1 -1
  19. package/dist/atomic/animations/actions/indicator.js.map +1 -1
  20. package/dist/atomic/animations/actions/indicator.mjs +1 -1
  21. package/dist/atomic/animations/actions/indicator.mjs.map +1 -1
  22. package/dist/atomic/animations/brand/card-stack.d.ts +2 -1
  23. package/dist/atomic/animations/brand/card-stack.d.ts.map +1 -1
  24. package/dist/atomic/animations/brand/card-stack.js +148 -172
  25. package/dist/atomic/animations/brand/card-stack.js.map +1 -1
  26. package/dist/atomic/animations/brand/card-stack.mjs +140 -164
  27. package/dist/atomic/animations/brand/card-stack.mjs.map +1 -1
  28. package/dist/atomic/animations/brand/chevron-scroll.js +1 -1
  29. package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
  30. package/dist/atomic/animations/brand/chevron-scroll.mjs +1 -1
  31. package/dist/atomic/animations/brand/chevron-scroll.mjs.map +1 -1
  32. package/dist/atomic/assets/image/background.d.ts +1 -5
  33. package/dist/atomic/assets/image/background.d.ts.map +1 -1
  34. package/dist/atomic/assets/image/background.js +40 -40
  35. package/dist/atomic/assets/image/background.js.map +1 -1
  36. package/dist/atomic/assets/image/background.mjs +23 -40
  37. package/dist/atomic/assets/image/background.mjs.map +1 -1
  38. package/dist/atomic/assets/image/gif.d.ts +1 -5
  39. package/dist/atomic/assets/image/gif.d.ts.map +1 -1
  40. package/dist/atomic/assets/image/gif.js +28 -12
  41. package/dist/atomic/assets/image/gif.js.map +1 -1
  42. package/dist/atomic/assets/image/gif.mjs +11 -12
  43. package/dist/atomic/assets/image/gif.mjs.map +1 -1
  44. package/dist/atomic/assets/image/placeholder.d.ts +1 -5
  45. package/dist/atomic/assets/image/placeholder.d.ts.map +1 -1
  46. package/dist/atomic/assets/video/observed-auto-play.d.ts +1 -9
  47. package/dist/atomic/assets/video/observed-auto-play.d.ts.map +1 -1
  48. package/dist/atomic/assets/video/observed-auto-play.js +9 -5
  49. package/dist/atomic/assets/video/observed-auto-play.js.map +1 -1
  50. package/dist/atomic/assets/video/observed-auto-play.mjs +9 -5
  51. package/dist/atomic/assets/video/observed-auto-play.mjs.map +1 -1
  52. package/dist/atomic/assets/video/toggle.d.ts +1 -9
  53. package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
  54. package/dist/atomic/assets/video/toggle.js +38 -40
  55. package/dist/atomic/assets/video/toggle.js.map +1 -1
  56. package/dist/atomic/assets/video/toggle.mjs +21 -40
  57. package/dist/atomic/assets/video/toggle.mjs.map +1 -1
  58. package/dist/atomic/buttons/fullscreen.d.ts +1 -5
  59. package/dist/atomic/buttons/fullscreen.d.ts.map +1 -1
  60. package/dist/atomic/buttons/fullscreen.js +21 -15
  61. package/dist/atomic/buttons/fullscreen.js.map +1 -1
  62. package/dist/atomic/buttons/fullscreen.mjs +4 -15
  63. package/dist/atomic/buttons/fullscreen.mjs.map +1 -1
  64. package/dist/atomic/events/meta.d.ts +1 -5
  65. package/dist/atomic/events/meta.d.ts.map +1 -1
  66. package/dist/atomic/events/meta.js +48 -48
  67. package/dist/atomic/events/meta.js.map +1 -1
  68. package/dist/atomic/events/meta.mjs +31 -48
  69. package/dist/atomic/events/meta.mjs.map +1 -1
  70. package/dist/atomic/events/sign.d.ts +1 -5
  71. package/dist/atomic/events/sign.d.ts.map +1 -1
  72. package/dist/atomic/events/sign.js +84 -93
  73. package/dist/atomic/events/sign.js.map +1 -1
  74. package/dist/atomic/events/sign.mjs +82 -93
  75. package/dist/atomic/events/sign.mjs.map +1 -1
  76. package/dist/atomic/layout/block/stacked.d.ts +7 -19
  77. package/dist/atomic/layout/block/stacked.d.ts.map +1 -1
  78. package/dist/atomic/layout/block/stacked.js +14 -20
  79. package/dist/atomic/layout/block/stacked.js.map +1 -1
  80. package/dist/atomic/layout/block/stacked.mjs +14 -20
  81. package/dist/atomic/layout/block/stacked.mjs.map +1 -1
  82. package/dist/atomic/layout/overlay/modal.js +1 -1
  83. package/dist/atomic/layout/overlay/modal.js.map +1 -1
  84. package/dist/atomic/layout/overlay/modal.mjs +1 -1
  85. package/dist/atomic/layout/overlay/modal.mjs.map +1 -1
  86. package/dist/atomic/layout/person/columns.d.ts +4 -20
  87. package/dist/atomic/layout/person/columns.d.ts.map +1 -1
  88. package/dist/atomic/layout/person/columns.js +56 -66
  89. package/dist/atomic/layout/person/columns.js.map +1 -1
  90. package/dist/atomic/layout/person/columns.mjs +56 -66
  91. package/dist/atomic/layout/person/columns.mjs.map +1 -1
  92. package/dist/atomic/text/stat.d.ts +2 -3
  93. package/dist/atomic/text/stat.d.ts.map +1 -1
  94. package/dist/atomic/text/stat.js +101 -119
  95. package/dist/atomic/text/stat.js.map +1 -1
  96. package/dist/atomic/text/stat.mjs +100 -119
  97. package/dist/atomic/text/stat.mjs.map +1 -1
  98. package/dist/atomic/text-lockup/contact.d.ts +1 -5
  99. package/dist/atomic/text-lockup/contact.d.ts.map +1 -1
  100. package/dist/atomic/text-lockup/contact.js +65 -105
  101. package/dist/atomic/text-lockup/contact.js.map +1 -1
  102. package/dist/atomic/text-lockup/contact.mjs +60 -103
  103. package/dist/atomic/text-lockup/contact.mjs.map +1 -1
  104. package/dist/atomic/text-lockup/date.d.ts.map +1 -1
  105. package/dist/atomic/text-lockup/date.js +6 -1
  106. package/dist/atomic/text-lockup/date.js.map +1 -1
  107. package/dist/atomic/text-lockup/date.mjs +6 -1
  108. package/dist/atomic/text-lockup/date.mjs.map +1 -1
  109. package/dist/atomic/text-lockup/large.d.ts +3 -7
  110. package/dist/atomic/text-lockup/large.d.ts.map +1 -1
  111. package/dist/atomic/text-lockup/large.js +62 -71
  112. package/dist/atomic/text-lockup/large.js.map +1 -1
  113. package/dist/atomic/text-lockup/large.mjs +59 -71
  114. package/dist/atomic/text-lockup/large.mjs.map +1 -1
  115. package/dist/atomic/text-lockup/medium.d.ts +5 -9
  116. package/dist/atomic/text-lockup/medium.d.ts.map +1 -1
  117. package/dist/atomic/text-lockup/medium.js +76 -84
  118. package/dist/atomic/text-lockup/medium.js.map +1 -1
  119. package/dist/atomic/text-lockup/medium.mjs +70 -82
  120. package/dist/atomic/text-lockup/medium.mjs.map +1 -1
  121. package/dist/atomic/text-lockup/person.d.ts +1 -5
  122. package/dist/atomic/text-lockup/person.d.ts.map +1 -1
  123. package/dist/atomic/text-lockup/person.js +102 -101
  124. package/dist/atomic/text-lockup/person.js.map +1 -1
  125. package/dist/atomic/text-lockup/person.mjs +99 -101
  126. package/dist/atomic/text-lockup/person.mjs.map +1 -1
  127. package/dist/atomic/text-lockup/small-scaling.d.ts +1 -5
  128. package/dist/atomic/text-lockup/small-scaling.d.ts.map +1 -1
  129. package/dist/atomic/text-lockup/small-scaling.js +64 -39
  130. package/dist/atomic/text-lockup/small-scaling.js.map +1 -1
  131. package/dist/atomic/text-lockup/small-scaling.mjs +44 -38
  132. package/dist/atomic/text-lockup/small-scaling.mjs.map +1 -1
  133. package/dist/atomic/text-lockup/small.d.ts +11 -25
  134. package/dist/atomic/text-lockup/small.d.ts.map +1 -1
  135. package/dist/atomic/text-lockup/small.js +70 -69
  136. package/dist/atomic/text-lockup/small.js.map +1 -1
  137. package/dist/atomic/text-lockup/small.mjs +64 -66
  138. package/dist/atomic/text-lockup/small.mjs.map +1 -1
  139. package/dist/composite/alert/elements/closeButton.d.ts +7 -0
  140. package/dist/composite/alert/elements/closeButton.d.ts.map +1 -0
  141. package/dist/composite/alert/elements/closeButton.js +51 -0
  142. package/dist/composite/alert/elements/closeButton.js.map +1 -0
  143. package/dist/composite/alert/elements/closeButton.mjs +34 -0
  144. package/dist/composite/alert/elements/closeButton.mjs.map +1 -0
  145. package/dist/composite/alert/elements/text.d.ts +3 -13
  146. package/dist/composite/alert/elements/text.d.ts.map +1 -1
  147. package/dist/composite/alert/elements/text.js +60 -81
  148. package/dist/composite/alert/elements/text.js.map +1 -1
  149. package/dist/composite/alert/elements/text.mjs +56 -80
  150. package/dist/composite/alert/elements/text.mjs.map +1 -1
  151. package/dist/composite/alert/globals.d.ts +4 -0
  152. package/dist/composite/alert/globals.d.ts.map +1 -0
  153. package/dist/composite/alert/globals.js +7 -0
  154. package/dist/composite/alert/globals.js.map +1 -0
  155. package/dist/composite/alert/globals.mjs +7 -0
  156. package/dist/composite/alert/globals.mjs.map +1 -0
  157. package/dist/composite/alert/index.d.ts +2 -2
  158. package/dist/composite/alert/index.d.ts.map +1 -1
  159. package/dist/composite/alert/index.js +2 -2
  160. package/dist/composite/alert/index.mjs +4 -4
  161. package/dist/composite/alert/page.d.ts +5 -12
  162. package/dist/composite/alert/page.d.ts.map +1 -1
  163. package/dist/composite/alert/page.js +44 -113
  164. package/dist/composite/alert/page.js.map +1 -1
  165. package/dist/composite/alert/page.mjs +44 -112
  166. package/dist/composite/alert/page.mjs.map +1 -1
  167. package/dist/composite/alert/site.d.ts +5 -11
  168. package/dist/composite/alert/site.d.ts.map +1 -1
  169. package/dist/composite/alert/site.js +60 -109
  170. package/dist/composite/alert/site.js.map +1 -1
  171. package/dist/composite/alert/site.mjs +61 -109
  172. package/dist/composite/alert/site.mjs.map +1 -1
  173. package/dist/composite/banner/promo.js +1 -1
  174. package/dist/composite/banner/promo.js.map +1 -1
  175. package/dist/composite/banner/promo.mjs +1 -1
  176. package/dist/composite/banner/promo.mjs.map +1 -1
  177. package/dist/composite/card/block.d.ts +1 -5
  178. package/dist/composite/card/block.d.ts.map +1 -1
  179. package/dist/composite/card/block.js +7 -5
  180. package/dist/composite/card/block.js.map +1 -1
  181. package/dist/composite/card/block.mjs +7 -5
  182. package/dist/composite/card/block.mjs.map +1 -1
  183. package/dist/composite/card/list.d.ts +1 -5
  184. package/dist/composite/card/list.d.ts.map +1 -1
  185. package/dist/composite/card/list.js +52 -64
  186. package/dist/composite/card/list.js.map +1 -1
  187. package/dist/composite/card/list.mjs +52 -64
  188. package/dist/composite/card/list.mjs.map +1 -1
  189. package/dist/composite/card/overlay/color.d.ts +1 -5
  190. package/dist/composite/card/overlay/color.d.ts.map +1 -1
  191. package/dist/composite/card/overlay/color.js +36 -41
  192. package/dist/composite/card/overlay/color.js.map +1 -1
  193. package/dist/composite/card/overlay/color.mjs +36 -41
  194. package/dist/composite/card/overlay/color.mjs.map +1 -1
  195. package/dist/composite/card/overlay/icon.d.ts +1 -5
  196. package/dist/composite/card/overlay/icon.d.ts.map +1 -1
  197. package/dist/composite/card/overlay/icon.js +27 -31
  198. package/dist/composite/card/overlay/icon.js.map +1 -1
  199. package/dist/composite/card/overlay/icon.mjs +27 -31
  200. package/dist/composite/card/overlay/icon.mjs.map +1 -1
  201. package/dist/composite/card/overlay/image.d.ts +2 -1
  202. package/dist/composite/card/overlay/image.d.ts.map +1 -1
  203. package/dist/composite/card/overlay/image.js +74 -93
  204. package/dist/composite/card/overlay/image.js.map +1 -1
  205. package/dist/composite/card/overlay/image.mjs +73 -93
  206. package/dist/composite/card/overlay/image.mjs.map +1 -1
  207. package/dist/composite/card/video/block.d.ts +1 -9
  208. package/dist/composite/card/video/block.d.ts.map +1 -1
  209. package/dist/composite/card/video/block.js +7 -5
  210. package/dist/composite/card/video/block.js.map +1 -1
  211. package/dist/composite/card/video/block.mjs +7 -5
  212. package/dist/composite/card/video/block.mjs.map +1 -1
  213. package/dist/composite/card/video/short.d.ts +1 -5
  214. package/dist/composite/card/video/short.d.ts.map +1 -1
  215. package/dist/composite/card/video/short.js +16 -21
  216. package/dist/composite/card/video/short.js.map +1 -1
  217. package/dist/composite/card/video/short.mjs +16 -21
  218. package/dist/composite/card/video/short.mjs.map +1 -1
  219. package/dist/composite/carousel/_types.d.ts.map +1 -1
  220. package/dist/composite/carousel/default/index.js +1 -1
  221. package/dist/composite/carousel/default/index.js.map +1 -1
  222. package/dist/composite/carousel/default/index.mjs +1 -1
  223. package/dist/composite/carousel/default/index.mjs.map +1 -1
  224. package/dist/composite/carousel/elements/blocks.js +2 -2
  225. package/dist/composite/carousel/elements/blocks.js.map +1 -1
  226. package/dist/composite/carousel/elements/blocks.mjs +2 -2
  227. package/dist/composite/carousel/elements/blocks.mjs.map +1 -1
  228. package/dist/composite/carousel/elements/full-screen.js +7 -5
  229. package/dist/composite/carousel/elements/full-screen.js.map +1 -1
  230. package/dist/composite/carousel/elements/full-screen.mjs +7 -5
  231. package/dist/composite/carousel/elements/full-screen.mjs.map +1 -1
  232. package/dist/composite/carousel/elements/image.js +2 -2
  233. package/dist/composite/carousel/elements/image.js.map +1 -1
  234. package/dist/composite/carousel/elements/image.mjs +2 -2
  235. package/dist/composite/carousel/elements/image.mjs.map +1 -1
  236. package/dist/composite/carousel/elements/overlay.js +2 -2
  237. package/dist/composite/carousel/elements/overlay.js.map +1 -1
  238. package/dist/composite/carousel/elements/overlay.mjs +2 -2
  239. package/dist/composite/carousel/elements/overlay.mjs.map +1 -1
  240. package/dist/composite/carousel/image/multiple.js +11 -9
  241. package/dist/composite/carousel/image/multiple.js.map +1 -1
  242. package/dist/composite/carousel/image/multiple.mjs +11 -9
  243. package/dist/composite/carousel/image/multiple.mjs.map +1 -1
  244. package/dist/composite/carousel/image/standard.js +10 -8
  245. package/dist/composite/carousel/image/standard.js.map +1 -1
  246. package/dist/composite/carousel/image/standard.mjs +10 -8
  247. package/dist/composite/carousel/image/standard.mjs.map +1 -1
  248. package/dist/composite/carousel/thumbnail/index.js +1 -1
  249. package/dist/composite/carousel/thumbnail/index.js.map +1 -1
  250. package/dist/composite/carousel/thumbnail/index.mjs +1 -1
  251. package/dist/composite/carousel/thumbnail/index.mjs.map +1 -1
  252. package/dist/composite/carousel/wide/_elementModel.d.ts +2 -2
  253. package/dist/composite/carousel/wide/_elementModel.d.ts.map +1 -1
  254. package/dist/composite/carousel/wide/_elementModel.js +20 -7
  255. package/dist/composite/carousel/wide/_elementModel.js.map +1 -1
  256. package/dist/composite/carousel/wide/_elementModel.mjs +20 -7
  257. package/dist/composite/carousel/wide/_elementModel.mjs.map +1 -1
  258. package/dist/composite/carousel/wide/container.d.ts.map +1 -1
  259. package/dist/composite/carousel/wide/container.js +9 -15
  260. package/dist/composite/carousel/wide/container.js.map +1 -1
  261. package/dist/composite/carousel/wide/container.mjs +9 -15
  262. package/dist/composite/carousel/wide/container.mjs.map +1 -1
  263. package/dist/composite/carousel/wide/controls.d.ts +1 -5
  264. package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
  265. package/dist/composite/carousel/wide/controls.js +55 -56
  266. package/dist/composite/carousel/wide/controls.js.map +1 -1
  267. package/dist/composite/carousel/wide/controls.mjs +55 -56
  268. package/dist/composite/carousel/wide/controls.mjs.map +1 -1
  269. package/dist/composite/carousel/wide/frames.d.ts.map +1 -1
  270. package/dist/composite/carousel/wide/frames.js +156 -171
  271. package/dist/composite/carousel/wide/frames.js.map +1 -1
  272. package/dist/composite/carousel/wide/frames.mjs +153 -169
  273. package/dist/composite/carousel/wide/frames.mjs.map +1 -1
  274. package/dist/composite/carousel/wide/index.d.ts +1 -5
  275. package/dist/composite/carousel/wide/index.d.ts.map +1 -1
  276. package/dist/composite/carousel/wide/index.js +23 -17
  277. package/dist/composite/carousel/wide/index.js.map +1 -1
  278. package/dist/composite/carousel/wide/index.mjs +23 -17
  279. package/dist/composite/carousel/wide/index.mjs.map +1 -1
  280. package/dist/composite/footer/elements/main-section/call-to-action.d.ts +2 -2
  281. package/dist/composite/footer/elements/main-section/call-to-action.d.ts.map +1 -1
  282. package/dist/composite/footer/elements/main-section/call-to-action.js +19 -28
  283. package/dist/composite/footer/elements/main-section/call-to-action.js.map +1 -1
  284. package/dist/composite/footer/elements/main-section/call-to-action.mjs +18 -28
  285. package/dist/composite/footer/elements/main-section/call-to-action.mjs.map +1 -1
  286. package/dist/composite/footer/elements/main-section/campaign.d.ts +2 -2
  287. package/dist/composite/footer/elements/main-section/campaign.d.ts.map +1 -1
  288. package/dist/composite/footer/elements/main-section/campaign.js +27 -35
  289. package/dist/composite/footer/elements/main-section/campaign.js.map +1 -1
  290. package/dist/composite/footer/elements/main-section/campaign.mjs +27 -35
  291. package/dist/composite/footer/elements/main-section/campaign.mjs.map +1 -1
  292. package/dist/composite/footer/elements/main-section/index.d.ts +2 -2
  293. package/dist/composite/footer/elements/main-section/index.d.ts.map +1 -1
  294. package/dist/composite/footer/elements/main-section/index.js +38 -50
  295. package/dist/composite/footer/elements/main-section/index.js.map +1 -1
  296. package/dist/composite/footer/elements/main-section/index.mjs +38 -50
  297. package/dist/composite/footer/elements/main-section/index.mjs.map +1 -1
  298. package/dist/composite/footer/elements/main-section/row-links/index.d.ts +2 -2
  299. package/dist/composite/footer/elements/main-section/row-links/index.d.ts.map +1 -1
  300. package/dist/composite/footer/elements/main-section/row-links/index.js +24 -36
  301. package/dist/composite/footer/elements/main-section/row-links/index.js.map +1 -1
  302. package/dist/composite/footer/elements/main-section/row-links/index.mjs +24 -36
  303. package/dist/composite/footer/elements/main-section/row-links/index.mjs.map +1 -1
  304. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts +2 -2
  305. package/dist/composite/footer/elements/main-section/row-links/link-columns.d.ts.map +1 -1
  306. package/dist/composite/footer/elements/main-section/row-links/link-columns.js +75 -95
  307. package/dist/composite/footer/elements/main-section/row-links/link-columns.js.map +1 -1
  308. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs +73 -93
  309. package/dist/composite/footer/elements/main-section/row-links/link-columns.mjs.map +1 -1
  310. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts +2 -2
  311. package/dist/composite/footer/elements/main-section/row-logo/contact.d.ts.map +1 -1
  312. package/dist/composite/footer/elements/main-section/row-logo/contact.js +88 -98
  313. package/dist/composite/footer/elements/main-section/row-logo/contact.js.map +1 -1
  314. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs +88 -98
  315. package/dist/composite/footer/elements/main-section/row-logo/contact.mjs.map +1 -1
  316. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts +2 -2
  317. package/dist/composite/footer/elements/main-section/row-logo/index.d.ts.map +1 -1
  318. package/dist/composite/footer/elements/main-section/row-logo/index.js +30 -43
  319. package/dist/composite/footer/elements/main-section/row-logo/index.js.map +1 -1
  320. package/dist/composite/footer/elements/main-section/row-logo/index.mjs +30 -43
  321. package/dist/composite/footer/elements/main-section/row-logo/index.mjs.map +1 -1
  322. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts +2 -2
  323. package/dist/composite/footer/elements/main-section/row-logo/logo.d.ts.map +1 -1
  324. package/dist/composite/footer/elements/main-section/row-logo/logo.js +24 -32
  325. package/dist/composite/footer/elements/main-section/row-logo/logo.js.map +1 -1
  326. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs +24 -32
  327. package/dist/composite/footer/elements/main-section/row-logo/logo.mjs.map +1 -1
  328. package/dist/composite/footer/elements/main-section/social.d.ts +2 -2
  329. package/dist/composite/footer/elements/main-section/social.d.ts.map +1 -1
  330. package/dist/composite/footer/elements/main-section/social.js +74 -97
  331. package/dist/composite/footer/elements/main-section/social.js.map +1 -1
  332. package/dist/composite/footer/elements/main-section/social.mjs +74 -97
  333. package/dist/composite/footer/elements/main-section/social.mjs.map +1 -1
  334. package/dist/composite/footer/elements/utility-section/index.d.ts +1 -5
  335. package/dist/composite/footer/elements/utility-section/index.d.ts.map +1 -1
  336. package/dist/composite/footer/elements/utility-section/index.js +56 -83
  337. package/dist/composite/footer/elements/utility-section/index.js.map +1 -1
  338. package/dist/composite/footer/elements/utility-section/index.mjs +56 -83
  339. package/dist/composite/footer/elements/utility-section/index.mjs.map +1 -1
  340. package/dist/composite/footer/options.d.ts +1 -4
  341. package/dist/composite/footer/options.d.ts.map +1 -1
  342. package/dist/composite/footer/options.js +19 -27
  343. package/dist/composite/footer/options.js.map +1 -1
  344. package/dist/composite/footer/options.mjs +19 -27
  345. package/dist/composite/footer/options.mjs.map +1 -1
  346. package/dist/composite/hero/_types.d.ts.map +1 -1
  347. package/dist/composite/hero/custom/expand.d.ts +3 -2
  348. package/dist/composite/hero/custom/expand.d.ts.map +1 -1
  349. package/dist/composite/hero/custom/expand.js +151 -192
  350. package/dist/composite/hero/custom/expand.js.map +1 -1
  351. package/dist/composite/hero/custom/expand.mjs +145 -187
  352. package/dist/composite/hero/custom/expand.mjs.map +1 -1
  353. package/dist/composite/hero/custom/grid.d.ts +1 -5
  354. package/dist/composite/hero/custom/grid.d.ts.map +1 -1
  355. package/dist/composite/hero/custom/grid.js +122 -171
  356. package/dist/composite/hero/custom/grid.js.map +1 -1
  357. package/dist/composite/hero/custom/grid.mjs +116 -166
  358. package/dist/composite/hero/custom/grid.mjs.map +1 -1
  359. package/dist/composite/hero/custom/video-arrow.d.ts +2 -1
  360. package/dist/composite/hero/custom/video-arrow.d.ts.map +1 -1
  361. package/dist/composite/hero/custom/video-arrow.js +83 -105
  362. package/dist/composite/hero/custom/video-arrow.js.map +1 -1
  363. package/dist/composite/hero/custom/video-arrow.mjs +77 -99
  364. package/dist/composite/hero/custom/video-arrow.mjs.map +1 -1
  365. package/dist/composite/hero/logo.d.ts +1 -5
  366. package/dist/composite/hero/logo.d.ts.map +1 -1
  367. package/dist/composite/hero/logo.js +71 -89
  368. package/dist/composite/hero/logo.js.map +1 -1
  369. package/dist/composite/hero/logo.mjs +68 -87
  370. package/dist/composite/hero/logo.mjs.map +1 -1
  371. package/dist/composite/hero/minimal.d.ts +1 -5
  372. package/dist/composite/hero/minimal.d.ts.map +1 -1
  373. package/dist/composite/hero/minimal.js +67 -86
  374. package/dist/composite/hero/minimal.js.map +1 -1
  375. package/dist/composite/hero/minimal.mjs +63 -83
  376. package/dist/composite/hero/minimal.mjs.map +1 -1
  377. package/dist/composite/hero/overlay.d.ts +1 -5
  378. package/dist/composite/hero/overlay.d.ts.map +1 -1
  379. package/dist/composite/hero/overlay.js +107 -135
  380. package/dist/composite/hero/overlay.js.map +1 -1
  381. package/dist/composite/hero/overlay.mjs +103 -132
  382. package/dist/composite/hero/overlay.mjs.map +1 -1
  383. package/dist/composite/hero/stacked.d.ts +1 -5
  384. package/dist/composite/hero/stacked.d.ts.map +1 -1
  385. package/dist/composite/hero/stacked.js +114 -137
  386. package/dist/composite/hero/stacked.js.map +1 -1
  387. package/dist/composite/hero/stacked.mjs +110 -134
  388. package/dist/composite/hero/stacked.mjs.map +1 -1
  389. package/dist/composite/hero/standard.d.ts +1 -5
  390. package/dist/composite/hero/standard.d.ts.map +1 -1
  391. package/dist/composite/hero/standard.js +103 -116
  392. package/dist/composite/hero/standard.js.map +1 -1
  393. package/dist/composite/hero/standard.mjs +100 -114
  394. package/dist/composite/hero/standard.mjs.map +1 -1
  395. package/dist/composite/layout/box/logo.js +1 -1
  396. package/dist/composite/layout/box/logo.js.map +1 -1
  397. package/dist/composite/layout/box/logo.mjs +1 -1
  398. package/dist/composite/layout/box/logo.mjs.map +1 -1
  399. package/dist/composite/layout/image/expand.js +1 -1
  400. package/dist/composite/layout/image/expand.js.map +1 -1
  401. package/dist/composite/layout/image/expand.mjs +1 -1
  402. package/dist/composite/layout/image/expand.mjs.map +1 -1
  403. package/dist/composite/layout/scroll-top/index.js +1 -1
  404. package/dist/composite/layout/scroll-top/index.js.map +1 -1
  405. package/dist/composite/layout/scroll-top/index.mjs +1 -1
  406. package/dist/composite/layout/scroll-top/index.mjs.map +1 -1
  407. package/dist/composite/layout/section-intro/small.d.ts +2 -1
  408. package/dist/composite/layout/section-intro/small.d.ts.map +1 -1
  409. package/dist/composite/layout/section-intro/small.js +97 -107
  410. package/dist/composite/layout/section-intro/small.js.map +1 -1
  411. package/dist/composite/layout/section-intro/small.mjs +95 -106
  412. package/dist/composite/layout/section-intro/small.mjs.map +1 -1
  413. package/dist/composite/layout/section-intro/wide.d.ts +2 -2
  414. package/dist/composite/layout/section-intro/wide.d.ts.map +1 -1
  415. package/dist/composite/layout/section-intro/wide.js +40 -53
  416. package/dist/composite/layout/section-intro/wide.js.map +1 -1
  417. package/dist/composite/layout/section-intro/wide.mjs +39 -53
  418. package/dist/composite/layout/section-intro/wide.mjs.map +1 -1
  419. package/dist/composite/layout/sticky-columns/index.js +1 -1
  420. package/dist/composite/layout/sticky-columns/index.js.map +1 -1
  421. package/dist/composite/layout/sticky-columns/index.mjs +1 -1
  422. package/dist/composite/layout/sticky-columns/index.mjs.map +1 -1
  423. package/dist/composite/media/elements/caption.js +1 -1
  424. package/dist/composite/media/elements/caption.js.map +1 -1
  425. package/dist/composite/media/elements/caption.mjs +1 -1
  426. package/dist/composite/media/elements/caption.mjs.map +1 -1
  427. package/dist/composite/media/elements/gif.d.ts +3 -2
  428. package/dist/composite/media/elements/gif.d.ts.map +1 -1
  429. package/dist/composite/media/elements/gif.js +25 -27
  430. package/dist/composite/media/elements/gif.js.map +1 -1
  431. package/dist/composite/media/elements/gif.mjs +25 -27
  432. package/dist/composite/media/elements/gif.mjs.map +1 -1
  433. package/dist/composite/media/inline/caption.js +2 -2
  434. package/dist/composite/media/inline/caption.js.map +1 -1
  435. package/dist/composite/media/inline/caption.mjs +2 -2
  436. package/dist/composite/media/inline/caption.mjs.map +1 -1
  437. package/dist/composite/media/inline/wrapped.js +2 -2
  438. package/dist/composite/media/inline/wrapped.js.map +1 -1
  439. package/dist/composite/media/inline/wrapped.mjs +2 -2
  440. package/dist/composite/media/inline/wrapped.mjs.map +1 -1
  441. package/dist/composite/navigation/elements/breadcrumb/index.js +1 -1
  442. package/dist/composite/navigation/elements/breadcrumb/index.js.map +1 -1
  443. package/dist/composite/navigation/elements/breadcrumb/index.mjs +1 -1
  444. package/dist/composite/navigation/elements/breadcrumb/index.mjs.map +1 -1
  445. package/dist/composite/navigation/elements/drawer/index.js +1 -1
  446. package/dist/composite/navigation/elements/drawer/index.js.map +1 -1
  447. package/dist/composite/navigation/elements/drawer/index.mjs +1 -1
  448. package/dist/composite/navigation/elements/drawer/index.mjs.map +1 -1
  449. package/dist/composite/navigation/elements/item/index.js +1 -1
  450. package/dist/composite/navigation/elements/item/index.js.map +1 -1
  451. package/dist/composite/navigation/elements/item/index.mjs +1 -1
  452. package/dist/composite/navigation/elements/item/index.mjs.map +1 -1
  453. package/dist/composite/navigation/elements/menu-button/index.js +1 -1
  454. package/dist/composite/navigation/elements/menu-button/index.js.map +1 -1
  455. package/dist/composite/navigation/elements/menu-button/index.mjs +1 -1
  456. package/dist/composite/navigation/elements/menu-button/index.mjs.map +1 -1
  457. package/dist/composite/navigation/elements/slider/action.js +1 -1
  458. package/dist/composite/navigation/elements/slider/action.js.map +1 -1
  459. package/dist/composite/navigation/elements/slider/action.mjs +1 -1
  460. package/dist/composite/navigation/elements/slider/action.mjs.map +1 -1
  461. package/dist/composite/navigation/elements/slider/index.js +1 -1
  462. package/dist/composite/navigation/elements/slider/index.js.map +1 -1
  463. package/dist/composite/navigation/elements/slider/index.mjs +1 -1
  464. package/dist/composite/navigation/elements/slider/index.mjs.map +1 -1
  465. package/dist/composite/navigation/elements/slider/slide-first.js +1 -1
  466. package/dist/composite/navigation/elements/slider/slide-first.js.map +1 -1
  467. package/dist/composite/navigation/elements/slider/slide-first.mjs +1 -1
  468. package/dist/composite/navigation/elements/slider/slide-first.mjs.map +1 -1
  469. package/dist/composite/navigation/elements/slider/slides.js +1 -1
  470. package/dist/composite/navigation/elements/slider/slides.js.map +1 -1
  471. package/dist/composite/navigation/elements/slider/slides.mjs +1 -1
  472. package/dist/composite/navigation/elements/slider/slides.mjs.map +1 -1
  473. package/dist/composite/navigation/header.js +1 -1
  474. package/dist/composite/navigation/header.js.map +1 -1
  475. package/dist/composite/navigation/header.mjs +1 -1
  476. package/dist/composite/navigation/header.mjs.map +1 -1
  477. package/dist/composite/navigation/utility/alert.js +8 -4
  478. package/dist/composite/navigation/utility/alert.js.map +1 -1
  479. package/dist/composite/navigation/utility/alert.mjs +8 -4
  480. package/dist/composite/navigation/utility/alert.mjs.map +1 -1
  481. package/dist/composite/navigation/utility/index.d.ts.map +1 -1
  482. package/dist/composite/navigation/utility/index.js +90 -13
  483. package/dist/composite/navigation/utility/index.js.map +1 -1
  484. package/dist/composite/navigation/utility/index.mjs +90 -13
  485. package/dist/composite/navigation/utility/index.mjs.map +1 -1
  486. package/dist/composite/navigation/utility/search.js +1 -1
  487. package/dist/composite/navigation/utility/search.js.map +1 -1
  488. package/dist/composite/navigation/utility/search.mjs +1 -1
  489. package/dist/composite/navigation/utility/search.mjs.map +1 -1
  490. package/dist/composite/pathway/_common.d.ts +4 -20
  491. package/dist/composite/pathway/_common.d.ts.map +1 -1
  492. package/dist/composite/pathway/_common.js +62 -64
  493. package/dist/composite/pathway/_common.js.map +1 -1
  494. package/dist/composite/pathway/_common.mjs +56 -60
  495. package/dist/composite/pathway/_common.mjs.map +1 -1
  496. package/dist/composite/pathway/hero.d.ts +1 -5
  497. package/dist/composite/pathway/hero.d.ts.map +1 -1
  498. package/dist/composite/pathway/hero.js +119 -140
  499. package/dist/composite/pathway/hero.js.map +1 -1
  500. package/dist/composite/pathway/hero.mjs +113 -135
  501. package/dist/composite/pathway/hero.mjs.map +1 -1
  502. package/dist/composite/pathway/highlight.d.ts +1 -5
  503. package/dist/composite/pathway/highlight.d.ts.map +1 -1
  504. package/dist/composite/pathway/highlight.js +99 -129
  505. package/dist/composite/pathway/highlight.js.map +1 -1
  506. package/dist/composite/pathway/highlight.mjs +98 -129
  507. package/dist/composite/pathway/highlight.mjs.map +1 -1
  508. package/dist/composite/pathway/overlay.d.ts +2 -1
  509. package/dist/composite/pathway/overlay.d.ts.map +1 -1
  510. package/dist/composite/pathway/overlay.js +125 -153
  511. package/dist/composite/pathway/overlay.js.map +1 -1
  512. package/dist/composite/pathway/overlay.mjs +122 -151
  513. package/dist/composite/pathway/overlay.mjs.map +1 -1
  514. package/dist/composite/pathway/standard.d.ts +2 -1
  515. package/dist/composite/pathway/standard.d.ts.map +1 -1
  516. package/dist/composite/pathway/standard.js +96 -123
  517. package/dist/composite/pathway/standard.js.map +1 -1
  518. package/dist/composite/pathway/standard.mjs +95 -123
  519. package/dist/composite/pathway/standard.mjs.map +1 -1
  520. package/dist/composite/pathway/sticky.d.ts +1 -5
  521. package/dist/composite/pathway/sticky.d.ts.map +1 -1
  522. package/dist/composite/pathway/sticky.js +91 -116
  523. package/dist/composite/pathway/sticky.js.map +1 -1
  524. package/dist/composite/pathway/sticky.mjs +88 -114
  525. package/dist/composite/pathway/sticky.mjs.map +1 -1
  526. package/dist/composite/person/bio/full.d.ts +2 -5
  527. package/dist/composite/person/bio/full.d.ts.map +1 -1
  528. package/dist/composite/person/bio/full.js +53 -57
  529. package/dist/composite/person/bio/full.js.map +1 -1
  530. package/dist/composite/person/bio/full.mjs +52 -57
  531. package/dist/composite/person/bio/full.mjs.map +1 -1
  532. package/dist/composite/person/bio/small.d.ts +2 -5
  533. package/dist/composite/person/bio/small.d.ts.map +1 -1
  534. package/dist/composite/person/bio/small.js +85 -98
  535. package/dist/composite/person/bio/small.js.map +1 -1
  536. package/dist/composite/person/bio/small.mjs +84 -98
  537. package/dist/composite/person/bio/small.mjs.map +1 -1
  538. package/dist/composite/person/block.d.ts +2 -5
  539. package/dist/composite/person/block.d.ts.map +1 -1
  540. package/dist/composite/person/block.js +34 -42
  541. package/dist/composite/person/block.js.map +1 -1
  542. package/dist/composite/person/block.mjs +34 -42
  543. package/dist/composite/person/block.mjs.map +1 -1
  544. package/dist/composite/person/hero.d.ts +2 -5
  545. package/dist/composite/person/hero.d.ts.map +1 -1
  546. package/dist/composite/person/hero.js +160 -220
  547. package/dist/composite/person/hero.js.map +1 -1
  548. package/dist/composite/person/hero.mjs +159 -220
  549. package/dist/composite/person/hero.mjs.map +1 -1
  550. package/dist/composite/person/list.d.ts +2 -5
  551. package/dist/composite/person/list.d.ts.map +1 -1
  552. package/dist/composite/person/list.js +19 -19
  553. package/dist/composite/person/list.js.map +1 -1
  554. package/dist/composite/person/list.mjs +19 -19
  555. package/dist/composite/person/list.mjs.map +1 -1
  556. package/dist/composite/person/tabular.d.ts +2 -5
  557. package/dist/composite/person/tabular.d.ts.map +1 -1
  558. package/dist/composite/person/tabular.js +40 -36
  559. package/dist/composite/person/tabular.js.map +1 -1
  560. package/dist/composite/person/tabular.mjs +38 -36
  561. package/dist/composite/person/tabular.mjs.map +1 -1
  562. package/dist/composite/quote/elements/action.d.ts +1 -5
  563. package/dist/composite/quote/elements/action.d.ts.map +1 -1
  564. package/dist/composite/quote/elements/action.js +13 -17
  565. package/dist/composite/quote/elements/action.js.map +1 -1
  566. package/dist/composite/quote/elements/action.mjs +13 -17
  567. package/dist/composite/quote/elements/action.mjs.map +1 -1
  568. package/dist/composite/quote/elements/icon.d.ts +1 -5
  569. package/dist/composite/quote/elements/icon.d.ts.map +1 -1
  570. package/dist/composite/quote/elements/icon.js +37 -40
  571. package/dist/composite/quote/elements/icon.js.map +1 -1
  572. package/dist/composite/quote/elements/icon.mjs +37 -40
  573. package/dist/composite/quote/elements/icon.mjs.map +1 -1
  574. package/dist/composite/quote/elements/image.d.ts +1 -5
  575. package/dist/composite/quote/elements/image.d.ts.map +1 -1
  576. package/dist/composite/quote/elements/image.js +27 -35
  577. package/dist/composite/quote/elements/image.js.map +1 -1
  578. package/dist/composite/quote/elements/image.mjs +27 -35
  579. package/dist/composite/quote/elements/image.mjs.map +1 -1
  580. package/dist/composite/quote/elements/quote.d.ts +1 -5
  581. package/dist/composite/quote/elements/quote.d.ts.map +1 -1
  582. package/dist/composite/quote/elements/quote.js +37 -48
  583. package/dist/composite/quote/elements/quote.js.map +1 -1
  584. package/dist/composite/quote/elements/quote.mjs +35 -46
  585. package/dist/composite/quote/elements/quote.mjs.map +1 -1
  586. package/dist/composite/quote/elements/text.d.ts +1 -5
  587. package/dist/composite/quote/elements/text.d.ts.map +1 -1
  588. package/dist/composite/quote/elements/text.js +60 -73
  589. package/dist/composite/quote/elements/text.js.map +1 -1
  590. package/dist/composite/quote/elements/text.mjs +60 -73
  591. package/dist/composite/quote/elements/text.mjs.map +1 -1
  592. package/dist/composite/quote/featured.d.ts +2 -1
  593. package/dist/composite/quote/featured.d.ts.map +1 -1
  594. package/dist/composite/quote/featured.js +102 -135
  595. package/dist/composite/quote/featured.js.map +1 -1
  596. package/dist/composite/quote/featured.mjs +102 -135
  597. package/dist/composite/quote/featured.mjs.map +1 -1
  598. package/dist/composite/quote/helper/animation.d.ts +2 -2
  599. package/dist/composite/quote/helper/animation.d.ts.map +1 -1
  600. package/dist/composite/quote/helper/animation.js.map +1 -1
  601. package/dist/composite/quote/helper/animation.mjs.map +1 -1
  602. package/dist/composite/quote/inline.d.ts +2 -1
  603. package/dist/composite/quote/inline.d.ts.map +1 -1
  604. package/dist/composite/quote/inline.js +29 -45
  605. package/dist/composite/quote/inline.js.map +1 -1
  606. package/dist/composite/quote/inline.mjs +29 -45
  607. package/dist/composite/quote/inline.mjs.map +1 -1
  608. package/dist/composite/quote/statement.d.ts +1 -5
  609. package/dist/composite/quote/statement.d.ts.map +1 -1
  610. package/dist/composite/slider/events.js +1 -1
  611. package/dist/composite/slider/events.js.map +1 -1
  612. package/dist/composite/slider/events.mjs +1 -1
  613. package/dist/composite/slider/events.mjs.map +1 -1
  614. package/dist/composite/social/sharing.js +1 -1
  615. package/dist/composite/social/sharing.js.map +1 -1
  616. package/dist/composite/social/sharing.mjs +1 -1
  617. package/dist/composite/social/sharing.mjs.map +1 -1
  618. package/dist/composite/tabs/standard.d.ts.map +1 -1
  619. package/dist/composite/tabs/standard.js +3 -2
  620. package/dist/composite/tabs/standard.js.map +1 -1
  621. package/dist/composite/tabs/standard.mjs +3 -2
  622. package/dist/composite/tabs/standard.mjs.map +1 -1
  623. package/dist/index.d.ts +0 -1
  624. package/dist/index.d.ts.map +1 -1
  625. package/dist/index.js +0 -2
  626. package/dist/index.js.map +1 -1
  627. package/dist/index.mjs +1 -3
  628. package/dist/index.mjs.map +1 -1
  629. package/dist/layout/image.js +1 -1
  630. package/dist/layout/image.js.map +1 -1
  631. package/dist/layout/image.mjs +1 -1
  632. package/dist/layout/image.mjs.map +1 -1
  633. package/package.json +10 -9
  634. package/dist/model/elements/actions.d.ts +0 -62
  635. package/dist/model/elements/actions.d.ts.map +0 -1
  636. package/dist/model/elements/actions.js +0 -71
  637. package/dist/model/elements/actions.js.map +0 -1
  638. package/dist/model/elements/actions.mjs +0 -54
  639. package/dist/model/elements/actions.mjs.map +0 -1
  640. package/dist/model/elements/assets.d.ts +0 -30
  641. package/dist/model/elements/assets.d.ts.map +0 -1
  642. package/dist/model/elements/assets.js +0 -42
  643. package/dist/model/elements/assets.js.map +0 -1
  644. package/dist/model/elements/assets.mjs +0 -25
  645. package/dist/model/elements/assets.mjs.map +0 -1
  646. package/dist/model/elements/buttons.d.ts +0 -12
  647. package/dist/model/elements/buttons.d.ts.map +0 -1
  648. package/dist/model/elements/buttons.js +0 -26
  649. package/dist/model/elements/buttons.js.map +0 -1
  650. package/dist/model/elements/buttons.mjs +0 -9
  651. package/dist/model/elements/buttons.mjs.map +0 -1
  652. package/dist/model/elements/event.d.ts +0 -22
  653. package/dist/model/elements/event.d.ts.map +0 -1
  654. package/dist/model/elements/event.js +0 -30
  655. package/dist/model/elements/event.js.map +0 -1
  656. package/dist/model/elements/event.mjs +0 -13
  657. package/dist/model/elements/event.mjs.map +0 -1
  658. package/dist/model/elements/headline.d.ts +0 -67
  659. package/dist/model/elements/headline.d.ts.map +0 -1
  660. package/dist/model/elements/headline.js +0 -74
  661. package/dist/model/elements/headline.js.map +0 -1
  662. package/dist/model/elements/headline.mjs +0 -57
  663. package/dist/model/elements/headline.mjs.map +0 -1
  664. package/dist/model/elements/index.d.ts +0 -34
  665. package/dist/model/elements/index.d.ts.map +0 -1
  666. package/dist/model/elements/index.js +0 -37
  667. package/dist/model/elements/index.js.map +0 -1
  668. package/dist/model/elements/index.mjs +0 -37
  669. package/dist/model/elements/index.mjs.map +0 -1
  670. package/dist/model/elements/layout.d.ts +0 -64
  671. package/dist/model/elements/layout.d.ts.map +0 -1
  672. package/dist/model/elements/layout.js +0 -68
  673. package/dist/model/elements/layout.js.map +0 -1
  674. package/dist/model/elements/layout.mjs +0 -51
  675. package/dist/model/elements/layout.mjs.map +0 -1
  676. package/dist/model/elements/rich-text.d.ts +0 -27
  677. package/dist/model/elements/rich-text.d.ts.map +0 -1
  678. package/dist/model/elements/rich-text.js +0 -68
  679. package/dist/model/elements/rich-text.js.map +0 -1
  680. package/dist/model/elements/rich-text.mjs +0 -51
  681. package/dist/model/elements/rich-text.mjs.map +0 -1
  682. package/dist/model/elements/text.d.ts +0 -22
  683. package/dist/model/elements/text.d.ts.map +0 -1
  684. package/dist/model/elements/text.js +0 -30
  685. package/dist/model/elements/text.js.map +0 -1
  686. package/dist/model/elements/text.mjs +0 -13
  687. package/dist/model/elements/text.mjs.map +0 -1
  688. package/dist/model/index.d.ts +0 -2
  689. package/dist/model/index.d.ts.map +0 -1
  690. package/dist/model/modifiers/_types.d.ts +0 -41
  691. package/dist/model/modifiers/_types.d.ts.map +0 -1
  692. package/dist/model/modifiers/index.d.ts +0 -44
  693. package/dist/model/modifiers/index.d.ts.map +0 -1
  694. package/dist/model/modifiers/index.js +0 -136
  695. package/dist/model/modifiers/index.js.map +0 -1
  696. package/dist/model/modifiers/index.mjs +0 -136
  697. package/dist/model/modifiers/index.mjs.map +0 -1
  698. package/dist/model/modifiers/style.d.ts +0 -19
  699. package/dist/model/modifiers/style.d.ts.map +0 -1
  700. package/dist/model/modifiers/style.js +0 -122
  701. package/dist/model/modifiers/style.js.map +0 -1
  702. package/dist/model/modifiers/style.mjs +0 -105
  703. package/dist/model/modifiers/style.mjs.map +0 -1
  704. package/dist/model.d.ts +0 -2
  705. package/dist/model.js +0 -5
  706. package/dist/model.js.map +0 -1
  707. package/dist/model.mjs +0 -5
  708. package/dist/model.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"standard.mjs","sources":["../../../source/composite/hero/standard.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport { assets, textLockup } from 'atomic';\nimport { ElementModel } from 'model';\nimport { type ElementVisual } from '../../_types';\nimport { type HeroStandardProps } from './_types';\n\nconst ANIMATION_CONFIG = {\n SLIDE_UP: {\n DURATION: '1s',\n TRANSFORM: {\n FROM: 'translateY(25px)',\n TO: 'translateY(0)',\n },\n OPACITY: {\n FROM: 0.2,\n TO: 1,\n },\n },\n SCALE_DOWN: {\n DURATION: '1s',\n TRANSFORM: {\n FROM: 'scale(1.1)',\n TO: 'scale(1)',\n },\n },\n} as const;\n\nconst keyFrameHeroSlideUp = `\n @keyframes hero-slide-up {\n from {\n transform: ${ANIMATION_CONFIG.SLIDE_UP.TRANSFORM.FROM};\n opacity: ${ANIMATION_CONFIG.SLIDE_UP.OPACITY.FROM};\n }\n to {\n transform: ${ANIMATION_CONFIG.SLIDE_UP.TRANSFORM.TO};\n opacity: ${ANIMATION_CONFIG.SLIDE_UP.OPACITY.TO};\n }\n }\n`;\n\nconst keyFrameHeroScaleDown = `\n @keyframes hero-scale-down {\n from {\n transform: ${ANIMATION_CONFIG.SCALE_DOWN.TRANSFORM.FROM};\n }\n to {\n transform: ${ANIMATION_CONFIG.SCALE_DOWN.TRANSFORM.TO};\n }\n }\n`;\n\nconst createVideoAsset = (video: HTMLVideoElement) => {\n return assets.video.observedAutoPlay({\n video,\n isScaled: true,\n });\n};\n\nconst createImageAsset = (image: HTMLImageElement) => {\n return assets.image.background({\n element: image,\n isScaled: true,\n isGifAllowed: true,\n isShowCaption: true,\n });\n};\n\nconst buildAssetChildren = ({\n image,\n video,\n}: Pick<HeroStandardProps, 'image' | 'video'>): ElementVisual[] => {\n const children: ElementVisual[] = [];\n\n if (video) {\n children.push(createVideoAsset(video));\n }\n\n if (image && !video) {\n children.push(createImageAsset(image));\n }\n\n if (!image && !video) {\n children.push(assets.image.placeholder.fearlessForward());\n }\n\n return children;\n};\n\nconst buildAssetStyles = (includesAnimation?: boolean) => {\n return {\n element: {\n [`@container (${token.media.queries.large.max})`]: {\n aspectRatio: '16 / 9',\n },\n\n [`@container (${token.media.queries.tablet.min})`]: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n },\n\n [`&:before`]: {\n [`@container (${token.media.queries.tablet.min})`]: {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background:\n 'linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 85%)',\n zIndex: '99',\n },\n },\n\n ['& img']: {\n ...(includesAnimation && {\n [`@media (prefers-reduced-motion: no-preference)`]: {\n animation: `hero-scale-down forwards ${ANIMATION_CONFIG.SCALE_DOWN.DURATION}`,\n },\n }),\n },\n },\n };\n};\n\nconst createAsset = ({\n image,\n video,\n includesAnimation,\n}: Pick<HeroStandardProps, 'image' | 'video' | 'includesAnimation'>) => {\n const children = buildAssetChildren({ image, video });\n const elementStyles = buildAssetStyles(includesAnimation);\n\n return ElementModel.createDiv({\n className: 'umd-hero-default__asset',\n children,\n elementStyles,\n });\n};\n\nconst createHeadline = (\n props: Pick<HeroStandardProps, 'headline' | 'isHeightSmall' | 'isThemeDark'>,\n) => {\n const { headline, isHeightSmall, isThemeDark } = props;\n const characterCount = headline?.textContent?.trim().length || 0;\n const isOverwriteHeadline = characterCount > 10 && isHeightSmall;\n\n if (!headline) return null;\n\n const tabletStyles = {\n maxWidth: '700px',\n marginLeft: 'auto',\n marginRight: 'auto',\n color: token.color.white,\n };\n\n const desktopStyles = {\n maxWidth: '816px',\n ...(isOverwriteHeadline && { fontSize: '80px' }),\n };\n\n const headlineElement = ElementModel.headline.campaignExtraLarge({\n element: headline,\n elementStyles: {\n element: {\n textTransform: 'uppercase',\n [`@media (${token.media.queries.tablet.min})`]: tabletStyles,\n [`@media (${token.media.queries.desktop.min})`]: desktopStyles,\n },\n subElement: {\n color: 'currentColor',\n },\n siblingAfter: {\n marginTop: token.spacing.sm,\n },\n },\n isThemeDark,\n });\n\n return headlineElement;\n};\n\nconst createText = (props: HeroStandardProps) => {\n const {\n isTextCenter = false,\n isHeightSmall = false,\n includesAnimation,\n isThemeDark,\n } = props;\n\n const text = textLockup.large({\n headlineComposite: createHeadline(props),\n ribbon: props.eyebrow,\n textLargest: props.text,\n actions: props.actions,\n isThemeDark: true,\n });\n\n const textContainer = ElementModel.createDiv({\n className: 'umd-hero-default__text',\n children: [text],\n elementStyles: {\n element: {\n display: 'flex',\n alignItems: 'flex-end',\n height: '100%',\n ...(isTextCenter && {\n textAlign: 'center',\n justifyContent: 'center',\n marginLeft: 'auto',\n marginRight: 'auto',\n maxWidth: '928px',\n }),\n\n ...(includesAnimation && {\n animation: `hero-slide-up forwards ${ANIMATION_CONFIG.SLIDE_UP.DURATION}`,\n }),\n\n [`@container (${token.media.queries.tablet.min})`]: {\n maxWidth: '736px',\n paddingTop: `${token.spacing['2xl']}`,\n paddingBottom: `${token.spacing['2xl']}`,\n ...(!isTextCenter && {\n width: '80%',\n }),\n ...(isHeightSmall && {\n minHeight: '400px',\n alignItems: 'flex-end',\n display: 'flex',\n }),\n },\n\n [`@container (${token.media.queries.desktop.min})`]: {\n maxWidth: '808px',\n },\n },\n },\n });\n\n return ElementModel.layout.spaceHorizontalLarger({\n element: document.createElement('div'),\n children: [textContainer],\n elementStyles: {\n element: {\n height: '100%',\n width: '100%',\n position: 'relative',\n zIndex: 99,\n\n [`@container (${token.media.queries.tablet.max})`]: {\n paddingTop: `${token.spacing.sm}`,\n\n [`&:has(.${elementStyles.text.decoration.ribbon.className})`]: {\n paddingTop: `0`,\n marginTop: '-14px',\n },\n },\n },\n },\n });\n};\n\nexport default (props: HeroStandardProps) => {\n const { isHeightSmall, isThemeDark } = props;\n const asset = createAsset(props);\n const text = createText(props);\n\n const composite = ElementModel.createDiv({\n className: 'umd-hero-default',\n children: [asset, text],\n elementStyles: {\n element: {\n position: 'relative',\n overflow: 'hidden',\n containerType: 'inline-size',\n\n ...(isThemeDark && {\n backgroundColor: token.color.black,\n }),\n\n [`@container (${token.media.queries.tablet.min})`]: {\n ...(!isHeightSmall && {\n height: '75vh',\n minHeight: '480px',\n }),\n },\n\n [`@container (${token.media.queries.desktop.min})`]: {\n ...(!isHeightSmall && {\n minHeight: '720px',\n }),\n },\n },\n subElement: {\n [`@container (${token.media.queries.large.max})`]: {\n [`*:not(.${elementStyles.asset.image.caption.className})`]: {\n ...(!isThemeDark && {\n color: `${token.color.black} !important`,\n }),\n },\n },\n },\n },\n });\n\n composite.styles += keyFrameHeroScaleDown;\n composite.styles += keyFrameHeroSlideUp;\n\n return composite;\n};\n"],"names":["assets.video.observedAutoPlay","assets.image.background","assets.image.placeholder","elementStyles","ElementModel.createDiv","ElementModel.headline.campaignExtraLarge","textLockup.large","ElementModel.layout.spaceHorizontalLarger"],"mappings":"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"}
1
+ {"version":3,"file":"standard.mjs","sources":["../../../source/composite/hero/standard.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as elementStyles from '@universityofmaryland/web-styles-library/element';\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { theme } from '@universityofmaryland/web-utilities-library/theme';\nimport { assets, textLockup } from 'atomic';\nimport { type HeroStandardProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\nconst ANIMATION_CONFIG = {\n SLIDE_UP: {\n DURATION: '1s',\n TRANSFORM: {\n FROM: 'translateY(25px)',\n TO: 'translateY(0)',\n },\n OPACITY: {\n FROM: 0.2,\n TO: 1,\n },\n },\n SCALE_DOWN: {\n DURATION: '1s',\n TRANSFORM: {\n FROM: 'scale(1.1)',\n TO: 'scale(1)',\n },\n },\n} as const;\n\nconst keyFrameHeroSlideUp = `\n @keyframes hero-slide-up {\n from {\n transform: ${ANIMATION_CONFIG.SLIDE_UP.TRANSFORM.FROM};\n opacity: ${ANIMATION_CONFIG.SLIDE_UP.OPACITY.FROM};\n }\n to {\n transform: ${ANIMATION_CONFIG.SLIDE_UP.TRANSFORM.TO};\n opacity: ${ANIMATION_CONFIG.SLIDE_UP.OPACITY.TO};\n }\n }\n`;\n\nconst keyFrameHeroScaleDown = `\n @keyframes hero-scale-down {\n from {\n transform: ${ANIMATION_CONFIG.SCALE_DOWN.TRANSFORM.FROM};\n }\n to {\n transform: ${ANIMATION_CONFIG.SCALE_DOWN.TRANSFORM.TO};\n }\n }\n`;\n\nconst createVideoAsset = (video: HTMLVideoElement) => {\n return assets.video.observedAutoPlay({\n video,\n isScaled: true,\n });\n};\n\nconst createImageAsset = (image: HTMLImageElement) => {\n return assets.image.background({\n element: image,\n isScaled: true,\n isGifAllowed: true,\n isShowCaption: true,\n });\n};\n\nconst buildAssetChildren = ({\n image,\n video,\n}: Pick<HeroStandardProps, 'image' | 'video'>): ElementModel<HTMLElement>[] => {\n const children: ElementModel<HTMLElement>[] = [];\n\n if (video) {\n children.push(createVideoAsset(video));\n }\n\n if (image && !video) {\n children.push(createImageAsset(image));\n }\n\n if (!image && !video) {\n children.push(assets.image.placeholder.fearlessForward());\n }\n\n return children;\n};\n\nconst buildAssetStyles = (includesAnimation?: boolean) => {\n return {\n element: {\n [`@container (${token.media.queries.large.max})`]: {\n aspectRatio: '16 / 9',\n },\n\n [`@container (${token.media.queries.tablet.min})`]: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n },\n\n [`&:before`]: {\n [`@container (${token.media.queries.tablet.min})`]: {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background:\n 'linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 85%)',\n zIndex: '99',\n },\n },\n\n ['& img']: {\n ...(includesAnimation && {\n [`@media (prefers-reduced-motion: no-preference)`]: {\n animation: `hero-scale-down forwards ${ANIMATION_CONFIG.SCALE_DOWN.DURATION}`,\n },\n }),\n },\n },\n };\n};\n\nconst createAsset = ({\n image,\n video,\n includesAnimation,\n}: Pick<HeroStandardProps, 'image' | 'video' | 'includesAnimation'>) => {\n const children = buildAssetChildren({ image, video });\n const elementStyles = buildAssetStyles(includesAnimation);\n\n return new ElementBuilder()\n .withClassName('umd-hero-default__asset')\n .withChildren(...children)\n .withStyles(elementStyles)\n .build();\n};\n\nconst createHeadline = (\n props: Pick<\n HeroStandardProps,\n 'headline' | 'isHeightSmall' | 'isThemeDark' | 'isTextCenter'\n >,\n): ElementModel<HTMLElement> | null => {\n const { headline, isHeightSmall, isTextCenter, isThemeDark } = props;\n const characterCount = headline?.textContent?.trim().length || 0;\n const isOverwriteHeadline = characterCount > 10 && isHeightSmall;\n\n if (!headline) return null;\n\n return new ElementBuilder(headline)\n .styled(\n Styles.typography.campaign.compose('extralarge', {\n theme: theme.fontColor(isThemeDark),\n }),\n )\n .withStyles({\n element: {\n textTransform: 'uppercase',\n\n [`@media (${token.media.queries.tablet.min})`]: {\n maxWidth: '700px',\n color: token.color.white,\n\n ...(isTextCenter && { marginLeft: 'auto', marginRight: 'auto' }),\n },\n\n [`@media (${token.media.queries.desktop.min})`]: {\n maxWidth: '816px',\n ...(isOverwriteHeadline && { fontSize: '80px' }),\n },\n },\n subElement: {\n color: 'currentColor',\n },\n siblingAfter: {\n marginTop: token.spacing.sm,\n },\n })\n .build();\n};\n\nconst createText = (props: HeroStandardProps) => {\n const {\n isTextCenter = false,\n isHeightSmall = false,\n includesAnimation,\n } = props;\n\n const text = textLockup.large({\n headlineComposite: createHeadline(props),\n ribbon: props.eyebrow,\n textLargest: props.text,\n actions: props.actions,\n isThemeDark: true,\n });\n\n const textContainer = new ElementBuilder()\n .withClassName('umd-hero-default__text')\n .withChild(text)\n .withStyles({\n element: {\n display: 'flex',\n alignItems: 'flex-end',\n height: '100%',\n\n ...(isTextCenter && {\n textAlign: 'center',\n justifyContent: 'center',\n marginLeft: 'auto',\n marginRight: 'auto',\n maxWidth: '928px',\n }),\n\n ...(includesAnimation && {\n animation: `hero-slide-up forwards ${ANIMATION_CONFIG.SLIDE_UP.DURATION}`,\n }),\n\n [`@container (${token.media.queries.tablet.min})`]: {\n maxWidth: '736px',\n paddingTop: `${token.spacing['2xl']}`,\n paddingBottom: `${token.spacing['2xl']}`,\n ...(!isTextCenter && {\n width: '80%',\n }),\n ...(isHeightSmall && {\n minHeight: '400px',\n alignItems: 'flex-end',\n display: 'flex',\n }),\n },\n\n [`@container (${token.media.queries.desktop.min})`]: {\n maxWidth: '808px',\n },\n },\n })\n .build();\n\n return new ElementBuilder()\n .styled(Styles.layout.space.horizontal.larger)\n .withChild(textContainer)\n .withStyles({\n element: {\n height: '100%',\n width: '100%',\n position: 'relative',\n zIndex: 99,\n\n [`@container (${token.media.queries.tablet.max})`]: {\n paddingTop: `${token.spacing.sm}`,\n\n [`&:has(.${elementStyles.text.decoration.ribbon.className})`]: {\n paddingTop: `0`,\n marginTop: '-14px',\n },\n },\n },\n })\n .build();\n};\n\nexport default (props: HeroStandardProps) => {\n const { isHeightSmall, isThemeDark } = props;\n const asset = createAsset(props);\n const text = createText(props);\n\n const composite = new ElementBuilder()\n .withClassName('umd-hero-default')\n .withChildren(asset, text)\n .withStyles({\n element: {\n position: 'relative',\n overflow: 'hidden',\n containerType: 'inline-size',\n\n ...(isThemeDark && {\n backgroundColor: token.color.black,\n }),\n\n [`@container (${token.media.queries.large.max})`]: {\n ...(isThemeDark && {\n paddingBottom: `${token.spacing.md}`,\n }),\n },\n\n [`@container (${token.media.queries.tablet.min})`]: {\n ...(!isHeightSmall && {\n height: '75vh',\n minHeight: '480px',\n }),\n },\n\n [`@container (${token.media.queries.desktop.min})`]: {\n ...(!isHeightSmall && {\n minHeight: '720px',\n }),\n },\n },\n subElement: {\n [`@container (${token.media.queries.large.max})`]: {\n [`*:not(.${elementStyles.asset.image.caption.className})`]: {\n ...(!isThemeDark && {\n color: `${token.color.black} !important`,\n }),\n },\n },\n },\n })\n .build();\n\n composite.styles += keyFrameHeroScaleDown;\n composite.styles += keyFrameHeroSlideUp;\n\n return composite;\n};\n"],"names":["assets.video.observedAutoPlay","assets.image.background","assets.image.placeholder","elementStyles","textLockup.large"],"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
  const typography = require("@universityofmaryland/web-styles-library/typography");
4
4
  const styles = require("@universityofmaryland/web-utilities-library/styles");
5
5
  function _interopNamespaceDefault(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"logo.js","sources":["../../../../source/composite/layout/box/logo.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\n\nexport type TypeLogoRequirements = {\n isBordered?: boolean;\n isThemeDark?: boolean;\n image: HTMLElement;\n text?: HTMLElement | null;\n};\n\nconst ATTRIBUTE_THEME = 'theme';\nconst ATTRIBUTE_BORDER = 'border';\nconst THEME_DARK = 'dark';\n\nconst ELEMENT_NAME = 'umd-logo-block';\nconst ELEMENT_LOGO_BLOCK_CONTAINER = 'logo-block-container';\nconst ELEMENT_LOGO_BLOCK_ASSET = 'logo-block-asset';\nconst ELEMENT_LOGO_BLOCK_TEXT = 'logo-block-text';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\nconst IS_BORDER = `[${ATTRIBUTE_BORDER}]`;\n\nconst OVERWRITE_THEME_DARK_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK} .${ELEMENT_LOGO_BLOCK_ASSET}`;\nconst OVERWRITE_THEME_DARK_TEXT = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK} .${ELEMENT_LOGO_BLOCK_TEXT}`;\n\nconst OVERWRITE_BORDER_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_BORDER} .${ELEMENT_LOGO_BLOCK_ASSET}`;\nconst OVERWRITE_THEME_DARK_BORDER_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK}${IS_BORDER} .${ELEMENT_LOGO_BLOCK_ASSET}`;\n\n// prettier-ignore\nconst VariantThemeStyles = `\n ${OVERWRITE_THEME_DARK_ASSET} {\n background-color: ${token.color.gray.darker};\n padding: ${token.spacing.xl};\n }\n\n ${OVERWRITE_THEME_DARK_BORDER_ASSET} {\n border: 1px solid ${token.color.gray.dark};\n }\n\n ${OVERWRITE_THEME_DARK_TEXT},\n ${OVERWRITE_THEME_DARK_TEXT} * {\n color: ${token.color.white};\n };\n`;\n\n// prettier-ignore\nconst VariantBorderStyles = `\n ${OVERWRITE_BORDER_ASSET} {\n border: 1px solid ${token.color.gray.light};\n padding: ${token.spacing.xl};\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextStyles = `\n .${ELEMENT_LOGO_BLOCK_TEXT},\n .${ELEMENT_LOGO_BLOCK_TEXT} * {\n color: ${token.color.gray.darker};\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_LOGO_BLOCK_TEXT}`]: typography.sans.min,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_LOGO_BLOCK_TEXT} *`]: typography.sans.min,\n },\n })}\n\n .${ELEMENT_LOGO_BLOCK_TEXT} a:hover,\n .${ELEMENT_LOGO_BLOCK_TEXT} a:focus {\n text-decoration: underline;\n }\n`;\n\n// prettier-ignore\nconst STYLES_LOGO_BLOCK_ELEMENT = `\n .${ELEMENT_LOGO_BLOCK_CONTAINER} {\n container: ${ELEMENT_NAME} / inline-size;\n height: 100%;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} > * {\n max-height: 50px;\n max-width: 150px;\n display: flex;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} img {\n object-fit: contain;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} + * {\n margin-top: ${token.spacing.min};\n }\n\n ${TextStyles}\n ${VariantBorderStyles}\n ${VariantThemeStyles}\n`;\n\nexport default (element: TypeLogoRequirements) => {\n const { isThemeDark, image, text, isBordered = false } = element;\n\n const elementContainer = document.createElement('div');\n const assetContainer = document.createElement('div');\n\n assetContainer.appendChild(image);\n assetContainer.classList.add(ELEMENT_LOGO_BLOCK_ASSET);\n\n elementContainer.classList.add(ELEMENT_LOGO_BLOCK_CONTAINER);\n if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n if (isBordered) elementContainer.setAttribute(ATTRIBUTE_BORDER, '');\n elementContainer.appendChild(assetContainer);\n\n if (text) {\n text.classList.add(ELEMENT_LOGO_BLOCK_TEXT);\n elementContainer.appendChild(text);\n }\n\n return { element: elementContainer, styles: STYLES_LOGO_BLOCK_ELEMENT };\n};\n"],"names":["token","jssToCSS","typography"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;AACzB,MAAM,aAAa;AAEnB,MAAM,eAAe;AACrB,MAAM,+BAA+B;AACrC,MAAM,2BAA2B;AACjC,MAAM,0BAA0B;AAEhC,MAAM,gBAAgB,IAAI,eAAe,KAAK,UAAU;AACxD,MAAM,YAAY,IAAI,gBAAgB;AAEtC,MAAM,6BAA6B,IAAI,4BAA4B,GAAG,aAAa,KAAK,wBAAwB;AAChH,MAAM,4BAA4B,IAAI,4BAA4B,GAAG,aAAa,KAAK,uBAAuB;AAE9G,MAAM,yBAAyB,IAAI,4BAA4B,GAAG,SAAS,KAAK,wBAAwB;AACxG,MAAM,oCAAoC,IAAI,4BAA4B,GAAG,aAAa,GAAG,SAAS,KAAK,wBAAwB;AAGnI,MAAM,qBAAqB;AAAA,IACvB,0BAA0B;AAAA,wBACNA,iBAAM,MAAM,KAAK,MAAM;AAAA,eAChCA,iBAAM,QAAQ,EAAE;AAAA;AAAA;AAAA,IAG3B,iCAAiC;AAAA,wBACbA,iBAAM,MAAM,KAAK,IAAI;AAAA;AAAA;AAAA,IAGzC,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,aAChBA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAK9B,MAAM,sBAAsB;AAAA,IACxB,sBAAsB;AAAA,wBACFA,iBAAM,MAAM,KAAK,KAAK;AAAA,eAC/BA,iBAAM,QAAQ,EAAE;AAAA;AAAA;AAAA;AAM/B,MAAM,aAAa;AAAA,KACd,uBAAuB;AAAA,KACvB,uBAAuB;AAAA,aACfA,iBAAM,MAAM,KAAK,MAAM;AAAA;AAAA;AAAA,IAGhCC,gBAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,uBAAuB,EAAE,GAAGC,sBAAW,KAAK;AAAA,EAAA;AAErD,CAAC,CAAC;AAAA;AAAA,IAEAD,gBAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,uBAAuB,IAAI,GAAGC,sBAAW,KAAK;AAAA,EAAA;AAEvD,CAAC,CAAC;AAAA;AAAA,KAEC,uBAAuB;AAAA,KACvB,uBAAuB;AAAA;AAAA;AAAA;AAM5B,MAAM,4BAA4B;AAAA,KAC7B,4BAA4B;AAAA,iBAChB,YAAY;AAAA;AAAA;AAAA;AAAA,KAIxB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMxB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMxB,wBAAwB;AAAA;AAAA;AAAA;AAAA,KAIxB,wBAAwB;AAAA,kBACXF,iBAAM,QAAQ,GAAG;AAAA;AAAA;AAAA,IAG/B,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,kBAAkB;AAAA;AAGtB,MAAA,OAAe,CAAC,YAAkC;AAChD,QAAM,EAAE,aAAa,OAAO,MAAM,aAAa,UAAU;AAEzD,QAAM,mBAAmB,SAAS,cAAc,KAAK;AACrD,QAAM,iBAAiB,SAAS,cAAc,KAAK;AAEnD,iBAAe,YAAY,KAAK;AAChC,iBAAe,UAAU,IAAI,wBAAwB;AAErD,mBAAiB,UAAU,IAAI,4BAA4B;AAC3D,MAAI,YAAa,kBAAiB,aAAa,iBAAiB,UAAU;AAC1E,MAAI,WAAY,kBAAiB,aAAa,kBAAkB,EAAE;AAClE,mBAAiB,YAAY,cAAc;AAE3C,MAAI,MAAM;AACR,SAAK,UAAU,IAAI,uBAAuB;AAC1C,qBAAiB,YAAY,IAAI;AAAA,EACnC;AAEA,SAAO,EAAE,SAAS,kBAAkB,QAAQ,0BAAA;AAC9C;;"}
1
+ {"version":3,"file":"logo.js","sources":["../../../../source/composite/layout/box/logo.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\n\nexport type TypeLogoRequirements = {\n isBordered?: boolean;\n isThemeDark?: boolean;\n image: HTMLElement;\n text?: HTMLElement | null;\n};\n\nconst ATTRIBUTE_THEME = 'theme';\nconst ATTRIBUTE_BORDER = 'border';\nconst THEME_DARK = 'dark';\n\nconst ELEMENT_NAME = 'umd-logo-block';\nconst ELEMENT_LOGO_BLOCK_CONTAINER = 'logo-block-container';\nconst ELEMENT_LOGO_BLOCK_ASSET = 'logo-block-asset';\nconst ELEMENT_LOGO_BLOCK_TEXT = 'logo-block-text';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\nconst IS_BORDER = `[${ATTRIBUTE_BORDER}]`;\n\nconst OVERWRITE_THEME_DARK_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK} .${ELEMENT_LOGO_BLOCK_ASSET}`;\nconst OVERWRITE_THEME_DARK_TEXT = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK} .${ELEMENT_LOGO_BLOCK_TEXT}`;\n\nconst OVERWRITE_BORDER_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_BORDER} .${ELEMENT_LOGO_BLOCK_ASSET}`;\nconst OVERWRITE_THEME_DARK_BORDER_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK}${IS_BORDER} .${ELEMENT_LOGO_BLOCK_ASSET}`;\n\n// prettier-ignore\nconst VariantThemeStyles = `\n ${OVERWRITE_THEME_DARK_ASSET} {\n background-color: ${token.color.gray.darker};\n padding: ${token.spacing.xl};\n }\n\n ${OVERWRITE_THEME_DARK_BORDER_ASSET} {\n border: 1px solid ${token.color.gray.dark};\n }\n\n ${OVERWRITE_THEME_DARK_TEXT},\n ${OVERWRITE_THEME_DARK_TEXT} * {\n color: ${token.color.white};\n };\n`;\n\n// prettier-ignore\nconst VariantBorderStyles = `\n ${OVERWRITE_BORDER_ASSET} {\n border: 1px solid ${token.color.gray.light};\n padding: ${token.spacing.xl};\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextStyles = `\n .${ELEMENT_LOGO_BLOCK_TEXT},\n .${ELEMENT_LOGO_BLOCK_TEXT} * {\n color: ${token.color.gray.darker};\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_LOGO_BLOCK_TEXT}`]: typography.sans.min,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_LOGO_BLOCK_TEXT} *`]: typography.sans.min,\n },\n })}\n\n .${ELEMENT_LOGO_BLOCK_TEXT} a:hover,\n .${ELEMENT_LOGO_BLOCK_TEXT} a:focus {\n text-decoration: underline;\n }\n`;\n\n// prettier-ignore\nconst STYLES_LOGO_BLOCK_ELEMENT = `\n .${ELEMENT_LOGO_BLOCK_CONTAINER} {\n container: ${ELEMENT_NAME} / inline-size;\n height: 100%;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} > * {\n max-height: 50px;\n max-width: 150px;\n display: flex;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} img {\n object-fit: contain;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} + * {\n margin-top: ${token.spacing.min};\n }\n\n ${TextStyles}\n ${VariantBorderStyles}\n ${VariantThemeStyles}\n`;\n\nexport default (element: TypeLogoRequirements) => {\n const { isThemeDark, image, text, isBordered = false } = element;\n\n const elementContainer = document.createElement('div');\n const assetContainer = document.createElement('div');\n\n assetContainer.appendChild(image);\n assetContainer.classList.add(ELEMENT_LOGO_BLOCK_ASSET);\n\n elementContainer.classList.add(ELEMENT_LOGO_BLOCK_CONTAINER);\n if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n if (isBordered) elementContainer.setAttribute(ATTRIBUTE_BORDER, '');\n elementContainer.appendChild(assetContainer);\n\n if (text) {\n text.classList.add(ELEMENT_LOGO_BLOCK_TEXT);\n elementContainer.appendChild(text);\n }\n\n return { element: elementContainer, styles: STYLES_LOGO_BLOCK_ELEMENT };\n};\n"],"names":["token","jssToCSS","typography"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;AACzB,MAAM,aAAa;AAEnB,MAAM,eAAe;AACrB,MAAM,+BAA+B;AACrC,MAAM,2BAA2B;AACjC,MAAM,0BAA0B;AAEhC,MAAM,gBAAgB,IAAI,eAAe,KAAK,UAAU;AACxD,MAAM,YAAY,IAAI,gBAAgB;AAEtC,MAAM,6BAA6B,IAAI,4BAA4B,GAAG,aAAa,KAAK,wBAAwB;AAChH,MAAM,4BAA4B,IAAI,4BAA4B,GAAG,aAAa,KAAK,uBAAuB;AAE9G,MAAM,yBAAyB,IAAI,4BAA4B,GAAG,SAAS,KAAK,wBAAwB;AACxG,MAAM,oCAAoC,IAAI,4BAA4B,GAAG,aAAa,GAAG,SAAS,KAAK,wBAAwB;AAGnI,MAAM,qBAAqB;AAAA,IACvB,0BAA0B;AAAA,wBACNA,iBAAM,MAAM,KAAK,MAAM;AAAA,eAChCA,iBAAM,QAAQ,EAAE;AAAA;AAAA;AAAA,IAG3B,iCAAiC;AAAA,wBACbA,iBAAM,MAAM,KAAK,IAAI;AAAA;AAAA;AAAA,IAGzC,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,aAChBA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAK9B,MAAM,sBAAsB;AAAA,IACxB,sBAAsB;AAAA,wBACFA,iBAAM,MAAM,KAAK,KAAK;AAAA,eAC/BA,iBAAM,QAAQ,EAAE;AAAA;AAAA;AAAA;AAM/B,MAAM,aAAa;AAAA,KACd,uBAAuB;AAAA,KACvB,uBAAuB;AAAA,aACfA,iBAAM,MAAM,KAAK,MAAM;AAAA;AAAA;AAAA,IAGhCC,gBAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,uBAAuB,EAAE,GAAGC,sBAAW,KAAK;AAAA,EAAA;AAErD,CAAC,CAAC;AAAA;AAAA,IAEAD,gBAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,uBAAuB,IAAI,GAAGC,sBAAW,KAAK;AAAA,EAAA;AAEvD,CAAC,CAAC;AAAA;AAAA,KAEC,uBAAuB;AAAA,KACvB,uBAAuB;AAAA;AAAA;AAAA;AAM5B,MAAM,4BAA4B;AAAA,KAC7B,4BAA4B;AAAA,iBAChB,YAAY;AAAA;AAAA;AAAA;AAAA,KAIxB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMxB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMxB,wBAAwB;AAAA;AAAA;AAAA;AAAA,KAIxB,wBAAwB;AAAA,kBACXF,iBAAM,QAAQ,GAAG;AAAA;AAAA;AAAA,IAG/B,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,kBAAkB;AAAA;AAGtB,MAAA,OAAe,CAAC,YAAkC;AAChD,QAAM,EAAE,aAAa,OAAO,MAAM,aAAa,UAAU;AAEzD,QAAM,mBAAmB,SAAS,cAAc,KAAK;AACrD,QAAM,iBAAiB,SAAS,cAAc,KAAK;AAEnD,iBAAe,YAAY,KAAK;AAChC,iBAAe,UAAU,IAAI,wBAAwB;AAErD,mBAAiB,UAAU,IAAI,4BAA4B;AAC3D,MAAI,YAAa,kBAAiB,aAAa,iBAAiB,UAAU;AAC1E,MAAI,WAAY,kBAAiB,aAAa,kBAAkB,EAAE;AAClE,mBAAiB,YAAY,cAAc;AAE3C,MAAI,MAAM;AACR,SAAK,UAAU,IAAI,uBAAuB;AAC1C,qBAAiB,YAAY,IAAI;AAAA,EACnC;AAEA,SAAO,EAAE,SAAS,kBAAkB,QAAQ,0BAAA;AAC9C;;"}
@@ -1,4 +1,4 @@
1
- import * as token from "@universityofmaryland/web-styles-library/token";
1
+ import * as token from "@universityofmaryland/web-token-library";
2
2
  import * as typography from "@universityofmaryland/web-styles-library/typography";
3
3
  import { jssToCSS } from "@universityofmaryland/web-utilities-library/styles";
4
4
  const ATTRIBUTE_THEME = "theme";
@@ -1 +1 @@
1
- {"version":3,"file":"logo.mjs","sources":["../../../../source/composite/layout/box/logo.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\n\nexport type TypeLogoRequirements = {\n isBordered?: boolean;\n isThemeDark?: boolean;\n image: HTMLElement;\n text?: HTMLElement | null;\n};\n\nconst ATTRIBUTE_THEME = 'theme';\nconst ATTRIBUTE_BORDER = 'border';\nconst THEME_DARK = 'dark';\n\nconst ELEMENT_NAME = 'umd-logo-block';\nconst ELEMENT_LOGO_BLOCK_CONTAINER = 'logo-block-container';\nconst ELEMENT_LOGO_BLOCK_ASSET = 'logo-block-asset';\nconst ELEMENT_LOGO_BLOCK_TEXT = 'logo-block-text';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\nconst IS_BORDER = `[${ATTRIBUTE_BORDER}]`;\n\nconst OVERWRITE_THEME_DARK_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK} .${ELEMENT_LOGO_BLOCK_ASSET}`;\nconst OVERWRITE_THEME_DARK_TEXT = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK} .${ELEMENT_LOGO_BLOCK_TEXT}`;\n\nconst OVERWRITE_BORDER_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_BORDER} .${ELEMENT_LOGO_BLOCK_ASSET}`;\nconst OVERWRITE_THEME_DARK_BORDER_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK}${IS_BORDER} .${ELEMENT_LOGO_BLOCK_ASSET}`;\n\n// prettier-ignore\nconst VariantThemeStyles = `\n ${OVERWRITE_THEME_DARK_ASSET} {\n background-color: ${token.color.gray.darker};\n padding: ${token.spacing.xl};\n }\n\n ${OVERWRITE_THEME_DARK_BORDER_ASSET} {\n border: 1px solid ${token.color.gray.dark};\n }\n\n ${OVERWRITE_THEME_DARK_TEXT},\n ${OVERWRITE_THEME_DARK_TEXT} * {\n color: ${token.color.white};\n };\n`;\n\n// prettier-ignore\nconst VariantBorderStyles = `\n ${OVERWRITE_BORDER_ASSET} {\n border: 1px solid ${token.color.gray.light};\n padding: ${token.spacing.xl};\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextStyles = `\n .${ELEMENT_LOGO_BLOCK_TEXT},\n .${ELEMENT_LOGO_BLOCK_TEXT} * {\n color: ${token.color.gray.darker};\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_LOGO_BLOCK_TEXT}`]: typography.sans.min,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_LOGO_BLOCK_TEXT} *`]: typography.sans.min,\n },\n })}\n\n .${ELEMENT_LOGO_BLOCK_TEXT} a:hover,\n .${ELEMENT_LOGO_BLOCK_TEXT} a:focus {\n text-decoration: underline;\n }\n`;\n\n// prettier-ignore\nconst STYLES_LOGO_BLOCK_ELEMENT = `\n .${ELEMENT_LOGO_BLOCK_CONTAINER} {\n container: ${ELEMENT_NAME} / inline-size;\n height: 100%;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} > * {\n max-height: 50px;\n max-width: 150px;\n display: flex;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} img {\n object-fit: contain;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} + * {\n margin-top: ${token.spacing.min};\n }\n\n ${TextStyles}\n ${VariantBorderStyles}\n ${VariantThemeStyles}\n`;\n\nexport default (element: TypeLogoRequirements) => {\n const { isThemeDark, image, text, isBordered = false } = element;\n\n const elementContainer = document.createElement('div');\n const assetContainer = document.createElement('div');\n\n assetContainer.appendChild(image);\n assetContainer.classList.add(ELEMENT_LOGO_BLOCK_ASSET);\n\n elementContainer.classList.add(ELEMENT_LOGO_BLOCK_CONTAINER);\n if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n if (isBordered) elementContainer.setAttribute(ATTRIBUTE_BORDER, '');\n elementContainer.appendChild(assetContainer);\n\n if (text) {\n text.classList.add(ELEMENT_LOGO_BLOCK_TEXT);\n elementContainer.appendChild(text);\n }\n\n return { element: elementContainer, styles: STYLES_LOGO_BLOCK_ELEMENT };\n};\n"],"names":[],"mappings":";;;AAWA,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;AACzB,MAAM,aAAa;AAEnB,MAAM,eAAe;AACrB,MAAM,+BAA+B;AACrC,MAAM,2BAA2B;AACjC,MAAM,0BAA0B;AAEhC,MAAM,gBAAgB,IAAI,eAAe,KAAK,UAAU;AACxD,MAAM,YAAY,IAAI,gBAAgB;AAEtC,MAAM,6BAA6B,IAAI,4BAA4B,GAAG,aAAa,KAAK,wBAAwB;AAChH,MAAM,4BAA4B,IAAI,4BAA4B,GAAG,aAAa,KAAK,uBAAuB;AAE9G,MAAM,yBAAyB,IAAI,4BAA4B,GAAG,SAAS,KAAK,wBAAwB;AACxG,MAAM,oCAAoC,IAAI,4BAA4B,GAAG,aAAa,GAAG,SAAS,KAAK,wBAAwB;AAGnI,MAAM,qBAAqB;AAAA,IACvB,0BAA0B;AAAA,wBACN,MAAM,MAAM,KAAK,MAAM;AAAA,eAChC,MAAM,QAAQ,EAAE;AAAA;AAAA;AAAA,IAG3B,iCAAiC;AAAA,wBACb,MAAM,MAAM,KAAK,IAAI;AAAA;AAAA;AAAA,IAGzC,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,aAChB,MAAM,MAAM,KAAK;AAAA;AAAA;AAK9B,MAAM,sBAAsB;AAAA,IACxB,sBAAsB;AAAA,wBACF,MAAM,MAAM,KAAK,KAAK;AAAA,eAC/B,MAAM,QAAQ,EAAE;AAAA;AAAA;AAAA;AAM/B,MAAM,aAAa;AAAA,KACd,uBAAuB;AAAA,KACvB,uBAAuB;AAAA,aACf,MAAM,MAAM,KAAK,MAAM;AAAA;AAAA;AAAA,IAGhC,SAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,uBAAuB,EAAE,GAAG,WAAW,KAAK;AAAA,EAAA;AAErD,CAAC,CAAC;AAAA;AAAA,IAEA,SAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,uBAAuB,IAAI,GAAG,WAAW,KAAK;AAAA,EAAA;AAEvD,CAAC,CAAC;AAAA;AAAA,KAEC,uBAAuB;AAAA,KACvB,uBAAuB;AAAA;AAAA;AAAA;AAM5B,MAAM,4BAA4B;AAAA,KAC7B,4BAA4B;AAAA,iBAChB,YAAY;AAAA;AAAA;AAAA;AAAA,KAIxB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMxB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMxB,wBAAwB;AAAA;AAAA;AAAA;AAAA,KAIxB,wBAAwB;AAAA,kBACX,MAAM,QAAQ,GAAG;AAAA;AAAA;AAAA,IAG/B,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,kBAAkB;AAAA;AAGtB,MAAA,OAAe,CAAC,YAAkC;AAChD,QAAM,EAAE,aAAa,OAAO,MAAM,aAAa,UAAU;AAEzD,QAAM,mBAAmB,SAAS,cAAc,KAAK;AACrD,QAAM,iBAAiB,SAAS,cAAc,KAAK;AAEnD,iBAAe,YAAY,KAAK;AAChC,iBAAe,UAAU,IAAI,wBAAwB;AAErD,mBAAiB,UAAU,IAAI,4BAA4B;AAC3D,MAAI,YAAa,kBAAiB,aAAa,iBAAiB,UAAU;AAC1E,MAAI,WAAY,kBAAiB,aAAa,kBAAkB,EAAE;AAClE,mBAAiB,YAAY,cAAc;AAE3C,MAAI,MAAM;AACR,SAAK,UAAU,IAAI,uBAAuB;AAC1C,qBAAiB,YAAY,IAAI;AAAA,EACnC;AAEA,SAAO,EAAE,SAAS,kBAAkB,QAAQ,0BAAA;AAC9C;"}
1
+ {"version":3,"file":"logo.mjs","sources":["../../../../source/composite/layout/box/logo.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\n\nexport type TypeLogoRequirements = {\n isBordered?: boolean;\n isThemeDark?: boolean;\n image: HTMLElement;\n text?: HTMLElement | null;\n};\n\nconst ATTRIBUTE_THEME = 'theme';\nconst ATTRIBUTE_BORDER = 'border';\nconst THEME_DARK = 'dark';\n\nconst ELEMENT_NAME = 'umd-logo-block';\nconst ELEMENT_LOGO_BLOCK_CONTAINER = 'logo-block-container';\nconst ELEMENT_LOGO_BLOCK_ASSET = 'logo-block-asset';\nconst ELEMENT_LOGO_BLOCK_TEXT = 'logo-block-text';\n\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\nconst IS_BORDER = `[${ATTRIBUTE_BORDER}]`;\n\nconst OVERWRITE_THEME_DARK_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK} .${ELEMENT_LOGO_BLOCK_ASSET}`;\nconst OVERWRITE_THEME_DARK_TEXT = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK} .${ELEMENT_LOGO_BLOCK_TEXT}`;\n\nconst OVERWRITE_BORDER_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_BORDER} .${ELEMENT_LOGO_BLOCK_ASSET}`;\nconst OVERWRITE_THEME_DARK_BORDER_ASSET = `.${ELEMENT_LOGO_BLOCK_CONTAINER}${IS_THEME_DARK}${IS_BORDER} .${ELEMENT_LOGO_BLOCK_ASSET}`;\n\n// prettier-ignore\nconst VariantThemeStyles = `\n ${OVERWRITE_THEME_DARK_ASSET} {\n background-color: ${token.color.gray.darker};\n padding: ${token.spacing.xl};\n }\n\n ${OVERWRITE_THEME_DARK_BORDER_ASSET} {\n border: 1px solid ${token.color.gray.dark};\n }\n\n ${OVERWRITE_THEME_DARK_TEXT},\n ${OVERWRITE_THEME_DARK_TEXT} * {\n color: ${token.color.white};\n };\n`;\n\n// prettier-ignore\nconst VariantBorderStyles = `\n ${OVERWRITE_BORDER_ASSET} {\n border: 1px solid ${token.color.gray.light};\n padding: ${token.spacing.xl};\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextStyles = `\n .${ELEMENT_LOGO_BLOCK_TEXT},\n .${ELEMENT_LOGO_BLOCK_TEXT} * {\n color: ${token.color.gray.darker};\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_LOGO_BLOCK_TEXT}`]: typography.sans.min,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_LOGO_BLOCK_TEXT} *`]: typography.sans.min,\n },\n })}\n\n .${ELEMENT_LOGO_BLOCK_TEXT} a:hover,\n .${ELEMENT_LOGO_BLOCK_TEXT} a:focus {\n text-decoration: underline;\n }\n`;\n\n// prettier-ignore\nconst STYLES_LOGO_BLOCK_ELEMENT = `\n .${ELEMENT_LOGO_BLOCK_CONTAINER} {\n container: ${ELEMENT_NAME} / inline-size;\n height: 100%;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} > * {\n max-height: 50px;\n max-width: 150px;\n display: flex;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} img {\n object-fit: contain;\n }\n\n .${ELEMENT_LOGO_BLOCK_ASSET} + * {\n margin-top: ${token.spacing.min};\n }\n\n ${TextStyles}\n ${VariantBorderStyles}\n ${VariantThemeStyles}\n`;\n\nexport default (element: TypeLogoRequirements) => {\n const { isThemeDark, image, text, isBordered = false } = element;\n\n const elementContainer = document.createElement('div');\n const assetContainer = document.createElement('div');\n\n assetContainer.appendChild(image);\n assetContainer.classList.add(ELEMENT_LOGO_BLOCK_ASSET);\n\n elementContainer.classList.add(ELEMENT_LOGO_BLOCK_CONTAINER);\n if (isThemeDark) elementContainer.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n if (isBordered) elementContainer.setAttribute(ATTRIBUTE_BORDER, '');\n elementContainer.appendChild(assetContainer);\n\n if (text) {\n text.classList.add(ELEMENT_LOGO_BLOCK_TEXT);\n elementContainer.appendChild(text);\n }\n\n return { element: elementContainer, styles: STYLES_LOGO_BLOCK_ELEMENT };\n};\n"],"names":[],"mappings":";;;AAWA,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;AACzB,MAAM,aAAa;AAEnB,MAAM,eAAe;AACrB,MAAM,+BAA+B;AACrC,MAAM,2BAA2B;AACjC,MAAM,0BAA0B;AAEhC,MAAM,gBAAgB,IAAI,eAAe,KAAK,UAAU;AACxD,MAAM,YAAY,IAAI,gBAAgB;AAEtC,MAAM,6BAA6B,IAAI,4BAA4B,GAAG,aAAa,KAAK,wBAAwB;AAChH,MAAM,4BAA4B,IAAI,4BAA4B,GAAG,aAAa,KAAK,uBAAuB;AAE9G,MAAM,yBAAyB,IAAI,4BAA4B,GAAG,SAAS,KAAK,wBAAwB;AACxG,MAAM,oCAAoC,IAAI,4BAA4B,GAAG,aAAa,GAAG,SAAS,KAAK,wBAAwB;AAGnI,MAAM,qBAAqB;AAAA,IACvB,0BAA0B;AAAA,wBACN,MAAM,MAAM,KAAK,MAAM;AAAA,eAChC,MAAM,QAAQ,EAAE;AAAA;AAAA;AAAA,IAG3B,iCAAiC;AAAA,wBACb,MAAM,MAAM,KAAK,IAAI;AAAA;AAAA;AAAA,IAGzC,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,aAChB,MAAM,MAAM,KAAK;AAAA;AAAA;AAK9B,MAAM,sBAAsB;AAAA,IACxB,sBAAsB;AAAA,wBACF,MAAM,MAAM,KAAK,KAAK;AAAA,eAC/B,MAAM,QAAQ,EAAE;AAAA;AAAA;AAAA;AAM/B,MAAM,aAAa;AAAA,KACd,uBAAuB;AAAA,KACvB,uBAAuB;AAAA,aACf,MAAM,MAAM,KAAK,MAAM;AAAA;AAAA;AAAA,IAGhC,SAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,uBAAuB,EAAE,GAAG,WAAW,KAAK;AAAA,EAAA;AAErD,CAAC,CAAC;AAAA;AAAA,IAEA,SAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,uBAAuB,IAAI,GAAG,WAAW,KAAK;AAAA,EAAA;AAEvD,CAAC,CAAC;AAAA;AAAA,KAEC,uBAAuB;AAAA,KACvB,uBAAuB;AAAA;AAAA;AAAA;AAM5B,MAAM,4BAA4B;AAAA,KAC7B,4BAA4B;AAAA,iBAChB,YAAY;AAAA;AAAA;AAAA;AAAA,KAIxB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMxB,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMxB,wBAAwB;AAAA;AAAA;AAAA;AAAA,KAIxB,wBAAwB;AAAA,kBACX,MAAM,QAAQ,GAAG;AAAA;AAAA;AAAA,IAG/B,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,kBAAkB;AAAA;AAGtB,MAAA,OAAe,CAAC,YAAkC;AAChD,QAAM,EAAE,aAAa,OAAO,MAAM,aAAa,UAAU;AAEzD,QAAM,mBAAmB,SAAS,cAAc,KAAK;AACrD,QAAM,iBAAiB,SAAS,cAAc,KAAK;AAEnD,iBAAe,YAAY,KAAK;AAChC,iBAAe,UAAU,IAAI,wBAAwB;AAErD,mBAAiB,UAAU,IAAI,4BAA4B;AAC3D,MAAI,YAAa,kBAAiB,aAAa,iBAAiB,UAAU;AAC1E,MAAI,WAAY,kBAAiB,aAAa,kBAAkB,EAAE;AAClE,mBAAiB,YAAY,cAAc;AAE3C,MAAI,MAAM;AACR,SAAK,UAAU,IAAI,uBAAuB;AAC1C,qBAAiB,YAAY,IAAI;AAAA,EACnC;AAEA,SAAO,EAAE,SAAS,kBAAkB,QAAQ,0BAAA;AAC9C;"}
@@ -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
  const layout = require("@universityofmaryland/web-styles-library/layout");
4
4
  const styles = require("@universityofmaryland/web-utilities-library/styles");
5
5
  const accessibility = require("@universityofmaryland/web-utilities-library/accessibility");
@@ -1 +1 @@
1
- {"version":3,"file":"expand.js","sources":["../../../../source/composite/layout/image/expand.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\nimport {\n isScreenZoomed,\n isPreferredReducedMotion,\n} from '@universityofmaryland/web-utilities-library/accessibility';\n\ntype TypeLayoutImageExpandProps = {\n content: HTMLElement;\n image: HTMLImageElement;\n};\n\nconst { spacing } = token;\n\nconst ELEMENT_NAME = 'umd-layout-image-expand';\nconst ELEMENT_EXPLAND_DECLARATION = 'layout-image-expand-declaration';\nconst ELEMENT_EXPAND_CONTAINER = 'layout-image-expand-container';\n\nconst ELEMENT_EXPAND_IMAGE_CONTAINER = 'layout-image-expand-image-container';\nconst ELEMENT_EXPAND_IMAGE_POSITION = 'layout-image-expand-image-position';\nconst ELEMENT_EXPAND_IMAGE_SIZE = 'layout-image-expand-image-size';\nconst ELEMENT_EXPAND_IMAGE_OVERLAY = 'layout-image-expand-image-overlay';\n\nconst ELEMENT_EXPAND_TEXT_CONTAINER = 'layout-image-expand-text-container';\nconst ELEMENT_EXPAND_TEXT_LOCK = 'layout-image-expand-text-lock';\nconst ELEMENT_EXPAND_TEXT_ANIMATION = 'layout-image-expand-text-animation';\n\n// prettier-ignore\nconst TextLock = `\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_EXPAND_TEXT_LOCK}`]: layout.space.horizontal.larger,\n },\n })}\n\n .${ELEMENT_EXPAND_TEXT_LOCK} {\n display: flex;\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextContainer = `\n .${ELEMENT_EXPAND_TEXT_CONTAINER} {\n position: relative;\n padding-top: ${token.spacing.max};\n padding-bottom: ${token.spacing.max};\n height: 100%;\n z-index: 9999;\n }\n`;\n\n// prettier-ignore\nconst TextAnimation = `\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n width: 100vw;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n position: absolute;\n top: 0;\n height: 80vh;\n transform: translateY(80vh);\n }\n }\n }\n\n @media (${token.media.queries.tablet.min}) {\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n transform: translateY(100vh);\n }\n }\n }\n }\n`;\n\n// prettier-ignore\nconst ImageOverlayContainer = `\n @keyframes img-overlay {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .${ELEMENT_EXPAND_IMAGE_OVERLAY} {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n background: rgba(0,0,0,0.65);\n opacity: 1;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_OVERLAY} {\n opacity: 1;\n animation: img-overlay forwards;\n animation-timeline: view();\n animation-range-start: 70vh;\n animation-range-end: 100vh;\n }\n }\n }\n`;\n\n// prettier-ignore\nconst ImageSizeContainer = `\n @keyframes img-size {\n to { width: 100%; height: 100vh; }\n }\n\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n overflow: hidden;\n position: relative;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n width: ${token.spacing.maxWidth.smallest};\n height: 70vh;\n animation: img-size ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: cover;\n animation-range-end: 200vh;\n }\n }\n }\n\n @supports not (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n height: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n height: 100%;\n }\n }\n`;\n\n// prettier-ignore\nconst ImagePosition = `\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n width: 100%;\n margin: 0 auto;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n display: flex;\n justify-content: center;\n position: sticky;\n top: 0; \n animation: img-position ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: cover;\n animation-range-end: 200vh;\n }\n }\n }\n\n @supports not (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n height: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n height: 100%;\n }\n }\n`;\n\n// prettier-ignore\nconst ImageContainer = `\n .${ELEMENT_EXPAND_IMAGE_CONTAINER} {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_CONTAINER} {\n position: relative;\n }\n }\n }\n`;\n\n// prettier-ignore\nconst Container = `\n .${ELEMENT_EXPAND_CONTAINER} {\n height: 100%;\n width: 100%;\n position: relative;\n }\n`;\n\n// prettier-ignore\nconst STYLES_LAYOUT_IMAGE_EXPAND = `\n .${ELEMENT_EXPLAND_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n overflow: clip;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPLAND_DECLARATION} {\n height: 180vh;\n }\n }\n }\n\n @media (${token.media.queries.tablet.min}) {\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPLAND_DECLARATION} {\n height: 200vh;\n }\n }\n }\n }\n\n .${ELEMENT_EXPLAND_DECLARATION} img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n ${Container}\n ${ImageContainer}\n ${ImageSizeContainer}\n ${ImagePosition}\n ${ImageOverlayContainer}\n ${TextAnimation}\n ${TextContainer}\n ${TextLock}\n`;\n\nconst CreateImageContainer = ({ image }: TypeLayoutImageExpandProps) => {\n const imageContainer = document.createElement('div');\n const imagePosition = document.createElement('div');\n const imageSize = document.createElement('div');\n const imageOverlay = document.createElement('div');\n\n imageOverlay.classList.add(ELEMENT_EXPAND_IMAGE_OVERLAY);\n\n imageSize.classList.add(ELEMENT_EXPAND_IMAGE_SIZE);\n imageSize.appendChild(image);\n imageSize.appendChild(imageOverlay);\n\n imagePosition.classList.add(ELEMENT_EXPAND_IMAGE_POSITION);\n imagePosition.appendChild(imageSize);\n\n imageContainer.appendChild(imagePosition);\n imageContainer.classList.add(ELEMENT_EXPAND_IMAGE_CONTAINER);\n\n return imageContainer;\n};\n\nconst CreateTextContainer = ({ content }: TypeLayoutImageExpandProps) => {\n const textAnimation = document.createElement('div');\n const textContainer = document.createElement('div');\n const textLock = document.createElement('div');\n\n textLock.classList.add(ELEMENT_EXPAND_TEXT_LOCK);\n textLock.appendChild(content);\n\n textContainer.appendChild(textLock);\n textContainer.classList.add(ELEMENT_EXPAND_TEXT_CONTAINER);\n\n textAnimation.classList.add(ELEMENT_EXPAND_TEXT_ANIMATION);\n textAnimation.appendChild(textContainer);\n\n return textAnimation;\n};\n\nexport default (props: TypeLayoutImageExpandProps) => {\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const imageContainer = CreateImageContainer(props);\n const textContainer = CreateTextContainer(props);\n const sizeImageForText = () => {\n const textContainerHeight =\n textContainer.clientHeight +\n parsePixelValue(spacing['2xl']) * 2;\n const imageContainerHeight = container.clientHeight;\n\n if (textContainerHeight > imageContainerHeight) {\n container.style.minHeight = `${textContainerHeight}px`;\n }\n };\n\n if (isScreenZoomed() && !isPreferredReducedMotion()) {\n textContainer.style.height = '90vh';\n textContainer.style.transform = 'translateY(0)';\n }\n\n if (!CSS.supports('animation-timeline', 'view()')) {\n setTimeout(() => {\n sizeImageForText();\n }, 1000);\n window.addEventListener('resize', () => sizeImageForText());\n }\n\n container.appendChild(imageContainer);\n container.appendChild(textContainer);\n container.classList.add(ELEMENT_EXPAND_CONTAINER);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_EXPLAND_DECLARATION);\n\n return { element: declaration, styles: STYLES_LAYOUT_IMAGE_EXPAND };\n};\n"],"names":["token","jssToCSS","layout","parsePixelValue","isScreenZoomed","isPreferredReducedMotion"],"mappings":"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"}
1
+ {"version":3,"file":"expand.js","sources":["../../../../source/composite/layout/image/expand.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\nimport {\n isScreenZoomed,\n isPreferredReducedMotion,\n} from '@universityofmaryland/web-utilities-library/accessibility';\n\ntype TypeLayoutImageExpandProps = {\n content: HTMLElement;\n image: HTMLImageElement;\n};\n\nconst { spacing } = token;\n\nconst ELEMENT_NAME = 'umd-layout-image-expand';\nconst ELEMENT_EXPLAND_DECLARATION = 'layout-image-expand-declaration';\nconst ELEMENT_EXPAND_CONTAINER = 'layout-image-expand-container';\n\nconst ELEMENT_EXPAND_IMAGE_CONTAINER = 'layout-image-expand-image-container';\nconst ELEMENT_EXPAND_IMAGE_POSITION = 'layout-image-expand-image-position';\nconst ELEMENT_EXPAND_IMAGE_SIZE = 'layout-image-expand-image-size';\nconst ELEMENT_EXPAND_IMAGE_OVERLAY = 'layout-image-expand-image-overlay';\n\nconst ELEMENT_EXPAND_TEXT_CONTAINER = 'layout-image-expand-text-container';\nconst ELEMENT_EXPAND_TEXT_LOCK = 'layout-image-expand-text-lock';\nconst ELEMENT_EXPAND_TEXT_ANIMATION = 'layout-image-expand-text-animation';\n\n// prettier-ignore\nconst TextLock = `\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_EXPAND_TEXT_LOCK}`]: layout.space.horizontal.larger,\n },\n })}\n\n .${ELEMENT_EXPAND_TEXT_LOCK} {\n display: flex;\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextContainer = `\n .${ELEMENT_EXPAND_TEXT_CONTAINER} {\n position: relative;\n padding-top: ${token.spacing.max};\n padding-bottom: ${token.spacing.max};\n height: 100%;\n z-index: 9999;\n }\n`;\n\n// prettier-ignore\nconst TextAnimation = `\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n width: 100vw;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n position: absolute;\n top: 0;\n height: 80vh;\n transform: translateY(80vh);\n }\n }\n }\n\n @media (${token.media.queries.tablet.min}) {\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n transform: translateY(100vh);\n }\n }\n }\n }\n`;\n\n// prettier-ignore\nconst ImageOverlayContainer = `\n @keyframes img-overlay {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .${ELEMENT_EXPAND_IMAGE_OVERLAY} {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n background: rgba(0,0,0,0.65);\n opacity: 1;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_OVERLAY} {\n opacity: 1;\n animation: img-overlay forwards;\n animation-timeline: view();\n animation-range-start: 70vh;\n animation-range-end: 100vh;\n }\n }\n }\n`;\n\n// prettier-ignore\nconst ImageSizeContainer = `\n @keyframes img-size {\n to { width: 100%; height: 100vh; }\n }\n\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n overflow: hidden;\n position: relative;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n width: ${token.spacing.maxWidth.smallest};\n height: 70vh;\n animation: img-size ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: cover;\n animation-range-end: 200vh;\n }\n }\n }\n\n @supports not (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n height: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n height: 100%;\n }\n }\n`;\n\n// prettier-ignore\nconst ImagePosition = `\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n width: 100%;\n margin: 0 auto;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n display: flex;\n justify-content: center;\n position: sticky;\n top: 0; \n animation: img-position ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: cover;\n animation-range-end: 200vh;\n }\n }\n }\n\n @supports not (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n height: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n height: 100%;\n }\n }\n`;\n\n// prettier-ignore\nconst ImageContainer = `\n .${ELEMENT_EXPAND_IMAGE_CONTAINER} {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_CONTAINER} {\n position: relative;\n }\n }\n }\n`;\n\n// prettier-ignore\nconst Container = `\n .${ELEMENT_EXPAND_CONTAINER} {\n height: 100%;\n width: 100%;\n position: relative;\n }\n`;\n\n// prettier-ignore\nconst STYLES_LAYOUT_IMAGE_EXPAND = `\n .${ELEMENT_EXPLAND_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n overflow: clip;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPLAND_DECLARATION} {\n height: 180vh;\n }\n }\n }\n\n @media (${token.media.queries.tablet.min}) {\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPLAND_DECLARATION} {\n height: 200vh;\n }\n }\n }\n }\n\n .${ELEMENT_EXPLAND_DECLARATION} img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n ${Container}\n ${ImageContainer}\n ${ImageSizeContainer}\n ${ImagePosition}\n ${ImageOverlayContainer}\n ${TextAnimation}\n ${TextContainer}\n ${TextLock}\n`;\n\nconst CreateImageContainer = ({ image }: TypeLayoutImageExpandProps) => {\n const imageContainer = document.createElement('div');\n const imagePosition = document.createElement('div');\n const imageSize = document.createElement('div');\n const imageOverlay = document.createElement('div');\n\n imageOverlay.classList.add(ELEMENT_EXPAND_IMAGE_OVERLAY);\n\n imageSize.classList.add(ELEMENT_EXPAND_IMAGE_SIZE);\n imageSize.appendChild(image);\n imageSize.appendChild(imageOverlay);\n\n imagePosition.classList.add(ELEMENT_EXPAND_IMAGE_POSITION);\n imagePosition.appendChild(imageSize);\n\n imageContainer.appendChild(imagePosition);\n imageContainer.classList.add(ELEMENT_EXPAND_IMAGE_CONTAINER);\n\n return imageContainer;\n};\n\nconst CreateTextContainer = ({ content }: TypeLayoutImageExpandProps) => {\n const textAnimation = document.createElement('div');\n const textContainer = document.createElement('div');\n const textLock = document.createElement('div');\n\n textLock.classList.add(ELEMENT_EXPAND_TEXT_LOCK);\n textLock.appendChild(content);\n\n textContainer.appendChild(textLock);\n textContainer.classList.add(ELEMENT_EXPAND_TEXT_CONTAINER);\n\n textAnimation.classList.add(ELEMENT_EXPAND_TEXT_ANIMATION);\n textAnimation.appendChild(textContainer);\n\n return textAnimation;\n};\n\nexport default (props: TypeLayoutImageExpandProps) => {\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const imageContainer = CreateImageContainer(props);\n const textContainer = CreateTextContainer(props);\n const sizeImageForText = () => {\n const textContainerHeight =\n textContainer.clientHeight +\n parsePixelValue(spacing['2xl']) * 2;\n const imageContainerHeight = container.clientHeight;\n\n if (textContainerHeight > imageContainerHeight) {\n container.style.minHeight = `${textContainerHeight}px`;\n }\n };\n\n if (isScreenZoomed() && !isPreferredReducedMotion()) {\n textContainer.style.height = '90vh';\n textContainer.style.transform = 'translateY(0)';\n }\n\n if (!CSS.supports('animation-timeline', 'view()')) {\n setTimeout(() => {\n sizeImageForText();\n }, 1000);\n window.addEventListener('resize', () => sizeImageForText());\n }\n\n container.appendChild(imageContainer);\n container.appendChild(textContainer);\n container.classList.add(ELEMENT_EXPAND_CONTAINER);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_EXPLAND_DECLARATION);\n\n return { element: declaration, styles: STYLES_LAYOUT_IMAGE_EXPAND };\n};\n"],"names":["token","jssToCSS","layout","parsePixelValue","isScreenZoomed","isPreferredReducedMotion"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as token from "@universityofmaryland/web-styles-library/token";
1
+ import * as token from "@universityofmaryland/web-token-library";
2
2
  import * as layout from "@universityofmaryland/web-styles-library/layout";
3
3
  import { jssToCSS, parsePixelValue } from "@universityofmaryland/web-utilities-library/styles";
4
4
  import { isScreenZoomed, isPreferredReducedMotion } from "@universityofmaryland/web-utilities-library/accessibility";
@@ -1 +1 @@
1
- {"version":3,"file":"expand.mjs","sources":["../../../../source/composite/layout/image/expand.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\nimport {\n isScreenZoomed,\n isPreferredReducedMotion,\n} from '@universityofmaryland/web-utilities-library/accessibility';\n\ntype TypeLayoutImageExpandProps = {\n content: HTMLElement;\n image: HTMLImageElement;\n};\n\nconst { spacing } = token;\n\nconst ELEMENT_NAME = 'umd-layout-image-expand';\nconst ELEMENT_EXPLAND_DECLARATION = 'layout-image-expand-declaration';\nconst ELEMENT_EXPAND_CONTAINER = 'layout-image-expand-container';\n\nconst ELEMENT_EXPAND_IMAGE_CONTAINER = 'layout-image-expand-image-container';\nconst ELEMENT_EXPAND_IMAGE_POSITION = 'layout-image-expand-image-position';\nconst ELEMENT_EXPAND_IMAGE_SIZE = 'layout-image-expand-image-size';\nconst ELEMENT_EXPAND_IMAGE_OVERLAY = 'layout-image-expand-image-overlay';\n\nconst ELEMENT_EXPAND_TEXT_CONTAINER = 'layout-image-expand-text-container';\nconst ELEMENT_EXPAND_TEXT_LOCK = 'layout-image-expand-text-lock';\nconst ELEMENT_EXPAND_TEXT_ANIMATION = 'layout-image-expand-text-animation';\n\n// prettier-ignore\nconst TextLock = `\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_EXPAND_TEXT_LOCK}`]: layout.space.horizontal.larger,\n },\n })}\n\n .${ELEMENT_EXPAND_TEXT_LOCK} {\n display: flex;\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextContainer = `\n .${ELEMENT_EXPAND_TEXT_CONTAINER} {\n position: relative;\n padding-top: ${token.spacing.max};\n padding-bottom: ${token.spacing.max};\n height: 100%;\n z-index: 9999;\n }\n`;\n\n// prettier-ignore\nconst TextAnimation = `\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n width: 100vw;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n position: absolute;\n top: 0;\n height: 80vh;\n transform: translateY(80vh);\n }\n }\n }\n\n @media (${token.media.queries.tablet.min}) {\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n transform: translateY(100vh);\n }\n }\n }\n }\n`;\n\n// prettier-ignore\nconst ImageOverlayContainer = `\n @keyframes img-overlay {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .${ELEMENT_EXPAND_IMAGE_OVERLAY} {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n background: rgba(0,0,0,0.65);\n opacity: 1;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_OVERLAY} {\n opacity: 1;\n animation: img-overlay forwards;\n animation-timeline: view();\n animation-range-start: 70vh;\n animation-range-end: 100vh;\n }\n }\n }\n`;\n\n// prettier-ignore\nconst ImageSizeContainer = `\n @keyframes img-size {\n to { width: 100%; height: 100vh; }\n }\n\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n overflow: hidden;\n position: relative;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n width: ${token.spacing.maxWidth.smallest};\n height: 70vh;\n animation: img-size ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: cover;\n animation-range-end: 200vh;\n }\n }\n }\n\n @supports not (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n height: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n height: 100%;\n }\n }\n`;\n\n// prettier-ignore\nconst ImagePosition = `\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n width: 100%;\n margin: 0 auto;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n display: flex;\n justify-content: center;\n position: sticky;\n top: 0; \n animation: img-position ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: cover;\n animation-range-end: 200vh;\n }\n }\n }\n\n @supports not (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n height: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n height: 100%;\n }\n }\n`;\n\n// prettier-ignore\nconst ImageContainer = `\n .${ELEMENT_EXPAND_IMAGE_CONTAINER} {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_CONTAINER} {\n position: relative;\n }\n }\n }\n`;\n\n// prettier-ignore\nconst Container = `\n .${ELEMENT_EXPAND_CONTAINER} {\n height: 100%;\n width: 100%;\n position: relative;\n }\n`;\n\n// prettier-ignore\nconst STYLES_LAYOUT_IMAGE_EXPAND = `\n .${ELEMENT_EXPLAND_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n overflow: clip;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPLAND_DECLARATION} {\n height: 180vh;\n }\n }\n }\n\n @media (${token.media.queries.tablet.min}) {\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPLAND_DECLARATION} {\n height: 200vh;\n }\n }\n }\n }\n\n .${ELEMENT_EXPLAND_DECLARATION} img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n ${Container}\n ${ImageContainer}\n ${ImageSizeContainer}\n ${ImagePosition}\n ${ImageOverlayContainer}\n ${TextAnimation}\n ${TextContainer}\n ${TextLock}\n`;\n\nconst CreateImageContainer = ({ image }: TypeLayoutImageExpandProps) => {\n const imageContainer = document.createElement('div');\n const imagePosition = document.createElement('div');\n const imageSize = document.createElement('div');\n const imageOverlay = document.createElement('div');\n\n imageOverlay.classList.add(ELEMENT_EXPAND_IMAGE_OVERLAY);\n\n imageSize.classList.add(ELEMENT_EXPAND_IMAGE_SIZE);\n imageSize.appendChild(image);\n imageSize.appendChild(imageOverlay);\n\n imagePosition.classList.add(ELEMENT_EXPAND_IMAGE_POSITION);\n imagePosition.appendChild(imageSize);\n\n imageContainer.appendChild(imagePosition);\n imageContainer.classList.add(ELEMENT_EXPAND_IMAGE_CONTAINER);\n\n return imageContainer;\n};\n\nconst CreateTextContainer = ({ content }: TypeLayoutImageExpandProps) => {\n const textAnimation = document.createElement('div');\n const textContainer = document.createElement('div');\n const textLock = document.createElement('div');\n\n textLock.classList.add(ELEMENT_EXPAND_TEXT_LOCK);\n textLock.appendChild(content);\n\n textContainer.appendChild(textLock);\n textContainer.classList.add(ELEMENT_EXPAND_TEXT_CONTAINER);\n\n textAnimation.classList.add(ELEMENT_EXPAND_TEXT_ANIMATION);\n textAnimation.appendChild(textContainer);\n\n return textAnimation;\n};\n\nexport default (props: TypeLayoutImageExpandProps) => {\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const imageContainer = CreateImageContainer(props);\n const textContainer = CreateTextContainer(props);\n const sizeImageForText = () => {\n const textContainerHeight =\n textContainer.clientHeight +\n parsePixelValue(spacing['2xl']) * 2;\n const imageContainerHeight = container.clientHeight;\n\n if (textContainerHeight > imageContainerHeight) {\n container.style.minHeight = `${textContainerHeight}px`;\n }\n };\n\n if (isScreenZoomed() && !isPreferredReducedMotion()) {\n textContainer.style.height = '90vh';\n textContainer.style.transform = 'translateY(0)';\n }\n\n if (!CSS.supports('animation-timeline', 'view()')) {\n setTimeout(() => {\n sizeImageForText();\n }, 1000);\n window.addEventListener('resize', () => sizeImageForText());\n }\n\n container.appendChild(imageContainer);\n container.appendChild(textContainer);\n container.classList.add(ELEMENT_EXPAND_CONTAINER);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_EXPLAND_DECLARATION);\n\n return { element: declaration, styles: STYLES_LAYOUT_IMAGE_EXPAND };\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expand.mjs","sources":["../../../../source/composite/layout/image/expand.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as layout from '@universityofmaryland/web-styles-library/layout';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport { parsePixelValue } from '@universityofmaryland/web-utilities-library/styles';\nimport {\n isScreenZoomed,\n isPreferredReducedMotion,\n} from '@universityofmaryland/web-utilities-library/accessibility';\n\ntype TypeLayoutImageExpandProps = {\n content: HTMLElement;\n image: HTMLImageElement;\n};\n\nconst { spacing } = token;\n\nconst ELEMENT_NAME = 'umd-layout-image-expand';\nconst ELEMENT_EXPLAND_DECLARATION = 'layout-image-expand-declaration';\nconst ELEMENT_EXPAND_CONTAINER = 'layout-image-expand-container';\n\nconst ELEMENT_EXPAND_IMAGE_CONTAINER = 'layout-image-expand-image-container';\nconst ELEMENT_EXPAND_IMAGE_POSITION = 'layout-image-expand-image-position';\nconst ELEMENT_EXPAND_IMAGE_SIZE = 'layout-image-expand-image-size';\nconst ELEMENT_EXPAND_IMAGE_OVERLAY = 'layout-image-expand-image-overlay';\n\nconst ELEMENT_EXPAND_TEXT_CONTAINER = 'layout-image-expand-text-container';\nconst ELEMENT_EXPAND_TEXT_LOCK = 'layout-image-expand-text-lock';\nconst ELEMENT_EXPAND_TEXT_ANIMATION = 'layout-image-expand-text-animation';\n\n// prettier-ignore\nconst TextLock = `\n ${jssToCSS({\n styleObj: {\n [`.${ELEMENT_EXPAND_TEXT_LOCK}`]: layout.space.horizontal.larger,\n },\n })}\n\n .${ELEMENT_EXPAND_TEXT_LOCK} {\n display: flex;\n height: 100%;\n }\n`;\n\n// prettier-ignore\nconst TextContainer = `\n .${ELEMENT_EXPAND_TEXT_CONTAINER} {\n position: relative;\n padding-top: ${token.spacing.max};\n padding-bottom: ${token.spacing.max};\n height: 100%;\n z-index: 9999;\n }\n`;\n\n// prettier-ignore\nconst TextAnimation = `\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n width: 100vw;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n position: absolute;\n top: 0;\n height: 80vh;\n transform: translateY(80vh);\n }\n }\n }\n\n @media (${token.media.queries.tablet.min}) {\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_TEXT_ANIMATION} {\n transform: translateY(100vh);\n }\n }\n }\n }\n`;\n\n// prettier-ignore\nconst ImageOverlayContainer = `\n @keyframes img-overlay {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n .${ELEMENT_EXPAND_IMAGE_OVERLAY} {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n background: rgba(0,0,0,0.65);\n opacity: 1;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_OVERLAY} {\n opacity: 1;\n animation: img-overlay forwards;\n animation-timeline: view();\n animation-range-start: 70vh;\n animation-range-end: 100vh;\n }\n }\n }\n`;\n\n// prettier-ignore\nconst ImageSizeContainer = `\n @keyframes img-size {\n to { width: 100%; height: 100vh; }\n }\n\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n overflow: hidden;\n position: relative;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n width: ${token.spacing.maxWidth.smallest};\n height: 70vh;\n animation: img-size ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: cover;\n animation-range-end: 200vh;\n }\n }\n }\n\n @supports not (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n height: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${ELEMENT_EXPAND_IMAGE_SIZE} {\n height: 100%;\n }\n }\n`;\n\n// prettier-ignore\nconst ImagePosition = `\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n width: 100%;\n margin: 0 auto;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n display: flex;\n justify-content: center;\n position: sticky;\n top: 0; \n animation: img-position ease-in-out forwards;\n animation-timeline: view();\n animation-range-start: cover;\n animation-range-end: 200vh;\n }\n }\n }\n\n @supports not (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n height: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .${ELEMENT_EXPAND_IMAGE_POSITION} {\n height: 100%;\n }\n }\n`;\n\n// prettier-ignore\nconst ImageContainer = `\n .${ELEMENT_EXPAND_IMAGE_CONTAINER} {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPAND_IMAGE_CONTAINER} {\n position: relative;\n }\n }\n }\n`;\n\n// prettier-ignore\nconst Container = `\n .${ELEMENT_EXPAND_CONTAINER} {\n height: 100%;\n width: 100%;\n position: relative;\n }\n`;\n\n// prettier-ignore\nconst STYLES_LAYOUT_IMAGE_EXPAND = `\n .${ELEMENT_EXPLAND_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n overflow: clip;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPLAND_DECLARATION} {\n height: 180vh;\n }\n }\n }\n\n @media (${token.media.queries.tablet.min}) {\n @media (prefers-reduced-motion: no-preference) {\n @supports (animation-timeline: scroll()) {\n .${ELEMENT_EXPLAND_DECLARATION} {\n height: 200vh;\n }\n }\n }\n }\n\n .${ELEMENT_EXPLAND_DECLARATION} img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n ${Container}\n ${ImageContainer}\n ${ImageSizeContainer}\n ${ImagePosition}\n ${ImageOverlayContainer}\n ${TextAnimation}\n ${TextContainer}\n ${TextLock}\n`;\n\nconst CreateImageContainer = ({ image }: TypeLayoutImageExpandProps) => {\n const imageContainer = document.createElement('div');\n const imagePosition = document.createElement('div');\n const imageSize = document.createElement('div');\n const imageOverlay = document.createElement('div');\n\n imageOverlay.classList.add(ELEMENT_EXPAND_IMAGE_OVERLAY);\n\n imageSize.classList.add(ELEMENT_EXPAND_IMAGE_SIZE);\n imageSize.appendChild(image);\n imageSize.appendChild(imageOverlay);\n\n imagePosition.classList.add(ELEMENT_EXPAND_IMAGE_POSITION);\n imagePosition.appendChild(imageSize);\n\n imageContainer.appendChild(imagePosition);\n imageContainer.classList.add(ELEMENT_EXPAND_IMAGE_CONTAINER);\n\n return imageContainer;\n};\n\nconst CreateTextContainer = ({ content }: TypeLayoutImageExpandProps) => {\n const textAnimation = document.createElement('div');\n const textContainer = document.createElement('div');\n const textLock = document.createElement('div');\n\n textLock.classList.add(ELEMENT_EXPAND_TEXT_LOCK);\n textLock.appendChild(content);\n\n textContainer.appendChild(textLock);\n textContainer.classList.add(ELEMENT_EXPAND_TEXT_CONTAINER);\n\n textAnimation.classList.add(ELEMENT_EXPAND_TEXT_ANIMATION);\n textAnimation.appendChild(textContainer);\n\n return textAnimation;\n};\n\nexport default (props: TypeLayoutImageExpandProps) => {\n const declaration = document.createElement('div');\n const container = document.createElement('div');\n const imageContainer = CreateImageContainer(props);\n const textContainer = CreateTextContainer(props);\n const sizeImageForText = () => {\n const textContainerHeight =\n textContainer.clientHeight +\n parsePixelValue(spacing['2xl']) * 2;\n const imageContainerHeight = container.clientHeight;\n\n if (textContainerHeight > imageContainerHeight) {\n container.style.minHeight = `${textContainerHeight}px`;\n }\n };\n\n if (isScreenZoomed() && !isPreferredReducedMotion()) {\n textContainer.style.height = '90vh';\n textContainer.style.transform = 'translateY(0)';\n }\n\n if (!CSS.supports('animation-timeline', 'view()')) {\n setTimeout(() => {\n sizeImageForText();\n }, 1000);\n window.addEventListener('resize', () => sizeImageForText());\n }\n\n container.appendChild(imageContainer);\n container.appendChild(textContainer);\n container.classList.add(ELEMENT_EXPAND_CONTAINER);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_EXPLAND_DECLARATION);\n\n return { element: declaration, styles: STYLES_LAYOUT_IMAGE_EXPAND };\n};\n"],"names":[],"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
  const performance = require("@universityofmaryland/web-utilities-library/performance");
4
4
  const arrows = require("@universityofmaryland/web-icons-library/arrows");
5
5
  function _interopNamespaceDefault(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../source/composite/layout/scroll-top/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { arrow_up as iconArrowUp } from '@universityofmaryland/web-icons-library/arrows';\n\ntype TypeScrollTopProps = {\n isFixed?: boolean;\n};\n\nconst ELEMENT_NAME = 'umd-element-scroll-top';\nconst ELEMENT_SCROLL_TOP_DECLARATION = 'scroll-top-declarion';\nconst ELEMENT_SCROLL_TOP_CONTAINER = 'scroll-top-container';\n\n// prettier-ignore\nconst STYLES_SCROLL_TOP_ELEMENT = `\n .${ELEMENT_SCROLL_TOP_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_SCROLL_TOP_CONTAINER} {\n background-color: ${token.color.black};\n width: 100%;\n height: 100%;\n min-height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid ${token.color.gold};\n cursor: pointer;\n transition: transform 250ms ease-in-out;\n }\n\n .${ELEMENT_SCROLL_TOP_CONTAINER} svg {\n display: block;\n width: 14px;\n height: 14px;\n }\n`;\n\n// @media (${token.media.queries.medium.max}) {\n// .${ELEMENT_SCROLL_TOP_CONTAINER} {\n// display: none;\n// }\n// }\n\nexport default (props: TypeScrollTopProps) =>\n (() => {\n const { isFixed = false } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('button');\n const text = document.createElement('span');\n const defaultStartingPosition = `translateX(100vh)`;\n const getSpacing = () => (window.innerWidth > 768 ? 40 : 8);\n let startingPosition: null | number = null;\n let isShowing = false;\n\n const eventResize = () => {\n startingPosition = declaration.getBoundingClientRect().right;\n };\n\n const eventScroll = () => {\n const windowHeight = window.innerHeight;\n const pagePosition = window.scrollY;\n const isPastFirstView = pagePosition > windowHeight;\n const isNearBottom =\n pagePosition + windowHeight >=\n document.body.scrollHeight - windowHeight;\n const showWindow = isPastFirstView && !isNearBottom;\n\n if (showWindow) {\n setVisiblePosition();\n } else {\n setHiddenPosition();\n }\n };\n\n const setVisiblePosition = () => {\n if (!isShowing) {\n container.style.transform = 'translateX(0)';\n isShowing = true;\n }\n };\n\n const setHiddenPosition = () => {\n if (isShowing) {\n isShowing = false;\n\n if (startingPosition) {\n const spacing = getSpacing();\n const translateAmount = window.innerWidth - startingPosition;\n const position = translateAmount + spacing + container.offsetWidth;\n\n container.style.transform = `translateX(${position}px)`;\n } else {\n container.style.transform = defaultStartingPosition;\n }\n }\n };\n\n const load = () => {\n startingPosition = declaration.getBoundingClientRect().right;\n container.style.transition = 'none';\n setHiddenPosition();\n\n setTimeout(() => {\n container.style.transition = 'transform 250ms ease-in-out';\n }, 100);\n };\n\n text.classList.add('sr-only');\n text.innerHTML = 'Scroll To Top';\n\n container.classList.add(ELEMENT_SCROLL_TOP_CONTAINER);\n container.addEventListener('click', () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n });\n container.innerHTML = iconArrowUp;\n container.appendChild(text);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_SCROLL_TOP_DECLARATION);\n\n if (isFixed) {\n container.style.transform = defaultStartingPosition;\n\n window.addEventListener(\n 'scroll',\n debounce(() => eventScroll(), 10),\n );\n\n window.addEventListener(\n 'resize',\n debounce(() => eventResize(), 20),\n );\n }\n\n return {\n element: declaration,\n styles: STYLES_SCROLL_TOP_ELEMENT,\n events: {\n load,\n },\n };\n })();\n"],"names":["token","iconArrowUp","debounce"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,eAAe;AACrB,MAAM,iCAAiC;AACvC,MAAM,+BAA+B;AAGrC,MAAM,4BAA4B;AAAA,KAC7B,8BAA8B;AAAA,iBAClB,YAAY;AAAA;AAAA;AAAA,KAGxB,4BAA4B;AAAA,wBACTA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAOjBA,iBAAM,MAAM,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,KAKnC,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAajC,MAAA,QAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,UAAU,MAAA,IAAU;AAC5B,QAAM,cAAc,SAAS,cAAc,KAAK;AAChD,QAAM,YAAY,SAAS,cAAc,QAAQ;AACjD,QAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,QAAM,0BAA0B;AAChC,QAAM,aAAa,MAAO,OAAO,aAAa,MAAM,KAAK;AACzD,MAAI,mBAAkC;AACtC,MAAI,YAAY;AAEhB,QAAM,cAAc,MAAM;AACxB,uBAAmB,YAAY,wBAAwB;AAAA,EACzD;AAEA,QAAM,cAAc,MAAM;AACxB,UAAM,eAAe,OAAO;AAC5B,UAAM,eAAe,OAAO;AAC5B,UAAM,kBAAkB,eAAe;AACvC,UAAM,eACJ,eAAe,gBACf,SAAS,KAAK,eAAe;AAC/B,UAAM,aAAa,mBAAmB,CAAC;AAEvC,QAAI,YAAY;AACd,yBAAA;AAAA,IACF,OAAO;AACL,wBAAA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,qBAAqB,MAAM;AAC/B,QAAI,CAAC,WAAW;AACd,gBAAU,MAAM,YAAY;AAC5B,kBAAY;AAAA,IACd;AAAA,EACF;AAEA,QAAM,oBAAoB,MAAM;AAC9B,QAAI,WAAW;AACb,kBAAY;AAEZ,UAAI,kBAAkB;AACpB,cAAM,UAAU,WAAA;AAChB,cAAM,kBAAkB,OAAO,aAAa;AAC5C,cAAM,WAAW,kBAAkB,UAAU,UAAU;AAEvD,kBAAU,MAAM,YAAY,cAAc,QAAQ;AAAA,MACpD,OAAO;AACL,kBAAU,MAAM,YAAY;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,MAAM;AACjB,uBAAmB,YAAY,wBAAwB;AACvD,cAAU,MAAM,aAAa;AAC7B,sBAAA;AAEA,eAAW,MAAM;AACf,gBAAU,MAAM,aAAa;AAAA,IAC/B,GAAG,GAAG;AAAA,EACR;AAEA,OAAK,UAAU,IAAI,SAAS;AAC5B,OAAK,YAAY;AAEjB,YAAU,UAAU,IAAI,4BAA4B;AACpD,YAAU,iBAAiB,SAAS,MAAM;AACxC,WAAO,SAAS;AAAA,MACd,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA,CACX;AAAA,EACH,CAAC;AACD,YAAU,YAAYC,OAAAA;AACtB,YAAU,YAAY,IAAI;AAE1B,cAAY,YAAY,SAAS;AACjC,cAAY,UAAU,IAAI,8BAA8B;AAExD,MAAI,SAAS;AACX,cAAU,MAAM,YAAY;AAE5B,WAAO;AAAA,MACL;AAAA,MACAC,qBAAS,MAAM,YAAA,GAAe,EAAE;AAAA,IAAA;AAGlC,WAAO;AAAA,MACL;AAAA,MACAA,qBAAS,MAAM,YAAA,GAAe,EAAE;AAAA,IAAA;AAAA,EAEpC;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../source/composite/layout/scroll-top/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { arrow_up as iconArrowUp } from '@universityofmaryland/web-icons-library/arrows';\n\ntype TypeScrollTopProps = {\n isFixed?: boolean;\n};\n\nconst ELEMENT_NAME = 'umd-element-scroll-top';\nconst ELEMENT_SCROLL_TOP_DECLARATION = 'scroll-top-declarion';\nconst ELEMENT_SCROLL_TOP_CONTAINER = 'scroll-top-container';\n\n// prettier-ignore\nconst STYLES_SCROLL_TOP_ELEMENT = `\n .${ELEMENT_SCROLL_TOP_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_SCROLL_TOP_CONTAINER} {\n background-color: ${token.color.black};\n width: 100%;\n height: 100%;\n min-height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid ${token.color.gold};\n cursor: pointer;\n transition: transform 250ms ease-in-out;\n }\n\n .${ELEMENT_SCROLL_TOP_CONTAINER} svg {\n display: block;\n width: 14px;\n height: 14px;\n }\n`;\n\n// @media (${token.media.queries.medium.max}) {\n// .${ELEMENT_SCROLL_TOP_CONTAINER} {\n// display: none;\n// }\n// }\n\nexport default (props: TypeScrollTopProps) =>\n (() => {\n const { isFixed = false } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('button');\n const text = document.createElement('span');\n const defaultStartingPosition = `translateX(100vh)`;\n const getSpacing = () => (window.innerWidth > 768 ? 40 : 8);\n let startingPosition: null | number = null;\n let isShowing = false;\n\n const eventResize = () => {\n startingPosition = declaration.getBoundingClientRect().right;\n };\n\n const eventScroll = () => {\n const windowHeight = window.innerHeight;\n const pagePosition = window.scrollY;\n const isPastFirstView = pagePosition > windowHeight;\n const isNearBottom =\n pagePosition + windowHeight >=\n document.body.scrollHeight - windowHeight;\n const showWindow = isPastFirstView && !isNearBottom;\n\n if (showWindow) {\n setVisiblePosition();\n } else {\n setHiddenPosition();\n }\n };\n\n const setVisiblePosition = () => {\n if (!isShowing) {\n container.style.transform = 'translateX(0)';\n isShowing = true;\n }\n };\n\n const setHiddenPosition = () => {\n if (isShowing) {\n isShowing = false;\n\n if (startingPosition) {\n const spacing = getSpacing();\n const translateAmount = window.innerWidth - startingPosition;\n const position = translateAmount + spacing + container.offsetWidth;\n\n container.style.transform = `translateX(${position}px)`;\n } else {\n container.style.transform = defaultStartingPosition;\n }\n }\n };\n\n const load = () => {\n startingPosition = declaration.getBoundingClientRect().right;\n container.style.transition = 'none';\n setHiddenPosition();\n\n setTimeout(() => {\n container.style.transition = 'transform 250ms ease-in-out';\n }, 100);\n };\n\n text.classList.add('sr-only');\n text.innerHTML = 'Scroll To Top';\n\n container.classList.add(ELEMENT_SCROLL_TOP_CONTAINER);\n container.addEventListener('click', () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n });\n container.innerHTML = iconArrowUp;\n container.appendChild(text);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_SCROLL_TOP_DECLARATION);\n\n if (isFixed) {\n container.style.transform = defaultStartingPosition;\n\n window.addEventListener(\n 'scroll',\n debounce(() => eventScroll(), 10),\n );\n\n window.addEventListener(\n 'resize',\n debounce(() => eventResize(), 20),\n );\n }\n\n return {\n element: declaration,\n styles: STYLES_SCROLL_TOP_ELEMENT,\n events: {\n load,\n },\n };\n })();\n"],"names":["token","iconArrowUp","debounce"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,eAAe;AACrB,MAAM,iCAAiC;AACvC,MAAM,+BAA+B;AAGrC,MAAM,4BAA4B;AAAA,KAC7B,8BAA8B;AAAA,iBAClB,YAAY;AAAA;AAAA;AAAA,KAGxB,4BAA4B;AAAA,wBACTA,iBAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAOjBA,iBAAM,MAAM,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,KAKnC,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAajC,MAAA,QAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,UAAU,MAAA,IAAU;AAC5B,QAAM,cAAc,SAAS,cAAc,KAAK;AAChD,QAAM,YAAY,SAAS,cAAc,QAAQ;AACjD,QAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,QAAM,0BAA0B;AAChC,QAAM,aAAa,MAAO,OAAO,aAAa,MAAM,KAAK;AACzD,MAAI,mBAAkC;AACtC,MAAI,YAAY;AAEhB,QAAM,cAAc,MAAM;AACxB,uBAAmB,YAAY,wBAAwB;AAAA,EACzD;AAEA,QAAM,cAAc,MAAM;AACxB,UAAM,eAAe,OAAO;AAC5B,UAAM,eAAe,OAAO;AAC5B,UAAM,kBAAkB,eAAe;AACvC,UAAM,eACJ,eAAe,gBACf,SAAS,KAAK,eAAe;AAC/B,UAAM,aAAa,mBAAmB,CAAC;AAEvC,QAAI,YAAY;AACd,yBAAA;AAAA,IACF,OAAO;AACL,wBAAA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,qBAAqB,MAAM;AAC/B,QAAI,CAAC,WAAW;AACd,gBAAU,MAAM,YAAY;AAC5B,kBAAY;AAAA,IACd;AAAA,EACF;AAEA,QAAM,oBAAoB,MAAM;AAC9B,QAAI,WAAW;AACb,kBAAY;AAEZ,UAAI,kBAAkB;AACpB,cAAM,UAAU,WAAA;AAChB,cAAM,kBAAkB,OAAO,aAAa;AAC5C,cAAM,WAAW,kBAAkB,UAAU,UAAU;AAEvD,kBAAU,MAAM,YAAY,cAAc,QAAQ;AAAA,MACpD,OAAO;AACL,kBAAU,MAAM,YAAY;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,MAAM;AACjB,uBAAmB,YAAY,wBAAwB;AACvD,cAAU,MAAM,aAAa;AAC7B,sBAAA;AAEA,eAAW,MAAM;AACf,gBAAU,MAAM,aAAa;AAAA,IAC/B,GAAG,GAAG;AAAA,EACR;AAEA,OAAK,UAAU,IAAI,SAAS;AAC5B,OAAK,YAAY;AAEjB,YAAU,UAAU,IAAI,4BAA4B;AACpD,YAAU,iBAAiB,SAAS,MAAM;AACxC,WAAO,SAAS;AAAA,MACd,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA,CACX;AAAA,EACH,CAAC;AACD,YAAU,YAAYC,OAAAA;AACtB,YAAU,YAAY,IAAI;AAE1B,cAAY,YAAY,SAAS;AACjC,cAAY,UAAU,IAAI,8BAA8B;AAExD,MAAI,SAAS;AACX,cAAU,MAAM,YAAY;AAE5B,WAAO;AAAA,MACL;AAAA,MACAC,qBAAS,MAAM,YAAA,GAAe,EAAE;AAAA,IAAA;AAGlC,WAAO;AAAA,MACL;AAAA,MACAA,qBAAS,MAAM,YAAA,GAAe,EAAE;AAAA,IAAA;AAAA,EAEpC;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
@@ -1,4 +1,4 @@
1
- import * as token from "@universityofmaryland/web-styles-library/token";
1
+ import * as token from "@universityofmaryland/web-token-library";
2
2
  import { debounce } from "@universityofmaryland/web-utilities-library/performance";
3
3
  import { arrow_up } from "@universityofmaryland/web-icons-library/arrows";
4
4
  const ELEMENT_NAME = "umd-element-scroll-top";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../source/composite/layout/scroll-top/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-styles-library/token';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { arrow_up as iconArrowUp } from '@universityofmaryland/web-icons-library/arrows';\n\ntype TypeScrollTopProps = {\n isFixed?: boolean;\n};\n\nconst ELEMENT_NAME = 'umd-element-scroll-top';\nconst ELEMENT_SCROLL_TOP_DECLARATION = 'scroll-top-declarion';\nconst ELEMENT_SCROLL_TOP_CONTAINER = 'scroll-top-container';\n\n// prettier-ignore\nconst STYLES_SCROLL_TOP_ELEMENT = `\n .${ELEMENT_SCROLL_TOP_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_SCROLL_TOP_CONTAINER} {\n background-color: ${token.color.black};\n width: 100%;\n height: 100%;\n min-height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid ${token.color.gold};\n cursor: pointer;\n transition: transform 250ms ease-in-out;\n }\n\n .${ELEMENT_SCROLL_TOP_CONTAINER} svg {\n display: block;\n width: 14px;\n height: 14px;\n }\n`;\n\n// @media (${token.media.queries.medium.max}) {\n// .${ELEMENT_SCROLL_TOP_CONTAINER} {\n// display: none;\n// }\n// }\n\nexport default (props: TypeScrollTopProps) =>\n (() => {\n const { isFixed = false } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('button');\n const text = document.createElement('span');\n const defaultStartingPosition = `translateX(100vh)`;\n const getSpacing = () => (window.innerWidth > 768 ? 40 : 8);\n let startingPosition: null | number = null;\n let isShowing = false;\n\n const eventResize = () => {\n startingPosition = declaration.getBoundingClientRect().right;\n };\n\n const eventScroll = () => {\n const windowHeight = window.innerHeight;\n const pagePosition = window.scrollY;\n const isPastFirstView = pagePosition > windowHeight;\n const isNearBottom =\n pagePosition + windowHeight >=\n document.body.scrollHeight - windowHeight;\n const showWindow = isPastFirstView && !isNearBottom;\n\n if (showWindow) {\n setVisiblePosition();\n } else {\n setHiddenPosition();\n }\n };\n\n const setVisiblePosition = () => {\n if (!isShowing) {\n container.style.transform = 'translateX(0)';\n isShowing = true;\n }\n };\n\n const setHiddenPosition = () => {\n if (isShowing) {\n isShowing = false;\n\n if (startingPosition) {\n const spacing = getSpacing();\n const translateAmount = window.innerWidth - startingPosition;\n const position = translateAmount + spacing + container.offsetWidth;\n\n container.style.transform = `translateX(${position}px)`;\n } else {\n container.style.transform = defaultStartingPosition;\n }\n }\n };\n\n const load = () => {\n startingPosition = declaration.getBoundingClientRect().right;\n container.style.transition = 'none';\n setHiddenPosition();\n\n setTimeout(() => {\n container.style.transition = 'transform 250ms ease-in-out';\n }, 100);\n };\n\n text.classList.add('sr-only');\n text.innerHTML = 'Scroll To Top';\n\n container.classList.add(ELEMENT_SCROLL_TOP_CONTAINER);\n container.addEventListener('click', () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n });\n container.innerHTML = iconArrowUp;\n container.appendChild(text);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_SCROLL_TOP_DECLARATION);\n\n if (isFixed) {\n container.style.transform = defaultStartingPosition;\n\n window.addEventListener(\n 'scroll',\n debounce(() => eventScroll(), 10),\n );\n\n window.addEventListener(\n 'resize',\n debounce(() => eventResize(), 20),\n );\n }\n\n return {\n element: declaration,\n styles: STYLES_SCROLL_TOP_ELEMENT,\n events: {\n load,\n },\n };\n })();\n"],"names":["iconArrowUp"],"mappings":";;;AAQA,MAAM,eAAe;AACrB,MAAM,iCAAiC;AACvC,MAAM,+BAA+B;AAGrC,MAAM,4BAA4B;AAAA,KAC7B,8BAA8B;AAAA,iBAClB,YAAY;AAAA;AAAA;AAAA,KAGxB,4BAA4B;AAAA,wBACT,MAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAOjB,MAAM,MAAM,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,KAKnC,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAajC,MAAA,QAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,UAAU,MAAA,IAAU;AAC5B,QAAM,cAAc,SAAS,cAAc,KAAK;AAChD,QAAM,YAAY,SAAS,cAAc,QAAQ;AACjD,QAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,QAAM,0BAA0B;AAChC,QAAM,aAAa,MAAO,OAAO,aAAa,MAAM,KAAK;AACzD,MAAI,mBAAkC;AACtC,MAAI,YAAY;AAEhB,QAAM,cAAc,MAAM;AACxB,uBAAmB,YAAY,wBAAwB;AAAA,EACzD;AAEA,QAAM,cAAc,MAAM;AACxB,UAAM,eAAe,OAAO;AAC5B,UAAM,eAAe,OAAO;AAC5B,UAAM,kBAAkB,eAAe;AACvC,UAAM,eACJ,eAAe,gBACf,SAAS,KAAK,eAAe;AAC/B,UAAM,aAAa,mBAAmB,CAAC;AAEvC,QAAI,YAAY;AACd,yBAAA;AAAA,IACF,OAAO;AACL,wBAAA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,qBAAqB,MAAM;AAC/B,QAAI,CAAC,WAAW;AACd,gBAAU,MAAM,YAAY;AAC5B,kBAAY;AAAA,IACd;AAAA,EACF;AAEA,QAAM,oBAAoB,MAAM;AAC9B,QAAI,WAAW;AACb,kBAAY;AAEZ,UAAI,kBAAkB;AACpB,cAAM,UAAU,WAAA;AAChB,cAAM,kBAAkB,OAAO,aAAa;AAC5C,cAAM,WAAW,kBAAkB,UAAU,UAAU;AAEvD,kBAAU,MAAM,YAAY,cAAc,QAAQ;AAAA,MACpD,OAAO;AACL,kBAAU,MAAM,YAAY;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,MAAM;AACjB,uBAAmB,YAAY,wBAAwB;AACvD,cAAU,MAAM,aAAa;AAC7B,sBAAA;AAEA,eAAW,MAAM;AACf,gBAAU,MAAM,aAAa;AAAA,IAC/B,GAAG,GAAG;AAAA,EACR;AAEA,OAAK,UAAU,IAAI,SAAS;AAC5B,OAAK,YAAY;AAEjB,YAAU,UAAU,IAAI,4BAA4B;AACpD,YAAU,iBAAiB,SAAS,MAAM;AACxC,WAAO,SAAS;AAAA,MACd,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA,CACX;AAAA,EACH,CAAC;AACD,YAAU,YAAYA;AACtB,YAAU,YAAY,IAAI;AAE1B,cAAY,YAAY,SAAS;AACjC,cAAY,UAAU,IAAI,8BAA8B;AAExD,MAAI,SAAS;AACX,cAAU,MAAM,YAAY;AAE5B,WAAO;AAAA,MACL;AAAA,MACA,SAAS,MAAM,YAAA,GAAe,EAAE;AAAA,IAAA;AAGlC,WAAO;AAAA,MACL;AAAA,MACA,SAAS,MAAM,YAAA,GAAe,EAAE;AAAA,IAAA;AAAA,EAEpC;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../source/composite/layout/scroll-top/index.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport { arrow_up as iconArrowUp } from '@universityofmaryland/web-icons-library/arrows';\n\ntype TypeScrollTopProps = {\n isFixed?: boolean;\n};\n\nconst ELEMENT_NAME = 'umd-element-scroll-top';\nconst ELEMENT_SCROLL_TOP_DECLARATION = 'scroll-top-declarion';\nconst ELEMENT_SCROLL_TOP_CONTAINER = 'scroll-top-container';\n\n// prettier-ignore\nconst STYLES_SCROLL_TOP_ELEMENT = `\n .${ELEMENT_SCROLL_TOP_DECLARATION} {\n container: ${ELEMENT_NAME} / inline-size;\n }\n\n .${ELEMENT_SCROLL_TOP_CONTAINER} {\n background-color: ${token.color.black};\n width: 100%;\n height: 100%;\n min-height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid ${token.color.gold};\n cursor: pointer;\n transition: transform 250ms ease-in-out;\n }\n\n .${ELEMENT_SCROLL_TOP_CONTAINER} svg {\n display: block;\n width: 14px;\n height: 14px;\n }\n`;\n\n// @media (${token.media.queries.medium.max}) {\n// .${ELEMENT_SCROLL_TOP_CONTAINER} {\n// display: none;\n// }\n// }\n\nexport default (props: TypeScrollTopProps) =>\n (() => {\n const { isFixed = false } = props;\n const declaration = document.createElement('div');\n const container = document.createElement('button');\n const text = document.createElement('span');\n const defaultStartingPosition = `translateX(100vh)`;\n const getSpacing = () => (window.innerWidth > 768 ? 40 : 8);\n let startingPosition: null | number = null;\n let isShowing = false;\n\n const eventResize = () => {\n startingPosition = declaration.getBoundingClientRect().right;\n };\n\n const eventScroll = () => {\n const windowHeight = window.innerHeight;\n const pagePosition = window.scrollY;\n const isPastFirstView = pagePosition > windowHeight;\n const isNearBottom =\n pagePosition + windowHeight >=\n document.body.scrollHeight - windowHeight;\n const showWindow = isPastFirstView && !isNearBottom;\n\n if (showWindow) {\n setVisiblePosition();\n } else {\n setHiddenPosition();\n }\n };\n\n const setVisiblePosition = () => {\n if (!isShowing) {\n container.style.transform = 'translateX(0)';\n isShowing = true;\n }\n };\n\n const setHiddenPosition = () => {\n if (isShowing) {\n isShowing = false;\n\n if (startingPosition) {\n const spacing = getSpacing();\n const translateAmount = window.innerWidth - startingPosition;\n const position = translateAmount + spacing + container.offsetWidth;\n\n container.style.transform = `translateX(${position}px)`;\n } else {\n container.style.transform = defaultStartingPosition;\n }\n }\n };\n\n const load = () => {\n startingPosition = declaration.getBoundingClientRect().right;\n container.style.transition = 'none';\n setHiddenPosition();\n\n setTimeout(() => {\n container.style.transition = 'transform 250ms ease-in-out';\n }, 100);\n };\n\n text.classList.add('sr-only');\n text.innerHTML = 'Scroll To Top';\n\n container.classList.add(ELEMENT_SCROLL_TOP_CONTAINER);\n container.addEventListener('click', () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n });\n container.innerHTML = iconArrowUp;\n container.appendChild(text);\n\n declaration.appendChild(container);\n declaration.classList.add(ELEMENT_SCROLL_TOP_DECLARATION);\n\n if (isFixed) {\n container.style.transform = defaultStartingPosition;\n\n window.addEventListener(\n 'scroll',\n debounce(() => eventScroll(), 10),\n );\n\n window.addEventListener(\n 'resize',\n debounce(() => eventResize(), 20),\n );\n }\n\n return {\n element: declaration,\n styles: STYLES_SCROLL_TOP_ELEMENT,\n events: {\n load,\n },\n };\n })();\n"],"names":["iconArrowUp"],"mappings":";;;AAQA,MAAM,eAAe;AACrB,MAAM,iCAAiC;AACvC,MAAM,+BAA+B;AAGrC,MAAM,4BAA4B;AAAA,KAC7B,8BAA8B;AAAA,iBAClB,YAAY;AAAA;AAAA;AAAA,KAGxB,4BAA4B;AAAA,wBACT,MAAM,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAOjB,MAAM,MAAM,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,KAKnC,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAajC,MAAA,QAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,UAAU,MAAA,IAAU;AAC5B,QAAM,cAAc,SAAS,cAAc,KAAK;AAChD,QAAM,YAAY,SAAS,cAAc,QAAQ;AACjD,QAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,QAAM,0BAA0B;AAChC,QAAM,aAAa,MAAO,OAAO,aAAa,MAAM,KAAK;AACzD,MAAI,mBAAkC;AACtC,MAAI,YAAY;AAEhB,QAAM,cAAc,MAAM;AACxB,uBAAmB,YAAY,wBAAwB;AAAA,EACzD;AAEA,QAAM,cAAc,MAAM;AACxB,UAAM,eAAe,OAAO;AAC5B,UAAM,eAAe,OAAO;AAC5B,UAAM,kBAAkB,eAAe;AACvC,UAAM,eACJ,eAAe,gBACf,SAAS,KAAK,eAAe;AAC/B,UAAM,aAAa,mBAAmB,CAAC;AAEvC,QAAI,YAAY;AACd,yBAAA;AAAA,IACF,OAAO;AACL,wBAAA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,qBAAqB,MAAM;AAC/B,QAAI,CAAC,WAAW;AACd,gBAAU,MAAM,YAAY;AAC5B,kBAAY;AAAA,IACd;AAAA,EACF;AAEA,QAAM,oBAAoB,MAAM;AAC9B,QAAI,WAAW;AACb,kBAAY;AAEZ,UAAI,kBAAkB;AACpB,cAAM,UAAU,WAAA;AAChB,cAAM,kBAAkB,OAAO,aAAa;AAC5C,cAAM,WAAW,kBAAkB,UAAU,UAAU;AAEvD,kBAAU,MAAM,YAAY,cAAc,QAAQ;AAAA,MACpD,OAAO;AACL,kBAAU,MAAM,YAAY;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,MAAM;AACjB,uBAAmB,YAAY,wBAAwB;AACvD,cAAU,MAAM,aAAa;AAC7B,sBAAA;AAEA,eAAW,MAAM;AACf,gBAAU,MAAM,aAAa;AAAA,IAC/B,GAAG,GAAG;AAAA,EACR;AAEA,OAAK,UAAU,IAAI,SAAS;AAC5B,OAAK,YAAY;AAEjB,YAAU,UAAU,IAAI,4BAA4B;AACpD,YAAU,iBAAiB,SAAS,MAAM;AACxC,WAAO,SAAS;AAAA,MACd,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA,CACX;AAAA,EACH,CAAC;AACD,YAAU,YAAYA;AACtB,YAAU,YAAY,IAAI;AAE1B,cAAY,YAAY,SAAS;AACjC,cAAY,UAAU,IAAI,8BAA8B;AAExD,MAAI,SAAS;AACX,cAAU,MAAM,YAAY;AAE5B,WAAO;AAAA,MACL;AAAA,MACA,SAAS,MAAM,YAAA,GAAe,EAAE;AAAA,IAAA;AAGlC,WAAO;AAAA,MACL;AAAA,MACA,SAAS,MAAM,YAAA,GAAe,EAAE;AAAA,IAAA;AAAA,EAEpC;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
@@ -11,8 +11,9 @@ declare const _default: (props: SectionIntroProps) => {
11
11
  loadAnimation: () => void;
12
12
  };
13
13
  element: HTMLElement;
14
- className: string;
15
14
  styles: string;
15
+ update?: (props: Partial<import('@universityofmaryland/web-builder-library').BuilderOptions>) => void;
16
+ destroy?: () => void;
16
17
  };
17
18
  export default _default;
18
19
  //# sourceMappingURL=small.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"small.d.ts","sourceRoot":"","sources":["../../../../source/composite/layout/section-intro/small.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;yBA2Oe,OAAO,iBAAiB;;;;;;;;AAAxC,wBAkBE"}
1
+ {"version":3,"file":"small.d.ts","sourceRoot":"","sources":["../../../../source/composite/layout/section-intro/small.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;yBA4Pe,OAAO,iBAAiB;;;;;;;;;AAAxC,wBAkBE"}