@pnx-mixtape/mxds 0.0.13 → 0.0.15

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 (350) hide show
  1. package/README.md +37 -23
  2. package/dist/build/accordion.css +1 -98
  3. package/dist/build/accordion.entry.js +1 -83
  4. package/dist/build/base.css +1 -996
  5. package/dist/build/breadcrumb.css +1 -51
  6. package/dist/build/button.css +1 -132
  7. package/dist/build/callout.css +1 -11
  8. package/dist/build/card.css +1 -149
  9. package/dist/build/carousel.css +1 -0
  10. package/dist/build/chunks/Accordion-RtUfbsTy.js +1 -0
  11. package/dist/build/chunks/disclosure-widget-CPdkUWkq.js +1 -0
  12. package/dist/build/chunks/drop-menu.entry-BqBzLfVC.js +1 -0
  13. package/dist/build/chunks/keyboard-Cs0cduxq.js +1 -0
  14. package/dist/build/chunks/polyfills-5KNOJw2W.js +1 -0
  15. package/dist/build/chunks/popover-CiVl-0jk.js +1 -0
  16. package/dist/build/chunks/utilities-CE6xwgqF.js +2 -0
  17. package/dist/build/constants.css +1 -120
  18. package/dist/build/container-grid.css +1 -208
  19. package/dist/build/content-block.css +1 -36
  20. package/dist/build/dialog.css +1 -98
  21. package/dist/build/dialog.entry.js +1 -113
  22. package/dist/build/drop-menu.css +1 -78
  23. package/dist/build/drop-menu.entry.js +1 -2
  24. package/dist/build/drupal.css +1 -74
  25. package/dist/build/filters.css +1 -105
  26. package/dist/build/filters.entry.js +1 -137
  27. package/dist/build/footer.css +1 -151
  28. package/dist/build/form.css +1 -517
  29. package/dist/build/global-alert.css +1 -60
  30. package/dist/build/global-alert.entry.js +1 -68
  31. package/dist/build/grid.css +1 -200
  32. package/dist/build/header.css +1 -153
  33. package/dist/build/header.entry.js +1 -103
  34. package/dist/build/hero-banner.css +1 -62
  35. package/dist/build/icon.css +1 -399
  36. package/dist/build/in-page-alert.css +1 -94
  37. package/dist/build/in-page-navigation.css +1 -17
  38. package/dist/build/in-page-navigation.entry.js +1 -99
  39. package/dist/build/link-list.css +1 -45
  40. package/dist/build/list-item.css +1 -114
  41. package/dist/build/masthead.css +1 -53
  42. package/dist/build/navigation.css +1 -396
  43. package/dist/build/navigation.entry.js +1 -124
  44. package/dist/build/page.css +1 -80
  45. package/dist/build/pagination.css +1 -130
  46. package/dist/build/results-bar.css +1 -0
  47. package/dist/build/section.css +1 -163
  48. package/dist/build/side-navigation.css +1 -88
  49. package/dist/build/sidebar.css +1 -59
  50. package/dist/build/social-links.css +1 -20
  51. package/dist/build/steps.css +1 -118
  52. package/dist/build/sticky.css +1 -47
  53. package/dist/build/sticky.entry.js +1 -60
  54. package/dist/build/tabs.css +1 -109
  55. package/dist/build/tabs.entry.js +1 -202
  56. package/dist/build/tag.css +1 -71
  57. package/dist/build/utilities.css +1 -178
  58. package/package.json +56 -64
  59. package/src/Atom/Background/Backgrounds.stories.ts +13 -1
  60. package/src/Atom/Background/__snapshots__/Backgrounds.stories.ts.snap +157 -81
  61. package/src/Atom/Background/_background.css +16 -10
  62. package/src/Atom/Base.mdx +25 -17
  63. package/src/Atom/Button/Button.stories.ts +1 -4
  64. package/src/Atom/Button/Button.stories.tsx +1 -1
  65. package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +47 -37
  66. package/src/Atom/Button/_buttons-styles.css +7 -7
  67. package/src/Atom/Button/_buttons.css +1 -6
  68. package/src/Atom/DefinitionList/DefinitionList.stories.ts +32 -0
  69. package/src/Atom/DefinitionList/DefinitionList.stories.tsx +1 -1
  70. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.ts.snap +32 -0
  71. package/src/Atom/DefinitionList/definition-list.twig +9 -0
  72. package/src/Atom/Heading/Heading.stories.ts +1 -1
  73. package/src/Atom/Heading/Heading.stories.tsx +1 -1
  74. package/src/Atom/Heading/__snapshots__/Heading.stories.ts.snap +5 -3
  75. package/src/Atom/Heading/_headings.css +24 -24
  76. package/src/Atom/Icon/Icon.mdx +1 -1
  77. package/src/Atom/Icon/Icon.stories.ts +1 -1
  78. package/src/Atom/Icon/Icon.stories.tsx +1 -1
  79. package/src/Atom/Icon/Icon.tsx +2 -2
  80. package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +14 -8
  81. package/src/Atom/Icon/_icon.css +4 -4
  82. package/src/Atom/Image/Image.stories.ts +1 -1
  83. package/src/Atom/Image/__snapshots__/Image.stories.ts.snap +7 -5
  84. package/src/Atom/Image/_image.css +2 -7
  85. package/src/Atom/Link/Link.stories.ts +1 -1
  86. package/src/Atom/Link/Link.stories.tsx +1 -1
  87. package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +50 -37
  88. package/src/Atom/Link/_links.css +2 -22
  89. package/src/Atom/Link/link.twig +1 -0
  90. package/src/Atom/Media/Media.stories.ts +2 -1
  91. package/src/Atom/Media/Media.stories.tsx +1 -1
  92. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +11 -24
  93. package/src/Atom/Media/_media.css +8 -8
  94. package/src/Atom/Spacing/Spacing.stories.ts +1 -1
  95. package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +5 -3
  96. package/src/Atom/Table/Table.stories.ts +1 -1
  97. package/src/Atom/Table/TableResponsive.stories.ts +1 -1
  98. package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +256 -248
  99. package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +65 -63
  100. package/src/Atom/Text/Text.stories.tsx +1 -1
  101. package/src/Atom/Text/TextSizes.stories.ts +1 -1
  102. package/src/Atom/Text/__snapshots__/TextSizes.stories.ts.snap +59 -55
  103. package/src/Atom/Text/_text-sizes.css +17 -17
  104. package/src/Atom/Text/rich-text.twig +9 -0
  105. package/src/Atom/Video/Video.stories.ts +1 -1
  106. package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +9 -7
  107. package/src/Atom/_animated.css +0 -14
  108. package/src/Atom/_generic.css +57 -15
  109. package/src/Atom/base.css +1 -1
  110. package/src/Component/Accordion/Accordion.stories.ts +1 -4
  111. package/src/Component/Accordion/Accordion.stories.tsx +1 -2
  112. package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +60 -56
  113. package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +0 -1
  114. package/src/Component/Accordion/accordion.css +16 -4
  115. package/src/Component/Breadcrumb/Breadcrumb.stories.ts +1 -1
  116. package/src/Component/Breadcrumb/Breadcrumb.stories.tsx +1 -1
  117. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +31 -29
  118. package/src/Component/Breadcrumb/breadcrumb.css +4 -0
  119. package/src/Component/Callout/Callout.stories.ts +1 -9
  120. package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +9 -7
  121. package/src/Component/Card/Card.stories.ts +11 -18
  122. package/src/Component/Card/Card.stories.tsx +1 -1
  123. package/src/Component/Card/Card.tsx +9 -5
  124. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +257 -229
  125. package/src/Component/Card/card.css +36 -33
  126. package/src/Component/Card/card.twig +6 -6
  127. package/src/Component/Carousel/Carousel.stories.ts +201 -0
  128. package/src/Component/Carousel/Elements/Carousel.ts +241 -0
  129. package/src/Component/Carousel/__snapshots__/Carousel.stories.ts.snap +912 -0
  130. package/src/Component/Carousel/carousel.css +119 -0
  131. package/src/Component/Carousel/carousel.twig +27 -0
  132. package/src/Component/ContentBlock/ContentBlock.stories.ts +27 -19
  133. package/src/Component/ContentBlock/ContentBlock.stories.tsx +1 -1
  134. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +153 -93
  135. package/src/Component/Dialog/Dialog.stories.ts +75 -7
  136. package/src/Component/Dialog/Dialog.stories.tsx +1 -1
  137. package/src/Component/Dialog/Elements/Dialog.ts +14 -34
  138. package/src/Component/Dialog/__snapshots__/Dialog.stories.ts.snap +102 -66
  139. package/src/Component/Dialog/dialog.css +32 -20
  140. package/src/Component/Dialog/dialog.twig +14 -15
  141. package/src/Component/DropMenu/Components/DropMenuContext.tsx +7 -9
  142. package/src/Component/DropMenu/Components/DropMenuItem.tsx +1 -1
  143. package/src/Component/DropMenu/DropMenu.stories.ts +1 -1
  144. package/src/Component/DropMenu/DropMenu.stories.tsx +1 -1
  145. package/src/Component/DropMenu/Elements/DropMenu.ts +1 -1
  146. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +28 -26
  147. package/src/Component/DropMenu/drop-menu.css +11 -3
  148. package/src/Component/Filters/Filters.stories.ts +1 -4
  149. package/src/Component/Filters/__snapshots__/Filters.stories.ts.snap +397 -389
  150. package/src/Component/Filters/filters.css +14 -5
  151. package/src/Component/GlobalAlert/GlobalAlert.stories.ts +1 -1
  152. package/src/Component/GlobalAlert/GlobalAlert.stories.tsx +1 -1
  153. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +33 -29
  154. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.tsx.snap +2 -2
  155. package/src/Component/GlobalAlert/global-alert.css +2 -2
  156. package/src/Component/HeroBanner/HeroBanner.stories.ts +1 -4
  157. package/src/Component/HeroBanner/HeroBanner.stories.tsx +1 -1
  158. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +68 -64
  159. package/src/Component/HeroBanner/hero-banner.css +6 -1
  160. package/src/Component/HeroBanner/hero-banner.twig +3 -4
  161. package/src/Component/InPageAlert/InPageAlert.stories.ts +1 -1
  162. package/src/Component/InPageAlert/InPageAlert.stories.tsx +1 -1
  163. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +10 -8
  164. package/src/Component/InPageAlert/in-page-alert.css +8 -8
  165. package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +1 -1
  166. package/src/Component/InPageNavigation/InPageNavigation.stories.ts +1 -4
  167. package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +1 -1
  168. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +64 -62
  169. package/src/Component/LinkList/LinkList.stories.ts +1 -1
  170. package/src/Component/LinkList/LinkList.stories.tsx +1 -1
  171. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +31 -29
  172. package/src/Component/ListItem/ListItem.stories.ts +2 -4
  173. package/src/Component/ListItem/ListItem.stories.tsx +1 -1
  174. package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +162 -148
  175. package/src/Component/ListItem/list-item.css +7 -88
  176. package/src/Component/ListItem/list-item.twig +8 -8
  177. package/src/Component/Navigation/Dropdown.stories.tsx +1 -1
  178. package/src/Component/Navigation/Navigation.stories.ts +1 -1
  179. package/src/Component/Navigation/Navigation.stories.tsx +1 -1
  180. package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +291 -283
  181. package/src/Component/Navigation/_navigation-collapsible.css +11 -14
  182. package/src/Component/Navigation/_navigation-dropdown.css +11 -17
  183. package/src/Component/Pagination/Components/PaginationContext.tsx +4 -8
  184. package/src/Component/Pagination/Pagination.stories.ts +1 -1
  185. package/src/Component/Pagination/Pagination.stories.tsx +1 -1
  186. package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +59 -57
  187. package/src/Component/Pagination/pagination.css +2 -8
  188. package/src/Component/ResultsBar/Components/ResultsBarInfo.tsx +28 -0
  189. package/src/Component/ResultsBar/Components/ResultsBarSort.tsx +17 -0
  190. package/src/Component/ResultsBar/ResultsBar.stories.ts +37 -0
  191. package/src/Component/ResultsBar/ResultsBar.stories.tsx +50 -0
  192. package/src/Component/ResultsBar/ResultsBar.tsx +7 -0
  193. package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.ts.snap +54 -0
  194. package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.tsx.snap +53 -0
  195. package/src/Component/ResultsBar/results-bar.css +19 -0
  196. package/src/Component/ResultsBar/results-bar.twig +24 -0
  197. package/src/Component/SideNavigation/SideNavigation.stories.ts +1 -1
  198. package/src/Component/SideNavigation/__snapshots__/SideNavigation.stories.ts.snap +82 -80
  199. package/src/Component/SideNavigation/side-navigation.css +2 -8
  200. package/src/Component/SocialLinks/SocialLinks.stories.ts +1 -1
  201. package/src/Component/SocialLinks/__snapshots__/SocialLinks.stories.ts.snap +30 -28
  202. package/src/Component/Steps/Steps.stories.ts +1 -1
  203. package/src/Component/Steps/__snapshots__/Steps.stories.ts.snap +86 -78
  204. package/src/Component/Steps/steps.css +1 -1
  205. package/src/Component/Sticky/Sticky.stories.ts +1 -1
  206. package/src/Component/Sticky/Sticky.stories.tsx +1 -1
  207. package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +9 -7
  208. package/src/Component/Tabs/Tabs.stories.ts +1 -1
  209. package/src/Component/Tabs/Tabs.stories.tsx +1 -1
  210. package/src/Component/Tabs/Tabs.tsx +4 -4
  211. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +73 -71
  212. package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +0 -2
  213. package/src/Component/Tabs/tabs.css +14 -21
  214. package/src/Component/Tag/Tag.stories.ts +1 -1
  215. package/src/Component/Tag/Tag.stories.tsx +1 -1
  216. package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +59 -53
  217. package/src/Component/Tag/tag.css +6 -6
  218. package/src/Component/Tile/Tile.stories.ts +38 -12
  219. package/src/Component/Tile/Tile.stories.tsx +2 -2
  220. package/src/Component/Tile/Tile.tsx +30 -17
  221. package/src/Component/Tile/__snapshots__/Tile.stories.ts.snap +49 -75
  222. package/src/Component/Tile/__snapshots__/Tile.stories.tsx.snap +6 -16
  223. package/src/Form/Checkbox/Checkbox.stories.ts +1 -1
  224. package/src/Form/Checkbox/FormCheckbox.stories.tsx +1 -1
  225. package/src/Form/Checkbox/FormCheckbox.tsx +5 -7
  226. package/src/Form/Checkbox/__snapshots__/Checkbox.stories.ts.snap +23 -19
  227. package/src/Form/Description/Description.stories.ts +1 -1
  228. package/src/Form/Description/FormDescription.stories.tsx +1 -1
  229. package/src/Form/Description/FormStatus.stories.ts +1 -1
  230. package/src/Form/Description/__snapshots__/Description.stories.ts.snap +7 -5
  231. package/src/Form/Description/__snapshots__/FormStatus.stories.ts.snap +14 -10
  232. package/src/Form/Form/Form.stories.tsx +1 -1
  233. package/src/Form/Form/FormTitle.stories.tsx +1 -1
  234. package/src/Form/FormItem/FormItem.stories.ts +1 -4
  235. package/src/Form/FormItem/FormItem.stories.tsx +1 -1
  236. package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +119 -109
  237. package/src/Form/FormItem/__snapshots__/FormItem.stories.tsx.snap +4 -4
  238. package/src/Form/Label/FormLabel.stories.tsx +1 -1
  239. package/src/Form/Label/FormLabel.tsx +1 -1
  240. package/src/Form/Label/Label.stories.ts +1 -1
  241. package/src/Form/Label/__snapshots__/Label.stories.ts.snap +21 -15
  242. package/src/Form/Radio/FormRadio.stories.tsx +1 -1
  243. package/src/Form/Radio/FormRadio.tsx +4 -4
  244. package/src/Form/Radio/Radio.stories.ts +1 -1
  245. package/src/Form/Radio/__snapshots__/Radio.stories.ts.snap +55 -51
  246. package/src/Form/Search/Search.stories.ts +1 -4
  247. package/src/Form/Search/__snapshots__/Search.stories.ts.snap +23 -21
  248. package/src/Form/Select/FormSelect.stories.tsx +1 -1
  249. package/src/Form/Select/FormSelect.tsx +1 -1
  250. package/src/Form/Select/Select.stories.ts +1 -1
  251. package/src/Form/Select/__snapshots__/Select.stories.ts.snap +18 -16
  252. package/src/Form/TextInput/FormText.stories.tsx +1 -1
  253. package/src/Form/TextInput/InputDivider.stories.ts +1 -1
  254. package/src/Form/TextInput/TextInput.stories.ts +1 -1
  255. package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +1 -1
  256. package/src/Form/TextInput/__snapshots__/InputDivider.stories.ts.snap +24 -22
  257. package/src/Form/TextInput/__snapshots__/TextInput.stories.ts.snap +18 -14
  258. package/src/Form/Textarea/FormTextarea.stories.tsx +1 -1
  259. package/src/Form/Textarea/Textarea.stories.ts +1 -1
  260. package/src/Form/Textarea/__snapshots__/FormTextarea.stories.tsx.snap +1 -1
  261. package/src/Form/Textarea/__snapshots__/Textarea.stories.ts.snap +9 -7
  262. package/src/Form/form.css +24 -34
  263. package/src/Introduction.mdx +40 -0
  264. package/src/Layout/Footer/Footer.stories.ts +1 -6
  265. package/src/Layout/Footer/Footer.stories.tsx +1 -1
  266. package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +10 -10
  267. package/src/Layout/Footer/footer.css +2 -6
  268. package/src/Layout/Footer/footer.twig +0 -1
  269. package/src/Layout/Grid/Grid.stories.ts +8 -8
  270. package/src/Layout/Grid/Grid.stories.tsx +2 -2
  271. package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +38 -32
  272. package/src/Layout/Grid/container-grid.css +10 -10
  273. package/src/Layout/Grid/grid-item.twig +3 -1
  274. package/src/Layout/Grid/grid.css +3 -3
  275. package/src/Layout/Header/Header.stories.ts +1 -6
  276. package/src/Layout/Header/Header.stories.tsx +1 -1
  277. package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +11 -11
  278. package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +3 -3
  279. package/src/Layout/Header/_header.css +18 -16
  280. package/src/Layout/Header/header.twig +1 -2
  281. package/src/Layout/Masthead/Masthead.stories.ts +1 -3
  282. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +6 -6
  283. package/src/Layout/Masthead/masthead.twig +0 -2
  284. package/src/Layout/Page/Page.stories.tsx +1 -1
  285. package/src/Layout/Page/__snapshots__/Page.stories.tsx.snap +3 -3
  286. package/src/Layout/Page/page.css +16 -40
  287. package/src/Layout/Page/page.twig +6 -1
  288. package/src/Layout/Section/Background.stories.ts +60 -8
  289. package/src/Layout/Section/Breakouts.stories.ts +1 -3
  290. package/src/Layout/Section/Flow.stories.ts +1 -3
  291. package/src/Layout/Section/Section.stories.ts +1 -6
  292. package/src/Layout/Section/Section.stories.tsx +1 -1
  293. package/src/Layout/Section/SectionGrid.stories.tsx +1 -1
  294. package/src/Layout/Section/__snapshots__/Background.stories.ts.snap +36 -24
  295. package/src/Layout/Section/__snapshots__/Breakouts.stories.ts.snap +54 -52
  296. package/src/Layout/Section/__snapshots__/Flow.stories.ts.snap +18 -18
  297. package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +2 -2
  298. package/src/Layout/Section/section.css +15 -18
  299. package/src/Layout/Section/section.twig +0 -1
  300. package/src/Layout/Section/twig/section-background.twig +29 -10
  301. package/src/Layout/Section/twig/sections-breakout.twig +28 -33
  302. package/src/Layout/Section/twig/sections-flow.twig +17 -17
  303. package/src/Layout/Section/twig/sections-stacked.twig +4 -4
  304. package/src/Layout/Sidebar/Sidebar.stories.ts +1 -3
  305. package/src/Layout/Sidebar/Sidebar.stories.tsx +1 -1
  306. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +5 -5
  307. package/src/Layout/Sidebar/sidebar.css +2 -18
  308. package/src/Utility/Context/ImageComponent.tsx +3 -6
  309. package/src/Utility/Context/LinkComponent.tsx +3 -6
  310. package/src/Utility/Drupal/drupal.css +1 -5
  311. package/src/Utility/Elements/breakpoint-loader.ts +0 -1
  312. package/src/Utility/Elements/cookie-compliance.ts +0 -1
  313. package/src/Utility/Elements/io-loader.ts +0 -1
  314. package/src/Utility/Hooks/useLocalStorage.ts +0 -1
  315. package/src/Utility/Hooks/useMediaQuery.ts +0 -1
  316. package/src/Utility/Hooks/useToggle.ts +0 -1
  317. package/src/Utility/global.d.ts +0 -1
  318. package/src/Utility/utilities.ts +0 -1
  319. package/src/constants.css +53 -24
  320. package/src/enums.ts +1 -2
  321. package/src/react.ts +3 -0
  322. package/src/tokens.js +19 -19
  323. package/dist/build/accordion.entry.js.map +0 -1
  324. package/dist/build/chunks/Accordion-DSze7pxN.js +0 -61
  325. package/dist/build/chunks/Accordion-DSze7pxN.js.map +0 -1
  326. package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js +0 -124
  327. package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js.map +0 -1
  328. package/dist/build/chunks/drop-menu.entry-BC6x9vst.js +0 -132
  329. package/dist/build/chunks/drop-menu.entry-BC6x9vst.js.map +0 -1
  330. package/dist/build/chunks/keyboard-C73DHu0c.js +0 -101
  331. package/dist/build/chunks/keyboard-C73DHu0c.js.map +0 -1
  332. package/dist/build/chunks/polyfills-CJ5uTmUJ.js +0 -749
  333. package/dist/build/chunks/polyfills-CJ5uTmUJ.js.map +0 -1
  334. package/dist/build/chunks/popover-wbPSyFRj.js +0 -654
  335. package/dist/build/chunks/popover-wbPSyFRj.js.map +0 -1
  336. package/dist/build/chunks/utilities-B4YZb689.js +0 -243
  337. package/dist/build/chunks/utilities-B4YZb689.js.map +0 -1
  338. package/dist/build/dialog.entry.js.map +0 -1
  339. package/dist/build/drop-menu.entry.js.map +0 -1
  340. package/dist/build/filters.entry.js.map +0 -1
  341. package/dist/build/global-alert.entry.js.map +0 -1
  342. package/dist/build/header.entry.js.map +0 -1
  343. package/dist/build/in-page-navigation.entry.js.map +0 -1
  344. package/dist/build/navigation.entry.js.map +0 -1
  345. package/dist/build/sticky.entry.js.map +0 -1
  346. package/dist/build/tabs.entry.js.map +0 -1
  347. package/dist/build/tiles.css +0 -61
  348. package/src/Component/Tile/tile.twig +0 -10
  349. package/src/Component/Tile/tiles.css +0 -58
  350. package/src/Component/Tile/twig/tiles.twig +0 -18
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-unused-vars */
2
1
  /**
3
2
  * A Framework Context for passing in Image and Image components.
4
3
  *
@@ -18,7 +17,7 @@ import {
18
17
  PropsWithChildren,
19
18
  ComponentPropsWithoutRef,
20
19
  createContext,
21
- useContext,
20
+ use,
22
21
  } from "react"
23
22
 
24
23
  type ImageComponentProps = ComponentPropsWithoutRef<"img">
@@ -31,7 +30,7 @@ const DefaultImageComponent = ({
31
30
 
32
31
  const ImageComponentContext: Context<ImageComponentContextValue> =
33
32
  createContext<ImageComponentContextValue>(DefaultImageComponent)
34
- export const useImageComponent = () => useContext(ImageComponentContext)
33
+ export const useImageComponent = () => use(ImageComponentContext)
35
34
 
36
35
  type ImageComponentProviderProps = PropsWithChildren & {
37
36
  component?: (ImageComponentProps) => JSX.Element
@@ -41,9 +40,7 @@ const ImageComponentProvider = ({
41
40
  children,
42
41
  component = null,
43
42
  }: ImageComponentProviderProps) => (
44
- <ImageComponentContext.Provider value={component}>
45
- {children}
46
- </ImageComponentContext.Provider>
43
+ <ImageComponentContext value={component}>{children}</ImageComponentContext>
47
44
  )
48
45
 
49
46
  export default ImageComponentProvider
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-unused-vars */
2
1
  /**
3
2
  * A Framework Context for passing in Link and Image components.
4
3
  *
@@ -18,7 +17,7 @@ import {
18
17
  PropsWithChildren,
19
18
  ComponentPropsWithoutRef,
20
19
  createContext,
21
- useContext,
20
+ use,
22
21
  } from "react"
23
22
 
24
23
  type LinkComponentProps = ComponentPropsWithoutRef<"a"> &
@@ -39,7 +38,7 @@ const DefaultLinkComponent = ({
39
38
 
40
39
  const LinkComponentContext: Context<LinkComponentValue> =
41
40
  createContext<LinkComponentValue>(DefaultLinkComponent)
42
- export const useLinkComponent = () => useContext(LinkComponentContext)
41
+ export const useLinkComponent = () => use(LinkComponentContext)
43
42
 
44
43
  type LinkComponentProviderProps = PropsWithChildren & {
45
44
  component: (LinkComponentProps) => JSX.Element
@@ -49,9 +48,7 @@ const LinkComponentProvider = ({
49
48
  children,
50
49
  component = null,
51
50
  }: LinkComponentProviderProps): JSX.Element => (
52
- <LinkComponentContext.Provider value={component}>
53
- {children}
54
- </LinkComponentContext.Provider>
51
+ <LinkComponentContext value={component}>{children}</LinkComponentContext>
55
52
  )
56
53
 
57
54
  export default LinkComponentProvider
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  main :is(.user-login-form, .user-register-form, .user-pass) {
8
- max-inline-size: var(--container-max-width-narrow);
8
+ inline-size: min(100%, var(--container-max-width-narrow));
9
9
  margin-block: var(--spacing-xxl);
10
10
  margin-inline: auto;
11
11
  }
@@ -32,7 +32,6 @@ main :is(.user-login-form, .user-register-form, .user-pass) {
32
32
  overflow: hidden;
33
33
  z-index: 501;
34
34
  transform: translateX(-75%);
35
- transition: transform 0.2s ease-in-out;
36
35
 
37
36
  &:hover {
38
37
  transform: translateX(0);
@@ -54,9 +53,6 @@ main :is(.user-login-form, .user-register-form, .user-pass) {
54
53
  padding-inline: var(--spacing-m);
55
54
  color: var(--foreground, var(--colour-primary));
56
55
  background-color: var(--background, var(--colour-background));
57
- transition:
58
- 0.2s background-color,
59
- 0.2s color;
60
56
  }
61
57
  }
62
58
 
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  /**
3
2
  * Lazy Load a component based on breakpoint.
4
3
  */
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */
2
1
  /**
3
2
  * @file cookie compliance banner
4
3
  * adapted from http://alex-d.github.io/Cookies-EU-banner/.
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  /**
3
2
  * Lazy Load on an Intersection Observer
4
3
  */
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call */
2
1
  import { useEffect, useCallback, useSyncExternalStore } from "react"
3
2
 
4
3
  type LocalStorageCallback = (this: Window, ev: StorageEvent) => void
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-unused-vars */
2
1
  import { useCallback, useSyncExternalStore } from "react"
3
2
 
4
3
  type MediaQueryCallBack = (
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-unused-vars */
2
1
  import { useState, useCallback } from "react"
3
2
 
4
3
  const useToggle = (
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-unused-vars, @typescript-eslint/no-explicit-any */
2
1
  declare global {
3
2
  interface Window {
4
3
  Drupal?: any
@@ -146,7 +146,6 @@ export const handleEscape = (
146
146
  }
147
147
  }
148
148
 
149
- /* eslint-disable no-unused-vars, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access */
150
149
  export const loadOnReady = (
151
150
  callback: (this: Window, ev: Event) => void,
152
151
  name: string,
package/src/constants.css CHANGED
@@ -4,6 +4,12 @@
4
4
  * Variables
5
5
  */
6
6
 
7
+ @property --schemed {
8
+ syntax: "light | dark";
9
+ inherits: false;
10
+ initial-value: token("colour.scheme");
11
+ }
12
+
7
13
  :root {
8
14
  --_hue-primary: token("colour.primary");
9
15
  --_hue-accent: token("colour.accent");
@@ -13,34 +19,54 @@
13
19
  --_hue-success: token("colour.success");
14
20
  --_hue-outline: token("utility.outline.hue");
15
21
 
22
+ /* Brand colors */
23
+ --colour-primary: oklch(50% 0.3 var(--_hue-primary));
24
+ --colour-primary-light: color-mix(in oklch, var(--colour-primary), white 90%);
25
+ --colour-accent: oklch(50% 0.3 var(--_hue-accent));
26
+ --colour-accent-light: color-mix(in oklch, var(--colour-accent), white 90%);
27
+
16
28
  /* System colours */
17
- --colour-background: token("colour.main.bg");
18
- --colour-background-alt: token("colour.main.bgAlt");
19
- --colour-foreground: token("colour.main.fg");
20
- --colour-foreground-alt: token("colour.main.fgAlt");
21
- --colour-border: token("colour.main.border");
29
+ --color-scheme: token("colour.scheme");
22
30
 
23
- /* Brand colors */
24
- --colour-primary: lch(43% 100 var(--_hue-primary));
25
- --colour-primary-light: lch(95% 10 var(--_hue-primary));
26
- --colour-accent: lch(43% 100 var(--_hue-accent));
27
- --colour-accent-light: lch(95% 10 var(--_hue-accent));
31
+ color-scheme: var(--color-scheme);
32
+
33
+ --colour-background: light-dark(
34
+ token("colour.main.bg"),
35
+ token("colour.reverse.bg")
36
+ );
37
+ --colour-background-alt: light-dark(
38
+ token("colour.main.bgAlt"),
39
+ token("colour.reverse.bgAlt")
40
+ );
41
+ --colour-foreground: light-dark(
42
+ token("colour.main.fg"),
43
+ token("colour.reverse.fg")
44
+ );
45
+ --colour-foreground-alt: light-dark(
46
+ token("colour.main.fgAlt"),
47
+ token("colour.reverse.fgAlt")
48
+ );
49
+ --colour-border: light-dark(
50
+ token("colour.main.border"),
51
+ token("colour.reverse.border")
52
+ );
53
+ --colour-link: light-dark(var(--colour-primary), var(--colour-primary-light));
28
54
 
29
55
  /* Reverse colors */
30
- --colour-foreground-reverse: token("colour.reverse.fg");
31
- --colour-foreground-alt-reverse: token("colour.reverse.fgAlt");
32
- --colour-background-reverse: token("colour.reverse.bg");
33
- --colour-border-reverse: token("colour.reverse.border");
56
+ --colour-foreground-reverse: light-dark(
57
+ token("colour.reverse.fg"),
58
+ token("colour.main.fg")
59
+ );
60
+ --colour-background-reverse: light-dark(
61
+ token("colour.reverse.bg"),
62
+ token("colour.main.bg")
63
+ );
34
64
 
35
65
  /* State colours */
36
- --colour-error-foreground: lch(40% 100 var(--_hue-error));
37
- --colour-error-background: lch(95% 10 var(--_hue-error));
38
- --colour-success-foreground: lch(45% 100 var(--_hue-success));
39
- --colour-success-background: lch(95% 10 var(--_hue-success));
40
- --colour-warning-foreground: lch(46% 100 var(--_hue-warning));
41
- --colour-warning-background: lch(95% 10 var(--_hue-warning));
42
- --colour-info-foreground: lch(43% 100 var(--_hue-info));
43
- --colour-info-background: lch(95% 10 var(--_hue-info));
66
+ --colour-error: oklch(45% 0.3 var(--_hue-error));
67
+ --colour-success: oklch(50% 0.3 var(--_hue-success));
68
+ --colour-warning: oklch(55% 0.3 var(--_hue-warning));
69
+ --colour-info: oklch(50% 0.3 var(--_hue-info));
44
70
 
45
71
  /* Typography */
46
72
  --font-family: token("font.family");
@@ -82,9 +108,12 @@
82
108
  --spacing-uuul: token("size.spacing.uuul");
83
109
 
84
110
  --outline-width: token("utility.outline.width");
85
- --outline-offset: token("utility.outline.offset");
86
111
  --outline-style: token("utility.outline.style");
87
- --outline-color: lch(45% 100 var(--_hue-outline));
112
+ --_colour-outline: oklch(50% 0.3 var(--_hue-outline));
113
+ --outline-color: light-dark(
114
+ var(--colour-outline),
115
+ color-mix(in oklch, var(--colour-outline), white 90%)
116
+ );
88
117
 
89
118
  /* Layout */
90
119
  --container-max-width-narrow: token("size.container.narrow");
package/src/enums.ts CHANGED
@@ -1,5 +1,3 @@
1
- /* eslint-disable no-unused-vars */
2
-
3
1
  export enum Alignment {
4
2
  LEFT = "left",
5
3
  RIGHT = "right",
@@ -231,6 +229,7 @@ export enum BackgroundStyles {
231
229
  ALT = "alt",
232
230
  REVERSE = "reverse",
233
231
  RESET = "reset",
232
+ BOX = "box",
234
233
  }
235
234
 
236
235
  export enum TableStyles {
package/src/react.ts CHANGED
@@ -57,6 +57,9 @@ export { default as Navigation } from "./Component/Navigation/Navigation"
57
57
  export { default as NavigationDropdown } from "./Component/Navigation/Dropdown"
58
58
  export { default as DropMenu } from "./Component/DropMenu/DropMenu"
59
59
  export { default as DropMenuItem } from "./Component/DropMenu/Components/DropMenuItem"
60
+ export { default as ResultsBar } from "./Component/ResultsBar/ResultsBar"
61
+ export { default as ResultsBarInfo } from "./Component/ResultsBar/Components/ResultsBarInfo"
62
+ export { default as ResultsBarSort } from "./Component/ResultsBar/Components/ResultsBarSort"
60
63
  export {
61
64
  default as DropMenuProvider,
62
65
  useDropMenuContext,
package/src/tokens.js CHANGED
@@ -29,26 +29,27 @@ export default {
29
29
  dropMenu: "420px",
30
30
  },
31
31
  colour: {
32
- primary: "288",
33
- accent: "328",
32
+ scheme: "light",
33
+ primary: "260",
34
+ accent: "320",
34
35
  main: {
35
- fg: "lch(0% 0 0)",
36
- bg: "lch(100% 0 0)",
37
- fgAlt: "lch(25% 0 0)",
38
- bgAlt: "lch(95% 0 0)",
39
- border: "lch(90% 0 0)",
36
+ fg: "oklch(0 0 100)",
37
+ bg: "oklch(1 0 100)",
38
+ fgAlt: "oklch(0.25 0 100)",
39
+ bgAlt: "oklch(0.95 0 100)",
40
+ border: "oklch(.9 0 100)",
40
41
  },
41
42
  reverse: {
42
- fg: "lch(100% 0 0)",
43
- bg: "lch(0% 0 0)",
44
- fgAlt: "lch(95% 0 0)",
45
- bgAlt: "lch(25% 0 0)",
46
- border: "lch(10% 0 0)",
43
+ fg: "oklch(1 0 100)",
44
+ bg: "oklch(0 0 100)",
45
+ fgAlt: "oklch(0.95 0 100)",
46
+ bgAlt: "oklch(0.25 0 100)",
47
+ border: "oklch(0.25 0 100)",
47
48
  },
48
- info: "288",
49
- warning: "70",
50
- success: "134",
51
- error: "34",
49
+ info: "260",
50
+ warning: "90",
51
+ success: "140",
52
+ error: "20",
52
53
  },
53
54
  font: {
54
55
  family: "system-ui, sans-serif",
@@ -101,9 +102,8 @@ export default {
101
102
  utility: {
102
103
  outline: {
103
104
  width: "2px",
104
- offset: "0",
105
105
  style: "solid",
106
- hue: "288",
106
+ hue: "260",
107
107
  },
108
108
  radius: {
109
109
  m: "3px",
@@ -111,7 +111,7 @@ export default {
111
111
  round: "50%",
112
112
  },
113
113
  shadow: {
114
- colour: "lch(25% 0 0)",
114
+ colour: "oklch(0.25 0 100)",
115
115
  size: global.size.xs,
116
116
  },
117
117
  ratio: "16 / 9",
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion.entry.js","sources":["../../src/Component/Accordion/Elements/AccordionGroup.ts"],"sourcesContent":["/**\n * Accordion Group\n * @file Support opening and closing all.\n */\n\nexport default class AccordionGroup extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n }\n\n connectedCallback(): void {\n if (!this.accordions || !this.expandTrigger || !this.collapseTrigger) return\n this.collapseTrigger.disabled = true\n const { signal }: AbortController = this.controller\n this.addEventListener(\"click\", this.handleClick, {\n signal,\n })\n this.accordions.forEach(details =>\n details.addEventListener(\"toggle\", this.handleToggle, {\n signal,\n }),\n )\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n }\n\n handleClick = ({ target }) => {\n if (target === this.expandTrigger) {\n this.handleExpand()\n }\n if (target === this.collapseTrigger) {\n this.handleCollapse()\n }\n }\n\n handleExpand = () => {\n this.accordions.forEach(detail => (detail.open = true))\n this.expandTrigger.disabled = true\n this.collapseTrigger.disabled = false\n }\n\n handleCollapse = () => {\n this.accordions.forEach(detail => (detail.open = false))\n this.expandTrigger.disabled = false\n this.collapseTrigger.disabled = true\n }\n\n handleToggle = () => {\n this.expandTrigger.disabled = [...this.accordions].every(\n details => details.open === true,\n )\n this.collapseTrigger.disabled = [...this.accordions].every(\n details => details.open !== true,\n )\n }\n\n get accordions(): NodeListOf<HTMLDetailsElement> | null {\n const accordions: NodeListOf<HTMLDetailsElement> | null =\n this.querySelectorAll(\"details\")\n if (!accordions.length) {\n throw new Error(\n `${this.localName} must contain at least one <details> element.`,\n )\n }\n return accordions\n }\n\n get expandTrigger(): HTMLButtonElement | null {\n const trigger: HTMLButtonElement | null = this.querySelector(\n \"button[data-expand]\",\n )\n if (!trigger) {\n throw new Error(\n `${this.localName} must contain a <button data-expand> element.`,\n )\n }\n return trigger\n }\n\n get collapseTrigger(): HTMLButtonElement | null {\n const trigger: HTMLButtonElement | null = this.querySelector(\n \"button[data-collapse]\",\n )\n if (!trigger) {\n throw new Error(\n `${this.localName} must contain a <button data-collapse> element.`,\n )\n }\n return trigger\n }\n}\n\ncustomElements.define(\"mx-accordion-group\", AccordionGroup)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-accordion-group\": AccordionGroup\n }\n}\n"],"names":[],"mappings":";AAKA,MAAqB,uBAAuB,YAAY;AAAA,EAItD,cAAc;AACN;AAuBM,SAAA,cAAA,CAAC,EAAE,aAAa;AACxB,UAAA,WAAW,KAAK,eAAe;AACjC,aAAK,aAAa;AAAA,MACpB;AACI,UAAA,WAAW,KAAK,iBAAiB;AACnC,aAAK,eAAe;AAAA,MACtB;AAAA,IAAA;AAGF,SAAA,eAAe,MAAM;AACnB,WAAK,WAAW,QAAQ,CAAW,WAAA,OAAO,OAAO,IAAK;AACtD,WAAK,cAAc,WAAW;AAC9B,WAAK,gBAAgB,WAAW;AAAA,IAAA;AAGlC,SAAA,iBAAiB,MAAM;AACrB,WAAK,WAAW,QAAQ,CAAW,WAAA,OAAO,OAAO,KAAM;AACvD,WAAK,cAAc,WAAW;AAC9B,WAAK,gBAAgB,WAAW;AAAA,IAAA;AAGlC,SAAA,eAAe,MAAM;AACnB,WAAK,cAAc,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE;AAAA,QACjD,CAAA,YAAW,QAAQ,SAAS;AAAA,MAAA;AAE9B,WAAK,gBAAgB,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE;AAAA,QACnD,CAAA,YAAW,QAAQ,SAAS;AAAA,MAAA;AAAA,IAC9B;AAjDK,SAAA,aAAa,KAAK;AAClB,SAAA,aAAa,IAAI;EACxB;AAAA,EAEA,oBAA0B;AACpB,QAAA,CAAC,KAAK,cAAc,CAAC,KAAK,iBAAiB,CAAC,KAAK,gBAAiB;AACtE,SAAK,gBAAgB,WAAW;AAC1B,UAAA,EAAE,OAAO,IAAqB,KAAK;AACpC,SAAA,iBAAiB,SAAS,KAAK,aAAa;AAAA,MAC/C;AAAA,IAAA,CACD;AACD,SAAK,WAAW;AAAA,MAAQ,CACtB,YAAA,QAAQ,iBAAiB,UAAU,KAAK,cAAc;AAAA,QACpD;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,uBAA6B;AAC3B,SAAK,WAAW;EAClB;AAAA,EAgCA,IAAI,aAAoD;AAChD,UAAA,aACJ,KAAK,iBAAiB,SAAS;AAC7B,QAAA,CAAC,WAAW,QAAQ;AACtB,YAAM,IAAI;AAAA,QACR,GAAG,KAAK,SAAS;AAAA,MAAA;AAAA,IAErB;AACO,WAAA;AAAA,EACT;AAAA,EAEA,IAAI,gBAA0C;AAC5C,UAAM,UAAoC,KAAK;AAAA,MAC7C;AAAA,IAAA;AAEF,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI;AAAA,QACR,GAAG,KAAK,SAAS;AAAA,MAAA;AAAA,IAErB;AACO,WAAA;AAAA,EACT;AAAA,EAEA,IAAI,kBAA4C;AAC9C,UAAM,UAAoC,KAAK;AAAA,MAC7C;AAAA,IAAA;AAEF,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI;AAAA,QACR,GAAG,KAAK,SAAS;AAAA,MAAA;AAAA,IAErB;AACO,WAAA;AAAA,EACT;AACF;AAEA,eAAe,OAAO,sBAAsB,cAAc;"}
@@ -1,61 +0,0 @@
1
- import { m as makeAnchor } from "./utilities-B4YZb689.js";
2
- class Accordion extends HTMLElement {
3
- constructor() {
4
- super();
5
- this.handleOpen = () => {
6
- if (!this.details) return;
7
- this.details.open = true;
8
- };
9
- this.handleClose = () => {
10
- if (!this.details) return;
11
- this.details.open = false;
12
- };
13
- this.handleHash = () => {
14
- const { hash } = window.location;
15
- if (hash && hash === `#${this.details?.id}`) {
16
- this.handleOpen();
17
- }
18
- };
19
- this.generatedId = () => {
20
- const string = this.trigger?.textContent?.trim();
21
- return !string ? "" : makeAnchor(string);
22
- };
23
- this.internals_ = this.attachInternals();
24
- this.controller = new AbortController();
25
- }
26
- connectedCallback() {
27
- if (!this.details || !this.trigger) return;
28
- const { signal } = this.controller;
29
- document.addEventListener("beforeprint", this.handleOpen, {
30
- signal
31
- });
32
- document.addEventListener("afterprint", this.handleClose, {
33
- signal
34
- });
35
- this.handleHash();
36
- document.addEventListener("hashchange", this.handleHash, { signal });
37
- }
38
- disconnectedCallback() {
39
- this.controller.abort();
40
- }
41
- get details() {
42
- const details = this.querySelector("details");
43
- if (!details) {
44
- throw new Error(`${this.localName} must contain a <details> element.`);
45
- }
46
- details.id = details.id || this.generatedId();
47
- return details;
48
- }
49
- get trigger() {
50
- const trigger = this.querySelector("summary");
51
- if (!trigger) {
52
- throw new Error(`${this.localName} must contain a <summary> element.`);
53
- }
54
- return trigger;
55
- }
56
- }
57
- customElements.define("mx-accordion", Accordion);
58
- export {
59
- Accordion as A
60
- };
61
- //# sourceMappingURL=Accordion-DSze7pxN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Accordion-DSze7pxN.js","sources":["../../../src/Component/Accordion/Elements/Accordion.ts"],"sourcesContent":["/**\n * Accordion\n * @file Support opening on hash, adding an ID attribute and toggling on print.\n */\n\nimport { makeAnchor } from \"../../../Utility/utilities\"\n\nexport default class Accordion extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n }\n\n connectedCallback(): void {\n if (!this.details || !this.trigger) return\n\n const { signal }: AbortController = this.controller\n document.addEventListener(\"beforeprint\", this.handleOpen, {\n signal,\n })\n document.addEventListener(\"afterprint\", this.handleClose, {\n signal,\n })\n this.handleHash()\n document.addEventListener(\"hashchange\", this.handleHash, { signal })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n }\n\n handleOpen = (): void => {\n if (!this.details) return\n this.details.open = true\n }\n\n handleClose = (): void => {\n if (!this.details) return\n this.details.open = false\n }\n\n handleHash = (): void => {\n const { hash }: Location = window.location\n if (hash && hash === `#${this.details?.id}`) {\n this.handleOpen()\n }\n }\n\n get details(): HTMLDetailsElement | null {\n const details: HTMLDetailsElement | null = this.querySelector(\"details\")\n if (!details) {\n throw new Error(`${this.localName} must contain a <details> element.`)\n }\n details.id = details.id || this.generatedId()\n return details\n }\n\n get trigger(): HTMLElement | null {\n const trigger: HTMLElement | null = this.querySelector(\"summary\")\n if (!trigger) {\n throw new Error(`${this.localName} must contain a <summary> element.`)\n }\n return trigger\n }\n\n generatedId = (): string => {\n const string: string | undefined = this.trigger?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n}\n\ncustomElements.define(\"mx-accordion\", Accordion)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-accordion\": Accordion\n }\n}\n"],"names":[],"mappings":";AAOA,MAAqB,kBAAkB,YAAY;AAAA,EAIjD,cAAc;AACN;AAuBR,SAAA,aAAa,MAAY;AACnB,UAAA,CAAC,KAAK,QAAS;AACnB,WAAK,QAAQ,OAAO;AAAA,IAAA;AAGtB,SAAA,cAAc,MAAY;AACpB,UAAA,CAAC,KAAK,QAAS;AACnB,WAAK,QAAQ,OAAO;AAAA,IAAA;AAGtB,SAAA,aAAa,MAAY;AACjB,YAAA,EAAE,KAAK,IAAc,OAAO;AAClC,UAAI,QAAQ,SAAS,IAAI,KAAK,SAAS,EAAE,IAAI;AAC3C,aAAK,WAAW;AAAA,MAClB;AAAA,IAAA;AAoBF,SAAA,cAAc,MAAc;AAC1B,YAAM,SAA6B,KAAK,SAAS,aAAa,KAAK;AACnE,aAAO,CAAC,SAAS,KAAK,WAAW,MAAM;AAAA,IAAA;AA1DlC,SAAA,aAAa,KAAK;AAClB,SAAA,aAAa,IAAI;EACxB;AAAA,EAEA,oBAA0B;AACxB,QAAI,CAAC,KAAK,WAAW,CAAC,KAAK,QAAS;AAE9B,UAAA,EAAE,OAAO,IAAqB,KAAK;AAChC,aAAA,iBAAiB,eAAe,KAAK,YAAY;AAAA,MACxD;AAAA,IAAA,CACD;AACQ,aAAA,iBAAiB,cAAc,KAAK,aAAa;AAAA,MACxD;AAAA,IAAA,CACD;AACD,SAAK,WAAW;AAChB,aAAS,iBAAiB,cAAc,KAAK,YAAY,EAAE,QAAQ;AAAA,EACrE;AAAA,EAEA,uBAA6B;AAC3B,SAAK,WAAW;EAClB;AAAA,EAmBA,IAAI,UAAqC;AACjC,UAAA,UAAqC,KAAK,cAAc,SAAS;AACvE,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,GAAG,KAAK,SAAS,oCAAoC;AAAA,IACvE;AACA,YAAQ,KAAK,QAAQ,MAAM,KAAK,YAAY;AACrC,WAAA;AAAA,EACT;AAAA,EAEA,IAAI,UAA8B;AAC1B,UAAA,UAA8B,KAAK,cAAc,SAAS;AAChE,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,GAAG,KAAK,SAAS,oCAAoC;AAAA,IACvE;AACO,WAAA;AAAA,EACT;AAMF;AAEA,eAAe,OAAO,gBAAgB,SAAS;"}
@@ -1,124 +0,0 @@
1
- import { m as makeAnchor } from "./utilities-B4YZb689.js";
2
- class DisclosureWidget {
3
- constructor(trigger, element, overrides, context = document) {
4
- this.init = () => {
5
- if (Object.prototype.hasOwnProperty.call(this.trigger, "disclosureWidget"))
6
- return;
7
- const { attribute, setInitialAttribute } = this.options;
8
- this.trigger.disclosureWidget = this;
9
- if (setInitialAttribute) this.element.setAttribute(attribute, "");
10
- this.attach();
11
- };
12
- this.handleToggle = () => {
13
- const { attribute, setInitialAttribute } = this.options;
14
- this.element.toggleAttribute(attribute);
15
- const hasAttribute = this.element.hasAttribute(attribute);
16
- this.isOpen = setInitialAttribute ? !hasAttribute : hasAttribute;
17
- this.trigger.setAttribute("aria-expanded", String(this.isOpen));
18
- const newEvent = new CustomEvent(
19
- "disclosure-toggle",
20
- {
21
- bubbles: true,
22
- cancelable: true,
23
- detail: {
24
- isOpen: this.isOpen,
25
- id: this.id,
26
- options: this.options,
27
- target: this.element
28
- }
29
- }
30
- );
31
- this.trigger.dispatchEvent(newEvent);
32
- };
33
- this.handleMouse = (event) => {
34
- const { currentTarget, type, relatedTarget } = event;
35
- if (type === "mouseover" || type === "mouseout") {
36
- const triggerParent = this.trigger.parentNode;
37
- if (triggerParent !== currentTarget || triggerParent.contains(relatedTarget))
38
- return;
39
- } else if (this.trigger !== currentTarget) return;
40
- const { shouldPreventDefault } = this.options;
41
- this.handleToggle();
42
- if (shouldPreventDefault) {
43
- event.preventDefault();
44
- event.stopPropagation();
45
- }
46
- };
47
- this.handleKeyboard = (event) => {
48
- const { key, target } = event;
49
- if (this.trigger !== target) return;
50
- const { isOpen } = this;
51
- const { shouldPreventDefault } = this.options;
52
- switch (key) {
53
- case "ArrowDown":
54
- case "Enter":
55
- if (!isOpen) this.handleToggle();
56
- if (shouldPreventDefault) event.preventDefault();
57
- break;
58
- case "ArrowUp":
59
- case "Escape":
60
- if (isOpen) this.handleToggle();
61
- if (shouldPreventDefault) event.preventDefault();
62
- break;
63
- }
64
- };
65
- this.attach = () => {
66
- if (this.attached) return;
67
- const { clickEvent } = this.options;
68
- if (clickEvent === "mouseover") {
69
- const parent = this.trigger.parentNode;
70
- parent.addEventListener("mouseover", this.handleMouse);
71
- parent.addEventListener("mouseout", this.handleMouse);
72
- } else {
73
- this.trigger.addEventListener("click", this.handleMouse);
74
- }
75
- this.trigger.addEventListener("keydown", this.handleKeyboard);
76
- this.trigger.setAttribute("aria-expanded", "false");
77
- if (!this.trigger.hasAttribute("aria-controls"))
78
- this.trigger.setAttribute("aria-controls", this.id);
79
- this.attached = true;
80
- };
81
- this.detach = () => {
82
- if (!this.attached) return;
83
- if (this.isOpen) {
84
- this.handleToggle();
85
- }
86
- const { clickEvent } = this.options;
87
- if (clickEvent === "mouseover") {
88
- const parent = this.trigger.parentNode;
89
- parent.removeEventListener("mouseover", this.handleMouse);
90
- parent.removeEventListener("mouseout", this.handleMouse);
91
- } else {
92
- this.trigger.removeEventListener("click", this.handleMouse);
93
- }
94
- this.trigger.removeEventListener("keydown", this.handleKeyboard);
95
- this.trigger.removeAttribute("aria-expanded");
96
- this.attached = false;
97
- };
98
- this.generatedId = () => {
99
- const string = this.trigger?.textContent?.trim();
100
- return !string ? "" : makeAnchor(string);
101
- };
102
- if (!trigger) {
103
- throw new Error("toggle is required.");
104
- }
105
- if (!element) {
106
- throw new Error("element is required.");
107
- }
108
- const options = {
109
- attribute: "inert",
110
- shouldPreventDefault: true,
111
- setInitialAttribute: true,
112
- clickEvent: "click"
113
- };
114
- this.options = { ...options, ...overrides };
115
- this.context = context || document;
116
- this.trigger = trigger;
117
- this.element = element;
118
- this.id = this.element.id || this.generatedId();
119
- }
120
- }
121
- export {
122
- DisclosureWidget as D
123
- };
124
- //# sourceMappingURL=disclosure-widget-CQLPJ8Ta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disclosure-widget-CQLPJ8Ta.js","sources":["../../../src/Utility/Elements/disclosure-widget.ts"],"sourcesContent":["/**\n * Class for a generic Disclosure Widget.\n */\nimport { makeAnchor } from \"../utilities\"\n\ntype DisclosureWidgetOptions = {\n attribute?: string\n shouldPreventDefault?: boolean\n setInitialAttribute?: boolean\n clickEvent?: \"click\" | \"mouseover\"\n}\n\nexport type DisclosureWidgetEvent = {\n isOpen: boolean\n id: string\n options: DisclosureWidgetOptions\n target: Element\n}\n\nexport default class DisclosureWidget {\n options: DisclosureWidgetOptions\n context: Document | Element\n trigger: Element & { disclosureWidget?: DisclosureWidget }\n element: Element\n id: string\n isOpen?: boolean\n attached?: boolean\n\n constructor(\n trigger: Element,\n element: Element,\n overrides?: DisclosureWidgetOptions,\n context: Element | Document = document,\n ) {\n if (!trigger) {\n throw new Error(\"toggle is required.\")\n }\n if (!element) {\n throw new Error(\"element is required.\")\n }\n const options: DisclosureWidgetOptions = {\n attribute: \"inert\",\n shouldPreventDefault: true,\n setInitialAttribute: true,\n clickEvent: \"click\",\n }\n\n this.options = { ...options, ...overrides }\n this.context = context || document\n this.trigger = trigger\n this.element = element\n this.id = this.element.id || this.generatedId()\n }\n\n init = (): void => {\n if (Object.prototype.hasOwnProperty.call(this.trigger, \"disclosureWidget\"))\n return\n const { attribute, setInitialAttribute } = this.options\n this.trigger.disclosureWidget = this\n if (setInitialAttribute) this.element.setAttribute(attribute, \"\")\n this.attach()\n }\n\n handleToggle = (): void => {\n const { attribute, setInitialAttribute } = this.options\n this.element.toggleAttribute(attribute)\n const hasAttribute: boolean = this.element.hasAttribute(attribute)\n this.isOpen = setInitialAttribute ? !hasAttribute : hasAttribute\n this.trigger.setAttribute(\"aria-expanded\", String(this.isOpen))\n const newEvent: CustomEvent<DisclosureWidgetEvent> = new CustomEvent(\n \"disclosure-toggle\",\n {\n bubbles: true,\n cancelable: true,\n detail: {\n isOpen: this.isOpen,\n id: this.id,\n options: this.options,\n target: this.element,\n },\n },\n )\n this.trigger.dispatchEvent(newEvent)\n }\n\n handleMouse = (event: MouseEvent): void => {\n const { currentTarget, type, relatedTarget } = event\n\n if (type === \"mouseover\" || type === \"mouseout\") {\n const triggerParent = this.trigger.parentNode\n if (\n triggerParent !== currentTarget ||\n triggerParent.contains(relatedTarget as HTMLElement)\n )\n return\n } else if (this.trigger !== currentTarget) return\n\n const { shouldPreventDefault } = this.options\n this.handleToggle()\n if (shouldPreventDefault) {\n event.preventDefault()\n event.stopPropagation()\n }\n }\n\n handleKeyboard = (event: KeyboardEvent): void => {\n const { key, target } = event\n if (this.trigger !== target) return\n const { isOpen } = this\n const { shouldPreventDefault } = this.options\n\n switch (key) {\n // Down/Enter should open it.\n case \"ArrowDown\":\n case \"Enter\":\n if (!isOpen) this.handleToggle()\n if (shouldPreventDefault) event.preventDefault()\n break\n\n // Up/Esc should close it.\n case \"ArrowUp\":\n case \"Escape\":\n if (isOpen) this.handleToggle()\n if (shouldPreventDefault) event.preventDefault()\n break\n\n default:\n break\n }\n }\n\n attach = (): void => {\n if (this.attached) return\n const { clickEvent } = this.options\n if (clickEvent === \"mouseover\") {\n const parent = this.trigger.parentNode\n parent.addEventListener(\"mouseover\", this.handleMouse)\n parent.addEventListener(\"mouseout\", this.handleMouse)\n } else {\n this.trigger.addEventListener(\"click\", this.handleMouse)\n }\n this.trigger.addEventListener(\"keydown\", this.handleKeyboard)\n\n this.trigger.setAttribute(\"aria-expanded\", \"false\")\n if (!this.trigger.hasAttribute(\"aria-controls\"))\n this.trigger.setAttribute(\"aria-controls\", this.id)\n this.attached = true\n }\n\n detach = (): void => {\n if (!this.attached) return\n if (this.isOpen) {\n this.handleToggle()\n }\n const { clickEvent } = this.options\n if (clickEvent === \"mouseover\") {\n const parent = this.trigger.parentNode\n parent.removeEventListener(\"mouseover\", this.handleMouse)\n parent.removeEventListener(\"mouseout\", this.handleMouse)\n } else {\n this.trigger.removeEventListener(\"click\", this.handleMouse)\n }\n this.trigger.removeEventListener(\"keydown\", this.handleKeyboard)\n\n this.trigger.removeAttribute(\"aria-expanded\")\n this.attached = false\n }\n\n generatedId = (): string => {\n const string: string | undefined = this.trigger?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n}\n"],"names":[],"mappings":"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"}