@universityofmaryland/web-elements-library 1.6.17 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +1 -1
  2. package/dist/atomic/animations/brand/card-stack.js +2 -3
  3. package/dist/atomic/animations/brand/card-stack.js.map +1 -1
  4. package/dist/atomic/animations/brand/chevron-flow.d.ts +1 -7
  5. package/dist/atomic/animations/brand/chevron-flow.d.ts.map +1 -1
  6. package/dist/atomic/animations/brand/chevron-flow.js +82 -159
  7. package/dist/atomic/animations/brand/chevron-flow.js.map +1 -1
  8. package/dist/atomic/animations/brand/chevron-scroll.d.ts +1 -4
  9. package/dist/atomic/animations/brand/chevron-scroll.d.ts.map +1 -1
  10. package/dist/atomic/animations/brand/chevron-scroll.js +89 -143
  11. package/dist/atomic/animations/brand/chevron-scroll.js.map +1 -1
  12. package/dist/atomic/assets/image/caption.d.ts +9 -0
  13. package/dist/atomic/assets/image/caption.d.ts.map +1 -0
  14. package/dist/atomic/assets/image/caption.js +166 -0
  15. package/dist/atomic/assets/image/caption.js.map +1 -0
  16. package/dist/atomic/assets/image/gif.d.ts.map +1 -1
  17. package/dist/atomic/assets/image/gif.js +6 -1
  18. package/dist/atomic/assets/image/gif.js.map +1 -1
  19. package/dist/atomic/assets/image/index.d.ts +1 -0
  20. package/dist/atomic/assets/image/index.d.ts.map +1 -1
  21. package/dist/atomic/assets/image/index.js +2 -0
  22. package/dist/atomic/assets/image/index.js.map +1 -1
  23. package/dist/atomic/assets/video/toggle.d.ts.map +1 -1
  24. package/dist/atomic/assets/video/toggle.js +9 -2
  25. package/dist/atomic/assets/video/toggle.js.map +1 -1
  26. package/dist/atomic/buttons/fullscreen.d.ts +1 -0
  27. package/dist/atomic/buttons/fullscreen.d.ts.map +1 -1
  28. package/dist/atomic/buttons/fullscreen.js +35 -3
  29. package/dist/atomic/buttons/fullscreen.js.map +1 -1
  30. package/dist/atomic/layout/overlay/modal.d.ts +1 -10
  31. package/dist/atomic/layout/overlay/modal.d.ts.map +1 -1
  32. package/dist/atomic/layout/overlay/modal.js +28 -44
  33. package/dist/atomic/layout/overlay/modal.js.map +1 -1
  34. package/dist/atomic/layout/person/columns.js +2 -3
  35. package/dist/atomic/layout/person/columns.js.map +1 -1
  36. package/dist/atomic/text-lockup/date.d.ts +1 -4
  37. package/dist/atomic/text-lockup/date.d.ts.map +1 -1
  38. package/dist/atomic/text-lockup/date.js +42 -75
  39. package/dist/atomic/text-lockup/date.js.map +1 -1
  40. package/dist/composite/accordion/item.d.ts +3 -16
  41. package/dist/composite/accordion/item.d.ts.map +1 -1
  42. package/dist/composite/accordion/item.js +152 -245
  43. package/dist/composite/accordion/item.js.map +1 -1
  44. package/dist/composite/card/block.js +2 -3
  45. package/dist/composite/card/block.js.map +1 -1
  46. package/dist/composite/card/event-time.js +2 -3
  47. package/dist/composite/card/event-time.js.map +1 -1
  48. package/dist/composite/card/list.js +2 -3
  49. package/dist/composite/card/list.js.map +1 -1
  50. package/dist/composite/card/overlay/color.js +3 -3
  51. package/dist/composite/card/overlay/icon.js +3 -3
  52. package/dist/composite/card/overlay/image.d.ts.map +1 -1
  53. package/dist/composite/card/overlay/image.js +9 -12
  54. package/dist/composite/card/overlay/image.js.map +1 -1
  55. package/dist/composite/card/video/block.js +4 -3
  56. package/dist/composite/card/video/block.js.map +1 -1
  57. package/dist/composite/carousel/cards/index.d.ts +1 -8
  58. package/dist/composite/carousel/cards/index.d.ts.map +1 -1
  59. package/dist/composite/carousel/cards/index.js +163 -282
  60. package/dist/composite/carousel/cards/index.js.map +1 -1
  61. package/dist/composite/carousel/default/index.d.ts +9 -15
  62. package/dist/composite/carousel/default/index.d.ts.map +1 -1
  63. package/dist/composite/carousel/default/index.js +78 -129
  64. package/dist/composite/carousel/default/index.js.map +1 -1
  65. package/dist/composite/carousel/elements/equal-width-items.d.ts +37 -0
  66. package/dist/composite/carousel/elements/equal-width-items.d.ts.map +1 -0
  67. package/dist/composite/carousel/elements/{blocks.js → equal-width-items.js} +157 -227
  68. package/dist/composite/carousel/elements/equal-width-items.js.map +1 -0
  69. package/dist/composite/carousel/elements/full-screen.d.ts +3 -2
  70. package/dist/composite/carousel/elements/full-screen.d.ts.map +1 -1
  71. package/dist/composite/carousel/elements/full-screen.js +34 -41
  72. package/dist/composite/carousel/elements/full-screen.js.map +1 -1
  73. package/dist/composite/carousel/elements/image.d.ts +15 -2
  74. package/dist/composite/carousel/elements/image.d.ts.map +1 -1
  75. package/dist/composite/carousel/elements/image.js +176 -151
  76. package/dist/composite/carousel/elements/image.js.map +1 -1
  77. package/dist/composite/carousel/elements/index.d.ts +4 -1
  78. package/dist/composite/carousel/elements/index.d.ts.map +1 -1
  79. package/dist/composite/carousel/elements/indicator-wrapper.d.ts +13 -0
  80. package/dist/composite/carousel/elements/indicator-wrapper.d.ts.map +1 -0
  81. package/dist/composite/carousel/elements/indicator-wrapper.js +67 -0
  82. package/dist/composite/carousel/elements/indicator-wrapper.js.map +1 -0
  83. package/dist/composite/carousel/elements/nav-button.d.ts +82 -0
  84. package/dist/composite/carousel/elements/nav-button.d.ts.map +1 -0
  85. package/dist/composite/carousel/elements/nav-button.js +164 -0
  86. package/dist/composite/carousel/elements/nav-button.js.map +1 -0
  87. package/dist/composite/carousel/elements/overlay.d.ts +3 -2
  88. package/dist/composite/carousel/elements/overlay.d.ts.map +1 -1
  89. package/dist/composite/carousel/elements/overlay.js +85 -55
  90. package/dist/composite/carousel/elements/overlay.js.map +1 -1
  91. package/dist/composite/carousel/image/multiple.d.ts +2 -7
  92. package/dist/composite/carousel/image/multiple.d.ts.map +1 -1
  93. package/dist/composite/carousel/image/multiple.js +85 -150
  94. package/dist/composite/carousel/image/multiple.js.map +1 -1
  95. package/dist/composite/carousel/image/standard.d.ts +2 -7
  96. package/dist/composite/carousel/image/standard.d.ts.map +1 -1
  97. package/dist/composite/carousel/image/standard.js +148 -262
  98. package/dist/composite/carousel/image/standard.js.map +1 -1
  99. package/dist/composite/carousel/thumbnail/index.d.ts +1 -8
  100. package/dist/composite/carousel/thumbnail/index.d.ts.map +1 -1
  101. package/dist/composite/carousel/thumbnail/index.js +72 -113
  102. package/dist/composite/carousel/thumbnail/index.js.map +1 -1
  103. package/dist/composite/carousel/wide/container.d.ts +21 -20
  104. package/dist/composite/carousel/wide/container.d.ts.map +1 -1
  105. package/dist/composite/carousel/wide/container.js +37 -12
  106. package/dist/composite/carousel/wide/container.js.map +1 -1
  107. package/dist/composite/carousel/wide/controls.d.ts +5 -10
  108. package/dist/composite/carousel/wide/controls.d.ts.map +1 -1
  109. package/dist/composite/carousel/wide/controls.js +24 -94
  110. package/dist/composite/carousel/wide/controls.js.map +1 -1
  111. package/dist/composite/carousel/wide/frames.d.ts +18 -10
  112. package/dist/composite/carousel/wide/frames.d.ts.map +1 -1
  113. package/dist/composite/carousel/wide/frames.js +60 -78
  114. package/dist/composite/carousel/wide/frames.js.map +1 -1
  115. package/dist/composite/carousel/wide/index.d.ts.map +1 -1
  116. package/dist/composite/carousel/wide/index.js +11 -19
  117. package/dist/composite/carousel/wide/index.js.map +1 -1
  118. package/dist/composite/hero/custom/expand.js +3 -4
  119. package/dist/composite/hero/custom/expand.js.map +1 -1
  120. package/dist/composite/hero/custom/grid.js +2 -3
  121. package/dist/composite/hero/custom/grid.js.map +1 -1
  122. package/dist/composite/hero/custom/video-arrow.js +4 -3
  123. package/dist/composite/hero/custom/video-arrow.js.map +1 -1
  124. package/dist/composite/hero/logo.js +3 -3
  125. package/dist/composite/hero/minimal.js +3 -3
  126. package/dist/composite/hero/overlay.js +5 -4
  127. package/dist/composite/hero/overlay.js.map +1 -1
  128. package/dist/composite/hero/stacked.js +3 -3
  129. package/dist/composite/hero/standard.js +4 -3
  130. package/dist/composite/hero/standard.js.map +1 -1
  131. package/dist/composite/layout/box/logo.d.ts +1 -4
  132. package/dist/composite/layout/box/logo.d.ts.map +1 -1
  133. package/dist/composite/layout/box/logo.js +55 -103
  134. package/dist/composite/layout/box/logo.js.map +1 -1
  135. package/dist/composite/layout/image/expand.d.ts +1 -4
  136. package/dist/composite/layout/image/expand.d.ts.map +1 -1
  137. package/dist/composite/layout/image/expand.js +136 -243
  138. package/dist/composite/layout/image/expand.js.map +1 -1
  139. package/dist/composite/layout/scroll-top/index.d.ts +1 -7
  140. package/dist/composite/layout/scroll-top/index.d.ts.map +1 -1
  141. package/dist/composite/layout/scroll-top/index.js +65 -77
  142. package/dist/composite/layout/scroll-top/index.js.map +1 -1
  143. package/dist/composite/layout/sticky-columns/index.d.ts +2 -2
  144. package/dist/composite/layout/sticky-columns/index.d.ts.map +1 -1
  145. package/dist/composite/layout/sticky-columns/index.js +42 -70
  146. package/dist/composite/layout/sticky-columns/index.js.map +1 -1
  147. package/dist/composite/media/elements/gif.js +3 -3
  148. package/dist/composite/media/inline/caption.d.ts +4 -2
  149. package/dist/composite/media/inline/caption.d.ts.map +1 -1
  150. package/dist/composite/media/inline/caption.js +56 -67
  151. package/dist/composite/media/inline/caption.js.map +1 -1
  152. package/dist/composite/media/inline/index.d.ts +9 -8
  153. package/dist/composite/media/inline/index.d.ts.map +1 -1
  154. package/dist/composite/media/inline/standard.d.ts +1 -4
  155. package/dist/composite/media/inline/standard.d.ts.map +1 -1
  156. package/dist/composite/media/inline/standard.js +16 -24
  157. package/dist/composite/media/inline/standard.js.map +1 -1
  158. package/dist/composite/media/inline/wrapped.d.ts +4 -2
  159. package/dist/composite/media/inline/wrapped.d.ts.map +1 -1
  160. package/dist/composite/media/inline/wrapped.js +80 -83
  161. package/dist/composite/media/inline/wrapped.js.map +1 -1
  162. package/dist/composite/navigation/utility/alert.js +3 -4
  163. package/dist/composite/navigation/utility/alert.js.map +1 -1
  164. package/dist/composite/pathway/_common.js +4 -3
  165. package/dist/composite/pathway/_common.js.map +1 -1
  166. package/dist/composite/pathway/hero.js +3 -3
  167. package/dist/composite/person/bio/full.js +3 -3
  168. package/dist/composite/person/bio/small.js +2 -3
  169. package/dist/composite/person/bio/small.js.map +1 -1
  170. package/dist/composite/person/block.js +2 -3
  171. package/dist/composite/person/block.js.map +1 -1
  172. package/dist/composite/person/hero.js +3 -3
  173. package/dist/composite/person/list.js +2 -3
  174. package/dist/composite/person/list.js.map +1 -1
  175. package/dist/composite/person/tabular.js +2 -3
  176. package/dist/composite/person/tabular.js.map +1 -1
  177. package/dist/composite/slider/events.d.ts +6 -12
  178. package/dist/composite/slider/events.d.ts.map +1 -1
  179. package/dist/composite/slider/events.js +304 -428
  180. package/dist/composite/slider/events.js.map +1 -1
  181. package/dist/layout/image.d.ts +5 -10
  182. package/dist/layout/image.d.ts.map +1 -1
  183. package/dist/layout/image.js +27 -88
  184. package/dist/layout/image.js.map +1 -1
  185. package/dist/layout/index.d.ts +1 -1
  186. package/dist/layout/index.d.ts.map +1 -1
  187. package/dist/layout.js +2 -2
  188. package/package.json +6 -6
  189. package/dist/composite/carousel/elements/blocks.d.ts +0 -42
  190. package/dist/composite/carousel/elements/blocks.d.ts.map +0 -1
  191. package/dist/composite/carousel/elements/blocks.js.map +0 -1
  192. package/dist/composite/carousel/wide/_elementModel.d.ts +0 -18
  193. package/dist/composite/carousel/wide/_elementModel.d.ts.map +0 -1
  194. package/dist/composite/carousel/wide/_elementModel.js +0 -29
  195. package/dist/composite/carousel/wide/_elementModel.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import * as Styles from "@universityofmaryland/web-styles-library";
2
2
  import { ElementBuilder } from "@universityofmaryland/web-builder-library";
3
+ import { isPreferredReducedMotion } from "@universityofmaryland/web-utilities-library/accessibility";
3
4
  import { play, pause } from "@universityofmaryland/web-icons-library/controls";
4
5
  const createVideoToggle = (props) => (() => {
5
6
  const {
@@ -34,8 +35,14 @@ const createVideoToggle = (props) => (() => {
34
35
  setPause();
35
36
  }
36
37
  });
37
- if (video.getAttribute("autoplay") === "" || video.getAttribute("autoplay") === "true") {
38
- setPlay();
38
+ const isAutoplay = video.getAttribute("autoplay") === "" || video.getAttribute("autoplay") === "true";
39
+ if (isAutoplay) {
40
+ if (isPreferredReducedMotion()) {
41
+ video.removeAttribute("autoplay");
42
+ setPause();
43
+ } else {
44
+ setPlay();
45
+ }
39
46
  }
40
47
  return new ElementBuilder().withClassName("umd-element-video").withStyles({
41
48
  element: {
@@ -1 +1 @@
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 const createVideoToggle = (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":";;;AAcO,MAAM,oBAAoB,CAAC,WAC/B,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;"}
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 { isPreferredReducedMotion } from '@universityofmaryland/web-utilities-library/accessibility';\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 const createVideoToggle = (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 const isAutoplay =\n video.getAttribute('autoplay') === '' ||\n video.getAttribute('autoplay') === 'true';\n\n if (isAutoplay) {\n if (isPreferredReducedMotion()) {\n // The native `autoplay` attribute makes the browser start playback on\n // its own, regardless of our JS. Remove it and pause so the video\n // stays on its first frame, leaving the play button for manual start.\n video.removeAttribute('autoplay');\n setPause();\n } else {\n setPlay();\n }\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":";;;;AAeO,MAAM,oBAAoB,CAAC,WAC/B,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,QAAM,aACJ,MAAM,aAAa,UAAU,MAAM,MACnC,MAAM,aAAa,UAAU,MAAM;AAErC,MAAI,YAAY;AACd,QAAI,4BAA4B;AAI9B,YAAM,gBAAgB,UAAU;AAChC,eAAA;AAAA,IACF,OAAO;AACL,cAAA;AAAA,IACF;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;"}
@@ -3,5 +3,6 @@ export declare const fullscreen: {
3
3
  callback: (arg: number) => void;
4
4
  index: number;
5
5
  }) => import('../../../builder/dist/index.d.ts').ElementModel<HTMLElement>;
6
+ className: string;
6
7
  };
7
8
  //# sourceMappingURL=fullscreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fullscreen.d.ts","sourceRoot":"","sources":["../../../source/atomic/buttons/fullscreen.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,UAAU;mCAdpB;QACD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;KACf;CAaA,CAAC"}
1
+ {"version":3,"file":"fullscreen.d.ts","sourceRoot":"","sources":["../../../source/atomic/buttons/fullscreen.ts"],"names":[],"mappings":"AA0DA,eAAO,MAAM,UAAU;mCAhDpB;QACD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;KACf;;CAgDA,CAAC"}
@@ -1,14 +1,46 @@
1
+ import * as token from "@universityofmaryland/web-token-library";
2
+ import * as typography from "@universityofmaryland/web-styles-library/typography";
1
3
  import { ElementBuilder } from "@universityofmaryland/web-builder-library";
2
- import * as Styles from "@universityofmaryland/web-styles-library";
3
4
  import { fullscreen as fullscreen$1 } from "@universityofmaryland/web-icons-library/controls";
5
+ const CLASS_NAME = "umd-action-button-full-screen";
4
6
  const create = ({
5
7
  callback,
6
8
  index
7
9
  }) => (() => {
8
- return new ElementBuilder("button").withAttribute("data-index", index.toString()).withAttribute("aria-label", "View Full Screen").withHTML(`Full Screen <span></span>${fullscreen$1}`).on("click", () => callback(index)).styled(Styles.element.action.button.fullScreen).build();
10
+ return new ElementBuilder("button").withClassName(CLASS_NAME).withAttribute("data-index", index.toString()).withAttribute("aria-label", "View Full Screen").withHTML(`Full Screen <span></span>${fullscreen$1}`).on("click", () => callback(index)).styled(typography.sans.min).withStyles({
11
+ element: {
12
+ position: "absolute",
13
+ top: "0",
14
+ right: "0",
15
+ color: token.color.white,
16
+ textTransform: "uppercase",
17
+ fontWeight: "700",
18
+ padding: token.spacing.min,
19
+ display: "flex",
20
+ alignItems: "center",
21
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
22
+ transition: "background-color 0.3s",
23
+ "&:focus": {
24
+ backgroundColor: "rgba(0, 0, 0, 1)"
25
+ },
26
+ "@media (hover: hover)": {
27
+ "&:hover": {
28
+ backgroundColor: "rgba(0, 0, 0, 1)"
29
+ }
30
+ },
31
+ "& > span": {
32
+ display: "block",
33
+ height: "12px",
34
+ width: "1px",
35
+ margin: `0 ${token.spacing.min}`,
36
+ backgroundColor: token.color.gray.mediumAA
37
+ }
38
+ }
39
+ }).build();
9
40
  })();
10
41
  const fullscreen = {
11
- create
42
+ create,
43
+ className: CLASS_NAME
12
44
  };
13
45
  export {
14
46
  fullscreen
@@ -1 +1 @@
1
- {"version":3,"file":"fullscreen.js","sources":["../../../source/atomic/buttons/fullscreen.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { fullscreen as iconFullscreen } from '@universityofmaryland/web-icons-library/controls';\n\nconst create = ({\n callback,\n index,\n}: {\n callback: (arg: number) => void;\n index: number;\n}) =>\n (() => {\n return new ElementBuilder('button')\n .withAttribute('data-index', index.toString())\n .withAttribute('aria-label', 'View Full Screen')\n .withHTML(`Full Screen <span></span>${iconFullscreen}`)\n .on('click', () => callback(index))\n .styled(Styles.element.action.button.fullScreen)\n .build();\n })();\n\nexport const fullscreen = {\n create,\n};\n"],"names":["iconFullscreen"],"mappings":";;;AAIA,MAAM,SAAS,CAAC;AAAA,EACd;AAAA,EACA;AACF,OAIG,MAAM;AACL,SAAO,IAAI,eAAe,QAAQ,EAC/B,cAAc,cAAc,MAAM,SAAA,CAAU,EAC5C,cAAc,cAAc,kBAAkB,EAC9C,SAAS,4BAA4BA,YAAc,EAAE,EACrD,GAAG,SAAS,MAAM,SAAS,KAAK,CAAC,EACjC,OAAO,OAAO,QAAQ,OAAO,OAAO,UAAU,EAC9C,MAAA;AACL,GAAA;AAEK,MAAM,aAAa;AAAA,EACxB;AACF;"}
1
+ {"version":3,"file":"fullscreen.js","sources":["../../../source/atomic/buttons/fullscreen.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { fullscreen as iconFullscreen } from '@universityofmaryland/web-icons-library/controls';\n\nconst CLASS_NAME = 'umd-action-button-full-screen';\n\nconst create = ({\n callback,\n index,\n}: {\n callback: (arg: number) => void;\n index: number;\n}) =>\n (() => {\n return new ElementBuilder('button')\n .withClassName(CLASS_NAME)\n .withAttribute('data-index', index.toString())\n .withAttribute('aria-label', 'View Full Screen')\n .withHTML(`Full Screen <span></span>${iconFullscreen}`)\n .on('click', () => callback(index))\n .styled(typography.sans.min)\n .withStyles({\n element: {\n position: 'absolute',\n top: '0',\n right: '0',\n color: token.color.white,\n textTransform: 'uppercase',\n fontWeight: '700',\n padding: token.spacing.min,\n display: 'flex',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n transition: 'background-color 0.3s',\n\n '&:focus': {\n backgroundColor: 'rgba(0, 0, 0, 1)',\n },\n\n '@media (hover: hover)': {\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 1)',\n },\n },\n\n '& > span': {\n display: 'block',\n height: '12px',\n width: '1px',\n margin: `0 ${token.spacing.min}`,\n backgroundColor: token.color.gray.mediumAA,\n },\n },\n })\n .build();\n })();\n\nexport const fullscreen = {\n create,\n className: CLASS_NAME,\n};\n"],"names":["iconFullscreen"],"mappings":";;;;AAKA,MAAM,aAAa;AAEnB,MAAM,SAAS,CAAC;AAAA,EACd;AAAA,EACA;AACF,OAIG,MAAM;AACL,SAAO,IAAI,eAAe,QAAQ,EAC/B,cAAc,UAAU,EACxB,cAAc,cAAc,MAAM,SAAA,CAAU,EAC5C,cAAc,cAAc,kBAAkB,EAC9C,SAAS,4BAA4BA,YAAc,EAAE,EACrD,GAAG,SAAS,MAAM,SAAS,KAAK,CAAC,EACjC,OAAO,WAAW,KAAK,GAAG,EAC1B,WAAW;AAAA,IACV,SAAS;AAAA,MACP,UAAU;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,MACP,OAAO,MAAM,MAAM;AAAA,MACnB,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,SAAS,MAAM,QAAQ;AAAA,MACvB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,YAAY;AAAA,MAEZ,WAAW;AAAA,QACT,iBAAiB;AAAA,MAAA;AAAA,MAGnB,yBAAyB;AAAA,QACvB,WAAW;AAAA,UACT,iBAAiB;AAAA,QAAA;AAAA,MACnB;AAAA,MAGF,YAAY;AAAA,QACV,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ,KAAK,MAAM,QAAQ,GAAG;AAAA,QAC9B,iBAAiB,MAAM,MAAM,KAAK;AAAA,MAAA;AAAA,IACpC;AAAA,EACF,CACD,EACA,MAAA;AACL,GAAA;AAEK,MAAM,aAAa;AAAA,EACxB;AAAA,EACA,WAAW;AACb;"}
@@ -1,17 +1,8 @@
1
1
  type TypeFixedFullScreenProps = {
2
2
  content: HTMLElement | null;
3
3
  isHidden?: boolean;
4
- callback?: () => void;
5
4
  context?: HTMLElement | null;
6
5
  };
7
- export declare const STYLES_MODAL: string;
8
- export declare const createModal: ({ content, callback, isHidden, context, }: TypeFixedFullScreenProps) => {
9
- element: HTMLDivElement;
10
- styles: string;
11
- events: {
12
- show: () => void;
13
- hide: () => void;
14
- };
15
- };
6
+ export declare const createModal: ({ content, isHidden, context, }: TypeFixedFullScreenProps) => import('../../../../builder/dist/index.d.ts').ElementModel<HTMLElement>;
16
7
  export {};
17
8
  //# sourceMappingURL=modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../../source/atomic/layout/overlay/modal.ts"],"names":[],"mappings":"AAGA,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC9B,CAAC;AAKF,eAAO,MAAM,YAAY,QAuBxB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,2CAKzB,wBAAwB;;;;;;;CAgE1B,CAAC"}
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../../source/atomic/layout/overlay/modal.ts"],"names":[],"mappings":"AAIA,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,iCAIzB,wBAAwB,kFAuF1B,CAAC"}
@@ -1,43 +1,38 @@
1
1
  import * as token from "@universityofmaryland/web-token-library";
2
+ import { ElementBuilder } from "@universityofmaryland/web-builder-library";
2
3
  import { trapFocus } from "@universityofmaryland/web-utilities-library/accessibility";
3
- const ELEMENT_CONTAINER = "modal-screen-container";
4
- const ELEMENT_CONTAINER_BACKGROUND = "modal-screen-container-background";
5
- const STYLES_MODAL = `
6
- .${ELEMENT_CONTAINER} {
7
- display: none;
8
- position: fixed;
9
- top: 0;
10
- left: 0;
11
- width: 100%;
12
- height: 100%;
13
- z-index: 999999;
14
- }
15
-
16
- .${ELEMENT_CONTAINER_BACKGROUND} {
17
- background-color: rgba(0, 0, 0, 0.9);
18
- padding: ${token.spacing.xl} ${token.spacing.md};
19
- width: 100%;
20
- height: 100%;
21
- }
22
-
23
- @media (${token.media.queries.tablet.min}) {
24
- .${ELEMENT_CONTAINER_BACKGROUND} {
25
- padding: 10vh 10vw;
26
- }
27
- }
28
- `;
29
4
  const createModal = ({
30
5
  content,
31
- callback,
32
6
  isHidden,
33
7
  context
34
8
  }) => {
35
9
  const body = document.body;
36
10
  const html = document.documentElement;
37
- const container = document.createElement("div");
38
- const background = document.createElement("div");
39
11
  let eventReference = null;
40
12
  let accessibiltyEventReference = null;
13
+ const backgroundBuilder = new ElementBuilder().withClassName("modal-screen-container-background").withStyles({
14
+ element: {
15
+ backgroundColor: "rgba(0, 0, 0, 0.9)",
16
+ padding: `${token.spacing.xl} ${token.spacing.md}`,
17
+ width: "100%",
18
+ height: "100%",
19
+ [`@media (${token.media.queries.tablet.min})`]: {
20
+ padding: "10vh 10vw"
21
+ }
22
+ }
23
+ }).withChildIf(!!content, content);
24
+ const containerBuilder = new ElementBuilder().withClassName("modal-screen-container").withStyles({
25
+ element: {
26
+ display: "none",
27
+ position: "fixed",
28
+ top: 0,
29
+ left: 0,
30
+ width: "100%",
31
+ height: "100%",
32
+ zIndex: 999999
33
+ }
34
+ }).withChild(backgroundBuilder);
35
+ const container = containerBuilder.getElement();
41
36
  const show = () => {
42
37
  container.style.display = "block";
43
38
  body.style.overflow = "hidden";
@@ -53,6 +48,7 @@ const createModal = ({
53
48
  action: hide,
54
49
  shadowDomContext: context || null
55
50
  });
51
+ if (context) context.dispatchEvent(new CustomEvent("modal:show", { bubbles: true, composed: true }));
56
52
  setTimeout(() => {
57
53
  if (content) content.focus();
58
54
  }, 100);
@@ -64,8 +60,8 @@ const createModal = ({
64
60
  html.style.height = "inherit";
65
61
  container.style.display = "none";
66
62
  if (accessibiltyEventReference) accessibiltyEventReference();
67
- if (eventReference)
68
- eventReference.removeEventListener("click", () => hide());
63
+ if (eventReference) eventReference.removeEventListener("click", () => hide());
64
+ if (context) context.dispatchEvent(new CustomEvent("modal:hide", { bubbles: true, composed: true }));
69
65
  setTimeout(() => {
70
66
  if (context) {
71
67
  const firstItem = context.querySelector("button, a");
@@ -73,22 +69,10 @@ const createModal = ({
73
69
  }
74
70
  }, 100);
75
71
  };
76
- background.classList.add(ELEMENT_CONTAINER_BACKGROUND);
77
- if (content) background.appendChild(content);
78
- container.classList.add(ELEMENT_CONTAINER);
79
- container.appendChild(background);
80
72
  if (isHidden) container.style.display = "none";
81
- return {
82
- element: container,
83
- styles: STYLES_MODAL,
84
- events: {
85
- show,
86
- hide
87
- }
88
- };
73
+ return containerBuilder.withEvents({ show, hide }).build();
89
74
  };
90
75
  export {
91
- STYLES_MODAL,
92
76
  createModal
93
77
  };
94
78
  //# sourceMappingURL=modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sources":["../../../../source/atomic/layout/overlay/modal.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { trapFocus } from '@universityofmaryland/web-utilities-library/accessibility';\n\ntype TypeFixedFullScreenProps = {\n content: HTMLElement | null;\n isHidden?: boolean;\n callback?: () => void;\n context?: HTMLElement | null;\n};\n\nconst ELEMENT_CONTAINER = 'modal-screen-container';\nconst ELEMENT_CONTAINER_BACKGROUND = 'modal-screen-container-background';\n\nexport const STYLES_MODAL = `\n .${ELEMENT_CONTAINER} {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 999999;\n }\n\n .${ELEMENT_CONTAINER_BACKGROUND} {\n background-color: rgba(0, 0, 0, 0.9);\n padding: ${token.spacing.xl} ${token.spacing.md};\n width: 100%;\n height: 100%;\n }\n\n @media (${token.media.queries.tablet.min}) {\n .${ELEMENT_CONTAINER_BACKGROUND} {\n padding: 10vh 10vw;\n }\n }\n`;\n\nexport const createModal = ({\n content,\n callback,\n isHidden,\n context,\n}: TypeFixedFullScreenProps) => {\n const body = document.body;\n const html = document.documentElement;\n const container = document.createElement('div');\n const background = document.createElement('div');\n let eventReference: any = null;\n let accessibiltyEventReference: any = null;\n\n const show = () => {\n container.style.display = 'block';\n body.style.overflow = 'hidden';\n body.style.height = '100%';\n html.style.overflow = 'hidden';\n html.style.height = '100%';\n eventReference = container.addEventListener('click', (event) => {\n const target = event.target as HTMLElement;\n\n if (target === container) hide();\n });\n\n accessibiltyEventReference = trapFocus({\n element: container,\n action: hide,\n shadowDomContext: context || null,\n });\n\n setTimeout(() => {\n if (content) content.focus();\n }, 100);\n };\n const hide = () => {\n body.style.overflow = 'visible';\n body.style.height = 'inherit';\n html.style.overflow = 'visible';\n html.style.height = 'inherit';\n container.style.display = 'none';\n\n if (accessibiltyEventReference) accessibiltyEventReference();\n if (eventReference)\n eventReference.removeEventListener('click', () => hide());\n\n setTimeout(() => {\n if (context) {\n const firstItem = context.querySelector('button, a') as HTMLElement;\n firstItem?.focus();\n }\n }, 100);\n };\n\n background.classList.add(ELEMENT_CONTAINER_BACKGROUND);\n if (content) background.appendChild(content);\n\n container.classList.add(ELEMENT_CONTAINER);\n container.appendChild(background);\n if (isHidden) container.style.display = 'none';\n\n return {\n element: container,\n styles: STYLES_MODAL,\n events: {\n show,\n hide,\n },\n };\n};\n"],"names":[],"mappings":";;AAUA,MAAM,oBAAoB;AAC1B,MAAM,+BAA+B;AAE9B,MAAM,eAAe;AAAA,KACvB,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAUjB,4BAA4B;AAAA;AAAA,eAElB,MAAM,QAAQ,EAAE,IAAI,MAAM,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,YAKvC,MAAM,MAAM,QAAQ,OAAO,GAAG;AAAA,OACnC,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAM5B,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAgC;AAC9B,QAAM,OAAO,SAAS;AACtB,QAAM,OAAO,SAAS;AACtB,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,MAAI,iBAAsB;AAC1B,MAAI,6BAAkC;AAEtC,QAAM,OAAO,MAAM;AACjB,cAAU,MAAM,UAAU;AAC1B,SAAK,MAAM,WAAW;AACtB,SAAK,MAAM,SAAS;AACpB,SAAK,MAAM,WAAW;AACtB,SAAK,MAAM,SAAS;AACpB,qBAAiB,UAAU,iBAAiB,SAAS,CAAC,UAAU;AAC9D,YAAM,SAAS,MAAM;AAErB,UAAI,WAAW,UAAW,MAAA;AAAA,IAC5B,CAAC;AAED,iCAA6B,UAAU;AAAA,MACrC,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,kBAAkB,WAAW;AAAA,IAAA,CAC9B;AAED,eAAW,MAAM;AACf,UAAI,iBAAiB,MAAA;AAAA,IACvB,GAAG,GAAG;AAAA,EACR;AACA,QAAM,OAAO,MAAM;AACjB,SAAK,MAAM,WAAW;AACtB,SAAK,MAAM,SAAS;AACpB,SAAK,MAAM,WAAW;AACtB,SAAK,MAAM,SAAS;AACpB,cAAU,MAAM,UAAU;AAE1B,QAAI,2BAA4B,4BAAA;AAChC,QAAI;AACF,qBAAe,oBAAoB,SAAS,MAAM,KAAA,CAAM;AAE1D,eAAW,MAAM;AACf,UAAI,SAAS;AACX,cAAM,YAAY,QAAQ,cAAc,WAAW;AACnD,mBAAW,MAAA;AAAA,MACb;AAAA,IACF,GAAG,GAAG;AAAA,EACR;AAEA,aAAW,UAAU,IAAI,4BAA4B;AACrD,MAAI,QAAS,YAAW,YAAY,OAAO;AAE3C,YAAU,UAAU,IAAI,iBAAiB;AACzC,YAAU,YAAY,UAAU;AAChC,MAAI,SAAU,WAAU,MAAM,UAAU;AAExC,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"modal.js","sources":["../../../../source/atomic/layout/overlay/modal.ts"],"sourcesContent":["import * as token from '@universityofmaryland/web-token-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { trapFocus } from '@universityofmaryland/web-utilities-library/accessibility';\n\ntype TypeFixedFullScreenProps = {\n content: HTMLElement | null;\n isHidden?: boolean;\n context?: HTMLElement | null;\n};\n\nexport const createModal = ({\n content,\n isHidden,\n context,\n}: TypeFixedFullScreenProps) => {\n const body = document.body;\n const html = document.documentElement;\n let eventReference: any = null;\n let accessibiltyEventReference: any = null;\n\n const backgroundBuilder = new ElementBuilder()\n .withClassName('modal-screen-container-background')\n .withStyles({\n element: {\n backgroundColor: 'rgba(0, 0, 0, 0.9)',\n padding: `${token.spacing.xl} ${token.spacing.md}`,\n width: '100%',\n height: '100%',\n [`@media (${token.media.queries.tablet.min})`]: {\n padding: '10vh 10vw',\n },\n },\n })\n .withChildIf(!!content, content as HTMLElement);\n\n const containerBuilder = new ElementBuilder()\n .withClassName('modal-screen-container')\n .withStyles({\n element: {\n display: 'none',\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 999999,\n },\n })\n .withChild(backgroundBuilder);\n\n const container = containerBuilder.getElement();\n\n const show = () => {\n container.style.display = 'block';\n body.style.overflow = 'hidden';\n body.style.height = '100%';\n html.style.overflow = 'hidden';\n html.style.height = '100%';\n eventReference = container.addEventListener('click', (event) => {\n const target = event.target as HTMLElement;\n\n if (target === container) hide();\n });\n\n accessibiltyEventReference = trapFocus({\n element: container,\n action: hide,\n shadowDomContext: context || null,\n });\n\n\t\tif (context) context.dispatchEvent(new CustomEvent('modal:show', {bubbles: true, composed: true}))\n\n setTimeout(() => {\n if (content) content.focus();\n }, 100);\n };\n\n const hide = () => {\n body.style.overflow = 'visible';\n body.style.height = 'inherit';\n html.style.overflow = 'visible';\n html.style.height = 'inherit';\n container.style.display = 'none';\n\n if (accessibiltyEventReference) accessibiltyEventReference();\n\t\t\n if (eventReference) eventReference.removeEventListener('click', () => hide());\n\n\t\tif (context) context.dispatchEvent(new CustomEvent('modal:hide', {bubbles: true, composed: true}))\n \n\t\tsetTimeout(() => {\n if (context) {\n const firstItem = context.querySelector('button, a') as HTMLElement;\n firstItem?.focus();\n }\n }, 100);\n };\n\n if (isHidden) container.style.display = 'none';\n\n return containerBuilder.withEvents({ show, hide }).build();\n};\n"],"names":[],"mappings":";;;AAUO,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACF,MAAgC;AAC9B,QAAM,OAAO,SAAS;AACtB,QAAM,OAAO,SAAS;AACtB,MAAI,iBAAsB;AAC1B,MAAI,6BAAkC;AAEtC,QAAM,oBAAoB,IAAI,eAAA,EAC3B,cAAc,mCAAmC,EACjD,WAAW;AAAA,IACV,SAAS;AAAA,MACP,iBAAiB;AAAA,MACjB,SAAS,GAAG,MAAM,QAAQ,EAAE,IAAI,MAAM,QAAQ,EAAE;AAAA,MAChD,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,CAAC,WAAW,MAAM,MAAM,QAAQ,OAAO,GAAG,GAAG,GAAG;AAAA,QAC9C,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,EACF,CACD,EACA,YAAY,CAAC,CAAC,SAAS,OAAsB;AAEhD,QAAM,mBAAmB,IAAI,eAAA,EAC1B,cAAc,wBAAwB,EACtC,WAAW;AAAA,IACV,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IAAA;AAAA,EACV,CACD,EACA,UAAU,iBAAiB;AAE9B,QAAM,YAAY,iBAAiB,WAAA;AAEnC,QAAM,OAAO,MAAM;AACjB,cAAU,MAAM,UAAU;AAC1B,SAAK,MAAM,WAAW;AACtB,SAAK,MAAM,SAAS;AACpB,SAAK,MAAM,WAAW;AACtB,SAAK,MAAM,SAAS;AACpB,qBAAiB,UAAU,iBAAiB,SAAS,CAAC,UAAU;AAC9D,YAAM,SAAS,MAAM;AAErB,UAAI,WAAW,UAAW,MAAA;AAAA,IAC5B,CAAC;AAED,iCAA6B,UAAU;AAAA,MACrC,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,kBAAkB,WAAW;AAAA,IAAA,CAC9B;AAEH,QAAI,QAAS,SAAQ,cAAc,IAAI,YAAY,cAAc,EAAC,SAAS,MAAM,UAAU,KAAA,CAAK,CAAC;AAE/F,eAAW,MAAM;AACf,UAAI,iBAAiB,MAAA;AAAA,IACvB,GAAG,GAAG;AAAA,EACR;AAEA,QAAM,OAAO,MAAM;AACjB,SAAK,MAAM,WAAW;AACtB,SAAK,MAAM,SAAS;AACpB,SAAK,MAAM,WAAW;AACtB,SAAK,MAAM,SAAS;AACpB,cAAU,MAAM,UAAU;AAE1B,QAAI,2BAA4B,4BAAA;AAEhC,QAAI,eAAgB,gBAAe,oBAAoB,SAAS,MAAM,MAAM;AAE9E,QAAI,QAAS,SAAQ,cAAc,IAAI,YAAY,cAAc,EAAC,SAAS,MAAM,UAAU,KAAA,CAAK,CAAC;AAEjG,eAAW,MAAM;AACb,UAAI,SAAS;AACX,cAAM,YAAY,QAAQ,cAAc,WAAW;AACnD,mBAAW,MAAA;AAAA,MACb;AAAA,IACF,GAAG,GAAG;AAAA,EACR;AAEA,MAAI,SAAU,WAAU,MAAM,UAAU;AAExC,SAAO,iBAAiB,WAAW,EAAE,MAAM,KAAA,CAAM,EAAE,MAAA;AACrD;"}
@@ -13,7 +13,6 @@ import "@universityofmaryland/web-icons-library/files";
13
13
  import "@universityofmaryland/web-icons-library/brand";
14
14
  import "@universityofmaryland/web-icons-library/arrows";
15
15
  import "@universityofmaryland/web-utilities-library/performance";
16
- import "../../animations/brand/chevron-scroll.js";
17
16
  import "../../animations/brand/card-stack.js";
18
17
  import { createImageBackground } from "../../assets/image/background.js";
19
18
  import "@universityofmaryland/web-styles-library";
@@ -22,9 +21,9 @@ import "@universityofmaryland/web-icons-library/location";
22
21
  import "@universityofmaryland/web-icons-library/calendar";
23
22
  import "@universityofmaryland/web-utilities-library/theme";
24
23
  import "../block/stacked.js";
25
- import "../overlay/modal.js";
26
24
  import { createTextLockupContact } from "../../text-lockup/contact.js";
27
- import "../../text-lockup/date.js";
25
+ import "@universityofmaryland/web-utilities-library/string";
26
+ import "@universityofmaryland/web-utilities-library/animation";
28
27
  import { createTextLockupPerson } from "../../text-lockup/person.js";
29
28
  import "../../text-lockup/small.js";
30
29
  const smallBreakpoint = token.media.breakpointValues.small.max;
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sources":["../../../../source/atomic/layout/person/columns.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { assets, textLockup } from 'atomic';\nimport {\n type PersonContactPropsWithStyles,\n type PersonTextLockupPropsWithStyles,\n type PersonFullProps,\n} from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\nconst mediumBreakpointStart = token.media.breakpointValues.medium.min;\nconst mediumBreakpoint = token.media.breakpointValues.large.min;\n\nexport const image = ({\n customStyles,\n image,\n isThemeDark,\n}: {\n customStyles?: Record<string, any>;\n image: HTMLImageElement | HTMLAnchorElement;\n isThemeDark?: boolean;\n}) => {\n const backgroundImage = assets.image.background({\n element: image,\n isScaled: false,\n imageLoading: 'lazy',\n });\n\n return new ElementBuilder()\n .withClassName('person-column-image')\n .withStyles({\n element: {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginBottom: `${token.spacing.md}`,\n backgroundColor: `${token.color.gray.lighter}`,\n display: 'flex',\n justifyContent: 'center',\n\n ...(isThemeDark && {\n ...createMediaQuery('max-width', smallBreakpoint, {\n backgroundColor: `${token.color.gray.darker}`,\n }),\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'block',\n width: '96px',\n minWidth: '96px',\n paddingRight: `${token.spacing.md}`,\n alignSelf: 'flex-start',\n }),\n\n ...customStyles,\n\n '& img, & svg': {\n ...createMediaQuery('max-width', smallBreakpoint, {\n height: 'auto !important',\n width: '140px',\n minWidth: '140px',\n }),\n },\n },\n })\n .withChild(backgroundImage)\n .build();\n};\n\nconst personLockup = ({\n actions,\n slotTwo,\n isThemeDark,\n slotOne,\n name,\n nameComposite,\n slotThreeItalic,\n slotFour,\n}: PersonTextLockupPropsWithStyles) =>\n textLockup.person({\n actions,\n name,\n nameComposite,\n slotOne,\n slotTwo,\n slotThreeItalic,\n slotFour,\n isThemeDark,\n });\n\nexport const details = (props: PersonTextLockupPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = personLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-details')\n .withStyles({\n element: {\n flex: '1 0',\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nconst contactLockup = ({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n}: PersonContactPropsWithStyles) =>\n textLockup.contact({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n });\n\nexport const contact = (props: PersonContactPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = contactLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-contact')\n .withStyles({\n element: {\n marginTop: `${token.spacing.sm}`,\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n paddingLeft: `${token.spacing.md}`,\n }),\n\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: '30%',\n }),\n\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nexport const information = ({\n actions,\n additionalContact,\n address,\n slotTwo,\n customStyles = {},\n email,\n isThemeDark,\n slotOne,\n linkedin,\n name,\n phone,\n slotThreeItalic,\n slotFour,\n}: PersonFullProps) => {\n const person = personLockup({\n slotTwo,\n isThemeDark,\n slotOne,\n name,\n slotThreeItalic,\n slotFour,\n });\n\n const contact = contactLockup({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n });\n\n return new ElementBuilder()\n .withClassName('person-column-information')\n .withStyles({\n element: {\n ...customStyles,\n },\n })\n .withChildren(person, contact)\n .build();\n};\n"],"names":["image","assets.image.background","textLockup.person","textLockup.contact","contact"],"mappings":"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"}
1
+ {"version":3,"file":"columns.js","sources":["../../../../source/atomic/layout/person/columns.ts"],"sourcesContent":["import { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport * as token from '@universityofmaryland/web-token-library';\nimport { createMediaQuery } from '@universityofmaryland/web-utilities-library/styles';\nimport { assets, textLockup } from 'atomic';\nimport {\n type PersonContactPropsWithStyles,\n type PersonTextLockupPropsWithStyles,\n type PersonFullProps,\n} from '../../_types';\n\nconst smallBreakpoint = token.media.breakpointValues.small.max;\nconst mediumBreakpointStart = token.media.breakpointValues.medium.min;\nconst mediumBreakpoint = token.media.breakpointValues.large.min;\n\nexport const image = ({\n customStyles,\n image,\n isThemeDark,\n}: {\n customStyles?: Record<string, any>;\n image: HTMLImageElement | HTMLAnchorElement;\n isThemeDark?: boolean;\n}) => {\n const backgroundImage = assets.image.background({\n element: image,\n isScaled: false,\n imageLoading: 'lazy',\n });\n\n return new ElementBuilder()\n .withClassName('person-column-image')\n .withStyles({\n element: {\n ...createMediaQuery('max-width', smallBreakpoint, {\n marginBottom: `${token.spacing.md}`,\n backgroundColor: `${token.color.gray.lighter}`,\n display: 'flex',\n justifyContent: 'center',\n\n ...(isThemeDark && {\n ...createMediaQuery('max-width', smallBreakpoint, {\n backgroundColor: `${token.color.gray.darker}`,\n }),\n }),\n }),\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n display: 'block',\n width: '96px',\n minWidth: '96px',\n paddingRight: `${token.spacing.md}`,\n alignSelf: 'flex-start',\n }),\n\n ...customStyles,\n\n '& img, & svg': {\n ...createMediaQuery('max-width', smallBreakpoint, {\n height: 'auto !important',\n width: '140px',\n minWidth: '140px',\n }),\n },\n },\n })\n .withChild(backgroundImage)\n .build();\n};\n\nconst personLockup = ({\n actions,\n slotTwo,\n isThemeDark,\n slotOne,\n name,\n nameComposite,\n slotThreeItalic,\n slotFour,\n}: PersonTextLockupPropsWithStyles) =>\n textLockup.person({\n actions,\n name,\n nameComposite,\n slotOne,\n slotTwo,\n slotThreeItalic,\n slotFour,\n isThemeDark,\n });\n\nexport const details = (props: PersonTextLockupPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = personLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-details')\n .withStyles({\n element: {\n flex: '1 0',\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nconst contactLockup = ({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n}: PersonContactPropsWithStyles) =>\n textLockup.contact({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n });\n\nexport const contact = (props: PersonContactPropsWithStyles) => {\n const { customStyles = {} } = props;\n const lockup = contactLockup(props);\n\n return new ElementBuilder()\n .withClassName('person-column-contact')\n .withStyles({\n element: {\n marginTop: `${token.spacing.sm}`,\n\n ...createMediaQuery('min-width', mediumBreakpointStart, {\n paddingLeft: `${token.spacing.md}`,\n }),\n\n ...createMediaQuery('min-width', mediumBreakpoint, {\n width: '30%',\n }),\n\n ...customStyles,\n },\n })\n .withChild(lockup)\n .build();\n};\n\nexport const information = ({\n actions,\n additionalContact,\n address,\n slotTwo,\n customStyles = {},\n email,\n isThemeDark,\n slotOne,\n linkedin,\n name,\n phone,\n slotThreeItalic,\n slotFour,\n}: PersonFullProps) => {\n const person = personLockup({\n slotTwo,\n isThemeDark,\n slotOne,\n name,\n slotThreeItalic,\n slotFour,\n });\n\n const contact = contactLockup({\n actions,\n additionalContact,\n address,\n email,\n isThemeDark,\n linkedin,\n phone,\n });\n\n return new ElementBuilder()\n .withClassName('person-column-information')\n .withStyles({\n element: {\n ...customStyles,\n },\n })\n .withChildren(person, contact)\n .build();\n};\n"],"names":["image","assets.image.background","textLockup.person","textLockup.contact","contact"],"mappings":"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"}
@@ -6,9 +6,6 @@ type TypeEventLockupDate = {
6
6
  };
7
7
  isThemeDark?: boolean;
8
8
  };
9
- export declare const createTextLockupDate: (props: TypeEventLockupDate) => {
10
- element: HTMLDivElement;
11
- styles: string;
12
- };
9
+ export declare const createTextLockupDate: (props: TypeEventLockupDate) => import('../../../builder/dist/index.d.ts').ElementModel<HTMLElement>;
13
10
  export {};
14
11
  //# sourceMappingURL=date.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/date.ts"],"names":[],"mappings":"AAOA,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAqEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,mBAAmB;;;CA0B9D,CAAC"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../source/atomic/text-lockup/date.ts"],"names":[],"mappings":"AAOA,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,mBAAmB,kFA6D9D,CAAC"}
@@ -1,91 +1,58 @@
1
1
  import * as animation from "@universityofmaryland/web-styles-library/animation";
2
2
  import * as token from "@universityofmaryland/web-token-library";
3
3
  import * as typography from "@universityofmaryland/web-styles-library/typography";
4
- import { jssToCSS } from "@universityofmaryland/web-utilities-library/styles";
4
+ import { ElementBuilder } from "@universityofmaryland/web-builder-library";
5
5
  import { truncateText } from "@universityofmaryland/web-utilities-library/string";
6
6
  import { wrapLinkForAnimation } from "@universityofmaryland/web-utilities-library/animation";
7
- const ATTRIBUTE_THEME = "theme";
8
- const THEME_DARK = "dark";
9
- const IS_THEME_DARK = `[${ATTRIBUTE_THEME}="${THEME_DARK}"]`;
10
- const EVENT_DATE_CONTAINER = "event-lockup-container";
11
- const EVENT_HEADLINE = "event-lockup-headline";
12
- const HeadlineStyles = `
13
- .${EVENT_HEADLINE} {
14
- margin-left: ${token.spacing.sm};
15
- }
16
-
17
- ${jssToCSS({
18
- styleObj: {
19
- [`.${EVENT_HEADLINE}`]: typography.sans.large
20
- }
21
- })}
22
-
23
- ${jssToCSS({
24
- styleObj: {
25
- [`.${EVENT_HEADLINE} *`]: typography.sans.large
26
- }
27
- })}
28
-
29
- @media (max-width: 767px) {
30
- .${EVENT_HEADLINE},
31
- .${EVENT_HEADLINE} * {
32
- font-size: ${token.font.size.sm};
33
- font-weight: 600;
34
- }
35
- }
36
-
37
- ${jssToCSS({
38
- styleObj: {
39
- [`.${EVENT_HEADLINE} a`]: animation.line.slideUnderBlack
40
- }
41
- })}
42
-
43
- ${jssToCSS({
44
- styleObj: {
45
- [`.${EVENT_DATE_CONTAINER}${IS_THEME_DARK} .${EVENT_HEADLINE} a`]: animation.line.slideUnderWhite
46
- }
47
- })}
48
-
49
- .${EVENT_DATE_CONTAINER}${IS_THEME_DARK} .${EVENT_HEADLINE},
50
- .${EVENT_DATE_CONTAINER}${IS_THEME_DARK} .${EVENT_HEADLINE} * {
51
- color: ${token.color.white};
52
- }
53
- `;
54
- const ComponentStyles = `
55
- .${EVENT_DATE_CONTAINER} {
56
- display: flex;
57
- align-items: center;
58
- text-align: left;
59
- }
60
-
61
- .${EVENT_DATE_CONTAINER} * {
62
- color: currentColor;
63
- }
64
-
65
-
66
- ${HeadlineStyles}
67
- `;
68
7
  const createTextLockupDate = (props) => {
69
8
  const { headline, dateSign, isThemeDark } = props;
70
- const container = document.createElement("div");
71
- let styles = ComponentStyles;
72
- container.classList.add(EVENT_DATE_CONTAINER);
73
- if (isThemeDark) container.setAttribute(ATTRIBUTE_THEME, THEME_DARK);
74
- if (dateSign) {
75
- container.appendChild(dateSign.element);
76
- styles += dateSign.styles;
77
- }
78
- if (headline) {
9
+ const createHeadline = () => {
10
+ if (!headline) {
11
+ console.warn("Headline element is required");
12
+ return;
13
+ }
79
14
  const modifiedText = truncateText({
80
15
  text: headline.innerHTML,
81
16
  maxTextSize: 50
82
17
  });
83
18
  headline.innerHTML = modifiedText;
84
- headline.classList.add(EVENT_HEADLINE);
85
19
  wrapLinkForAnimation({ element: headline });
86
- container.appendChild(headline);
87
- }
88
- return { element: container, styles };
20
+ return new ElementBuilder(headline).withClassName("event-lockup-headline").withStyles({
21
+ element: {
22
+ marginLeft: token.spacing.sm,
23
+ ...typography.sans.large,
24
+ ...isThemeDark && { color: token.color.white },
25
+ [`@media (${token.media.queries.large.max})`]: {
26
+ fontSize: token.font.size.sm,
27
+ fontWeight: 600
28
+ },
29
+ "& *": {
30
+ ...typography.sans.large,
31
+ ...isThemeDark && { color: token.color.white },
32
+ [`@media (${token.media.queries.large.max})`]: {
33
+ fontSize: token.font.size.sm,
34
+ fontWeight: 600
35
+ }
36
+ },
37
+ "& a": {
38
+ ...animation.line.slideUnderBlack,
39
+ ...isThemeDark && animation.line.slideUnderWhite
40
+ }
41
+ }
42
+ });
43
+ };
44
+ const headlineElement = createHeadline();
45
+ const children = [dateSign, headlineElement].filter(
46
+ (child) => child != null
47
+ );
48
+ return new ElementBuilder().withClassName("event-lockup-container").withStyles({
49
+ element: {
50
+ display: "flex",
51
+ alignItems: "center",
52
+ textAlign: "left",
53
+ "& *": { color: "currentColor" }
54
+ }
55
+ }).withChildren(...children).build();
89
56
  };
90
57
  export {
91
58
  createTextLockupDate
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sources":["../../../source/atomic/text-lockup/date.ts"],"sourcesContent":["import * as animation from '@universityofmaryland/web-styles-library/animation';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { jssToCSS } from '@universityofmaryland/web-utilities-library/styles';\nimport { truncateText } from '@universityofmaryland/web-utilities-library/string';\nimport { wrapLinkForAnimation } from '@universityofmaryland/web-utilities-library/animation';\n\ntype TypeEventLockupDate = {\n headline: HTMLElement | null;\n dateSign?: { element: HTMLElement; styles: string };\n isThemeDark?: boolean;\n};\n\nconst ATTRIBUTE_THEME = 'theme';\nconst THEME_DARK = 'dark';\nconst IS_THEME_DARK = `[${ATTRIBUTE_THEME}=\"${THEME_DARK}\"]`;\n\nconst EVENT_DATE_CONTAINER = 'event-lockup-container';\nconst EVENT_HEADLINE = 'event-lockup-headline';\n\n// prettier-ignore\nconst HeadlineStyles = `\n .${EVENT_HEADLINE} {\n margin-left: ${token.spacing.sm};\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${EVENT_HEADLINE}`]: typography.sans.large,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`.${EVENT_HEADLINE} *`]: typography.sans.large,\n },\n })}\n\n @media (max-width: 767px) {\n .${EVENT_HEADLINE},\n .${EVENT_HEADLINE} * {\n font-size: ${token.font.size.sm};\n font-weight: 600;\n }\n }\n\n ${jssToCSS({\n styleObj: {\n [`.${EVENT_HEADLINE} a`]: animation.line.slideUnderBlack,\n },\n })}\n\n ${jssToCSS({\n styleObj: {\n [`.${EVENT_DATE_CONTAINER}${IS_THEME_DARK} .${EVENT_HEADLINE} a`]: animation.line.slideUnderWhite,\n },\n })}\n\n .${EVENT_DATE_CONTAINER}${IS_THEME_DARK} .${EVENT_HEADLINE},\n .${EVENT_DATE_CONTAINER}${IS_THEME_DARK} .${EVENT_HEADLINE} * { \n color: ${token.color.white};\n }\n`;\n\n// prettier-ignore\nconst ComponentStyles = `\n .${EVENT_DATE_CONTAINER} {\n display: flex;\n align-items: center;\n text-align: left;\n }\n \n .${EVENT_DATE_CONTAINER} * {\n color: currentColor;\n }\n\n\n ${HeadlineStyles}\n`;\n\nexport const createTextLockupDate = (props: TypeEventLockupDate) => {\n const { headline, dateSign, isThemeDark } = props;\n const container = document.createElement('div');\n let styles = ComponentStyles;\n\n container.classList.add(EVENT_DATE_CONTAINER);\n if (isThemeDark) container.setAttribute(ATTRIBUTE_THEME, THEME_DARK);\n\n if (dateSign) {\n container.appendChild(dateSign.element);\n styles += dateSign.styles;\n }\n\n if (headline) {\n const modifiedText = truncateText({\n text: headline.innerHTML,\n maxTextSize: 50,\n });\n\n headline.innerHTML = modifiedText;\n headline.classList.add(EVENT_HEADLINE);\n wrapLinkForAnimation({ element: headline });\n container.appendChild(headline);\n }\n\n return { element: container, styles };\n};\n"],"names":[],"mappings":";;;;;;AAaA,MAAM,kBAAkB;AACxB,MAAM,aAAa;AACnB,MAAM,gBAAgB,IAAI,eAAe,KAAK,UAAU;AAExD,MAAM,uBAAuB;AAC7B,MAAM,iBAAiB;AAGvB,MAAM,iBAAiB;AAAA,KAClB,cAAc;AAAA,mBACA,MAAM,QAAQ,EAAE;AAAA;AAAA;AAAA,IAG/B,SAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,cAAc,EAAE,GAAG,WAAW,KAAK;AAAA,EAAA;AAE5C,CAAC,CAAC;AAAA;AAAA,IAEA,SAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,cAAc,IAAI,GAAG,WAAW,KAAK;AAAA,EAAA;AAE9C,CAAC,CAAC;AAAA;AAAA;AAAA,OAGG,cAAc;AAAA,OACd,cAAc;AAAA,mBACF,MAAM,KAAK,KAAK,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,IAKjC,SAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,cAAc,IAAI,GAAG,UAAU,KAAK;AAAA,EAAA;AAE7C,CAAC,CAAC;AAAA;AAAA,IAEA,SAAS;AAAA,EACT,UAAU;AAAA,IACR,CAAC,IAAI,oBAAoB,GAAG,aAAa,KAAK,cAAc,IAAI,GAAG,UAAU,KAAK;AAAA,EAAA;AAEtF,CAAC,CAAC;AAAA;AAAA,KAEC,oBAAoB,GAAG,aAAa,KAAK,cAAc;AAAA,KACvD,oBAAoB,GAAG,aAAa,KAAK,cAAc;AAAA,aAC/C,MAAM,MAAM,KAAK;AAAA;AAAA;AAK9B,MAAM,kBAAkB;AAAA,KACnB,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMpB,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKrB,cAAc;AAAA;AAGX,MAAM,uBAAuB,CAAC,UAA+B;AAClE,QAAM,EAAE,UAAU,UAAU,YAAA,IAAgB;AAC5C,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,MAAI,SAAS;AAEb,YAAU,UAAU,IAAI,oBAAoB;AAC5C,MAAI,YAAa,WAAU,aAAa,iBAAiB,UAAU;AAEnE,MAAI,UAAU;AACZ,cAAU,YAAY,SAAS,OAAO;AACtC,cAAU,SAAS;AAAA,EACrB;AAEA,MAAI,UAAU;AACZ,UAAM,eAAe,aAAa;AAAA,MAChC,MAAM,SAAS;AAAA,MACf,aAAa;AAAA,IAAA,CACd;AAED,aAAS,YAAY;AACrB,aAAS,UAAU,IAAI,cAAc;AACrC,yBAAqB,EAAE,SAAS,UAAU;AAC1C,cAAU,YAAY,QAAQ;AAAA,EAChC;AAEA,SAAO,EAAE,SAAS,WAAW,OAAA;AAC/B;"}
1
+ {"version":3,"file":"date.js","sources":["../../../source/atomic/text-lockup/date.ts"],"sourcesContent":["import * as animation from '@universityofmaryland/web-styles-library/animation';\nimport * as token from '@universityofmaryland/web-token-library';\nimport * as typography from '@universityofmaryland/web-styles-library/typography';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { truncateText } from '@universityofmaryland/web-utilities-library/string';\nimport { wrapLinkForAnimation } from '@universityofmaryland/web-utilities-library/animation';\n\ntype TypeEventLockupDate = {\n headline: HTMLElement | null;\n dateSign?: { element: HTMLElement; styles: string };\n isThemeDark?: boolean;\n};\n\nexport const createTextLockupDate = (props: TypeEventLockupDate) => {\n const { headline, dateSign, isThemeDark } = props;\n\n const createHeadline = () => {\n if (!headline) {\n console.warn('Headline element is required');\n return;\n }\n\n const modifiedText = truncateText({\n text: headline.innerHTML,\n maxTextSize: 50,\n });\n\n headline.innerHTML = modifiedText;\n wrapLinkForAnimation({ element: headline });\n\n return new ElementBuilder(headline)\n .withClassName('event-lockup-headline')\n .withStyles({\n element: {\n marginLeft: token.spacing.sm,\n ...typography.sans.large,\n ...(isThemeDark && { color: token.color.white }),\n [`@media (${token.media.queries.large.max})`]: {\n fontSize: token.font.size.sm,\n fontWeight: 600,\n },\n '& *': {\n ...typography.sans.large,\n ...(isThemeDark && { color: token.color.white }),\n [`@media (${token.media.queries.large.max})`]: {\n fontSize: token.font.size.sm,\n fontWeight: 600,\n },\n },\n '& a': {\n ...animation.line.slideUnderBlack,\n ...(isThemeDark && animation.line.slideUnderWhite),\n },\n },\n });\n };\n\n const headlineElement = createHeadline();\n const children = [dateSign, headlineElement].filter(\n (child) => child != null,\n );\n\n return new ElementBuilder()\n .withClassName('event-lockup-container')\n .withStyles({\n element: {\n display: 'flex',\n alignItems: 'center',\n textAlign: 'left',\n '& *': { color: 'currentColor' },\n },\n })\n .withChildren(...children)\n .build();\n};\n"],"names":[],"mappings":";;;;;;AAaO,MAAM,uBAAuB,CAAC,UAA+B;AAClE,QAAM,EAAE,UAAU,UAAU,YAAA,IAAgB;AAE5C,QAAM,iBAAiB,MAAM;AAC3B,QAAI,CAAC,UAAU;AACb,cAAQ,KAAK,8BAA8B;AAC3C;AAAA,IACF;AAEA,UAAM,eAAe,aAAa;AAAA,MAChC,MAAM,SAAS;AAAA,MACf,aAAa;AAAA,IAAA,CACd;AAED,aAAS,YAAY;AACrB,yBAAqB,EAAE,SAAS,UAAU;AAE1C,WAAO,IAAI,eAAe,QAAQ,EAC/B,cAAc,uBAAuB,EACrC,WAAW;AAAA,MACV,SAAS;AAAA,QACP,YAAY,MAAM,QAAQ;AAAA,QAC1B,GAAG,WAAW,KAAK;AAAA,QACnB,GAAI,eAAe,EAAE,OAAO,MAAM,MAAM,MAAA;AAAA,QACxC,CAAC,WAAW,MAAM,MAAM,QAAQ,MAAM,GAAG,GAAG,GAAG;AAAA,UAC7C,UAAU,MAAM,KAAK,KAAK;AAAA,UAC1B,YAAY;AAAA,QAAA;AAAA,QAEd,OAAO;AAAA,UACL,GAAG,WAAW,KAAK;AAAA,UACnB,GAAI,eAAe,EAAE,OAAO,MAAM,MAAM,MAAA;AAAA,UACxC,CAAC,WAAW,MAAM,MAAM,QAAQ,MAAM,GAAG,GAAG,GAAG;AAAA,YAC7C,UAAU,MAAM,KAAK,KAAK;AAAA,YAC1B,YAAY;AAAA,UAAA;AAAA,QACd;AAAA,QAEF,OAAO;AAAA,UACL,GAAG,UAAU,KAAK;AAAA,UAClB,GAAI,eAAe,UAAU,KAAK;AAAA,QAAA;AAAA,MACpC;AAAA,IACF,CACD;AAAA,EACL;AAEA,QAAM,kBAAkB,eAAA;AACxB,QAAM,WAAW,CAAC,UAAU,eAAe,EAAE;AAAA,IAC3C,CAAC,UAAU,SAAS;AAAA,EAAA;AAGtB,SAAO,IAAI,eAAA,EACR,cAAc,wBAAwB,EACtC,WAAW;AAAA,IACV,SAAS;AAAA,MACP,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO,EAAE,OAAO,eAAA;AAAA,IAAe;AAAA,EACjC,CACD,EACA,aAAa,GAAG,QAAQ,EACxB,MAAA;AACL;"}
@@ -1,24 +1,11 @@
1
- type TypeHeadlineText = {
1
+ type TypeAccordionProps = {
2
2
  headline?: HTMLElement | null;
3
- };
4
- type TypeBodyText = {
5
3
  text?: HTMLElement | null;
6
- };
7
- type StateProps = {
8
- hasAnimation?: boolean;
9
- };
10
- type TypeAccordionProps = TypeHeadlineText & TypeBodyText & {
11
4
  isThemeLight?: boolean;
12
5
  isThemeDark?: boolean;
13
6
  isStateOpen: boolean;
7
+ context?: HTMLElement;
14
8
  };
15
- export declare const createCompositeAccordionItem: (props: TypeAccordionProps) => {
16
- element: HTMLDivElement;
17
- styles: string;
18
- events: {
19
- open: (props: StateProps) => void;
20
- close: (props: StateProps) => void;
21
- };
22
- };
9
+ export declare const createCompositeAccordionItem: (props: TypeAccordionProps) => import('../../../builder/dist/index.d.ts').ElementModel<HTMLElement>;
23
10
  export {};
24
11
  //# sourceMappingURL=item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../source/composite/accordion/item.ts"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC;AAC1D,KAAK,YAAY,GAAG;IAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC;AAElD,KAAK,UAAU,GAAG;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,kBAAkB,GAAG,gBAAgB,GACxC,YAAY,GAAG;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAoTJ,eAAO,MAAM,4BAA4B,GAAI,OAAO,kBAAkB;;;;sBAO7C,UAAU;uBAIT,UAAU;;CA8C9B,CAAC"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../source/composite/accordion/item.ts"],"names":[],"mappings":"AAIA,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AA4NF,eAAO,MAAM,4BAA4B,GAAI,OAAO,kBAAkB,kFA+DhE,CAAC"}