@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":"gif.d.ts","sourceRoot":"","sources":["../../../../source/atomic/assets/image/gif.ts"],"names":[],"mappings":"yBAqHgB,cAEb;IACD,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;CAC/C;;;;;AAJD,wBAyBE"}
1
+ {"version":3,"file":"gif.d.ts","sourceRoot":"","sources":["../../../../source/atomic/assets/image/gif.ts"],"names":[],"mappings":"yBAyHgB,cAEb;IACD,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;CAC/C;AAJD,wBAyBE"}
@@ -1,10 +1,25 @@
1
1
  "use strict";
2
+ const Styles = require("@universityofmaryland/web-styles-library");
3
+ const webBuilderLibrary = require("@universityofmaryland/web-builder-library");
2
4
  const performance = require("@universityofmaryland/web-utilities-library/performance");
3
5
  const controls = require("@universityofmaryland/web-icons-library/controls");
4
- require("../../../model/modifiers/index.js");
5
- require("@universityofmaryland/web-styles-library");
6
- const assets = require("../../../model/elements/assets.js");
7
- require("../../../model/elements/headline.js");
6
+ function _interopNamespaceDefault(e) {
7
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
+ if (e) {
9
+ for (const k in e) {
10
+ if (k !== "default") {
11
+ const d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: () => e[k]
15
+ });
16
+ }
17
+ }
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+ const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
8
23
  const extractImageElement = (element) => {
9
24
  if (element instanceof HTMLImageElement) {
10
25
  return element;
@@ -77,7 +92,9 @@ const applyGifToggle = (image, container) => {
77
92
  container.appendChild(canvas);
78
93
  container.appendChild(button);
79
94
  setButtonPlay();
80
- sizeCanvas({ container });
95
+ setTimeout(() => {
96
+ sizeCanvas({ container });
97
+ }, 100);
81
98
  });
82
99
  window.addEventListener(
83
100
  "resize",
@@ -95,13 +112,12 @@ const gifToggle = ({
95
112
  }
96
113
  const isAnchor = element instanceof HTMLAnchorElement;
97
114
  const container = isAnchor ? element : document.createElement("div");
98
- const composite = assets.gifToggle({
99
- element: container
100
- });
101
- if (!isAnchor) {
102
- container.appendChild(element);
103
- }
104
- applyGifToggle(image, container);
115
+ const composite = new webBuilderLibrary.ElementBuilder(container).styled(Styles__namespace.element.asset.gif.toggle).withModifier((el) => {
116
+ if (!isAnchor) {
117
+ el.appendChild(element);
118
+ }
119
+ applyGifToggle(image, el);
120
+ }).build();
105
121
  return composite;
106
122
  };
107
123
  module.exports = gifToggle;
@@ -1 +1 @@
1
- {"version":3,"file":"gif.js","sources":["../../../../source/atomic/assets/image/gif.ts"],"sourcesContent":["import { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport {\n pause as iconPause,\n play as iconPlay,\n} from '@universityofmaryland/web-icons-library/controls';\nimport { ElementModel } from 'model';\n\nconst extractImageElement = (\n element: HTMLImageElement | HTMLAnchorElement,\n): HTMLImageElement | null => {\n if (element instanceof HTMLImageElement) {\n return element;\n }\n\n if (element instanceof HTMLAnchorElement) {\n return element.querySelector('img');\n }\n\n return null;\n};\n\nconst applyGifToggle = (image: HTMLImageElement, container: HTMLElement) => {\n const canvas = document.createElement('canvas');\n const button = document.createElement('button');\n const setButtonPlay = () => {\n button.setAttribute('aria-label', 'Pause');\n button.innerHTML = iconPause;\n canvas.style.opacity = '0';\n image.style.opacity = '1';\n };\n const setButtonPause = () => {\n button.setAttribute('aria-label', 'Play');\n button.innerHTML = iconPlay;\n canvas.style.opacity = '1';\n image.style.opacity = '0';\n };\n const sizeCanvas = ({ container }: { container: HTMLElement | null }) => {\n if (!container) return;\n const image = container.querySelector('img');\n const canvas = container.querySelector('canvas') as HTMLCanvasElement;\n\n if (!container || !canvas || !image) return;\n\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n\n // Get container dimensions\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n // Set canvas display dimensions to match container\n canvas.style.width = '100%';\n canvas.style.height = `${image.clientHeight}px`;\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.left = '0';\n\n // Set canvas actual dimensions\n canvas.width = containerWidth;\n canvas.height = containerHeight;\n\n // Calculate dimensions to maintain aspect ratio while covering\n const imgRatio = image.naturalWidth / image.naturalHeight;\n const containerRatio = containerWidth / containerHeight;\n\n let drawWidth,\n drawHeight,\n offsetX = 0,\n offsetY = 0;\n\n if (imgRatio > containerRatio) {\n // Image is wider than container relative to height\n drawHeight = containerHeight;\n drawWidth = image.naturalWidth * (containerHeight / image.naturalHeight);\n offsetX = (containerWidth - drawWidth) / 2;\n } else {\n // Image is taller than container relative to width\n drawWidth = containerWidth;\n drawHeight = image.naturalHeight * (containerWidth / image.naturalWidth);\n offsetY = (containerHeight - drawHeight) / 2;\n }\n\n // Clear the canvas and draw the image with cover behavior\n ctx.clearRect(0, 0, containerWidth, containerHeight);\n ctx.imageSmoothingEnabled = true;\n ctx.drawImage(image, offsetX, offsetY, drawWidth, drawHeight);\n };\n let isPlaying = true;\n\n button.setAttribute('type', 'button');\n button.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (isPlaying) {\n setButtonPause();\n isPlaying = false;\n } else {\n setButtonPlay();\n isPlaying = true;\n }\n });\n\n image.addEventListener('load', () => {\n container.appendChild(canvas);\n container.appendChild(button);\n setButtonPlay();\n sizeCanvas({ container });\n });\n\n window.addEventListener(\n 'resize',\n debounce(() => {\n sizeCanvas({ container });\n }, 50),\n );\n};\n\nexport default ({\n element,\n}: {\n element: HTMLImageElement | HTMLAnchorElement;\n}) => {\n const image = extractImageElement(element);\n\n if (!image) {\n throw new Error('No valid image element found');\n }\n\n const isAnchor = element instanceof HTMLAnchorElement;\n const container = isAnchor ? element : document.createElement('div');\n\n const composite = ElementModel.assets.gifToggle({\n element: container,\n });\n\n if (!isAnchor) {\n container.appendChild(element);\n }\n\n applyGifToggle(image, container);\n\n return composite;\n};\n"],"names":["iconPause","iconPlay","container","image","canvas","debounce","ElementModel.assets.gifToggle"],"mappings":"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"}
1
+ {"version":3,"file":"gif.js","sources":["../../../../source/atomic/assets/image/gif.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport {\n pause as iconPause,\n play as iconPlay,\n} from '@universityofmaryland/web-icons-library/controls';\n\nconst extractImageElement = (\n element: HTMLImageElement | HTMLAnchorElement,\n): HTMLImageElement | null => {\n if (element instanceof HTMLImageElement) {\n return element;\n }\n\n if (element instanceof HTMLAnchorElement) {\n return element.querySelector('img');\n }\n\n return null;\n};\n\nconst applyGifToggle = (image: HTMLImageElement, container: HTMLElement) => {\n const canvas = document.createElement('canvas');\n const button = document.createElement('button');\n const setButtonPlay = () => {\n button.setAttribute('aria-label', 'Pause');\n button.innerHTML = iconPause;\n canvas.style.opacity = '0';\n image.style.opacity = '1';\n };\n const setButtonPause = () => {\n button.setAttribute('aria-label', 'Play');\n button.innerHTML = iconPlay;\n canvas.style.opacity = '1';\n image.style.opacity = '0';\n };\n const sizeCanvas = ({ container }: { container: HTMLElement | null }) => {\n if (!container) return;\n const image = container.querySelector('img');\n const canvas = container.querySelector('canvas') as HTMLCanvasElement;\n\n if (!container || !canvas || !image) return;\n\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n\n // Get container dimensions\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n // Set canvas display dimensions to match container\n canvas.style.width = '100%';\n canvas.style.height = `${image.clientHeight}px`;\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.left = '0';\n\n // Set canvas actual dimensions\n canvas.width = containerWidth;\n canvas.height = containerHeight;\n\n // Calculate dimensions to maintain aspect ratio while covering\n const imgRatio = image.naturalWidth / image.naturalHeight;\n const containerRatio = containerWidth / containerHeight;\n\n let drawWidth,\n drawHeight,\n offsetX = 0,\n offsetY = 0;\n\n if (imgRatio > containerRatio) {\n // Image is wider than container relative to height\n drawHeight = containerHeight;\n drawWidth = image.naturalWidth * (containerHeight / image.naturalHeight);\n offsetX = (containerWidth - drawWidth) / 2;\n } else {\n // Image is taller than container relative to width\n drawWidth = containerWidth;\n drawHeight = image.naturalHeight * (containerWidth / image.naturalWidth);\n offsetY = (containerHeight - drawHeight) / 2;\n }\n\n // Clear the canvas and draw the image with cover behavior\n ctx.clearRect(0, 0, containerWidth, containerHeight);\n ctx.imageSmoothingEnabled = true;\n ctx.drawImage(image, offsetX, offsetY, drawWidth, drawHeight);\n };\n let isPlaying = true;\n\n button.setAttribute('type', 'button');\n button.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (isPlaying) {\n setButtonPause();\n isPlaying = false;\n } else {\n setButtonPlay();\n isPlaying = true;\n }\n });\n\n image.addEventListener('load', () => {\n container.appendChild(canvas);\n container.appendChild(button);\n setButtonPlay();\n\n setTimeout(() => {\n sizeCanvas({ container });\n }, 100);\n });\n\n window.addEventListener(\n 'resize',\n debounce(() => {\n sizeCanvas({ container });\n }, 50),\n );\n};\n\nexport default ({\n element,\n}: {\n element: HTMLImageElement | HTMLAnchorElement;\n}) => {\n const image = extractImageElement(element);\n\n if (!image) {\n throw new Error('No valid image element found');\n }\n\n const isAnchor = element instanceof HTMLAnchorElement;\n const container = isAnchor ? element : document.createElement('div');\n\n const composite = new ElementBuilder(container)\n .styled(Styles.element.asset.gif.toggle)\n .withModifier((el) => {\n if (!isAnchor) {\n el.appendChild(element);\n }\n applyGifToggle(image, el);\n })\n .build();\n\n return composite;\n};\n"],"names":["iconPause","iconPlay","container","image","canvas","debounce","ElementBuilder","Styles"],"mappings":"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"}
@@ -1,9 +1,7 @@
1
+ import * as Styles from "@universityofmaryland/web-styles-library";
2
+ import { ElementBuilder } from "@universityofmaryland/web-builder-library";
1
3
  import { debounce } from "@universityofmaryland/web-utilities-library/performance";
2
4
  import { play, pause } from "@universityofmaryland/web-icons-library/controls";
3
- import "../../../model/modifiers/index.mjs";
4
- import "@universityofmaryland/web-styles-library";
5
- import { gifToggle as gifToggle$1 } from "../../../model/elements/assets.mjs";
6
- import "../../../model/elements/headline.mjs";
7
5
  const extractImageElement = (element) => {
8
6
  if (element instanceof HTMLImageElement) {
9
7
  return element;
@@ -76,7 +74,9 @@ const applyGifToggle = (image, container) => {
76
74
  container.appendChild(canvas);
77
75
  container.appendChild(button);
78
76
  setButtonPlay();
79
- sizeCanvas({ container });
77
+ setTimeout(() => {
78
+ sizeCanvas({ container });
79
+ }, 100);
80
80
  });
81
81
  window.addEventListener(
82
82
  "resize",
@@ -94,13 +94,12 @@ const gifToggle = ({
94
94
  }
95
95
  const isAnchor = element instanceof HTMLAnchorElement;
96
96
  const container = isAnchor ? element : document.createElement("div");
97
- const composite = gifToggle$1({
98
- element: container
99
- });
100
- if (!isAnchor) {
101
- container.appendChild(element);
102
- }
103
- applyGifToggle(image, container);
97
+ const composite = new ElementBuilder(container).styled(Styles.element.asset.gif.toggle).withModifier((el) => {
98
+ if (!isAnchor) {
99
+ el.appendChild(element);
100
+ }
101
+ applyGifToggle(image, el);
102
+ }).build();
104
103
  return composite;
105
104
  };
106
105
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"gif.mjs","sources":["../../../../source/atomic/assets/image/gif.ts"],"sourcesContent":["import { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport {\n pause as iconPause,\n play as iconPlay,\n} from '@universityofmaryland/web-icons-library/controls';\nimport { ElementModel } from 'model';\n\nconst extractImageElement = (\n element: HTMLImageElement | HTMLAnchorElement,\n): HTMLImageElement | null => {\n if (element instanceof HTMLImageElement) {\n return element;\n }\n\n if (element instanceof HTMLAnchorElement) {\n return element.querySelector('img');\n }\n\n return null;\n};\n\nconst applyGifToggle = (image: HTMLImageElement, container: HTMLElement) => {\n const canvas = document.createElement('canvas');\n const button = document.createElement('button');\n const setButtonPlay = () => {\n button.setAttribute('aria-label', 'Pause');\n button.innerHTML = iconPause;\n canvas.style.opacity = '0';\n image.style.opacity = '1';\n };\n const setButtonPause = () => {\n button.setAttribute('aria-label', 'Play');\n button.innerHTML = iconPlay;\n canvas.style.opacity = '1';\n image.style.opacity = '0';\n };\n const sizeCanvas = ({ container }: { container: HTMLElement | null }) => {\n if (!container) return;\n const image = container.querySelector('img');\n const canvas = container.querySelector('canvas') as HTMLCanvasElement;\n\n if (!container || !canvas || !image) return;\n\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n\n // Get container dimensions\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n // Set canvas display dimensions to match container\n canvas.style.width = '100%';\n canvas.style.height = `${image.clientHeight}px`;\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.left = '0';\n\n // Set canvas actual dimensions\n canvas.width = containerWidth;\n canvas.height = containerHeight;\n\n // Calculate dimensions to maintain aspect ratio while covering\n const imgRatio = image.naturalWidth / image.naturalHeight;\n const containerRatio = containerWidth / containerHeight;\n\n let drawWidth,\n drawHeight,\n offsetX = 0,\n offsetY = 0;\n\n if (imgRatio > containerRatio) {\n // Image is wider than container relative to height\n drawHeight = containerHeight;\n drawWidth = image.naturalWidth * (containerHeight / image.naturalHeight);\n offsetX = (containerWidth - drawWidth) / 2;\n } else {\n // Image is taller than container relative to width\n drawWidth = containerWidth;\n drawHeight = image.naturalHeight * (containerWidth / image.naturalWidth);\n offsetY = (containerHeight - drawHeight) / 2;\n }\n\n // Clear the canvas and draw the image with cover behavior\n ctx.clearRect(0, 0, containerWidth, containerHeight);\n ctx.imageSmoothingEnabled = true;\n ctx.drawImage(image, offsetX, offsetY, drawWidth, drawHeight);\n };\n let isPlaying = true;\n\n button.setAttribute('type', 'button');\n button.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (isPlaying) {\n setButtonPause();\n isPlaying = false;\n } else {\n setButtonPlay();\n isPlaying = true;\n }\n });\n\n image.addEventListener('load', () => {\n container.appendChild(canvas);\n container.appendChild(button);\n setButtonPlay();\n sizeCanvas({ container });\n });\n\n window.addEventListener(\n 'resize',\n debounce(() => {\n sizeCanvas({ container });\n }, 50),\n );\n};\n\nexport default ({\n element,\n}: {\n element: HTMLImageElement | HTMLAnchorElement;\n}) => {\n const image = extractImageElement(element);\n\n if (!image) {\n throw new Error('No valid image element found');\n }\n\n const isAnchor = element instanceof HTMLAnchorElement;\n const container = isAnchor ? element : document.createElement('div');\n\n const composite = ElementModel.assets.gifToggle({\n element: container,\n });\n\n if (!isAnchor) {\n container.appendChild(element);\n }\n\n applyGifToggle(image, container);\n\n return composite;\n};\n"],"names":["iconPause","iconPlay","container","image","canvas","ElementModel.assets.gifToggle"],"mappings":"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"}
1
+ {"version":3,"file":"gif.mjs","sources":["../../../../source/atomic/assets/image/gif.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { debounce } from '@universityofmaryland/web-utilities-library/performance';\nimport {\n pause as iconPause,\n play as iconPlay,\n} from '@universityofmaryland/web-icons-library/controls';\n\nconst extractImageElement = (\n element: HTMLImageElement | HTMLAnchorElement,\n): HTMLImageElement | null => {\n if (element instanceof HTMLImageElement) {\n return element;\n }\n\n if (element instanceof HTMLAnchorElement) {\n return element.querySelector('img');\n }\n\n return null;\n};\n\nconst applyGifToggle = (image: HTMLImageElement, container: HTMLElement) => {\n const canvas = document.createElement('canvas');\n const button = document.createElement('button');\n const setButtonPlay = () => {\n button.setAttribute('aria-label', 'Pause');\n button.innerHTML = iconPause;\n canvas.style.opacity = '0';\n image.style.opacity = '1';\n };\n const setButtonPause = () => {\n button.setAttribute('aria-label', 'Play');\n button.innerHTML = iconPlay;\n canvas.style.opacity = '1';\n image.style.opacity = '0';\n };\n const sizeCanvas = ({ container }: { container: HTMLElement | null }) => {\n if (!container) return;\n const image = container.querySelector('img');\n const canvas = container.querySelector('canvas') as HTMLCanvasElement;\n\n if (!container || !canvas || !image) return;\n\n const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;\n\n // Get container dimensions\n const containerWidth = container.clientWidth;\n const containerHeight = container.clientHeight;\n\n // Set canvas display dimensions to match container\n canvas.style.width = '100%';\n canvas.style.height = `${image.clientHeight}px`;\n canvas.style.position = 'absolute';\n canvas.style.top = '0';\n canvas.style.left = '0';\n\n // Set canvas actual dimensions\n canvas.width = containerWidth;\n canvas.height = containerHeight;\n\n // Calculate dimensions to maintain aspect ratio while covering\n const imgRatio = image.naturalWidth / image.naturalHeight;\n const containerRatio = containerWidth / containerHeight;\n\n let drawWidth,\n drawHeight,\n offsetX = 0,\n offsetY = 0;\n\n if (imgRatio > containerRatio) {\n // Image is wider than container relative to height\n drawHeight = containerHeight;\n drawWidth = image.naturalWidth * (containerHeight / image.naturalHeight);\n offsetX = (containerWidth - drawWidth) / 2;\n } else {\n // Image is taller than container relative to width\n drawWidth = containerWidth;\n drawHeight = image.naturalHeight * (containerWidth / image.naturalWidth);\n offsetY = (containerHeight - drawHeight) / 2;\n }\n\n // Clear the canvas and draw the image with cover behavior\n ctx.clearRect(0, 0, containerWidth, containerHeight);\n ctx.imageSmoothingEnabled = true;\n ctx.drawImage(image, offsetX, offsetY, drawWidth, drawHeight);\n };\n let isPlaying = true;\n\n button.setAttribute('type', 'button');\n button.addEventListener('click', (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (isPlaying) {\n setButtonPause();\n isPlaying = false;\n } else {\n setButtonPlay();\n isPlaying = true;\n }\n });\n\n image.addEventListener('load', () => {\n container.appendChild(canvas);\n container.appendChild(button);\n setButtonPlay();\n\n setTimeout(() => {\n sizeCanvas({ container });\n }, 100);\n });\n\n window.addEventListener(\n 'resize',\n debounce(() => {\n sizeCanvas({ container });\n }, 50),\n );\n};\n\nexport default ({\n element,\n}: {\n element: HTMLImageElement | HTMLAnchorElement;\n}) => {\n const image = extractImageElement(element);\n\n if (!image) {\n throw new Error('No valid image element found');\n }\n\n const isAnchor = element instanceof HTMLAnchorElement;\n const container = isAnchor ? element : document.createElement('div');\n\n const composite = new ElementBuilder(container)\n .styled(Styles.element.asset.gif.toggle)\n .withModifier((el) => {\n if (!isAnchor) {\n el.appendChild(element);\n }\n applyGifToggle(image, el);\n })\n .build();\n\n return composite;\n};\n"],"names":["iconPause","iconPlay","container","image","canvas"],"mappings":"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"}
@@ -1,9 +1,5 @@
1
1
  declare const _default: {
2
- fearlessForward: () => {
3
- element: HTMLElement;
4
- className: string;
5
- styles: string;
6
- };
2
+ fearlessForward: () => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
7
3
  };
8
4
  export default _default;
9
5
  //# sourceMappingURL=placeholder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"placeholder.d.ts","sourceRoot":"","sources":["../../../../source/atomic/assets/image/placeholder.ts"],"names":[],"mappings":";;;;;;;AAcA,wBAME"}
1
+ {"version":3,"file":"placeholder.d.ts","sourceRoot":"","sources":["../../../../source/atomic/assets/image/placeholder.ts"],"names":[],"mappings":";;;AAcA,wBAME"}
@@ -4,14 +4,6 @@ interface CardVideoShortProps {
4
4
  isScaled?: boolean;
5
5
  additionalElementStyles?: Record<string, any>;
6
6
  }
7
- declare const _default: ({ video, isAutoplay, isScaled, additionalElementStyles, }: CardVideoShortProps) => {
8
- events: {
9
- setPlay: () => void;
10
- setPause: () => void;
11
- };
12
- element: HTMLElement;
13
- className: string;
14
- styles: string;
15
- };
7
+ declare const _default: ({ video, isAutoplay, isScaled, additionalElementStyles, }: CardVideoShortProps) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
16
8
  export default _default;
17
9
  //# sourceMappingURL=observed-auto-play.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observed-auto-play.d.ts","sourceRoot":"","sources":["../../../../source/atomic/assets/video/observed-auto-play.ts"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/C;yBAEe,2DAKb,mBAAmB;;;;;;;;;AALtB,wBAuDO"}
1
+ {"version":3,"file":"observed-auto-play.d.ts","sourceRoot":"","sources":["../../../../source/atomic/assets/video/observed-auto-play.ts"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/C;yBAEe,2DAKb,mBAAmB;AALtB,wBA2DO"}
@@ -12,17 +12,21 @@ const observedAutoPlay = ({
12
12
  entries.forEach((entry) => {
13
13
  if (entry.isIntersecting) {
14
14
  if (video.readyState >= 2) {
15
- composite.events.setPlay();
15
+ composite?.events?.setPlay();
16
16
  } else {
17
- video.addEventListener("loadeddata", composite.events.setPlay, {
18
- once: true
19
- });
17
+ video.addEventListener(
18
+ "loadeddata",
19
+ () => composite?.events?.setPlay(),
20
+ {
21
+ once: true
22
+ }
23
+ );
20
24
  if (video.readyState === 0) {
21
25
  video.load();
22
26
  }
23
27
  }
24
28
  } else {
25
- composite.events.setPause();
29
+ composite?.events?.setPause();
26
30
  }
27
31
  });
28
32
  },
@@ -1 +1 @@
1
- {"version":3,"file":"observed-auto-play.js","sources":["../../../../source/atomic/assets/video/observed-auto-play.ts"],"sourcesContent":["import { isPreferredReducedMotion } from '@universityofmaryland/web-utilities-library/accessibility';\nimport { default as toggle } from './toggle';\n\ninterface CardVideoShortProps {\n video: HTMLVideoElement;\n isAutoplay?: boolean;\n isScaled?: boolean;\n additionalElementStyles?: Record<string, any>;\n}\n\nexport default ({\n video,\n isAutoplay = false,\n isScaled = false,\n additionalElementStyles,\n}: CardVideoShortProps) =>\n (() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (video.readyState >= 2) {\n composite.events.setPlay();\n } else {\n video.addEventListener('loadeddata', composite.events.setPlay, {\n once: true,\n });\n\n if (video.readyState === 0) {\n video.load();\n }\n }\n } else {\n composite.events.setPause();\n }\n });\n },\n {\n threshold: 0.25,\n },\n );\n const callback = (isPlaying: boolean) => {\n if (isPlaying && observer) {\n observer.disconnect();\n }\n };\n\n video.removeAttribute('controls');\n video.setAttribute('preload', 'true');\n video.setAttribute('playsinline', '');\n video.setAttribute('muted', '');\n video.setAttribute('loop', '');\n\n const composite = toggle({\n video,\n additionalElementStyles,\n isScaled,\n callback,\n });\n\n if (!isPreferredReducedMotion() && isAutoplay) {\n observer.observe(composite.element);\n }\n\n return composite;\n })();\n"],"names":["isPreferredReducedMotion"],"mappings":";;;AAUA,MAAA,mBAAe,CAAC;AAAA,EACd;AAAA,EACA,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AACF,OACG,MAAM;AACL,QAAM,WAAW,IAAI;AAAA,IACnB,CAAC,YAAY;AACX,cAAQ,QAAQ,CAAC,UAAU;AACzB,YAAI,MAAM,gBAAgB;AACxB,cAAI,MAAM,cAAc,GAAG;AACzB,sBAAU,OAAO,QAAA;AAAA,UACnB,OAAO;AACL,kBAAM,iBAAiB,cAAc,UAAU,OAAO,SAAS;AAAA,cAC7D,MAAM;AAAA,YAAA,CACP;AAED,gBAAI,MAAM,eAAe,GAAG;AAC1B,oBAAM,KAAA;AAAA,YACR;AAAA,UACF;AAAA,QACF,OAAO;AACL,oBAAU,OAAO,SAAA;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IAAA;AAAA,EACb;AAEF,QAAM,WAAW,CAAC,cAAuB;AACvC,QAAI,aAAa,UAAU;AACzB,eAAS,WAAA;AAAA,IACX;AAAA,EACF;AAEA,QAAM,gBAAgB,UAAU;AAChC,QAAM,aAAa,WAAW,MAAM;AACpC,QAAM,aAAa,eAAe,EAAE;AACpC,QAAM,aAAa,SAAS,EAAE;AAC9B,QAAM,aAAa,QAAQ,EAAE;AAE7B,QAAM,YAAY,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAED,MAAI,CAACA,cAAAA,yBAAA,KAA8B,YAAY;AAC7C,aAAS,QAAQ,UAAU,OAAO;AAAA,EACpC;AAEA,SAAO;AACT,GAAA;;"}
1
+ {"version":3,"file":"observed-auto-play.js","sources":["../../../../source/atomic/assets/video/observed-auto-play.ts"],"sourcesContent":["import { isPreferredReducedMotion } from '@universityofmaryland/web-utilities-library/accessibility';\nimport { default as toggle } from './toggle';\n\ninterface CardVideoShortProps {\n video: HTMLVideoElement;\n isAutoplay?: boolean;\n isScaled?: boolean;\n additionalElementStyles?: Record<string, any>;\n}\n\nexport default ({\n video,\n isAutoplay = false,\n isScaled = false,\n additionalElementStyles,\n}: CardVideoShortProps) =>\n (() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (video.readyState >= 2) {\n composite?.events?.setPlay();\n } else {\n video.addEventListener(\n 'loadeddata',\n () => composite?.events?.setPlay(),\n {\n once: true,\n },\n );\n\n if (video.readyState === 0) {\n video.load();\n }\n }\n } else {\n composite?.events?.setPause();\n }\n });\n },\n {\n threshold: 0.25,\n },\n );\n const callback = (isPlaying: boolean) => {\n if (isPlaying && observer) {\n observer.disconnect();\n }\n };\n\n video.removeAttribute('controls');\n video.setAttribute('preload', 'true');\n video.setAttribute('playsinline', '');\n video.setAttribute('muted', '');\n video.setAttribute('loop', '');\n\n const composite = toggle({\n video,\n additionalElementStyles,\n isScaled,\n callback,\n });\n\n if (!isPreferredReducedMotion() && isAutoplay) {\n observer.observe(composite.element);\n }\n\n return composite;\n })();\n"],"names":["isPreferredReducedMotion"],"mappings":";;;AAUA,MAAA,mBAAe,CAAC;AAAA,EACd;AAAA,EACA,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AACF,OACG,MAAM;AACL,QAAM,WAAW,IAAI;AAAA,IACnB,CAAC,YAAY;AACX,cAAQ,QAAQ,CAAC,UAAU;AACzB,YAAI,MAAM,gBAAgB;AACxB,cAAI,MAAM,cAAc,GAAG;AACzB,uBAAW,QAAQ,QAAA;AAAA,UACrB,OAAO;AACL,kBAAM;AAAA,cACJ;AAAA,cACA,MAAM,WAAW,QAAQ,QAAA;AAAA,cACzB;AAAA,gBACE,MAAM;AAAA,cAAA;AAAA,YACR;AAGF,gBAAI,MAAM,eAAe,GAAG;AAC1B,oBAAM,KAAA;AAAA,YACR;AAAA,UACF;AAAA,QACF,OAAO;AACL,qBAAW,QAAQ,SAAA;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IAAA;AAAA,EACb;AAEF,QAAM,WAAW,CAAC,cAAuB;AACvC,QAAI,aAAa,UAAU;AACzB,eAAS,WAAA;AAAA,IACX;AAAA,EACF;AAEA,QAAM,gBAAgB,UAAU;AAChC,QAAM,aAAa,WAAW,MAAM;AACpC,QAAM,aAAa,eAAe,EAAE;AACpC,QAAM,aAAa,SAAS,EAAE;AAC9B,QAAM,aAAa,QAAQ,EAAE;AAE7B,QAAM,YAAY,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAED,MAAI,CAACA,cAAAA,yBAAA,KAA8B,YAAY;AAC7C,aAAS,QAAQ,UAAU,OAAO;AAAA,EACpC;AAEA,SAAO;AACT,GAAA;;"}
@@ -11,17 +11,21 @@ const observedAutoPlay = ({
11
11
  entries.forEach((entry) => {
12
12
  if (entry.isIntersecting) {
13
13
  if (video.readyState >= 2) {
14
- composite.events.setPlay();
14
+ composite?.events?.setPlay();
15
15
  } else {
16
- video.addEventListener("loadeddata", composite.events.setPlay, {
17
- once: true
18
- });
16
+ video.addEventListener(
17
+ "loadeddata",
18
+ () => composite?.events?.setPlay(),
19
+ {
20
+ once: true
21
+ }
22
+ );
19
23
  if (video.readyState === 0) {
20
24
  video.load();
21
25
  }
22
26
  }
23
27
  } else {
24
- composite.events.setPause();
28
+ composite?.events?.setPause();
25
29
  }
26
30
  });
27
31
  },
@@ -1 +1 @@
1
- {"version":3,"file":"observed-auto-play.mjs","sources":["../../../../source/atomic/assets/video/observed-auto-play.ts"],"sourcesContent":["import { isPreferredReducedMotion } from '@universityofmaryland/web-utilities-library/accessibility';\nimport { default as toggle } from './toggle';\n\ninterface CardVideoShortProps {\n video: HTMLVideoElement;\n isAutoplay?: boolean;\n isScaled?: boolean;\n additionalElementStyles?: Record<string, any>;\n}\n\nexport default ({\n video,\n isAutoplay = false,\n isScaled = false,\n additionalElementStyles,\n}: CardVideoShortProps) =>\n (() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (video.readyState >= 2) {\n composite.events.setPlay();\n } else {\n video.addEventListener('loadeddata', composite.events.setPlay, {\n once: true,\n });\n\n if (video.readyState === 0) {\n video.load();\n }\n }\n } else {\n composite.events.setPause();\n }\n });\n },\n {\n threshold: 0.25,\n },\n );\n const callback = (isPlaying: boolean) => {\n if (isPlaying && observer) {\n observer.disconnect();\n }\n };\n\n video.removeAttribute('controls');\n video.setAttribute('preload', 'true');\n video.setAttribute('playsinline', '');\n video.setAttribute('muted', '');\n video.setAttribute('loop', '');\n\n const composite = toggle({\n video,\n additionalElementStyles,\n isScaled,\n callback,\n });\n\n if (!isPreferredReducedMotion() && isAutoplay) {\n observer.observe(composite.element);\n }\n\n return composite;\n })();\n"],"names":[],"mappings":";;AAUA,MAAA,mBAAe,CAAC;AAAA,EACd;AAAA,EACA,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AACF,OACG,MAAM;AACL,QAAM,WAAW,IAAI;AAAA,IACnB,CAAC,YAAY;AACX,cAAQ,QAAQ,CAAC,UAAU;AACzB,YAAI,MAAM,gBAAgB;AACxB,cAAI,MAAM,cAAc,GAAG;AACzB,sBAAU,OAAO,QAAA;AAAA,UACnB,OAAO;AACL,kBAAM,iBAAiB,cAAc,UAAU,OAAO,SAAS;AAAA,cAC7D,MAAM;AAAA,YAAA,CACP;AAED,gBAAI,MAAM,eAAe,GAAG;AAC1B,oBAAM,KAAA;AAAA,YACR;AAAA,UACF;AAAA,QACF,OAAO;AACL,oBAAU,OAAO,SAAA;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IAAA;AAAA,EACb;AAEF,QAAM,WAAW,CAAC,cAAuB;AACvC,QAAI,aAAa,UAAU;AACzB,eAAS,WAAA;AAAA,IACX;AAAA,EACF;AAEA,QAAM,gBAAgB,UAAU;AAChC,QAAM,aAAa,WAAW,MAAM;AACpC,QAAM,aAAa,eAAe,EAAE;AACpC,QAAM,aAAa,SAAS,EAAE;AAC9B,QAAM,aAAa,QAAQ,EAAE;AAE7B,QAAM,YAAY,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAED,MAAI,CAAC,yBAAA,KAA8B,YAAY;AAC7C,aAAS,QAAQ,UAAU,OAAO;AAAA,EACpC;AAEA,SAAO;AACT,GAAA;"}
1
+ {"version":3,"file":"observed-auto-play.mjs","sources":["../../../../source/atomic/assets/video/observed-auto-play.ts"],"sourcesContent":["import { isPreferredReducedMotion } from '@universityofmaryland/web-utilities-library/accessibility';\nimport { default as toggle } from './toggle';\n\ninterface CardVideoShortProps {\n video: HTMLVideoElement;\n isAutoplay?: boolean;\n isScaled?: boolean;\n additionalElementStyles?: Record<string, any>;\n}\n\nexport default ({\n video,\n isAutoplay = false,\n isScaled = false,\n additionalElementStyles,\n}: CardVideoShortProps) =>\n (() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (video.readyState >= 2) {\n composite?.events?.setPlay();\n } else {\n video.addEventListener(\n 'loadeddata',\n () => composite?.events?.setPlay(),\n {\n once: true,\n },\n );\n\n if (video.readyState === 0) {\n video.load();\n }\n }\n } else {\n composite?.events?.setPause();\n }\n });\n },\n {\n threshold: 0.25,\n },\n );\n const callback = (isPlaying: boolean) => {\n if (isPlaying && observer) {\n observer.disconnect();\n }\n };\n\n video.removeAttribute('controls');\n video.setAttribute('preload', 'true');\n video.setAttribute('playsinline', '');\n video.setAttribute('muted', '');\n video.setAttribute('loop', '');\n\n const composite = toggle({\n video,\n additionalElementStyles,\n isScaled,\n callback,\n });\n\n if (!isPreferredReducedMotion() && isAutoplay) {\n observer.observe(composite.element);\n }\n\n return composite;\n })();\n"],"names":[],"mappings":";;AAUA,MAAA,mBAAe,CAAC;AAAA,EACd;AAAA,EACA,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AACF,OACG,MAAM;AACL,QAAM,WAAW,IAAI;AAAA,IACnB,CAAC,YAAY;AACX,cAAQ,QAAQ,CAAC,UAAU;AACzB,YAAI,MAAM,gBAAgB;AACxB,cAAI,MAAM,cAAc,GAAG;AACzB,uBAAW,QAAQ,QAAA;AAAA,UACrB,OAAO;AACL,kBAAM;AAAA,cACJ;AAAA,cACA,MAAM,WAAW,QAAQ,QAAA;AAAA,cACzB;AAAA,gBACE,MAAM;AAAA,cAAA;AAAA,YACR;AAGF,gBAAI,MAAM,eAAe,GAAG;AAC1B,oBAAM,KAAA;AAAA,YACR;AAAA,UACF;AAAA,QACF,OAAO;AACL,qBAAW,QAAQ,SAAA;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,MACE,WAAW;AAAA,IAAA;AAAA,EACb;AAEF,QAAM,WAAW,CAAC,cAAuB;AACvC,QAAI,aAAa,UAAU;AACzB,eAAS,WAAA;AAAA,IACX;AAAA,EACF;AAEA,QAAM,gBAAgB,UAAU;AAChC,QAAM,aAAa,WAAW,MAAM;AACpC,QAAM,aAAa,eAAe,EAAE;AACpC,QAAM,aAAa,SAAS,EAAE;AAC9B,QAAM,aAAa,QAAQ,EAAE;AAE7B,QAAM,YAAY,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAED,MAAI,CAAC,yBAAA,KAA8B,YAAY;AAC7C,aAAS,QAAQ,UAAU,OAAO;AAAA,EACpC;AAEA,SAAO;AACT,GAAA;"}
@@ -4,14 +4,6 @@ interface VideoProps {
4
4
  additionalElementStyles?: Record<string, any>;
5
5
  callback?: (isPlaying: boolean) => void;
6
6
  }
7
- declare const _default: (props: VideoProps) => {
8
- events: {
9
- setPlay: () => void;
10
- setPause: () => void;
11
- };
12
- element: HTMLElement;
13
- className: string;
14
- styles: string;
15
- };
7
+ declare const _default: (props: VideoProps) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
16
8
  export default _default;
17
9
  //# sourceMappingURL=toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../source/atomic/assets/video/toggle.ts"],"names":[],"mappings":"AAMA,UAAU,UAAU;IAClB,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;yBAEe,OAAO,UAAU;;;;;;;;;AAAjC,wBAsFO"}
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../source/atomic/assets/video/toggle.ts"],"names":[],"mappings":"AAOA,UAAU,UAAU;IAClB,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;yBAEe,OAAO,UAAU;AAAjC,wBA4EO"}
@@ -1,7 +1,24 @@
1
1
  "use strict";
2
+ const Styles = require("@universityofmaryland/web-styles-library");
3
+ const webBuilderLibrary = require("@universityofmaryland/web-builder-library");
2
4
  const controls = require("@universityofmaryland/web-icons-library/controls");
3
- const index = require("../../../model/elements/index.js");
4
- const buttons = require("../../../model/elements/buttons.js");
5
+ function _interopNamespaceDefault(e) {
6
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
+ if (e) {
8
+ for (const k in e) {
9
+ if (k !== "default") {
10
+ const d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: () => e[k]
14
+ });
15
+ }
16
+ }
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+ const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
5
22
  const toggle = (props) => (() => {
6
23
  const {
7
24
  video,
@@ -9,32 +26,7 @@ const toggle = (props) => (() => {
9
26
  isScaled = false,
10
27
  callback
11
28
  } = props;
12
- const composite = index.create({
13
- element: document.createElement("div"),
14
- className: "umd-element-video",
15
- elementStyles: {
16
- element: {
17
- position: "relative",
18
- ...additionalElementStyles,
19
- ...isScaled && {
20
- width: "100%",
21
- height: "100%",
22
- objectFit: "cover"
23
- },
24
- ...isScaled && {
25
- [`& video`]: {
26
- width: "100%",
27
- height: "100%",
28
- objectFit: "cover",
29
- display: "block"
30
- }
31
- }
32
- }
33
- }
34
- });
35
- const button = buttons.videoState({
36
- element: document.createElement("button")
37
- });
29
+ const button = new webBuilderLibrary.ElementBuilder("button").styled(Styles__namespace.element.action.button.videoState).withAttribute("type", "button").withAttribute("aria-label", "Play").withHTML(controls.play).build();
38
30
  const setPlay = () => {
39
31
  button.element.setAttribute("aria-label", "Pause");
40
32
  button.element.innerHTML = controls.pause;
@@ -51,9 +43,6 @@ const toggle = (props) => (() => {
51
43
  button.element.innerHTML = controls.play;
52
44
  video.pause();
53
45
  };
54
- button.element.setAttribute("aria-label", "Play");
55
- button.element.innerHTML = controls.play;
56
- button.element.setAttribute("type", "button");
57
46
  button.element.addEventListener("click", () => {
58
47
  if (video.paused) {
59
48
  if (callback) callback(false);
@@ -66,16 +55,25 @@ const toggle = (props) => (() => {
66
55
  if (video.getAttribute("autoplay") === "" || video.getAttribute("autoplay") === "true") {
67
56
  setPlay();
68
57
  }
69
- composite.element.appendChild(video);
70
- composite.element.appendChild(button.element);
71
- composite.styles += button.styles;
72
- return {
73
- ...composite,
74
- events: {
75
- setPlay,
76
- setPause
58
+ return new webBuilderLibrary.ElementBuilder().withClassName("umd-element-video").withStyles({
59
+ element: {
60
+ position: "relative",
61
+ ...additionalElementStyles,
62
+ ...isScaled && {
63
+ width: "100%",
64
+ height: "100%",
65
+ objectFit: "cover"
66
+ },
67
+ ...isScaled && {
68
+ [`& video`]: {
69
+ width: "100%",
70
+ height: "100%",
71
+ objectFit: "cover",
72
+ display: "block"
73
+ }
74
+ }
77
75
  }
78
- };
76
+ }).withChildren(video, button).withEvents({ setPlay, setPause }).build();
79
77
  })();
80
78
  module.exports = toggle;
81
79
  //# sourceMappingURL=toggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.js","sources":["../../../../source/atomic/assets/video/toggle.ts"],"sourcesContent":["import {\n pause as iconPause,\n play as iconPlay,\n} from '@universityofmaryland/web-icons-library/controls';\nimport { ElementModel } from 'model';\n\ninterface VideoProps {\n video: HTMLVideoElement;\n isScaled?: boolean;\n additionalElementStyles?: Record<string, any>;\n callback?: (isPlaying: boolean) => void;\n}\n\nexport default (props: VideoProps) =>\n (() => {\n const {\n video,\n additionalElementStyles,\n isScaled = false,\n callback,\n } = props;\n const composite = ElementModel.create({\n element: document.createElement('div'),\n className: 'umd-element-video',\n elementStyles: {\n element: {\n position: 'relative',\n ...additionalElementStyles,\n ...(isScaled && {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }),\n\n ...(isScaled && {\n [`& video`]: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n display: 'block',\n },\n }),\n },\n },\n });\n const button = ElementModel.buttons.videoState({\n element: document.createElement('button'),\n });\n\n const setPlay = () => {\n button.element.setAttribute('aria-label', 'Pause');\n button.element.innerHTML = iconPause;\n video.muted = true;\n video.play().catch((error) => {\n if (error.name === 'NotAllowedError') {\n setPause();\n }\n console.warn('Video play failed:', error);\n });\n };\n const setPause = () => {\n button.element.setAttribute('aria-label', 'Play');\n button.element.innerHTML = iconPlay;\n video.pause();\n };\n\n // Load styles and attributes\n\n button.element.setAttribute('aria-label', 'Play');\n button.element.innerHTML = iconPlay;\n button.element.setAttribute('type', 'button');\n button.element.addEventListener('click', () => {\n if (video.paused) {\n if (callback) callback(false);\n setPlay();\n } else {\n if (callback) callback(true);\n setPause();\n }\n });\n\n if (\n video.getAttribute('autoplay') === '' ||\n video.getAttribute('autoplay') === 'true'\n ) {\n setPlay();\n }\n\n composite.element.appendChild(video);\n composite.element.appendChild(button.element);\n composite.styles += button.styles;\n\n return {\n ...composite,\n events: {\n setPlay,\n setPause,\n },\n };\n })();\n"],"names":["ElementModel.create","ElementModel.buttons.videoState","iconPause","iconPlay"],"mappings":";;;;AAaA,MAAA,SAAe,CAAC,WACb,MAAM;AACL,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,EAAA,IACE;AACJ,QAAM,YAAYA,MAAAA,OAAoB;AAAA,IACpC,SAAS,SAAS,cAAc,KAAK;AAAA,IACrC,WAAW;AAAA,IACX,eAAe;AAAA,MACb,SAAS;AAAA,QACP,UAAU;AAAA,QACV,GAAG;AAAA,QACH,GAAI,YAAY;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAW;AAAA,QAAA;AAAA,QAGb,GAAI,YAAY;AAAA,UACd,CAAC,SAAS,GAAG;AAAA,YACX,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,SAAS;AAAA,UAAA;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF,CACD;AACD,QAAM,SAASC,QAAAA,WAAgC;AAAA,IAC7C,SAAS,SAAS,cAAc,QAAQ;AAAA,EAAA,CACzC;AAED,QAAM,UAAU,MAAM;AACpB,WAAO,QAAQ,aAAa,cAAc,OAAO;AACjD,WAAO,QAAQ,YAAYC,SAAAA;AAC3B,UAAM,QAAQ;AACd,UAAM,KAAA,EAAO,MAAM,CAAC,UAAU;AAC5B,UAAI,MAAM,SAAS,mBAAmB;AACpC,iBAAA;AAAA,MACF;AACA,cAAQ,KAAK,sBAAsB,KAAK;AAAA,IAC1C,CAAC;AAAA,EACH;AACA,QAAM,WAAW,MAAM;AACrB,WAAO,QAAQ,aAAa,cAAc,MAAM;AAChD,WAAO,QAAQ,YAAYC,SAAAA;AAC3B,UAAM,MAAA;AAAA,EACR;AAIA,SAAO,QAAQ,aAAa,cAAc,MAAM;AAChD,SAAO,QAAQ,YAAYA,SAAAA;AAC3B,SAAO,QAAQ,aAAa,QAAQ,QAAQ;AAC5C,SAAO,QAAQ,iBAAiB,SAAS,MAAM;AAC7C,QAAI,MAAM,QAAQ;AAChB,UAAI,mBAAmB,KAAK;AAC5B,cAAA;AAAA,IACF,OAAO;AACL,UAAI,mBAAmB,IAAI;AAC3B,eAAA;AAAA,IACF;AAAA,EACF,CAAC;AAED,MACE,MAAM,aAAa,UAAU,MAAM,MACnC,MAAM,aAAa,UAAU,MAAM,QACnC;AACA,YAAA;AAAA,EACF;AAEA,YAAU,QAAQ,YAAY,KAAK;AACnC,YAAU,QAAQ,YAAY,OAAO,OAAO;AAC5C,YAAU,UAAU,OAAO;AAE3B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
1
+ {"version":3,"file":"toggle.js","sources":["../../../../source/atomic/assets/video/toggle.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport {\n pause as iconPause,\n play as iconPlay,\n} from '@universityofmaryland/web-icons-library/controls';\n\ninterface VideoProps {\n video: HTMLVideoElement;\n isScaled?: boolean;\n additionalElementStyles?: Record<string, any>;\n callback?: (isPlaying: boolean) => void;\n}\n\nexport default (props: VideoProps) =>\n (() => {\n const {\n video,\n additionalElementStyles,\n isScaled = false,\n callback,\n } = props;\n\n const button = new ElementBuilder('button')\n .styled(Styles.element.action.button.videoState)\n .withAttribute('type', 'button')\n .withAttribute('aria-label', 'Play')\n .withHTML(iconPlay)\n .build();\n\n const setPlay = () => {\n button.element.setAttribute('aria-label', 'Pause');\n button.element.innerHTML = iconPause;\n video.muted = true;\n video.play().catch((error) => {\n if (error.name === 'NotAllowedError') {\n setPause();\n }\n console.warn('Video play failed:', error);\n });\n };\n\n const setPause = () => {\n button.element.setAttribute('aria-label', 'Play');\n button.element.innerHTML = iconPlay;\n video.pause();\n };\n\n button.element.addEventListener('click', () => {\n if (video.paused) {\n if (callback) callback(false);\n setPlay();\n } else {\n if (callback) callback(true);\n setPause();\n }\n });\n\n if (\n video.getAttribute('autoplay') === '' ||\n video.getAttribute('autoplay') === 'true'\n ) {\n setPlay();\n }\n\n return new ElementBuilder()\n .withClassName('umd-element-video')\n .withStyles({\n element: {\n position: 'relative',\n ...additionalElementStyles,\n ...(isScaled && {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }),\n\n ...(isScaled && {\n [`& video`]: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n display: 'block',\n },\n }),\n },\n })\n .withChildren(video, button)\n .withEvents({ setPlay, setPause })\n .build();\n })();\n"],"names":["ElementBuilder","Styles","iconPlay","iconPause"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcA,MAAA,SAAe,CAAC,WACb,MAAM;AACL,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,EAAA,IACE;AAEJ,QAAM,SAAS,IAAIA,kBAAAA,eAAe,QAAQ,EACvC,OAAOC,kBAAO,QAAQ,OAAO,OAAO,UAAU,EAC9C,cAAc,QAAQ,QAAQ,EAC9B,cAAc,cAAc,MAAM,EAClC,SAASC,aAAQ,EACjB,MAAA;AAEH,QAAM,UAAU,MAAM;AACpB,WAAO,QAAQ,aAAa,cAAc,OAAO;AACjD,WAAO,QAAQ,YAAYC,SAAAA;AAC3B,UAAM,QAAQ;AACd,UAAM,KAAA,EAAO,MAAM,CAAC,UAAU;AAC5B,UAAI,MAAM,SAAS,mBAAmB;AACpC,iBAAA;AAAA,MACF;AACA,cAAQ,KAAK,sBAAsB,KAAK;AAAA,IAC1C,CAAC;AAAA,EACH;AAEA,QAAM,WAAW,MAAM;AACrB,WAAO,QAAQ,aAAa,cAAc,MAAM;AAChD,WAAO,QAAQ,YAAYD,SAAAA;AAC3B,UAAM,MAAA;AAAA,EACR;AAEA,SAAO,QAAQ,iBAAiB,SAAS,MAAM;AAC7C,QAAI,MAAM,QAAQ;AAChB,UAAI,mBAAmB,KAAK;AAC5B,cAAA;AAAA,IACF,OAAO;AACL,UAAI,mBAAmB,IAAI;AAC3B,eAAA;AAAA,IACF;AAAA,EACF,CAAC;AAED,MACE,MAAM,aAAa,UAAU,MAAM,MACnC,MAAM,aAAa,UAAU,MAAM,QACnC;AACA,YAAA;AAAA,EACF;AAEA,SAAO,IAAIF,kBAAAA,eAAA,EACR,cAAc,mBAAmB,EACjC,WAAW;AAAA,IACV,SAAS;AAAA,MACP,UAAU;AAAA,MACV,GAAG;AAAA,MACH,GAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,MAAA;AAAA,MAGb,GAAI,YAAY;AAAA,QACd,CAAC,SAAS,GAAG;AAAA,UACX,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,QAAA;AAAA,MACX;AAAA,IACF;AAAA,EACF,CACD,EACA,aAAa,OAAO,MAAM,EAC1B,WAAW,EAAE,SAAS,UAAU,EAChC,MAAA;AACL,GAAA;;"}
@@ -1,6 +1,6 @@
1
+ import * as Styles from "@universityofmaryland/web-styles-library";
2
+ import { ElementBuilder } from "@universityofmaryland/web-builder-library";
1
3
  import { play, pause } from "@universityofmaryland/web-icons-library/controls";
2
- import { create } from "../../../model/elements/index.mjs";
3
- import { videoState } from "../../../model/elements/buttons.mjs";
4
4
  const toggle = (props) => (() => {
5
5
  const {
6
6
  video,
@@ -8,32 +8,7 @@ const toggle = (props) => (() => {
8
8
  isScaled = false,
9
9
  callback
10
10
  } = props;
11
- const composite = create({
12
- element: document.createElement("div"),
13
- className: "umd-element-video",
14
- elementStyles: {
15
- element: {
16
- position: "relative",
17
- ...additionalElementStyles,
18
- ...isScaled && {
19
- width: "100%",
20
- height: "100%",
21
- objectFit: "cover"
22
- },
23
- ...isScaled && {
24
- [`& video`]: {
25
- width: "100%",
26
- height: "100%",
27
- objectFit: "cover",
28
- display: "block"
29
- }
30
- }
31
- }
32
- }
33
- });
34
- const button = videoState({
35
- element: document.createElement("button")
36
- });
11
+ const button = new ElementBuilder("button").styled(Styles.element.action.button.videoState).withAttribute("type", "button").withAttribute("aria-label", "Play").withHTML(play).build();
37
12
  const setPlay = () => {
38
13
  button.element.setAttribute("aria-label", "Pause");
39
14
  button.element.innerHTML = pause;
@@ -50,9 +25,6 @@ const toggle = (props) => (() => {
50
25
  button.element.innerHTML = play;
51
26
  video.pause();
52
27
  };
53
- button.element.setAttribute("aria-label", "Play");
54
- button.element.innerHTML = play;
55
- button.element.setAttribute("type", "button");
56
28
  button.element.addEventListener("click", () => {
57
29
  if (video.paused) {
58
30
  if (callback) callback(false);
@@ -65,16 +37,25 @@ const toggle = (props) => (() => {
65
37
  if (video.getAttribute("autoplay") === "" || video.getAttribute("autoplay") === "true") {
66
38
  setPlay();
67
39
  }
68
- composite.element.appendChild(video);
69
- composite.element.appendChild(button.element);
70
- composite.styles += button.styles;
71
- return {
72
- ...composite,
73
- events: {
74
- setPlay,
75
- setPause
40
+ return new ElementBuilder().withClassName("umd-element-video").withStyles({
41
+ element: {
42
+ position: "relative",
43
+ ...additionalElementStyles,
44
+ ...isScaled && {
45
+ width: "100%",
46
+ height: "100%",
47
+ objectFit: "cover"
48
+ },
49
+ ...isScaled && {
50
+ [`& video`]: {
51
+ width: "100%",
52
+ height: "100%",
53
+ objectFit: "cover",
54
+ display: "block"
55
+ }
56
+ }
76
57
  }
77
- };
58
+ }).withChildren(video, button).withEvents({ setPlay, setPause }).build();
78
59
  })();
79
60
  export {
80
61
  toggle as default
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.mjs","sources":["../../../../source/atomic/assets/video/toggle.ts"],"sourcesContent":["import {\n pause as iconPause,\n play as iconPlay,\n} from '@universityofmaryland/web-icons-library/controls';\nimport { ElementModel } from 'model';\n\ninterface VideoProps {\n video: HTMLVideoElement;\n isScaled?: boolean;\n additionalElementStyles?: Record<string, any>;\n callback?: (isPlaying: boolean) => void;\n}\n\nexport default (props: VideoProps) =>\n (() => {\n const {\n video,\n additionalElementStyles,\n isScaled = false,\n callback,\n } = props;\n const composite = ElementModel.create({\n element: document.createElement('div'),\n className: 'umd-element-video',\n elementStyles: {\n element: {\n position: 'relative',\n ...additionalElementStyles,\n ...(isScaled && {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }),\n\n ...(isScaled && {\n [`& video`]: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n display: 'block',\n },\n }),\n },\n },\n });\n const button = ElementModel.buttons.videoState({\n element: document.createElement('button'),\n });\n\n const setPlay = () => {\n button.element.setAttribute('aria-label', 'Pause');\n button.element.innerHTML = iconPause;\n video.muted = true;\n video.play().catch((error) => {\n if (error.name === 'NotAllowedError') {\n setPause();\n }\n console.warn('Video play failed:', error);\n });\n };\n const setPause = () => {\n button.element.setAttribute('aria-label', 'Play');\n button.element.innerHTML = iconPlay;\n video.pause();\n };\n\n // Load styles and attributes\n\n button.element.setAttribute('aria-label', 'Play');\n button.element.innerHTML = iconPlay;\n button.element.setAttribute('type', 'button');\n button.element.addEventListener('click', () => {\n if (video.paused) {\n if (callback) callback(false);\n setPlay();\n } else {\n if (callback) callback(true);\n setPause();\n }\n });\n\n if (\n video.getAttribute('autoplay') === '' ||\n video.getAttribute('autoplay') === 'true'\n ) {\n setPlay();\n }\n\n composite.element.appendChild(video);\n composite.element.appendChild(button.element);\n composite.styles += button.styles;\n\n return {\n ...composite,\n events: {\n setPlay,\n setPause,\n },\n };\n })();\n"],"names":["ElementModel.create","ElementModel.buttons.videoState","iconPause","iconPlay"],"mappings":";;;AAaA,MAAA,SAAe,CAAC,WACb,MAAM;AACL,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,EAAA,IACE;AACJ,QAAM,YAAYA,OAAoB;AAAA,IACpC,SAAS,SAAS,cAAc,KAAK;AAAA,IACrC,WAAW;AAAA,IACX,eAAe;AAAA,MACb,SAAS;AAAA,QACP,UAAU;AAAA,QACV,GAAG;AAAA,QACH,GAAI,YAAY;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAW;AAAA,QAAA;AAAA,QAGb,GAAI,YAAY;AAAA,UACd,CAAC,SAAS,GAAG;AAAA,YACX,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,SAAS;AAAA,UAAA;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF,CACD;AACD,QAAM,SAASC,WAAgC;AAAA,IAC7C,SAAS,SAAS,cAAc,QAAQ;AAAA,EAAA,CACzC;AAED,QAAM,UAAU,MAAM;AACpB,WAAO,QAAQ,aAAa,cAAc,OAAO;AACjD,WAAO,QAAQ,YAAYC;AAC3B,UAAM,QAAQ;AACd,UAAM,KAAA,EAAO,MAAM,CAAC,UAAU;AAC5B,UAAI,MAAM,SAAS,mBAAmB;AACpC,iBAAA;AAAA,MACF;AACA,cAAQ,KAAK,sBAAsB,KAAK;AAAA,IAC1C,CAAC;AAAA,EACH;AACA,QAAM,WAAW,MAAM;AACrB,WAAO,QAAQ,aAAa,cAAc,MAAM;AAChD,WAAO,QAAQ,YAAYC;AAC3B,UAAM,MAAA;AAAA,EACR;AAIA,SAAO,QAAQ,aAAa,cAAc,MAAM;AAChD,SAAO,QAAQ,YAAYA;AAC3B,SAAO,QAAQ,aAAa,QAAQ,QAAQ;AAC5C,SAAO,QAAQ,iBAAiB,SAAS,MAAM;AAC7C,QAAI,MAAM,QAAQ;AAChB,UAAI,mBAAmB,KAAK;AAC5B,cAAA;AAAA,IACF,OAAO;AACL,UAAI,mBAAmB,IAAI;AAC3B,eAAA;AAAA,IACF;AAAA,EACF,CAAC;AAED,MACE,MAAM,aAAa,UAAU,MAAM,MACnC,MAAM,aAAa,UAAU,MAAM,QACnC;AACA,YAAA;AAAA,EACF;AAEA,YAAU,QAAQ,YAAY,KAAK;AACnC,YAAU,QAAQ,YAAY,OAAO,OAAO;AAC5C,YAAU,UAAU,OAAO;AAE3B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
1
+ {"version":3,"file":"toggle.mjs","sources":["../../../../source/atomic/assets/video/toggle.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport {\n pause as iconPause,\n play as iconPlay,\n} from '@universityofmaryland/web-icons-library/controls';\n\ninterface VideoProps {\n video: HTMLVideoElement;\n isScaled?: boolean;\n additionalElementStyles?: Record<string, any>;\n callback?: (isPlaying: boolean) => void;\n}\n\nexport default (props: VideoProps) =>\n (() => {\n const {\n video,\n additionalElementStyles,\n isScaled = false,\n callback,\n } = props;\n\n const button = new ElementBuilder('button')\n .styled(Styles.element.action.button.videoState)\n .withAttribute('type', 'button')\n .withAttribute('aria-label', 'Play')\n .withHTML(iconPlay)\n .build();\n\n const setPlay = () => {\n button.element.setAttribute('aria-label', 'Pause');\n button.element.innerHTML = iconPause;\n video.muted = true;\n video.play().catch((error) => {\n if (error.name === 'NotAllowedError') {\n setPause();\n }\n console.warn('Video play failed:', error);\n });\n };\n\n const setPause = () => {\n button.element.setAttribute('aria-label', 'Play');\n button.element.innerHTML = iconPlay;\n video.pause();\n };\n\n button.element.addEventListener('click', () => {\n if (video.paused) {\n if (callback) callback(false);\n setPlay();\n } else {\n if (callback) callback(true);\n setPause();\n }\n });\n\n if (\n video.getAttribute('autoplay') === '' ||\n video.getAttribute('autoplay') === 'true'\n ) {\n setPlay();\n }\n\n return new ElementBuilder()\n .withClassName('umd-element-video')\n .withStyles({\n element: {\n position: 'relative',\n ...additionalElementStyles,\n ...(isScaled && {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }),\n\n ...(isScaled && {\n [`& video`]: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n display: 'block',\n },\n }),\n },\n })\n .withChildren(video, button)\n .withEvents({ setPlay, setPause })\n .build();\n })();\n"],"names":["iconPlay","iconPause"],"mappings":";;;AAcA,MAAA,SAAe,CAAC,WACb,MAAM;AACL,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,EAAA,IACE;AAEJ,QAAM,SAAS,IAAI,eAAe,QAAQ,EACvC,OAAO,OAAO,QAAQ,OAAO,OAAO,UAAU,EAC9C,cAAc,QAAQ,QAAQ,EAC9B,cAAc,cAAc,MAAM,EAClC,SAASA,IAAQ,EACjB,MAAA;AAEH,QAAM,UAAU,MAAM;AACpB,WAAO,QAAQ,aAAa,cAAc,OAAO;AACjD,WAAO,QAAQ,YAAYC;AAC3B,UAAM,QAAQ;AACd,UAAM,KAAA,EAAO,MAAM,CAAC,UAAU;AAC5B,UAAI,MAAM,SAAS,mBAAmB;AACpC,iBAAA;AAAA,MACF;AACA,cAAQ,KAAK,sBAAsB,KAAK;AAAA,IAC1C,CAAC;AAAA,EACH;AAEA,QAAM,WAAW,MAAM;AACrB,WAAO,QAAQ,aAAa,cAAc,MAAM;AAChD,WAAO,QAAQ,YAAYD;AAC3B,UAAM,MAAA;AAAA,EACR;AAEA,SAAO,QAAQ,iBAAiB,SAAS,MAAM;AAC7C,QAAI,MAAM,QAAQ;AAChB,UAAI,mBAAmB,KAAK;AAC5B,cAAA;AAAA,IACF,OAAO;AACL,UAAI,mBAAmB,IAAI;AAC3B,eAAA;AAAA,IACF;AAAA,EACF,CAAC;AAED,MACE,MAAM,aAAa,UAAU,MAAM,MACnC,MAAM,aAAa,UAAU,MAAM,QACnC;AACA,YAAA;AAAA,EACF;AAEA,SAAO,IAAI,eAAA,EACR,cAAc,mBAAmB,EACjC,WAAW;AAAA,IACV,SAAS;AAAA,MACP,UAAU;AAAA,MACV,GAAG;AAAA,MACH,GAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,MAAA;AAAA,MAGb,GAAI,YAAY;AAAA,QACd,CAAC,SAAS,GAAG;AAAA,UACX,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,SAAS;AAAA,QAAA;AAAA,MACX;AAAA,IACF;AAAA,EACF,CACD,EACA,aAAa,OAAO,MAAM,EAC1B,WAAW,EAAE,SAAS,UAAU,EAChC,MAAA;AACL,GAAA;"}
@@ -2,11 +2,7 @@ declare const _default: {
2
2
  create: ({ callback, index, }: {
3
3
  callback: (arg: number) => void;
4
4
  index: number;
5
- }) => {
6
- element: HTMLElement;
7
- className: string;
8
- styles: string;
9
- };
5
+ }) => import('@universityofmaryland/web-builder-library').ElementModel<HTMLElement>;
10
6
  };
11
7
  export default _default;
12
8
  //# sourceMappingURL=fullscreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fullscreen.d.ts","sourceRoot":"","sources":["../../../source/atomic/buttons/fullscreen.ts"],"names":[],"mappings":";mCAMG;QACD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;KACf;;;;;;AAeD,wBAEE"}
1
+ {"version":3,"file":"fullscreen.d.ts","sourceRoot":"","sources":["../../../source/atomic/buttons/fullscreen.ts"],"names":[],"mappings":";mCAOG;QACD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;KACf;;AAWD,wBAEE"}