@digigov/ui 2.0.0-8e254888 → 2.0.0-a32ad9b2

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 (486) hide show
  1. package/app/Footer/Footer.stories/index.js +49 -1
  2. package/app/Footer/Footer.stories.d.ts +43 -1
  3. package/app/Footer/Footer.stories.js.map +3 -3
  4. package/app/Footer/FooterLink/index.js +17 -0
  5. package/app/Footer/FooterLink/package.json +6 -0
  6. package/app/Footer/FooterLink.d.ts +7 -0
  7. package/app/Footer/FooterLink.js.map +7 -0
  8. package/app/Footer/index.d.ts +1 -1
  9. package/app/Footer/index.js +1 -1
  10. package/app/Footer/index.js.map +1 -1
  11. package/app/Header/Header.stories/index.js +53 -1
  12. package/app/Header/Header.stories.d.ts +50 -1
  13. package/app/Header/Header.stories.js.map +3 -3
  14. package/app/Header/HeaderLogo/index.js +12 -2
  15. package/app/Header/HeaderLogo.d.ts +6 -2
  16. package/app/Header/HeaderLogo.js.map +3 -3
  17. package/app/Header/HeaderSecondaryLogo/index.js +9 -1
  18. package/app/Header/HeaderSecondaryLogo.d.ts +6 -2
  19. package/app/Header/HeaderSecondaryLogo.js.map +3 -3
  20. package/app/Header/HeaderTitle/index.js +10 -2
  21. package/app/Header/HeaderTitle.d.ts +6 -2
  22. package/app/Header/HeaderTitle.js.map +3 -3
  23. package/app/Modal/hooks/index.js +2 -6
  24. package/app/Modal/hooks.d.ts +2 -2
  25. package/app/Modal/hooks.js.map +2 -2
  26. package/app/Modal/index.web/index.js +5 -5
  27. package/app/Modal/index.web.js.map +2 -2
  28. package/app/OutdatedBrowserBanner/index.d.ts +1 -0
  29. package/app/OutdatedBrowserBanner/index.js.map +2 -2
  30. package/app/PhaseBannerHeader/index.d.ts +1 -1
  31. package/app/PhaseBannerHeader/index.js.map +2 -2
  32. package/app/QrCodeScanner/index.js.map +2 -2
  33. package/app/Skeleton/Skeleton.stories/index.js +28 -0
  34. package/app/Skeleton/Skeleton.stories.d.ts +56 -0
  35. package/app/Skeleton/Skeleton.stories.js.map +2 -2
  36. package/cjs/app/Footer/Footer.stories/index.js +37 -2
  37. package/cjs/app/Footer/Footer.stories.js.map +4 -4
  38. package/cjs/app/Footer/FooterLink/index.js +50 -0
  39. package/cjs/app/Footer/FooterLink.js.map +7 -0
  40. package/cjs/app/Footer/index.js +3 -3
  41. package/cjs/app/Footer/index.js.map +2 -2
  42. package/cjs/app/Header/Header.stories/index.js +51 -2
  43. package/cjs/app/Header/Header.stories.js.map +4 -4
  44. package/cjs/app/Header/HeaderLogo/index.js +13 -4
  45. package/cjs/app/Header/HeaderLogo.js.map +3 -3
  46. package/cjs/app/Header/HeaderSecondaryLogo/index.js +12 -4
  47. package/cjs/app/Header/HeaderSecondaryLogo.js.map +3 -3
  48. package/cjs/app/Header/HeaderTitle/index.js +11 -4
  49. package/cjs/app/Header/HeaderTitle.js.map +3 -3
  50. package/cjs/app/Modal/hooks/index.js +2 -6
  51. package/cjs/app/Modal/hooks.js.map +2 -2
  52. package/cjs/app/Modal/index.web/index.js +5 -5
  53. package/cjs/app/Modal/index.web.js.map +2 -2
  54. package/cjs/app/OutdatedBrowserBanner/index.js.map +2 -2
  55. package/cjs/app/PhaseBannerHeader/index.js.map +2 -2
  56. package/cjs/app/QrCodeScanner/index.js.map +2 -2
  57. package/cjs/app/Skeleton/Skeleton.stories/index.js +30 -1
  58. package/cjs/app/Skeleton/Skeleton.stories.js.map +2 -2
  59. package/cjs/content/Accordion/Accordion.stories/index.js +54 -2
  60. package/cjs/content/Accordion/Accordion.stories.js.map +4 -4
  61. package/cjs/content/Accordion/hooks.js.map +1 -1
  62. package/cjs/content/Blockquote/Blockquote.stories/index.js +20 -1
  63. package/cjs/content/Blockquote/Blockquote.stories.js.map +2 -2
  64. package/cjs/content/Card/Card.stories/index.js +78 -2
  65. package/cjs/content/Card/Card.stories.js.map +4 -4
  66. package/cjs/content/Chip/Chip.stories/index.js +24 -1
  67. package/cjs/content/Chip/Chip.stories.js.map +2 -2
  68. package/cjs/content/List/List.stories/index.js +40 -2
  69. package/cjs/content/List/List.stories.js.map +4 -4
  70. package/cjs/content/Table/Table.stories/index.js +157 -2
  71. package/cjs/content/Table/Table.stories.js.map +4 -4
  72. package/cjs/feedback/CopyToClipboard/CopyToClipboard.stories/index.js +61 -3
  73. package/cjs/feedback/CopyToClipboard/CopyToClipboard.stories.js.map +4 -4
  74. package/cjs/feedback/ErrorSummary/ErrorSummary.stories/index.js +42 -3
  75. package/cjs/feedback/ErrorSummary/ErrorSummary.stories.js.map +4 -4
  76. package/cjs/feedback/NotificationBanner/NotificationBanner.stories/index.js +36 -1
  77. package/cjs/feedback/NotificationBanner/NotificationBanner.stories.js.map +2 -2
  78. package/cjs/feedback/PhaseBanner/PhaseBanner.stories/index.js +27 -3
  79. package/cjs/feedback/PhaseBanner/PhaseBanner.stories.js.map +4 -4
  80. package/cjs/feedback/WarningText/WarningText.stories/index.js +24 -1
  81. package/cjs/feedback/WarningText/WarningText.stories.js.map +2 -2
  82. package/cjs/form/AutoComplete/AutoComplete.stories/index.js +75 -0
  83. package/cjs/form/AutoComplete/AutoComplete.stories.js.map +4 -4
  84. package/cjs/form/AutoComplete/Status/index.js.map +2 -2
  85. package/cjs/form/AutoComplete/index.js.map +2 -2
  86. package/cjs/form/Button/Button.stories/index.js +44 -13
  87. package/cjs/form/Button/Button.stories.js.map +3 -3
  88. package/cjs/form/Button/ButtonLink/index.js +13 -4
  89. package/cjs/form/Button/ButtonLink.js.map +3 -3
  90. package/cjs/form/Button/CallToAction/index.js +11 -4
  91. package/cjs/form/Button/CallToAction.js.map +3 -3
  92. package/cjs/form/Button/__stories__/Primary/index.js +18 -1
  93. package/cjs/form/Button/__stories__/Primary.js.map +2 -2
  94. package/cjs/form/Checkbox/Checkbox.stories/index.js +113 -2
  95. package/cjs/form/Checkbox/Checkbox.stories.js.map +4 -4
  96. package/cjs/form/DateInputContainer/DateInputContainer.stories/index.js +77 -2
  97. package/cjs/form/DateInputContainer/DateInputContainer.stories.js.map +4 -4
  98. package/cjs/form/ErrorMessage/ErrorMessage.stories/index.js +26 -1
  99. package/cjs/form/ErrorMessage/ErrorMessage.stories.js.map +4 -4
  100. package/cjs/form/RadioContainer/RadioContainer.stories/index.js +115 -2
  101. package/cjs/form/RadioContainer/RadioContainer.stories.js.map +4 -4
  102. package/cjs/form/SelectContainer/SelectContainer.stories/index.js +79 -2
  103. package/cjs/form/SelectContainer/SelectContainer.stories.js.map +4 -4
  104. package/cjs/form/SingleCharacterInputs/SingleCharacterInput.stories/index.js +93 -2
  105. package/cjs/form/SingleCharacterInputs/SingleCharacterInput.stories.js.map +4 -4
  106. package/cjs/form/TextArea/TextArea.stories/index.js +88 -2
  107. package/cjs/form/TextArea/TextArea.stories.js.map +4 -4
  108. package/cjs/form/TextInput/TextInput.stories/index.js +94 -0
  109. package/cjs/form/TextInput/TextInput.stories.js.map +4 -4
  110. package/cjs/govgr/GovGRLogo/index.js +14 -4
  111. package/cjs/govgr/GovGRLogo/index.js.map +3 -3
  112. package/cjs/layouts/Stack/__stories__/AlignItems/index.js +2 -2
  113. package/cjs/layouts/Stack/__stories__/AlignItems.js.map +3 -3
  114. package/cjs/layouts/Stack/__stories__/Default/index.js +2 -2
  115. package/cjs/layouts/Stack/__stories__/Default.js.map +3 -3
  116. package/cjs/layouts/Stack/__stories__/JustifyContent/index.js +2 -2
  117. package/cjs/layouts/Stack/__stories__/JustifyContent.js.map +3 -3
  118. package/cjs/layouts/Stack/__stories__/NoWrap/index.js +2 -2
  119. package/cjs/layouts/Stack/__stories__/NoWrap.js.map +3 -3
  120. package/cjs/layouts/Stack/__stories__/Row/index.js +2 -2
  121. package/cjs/layouts/Stack/__stories__/Row.js.map +3 -3
  122. package/cjs/layouts/Stack/__stories__/Spacing/index.js +2 -2
  123. package/cjs/layouts/Stack/__stories__/Spacing.js.map +3 -3
  124. package/cjs/layouts/Stack/index.js +6 -0
  125. package/cjs/layouts/Stack/index.js.map +2 -2
  126. package/cjs/lazy/index.js +13 -2
  127. package/cjs/lazy.js.map +2 -2
  128. package/cjs/navigation/BackLink/index.js +13 -4
  129. package/cjs/navigation/BackLink/index.js.map +3 -3
  130. package/cjs/navigation/Breadcrumbs/BreadcrumbsListItemLink/index.js +48 -0
  131. package/cjs/navigation/Breadcrumbs/BreadcrumbsListItemLink.js.map +7 -0
  132. package/cjs/navigation/Breadcrumbs/index.js +2 -2
  133. package/cjs/navigation/Breadcrumbs/index.js.map +2 -2
  134. package/cjs/navigation/Drawer/hooks/index.js +2 -6
  135. package/cjs/navigation/Drawer/hooks.js.map +2 -2
  136. package/cjs/navigation/Link/index.js +6 -2
  137. package/cjs/navigation/Link/index.js.map +2 -2
  138. package/cjs/navigation/NavList/NavListAuto/index.js +7 -13
  139. package/cjs/navigation/NavList/NavListAuto/index.js.map +3 -3
  140. package/cjs/navigation/NavList/NavListItemAction/index.js +66 -0
  141. package/cjs/navigation/NavList/NavListItemAction.js.map +7 -0
  142. package/cjs/navigation/NavList/NavListItemLink/index.js +48 -0
  143. package/cjs/navigation/NavList/NavListItemLink.js.map +7 -0
  144. package/cjs/navigation/NavList/index.js +4 -4
  145. package/cjs/navigation/NavList/index.js.map +2 -2
  146. package/cjs/navigation/Pagination/hooks/index.js +2 -2
  147. package/cjs/navigation/Pagination/hooks.js.map +2 -2
  148. package/cjs/navigation/Tabs/__stories__/Default/index.js +1 -2
  149. package/cjs/navigation/Tabs/__stories__/Default.js.map +2 -2
  150. package/cjs/navigation/Tabs/__stories__/UsingAccordion/index.js +7 -8
  151. package/cjs/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
  152. package/cjs/navigation/Tabs/hooks.js.map +1 -1
  153. package/cjs/registry/index.js +99 -91
  154. package/cjs/registry.js.map +2 -2
  155. package/cjs/typography/CodeBlock/index.js +1 -2
  156. package/cjs/typography/CodeBlock/index.js.map +2 -2
  157. package/cjs/utils/hooks/useDebounce/index.js +1 -1
  158. package/cjs/utils/hooks/useDebounce.js.map +2 -2
  159. package/content/Accordion/Accordion.stories/index.js +58 -1
  160. package/content/Accordion/Accordion.stories.d.ts +79 -1
  161. package/content/Accordion/Accordion.stories.js.map +3 -3
  162. package/content/Accordion/hooks.js.map +1 -1
  163. package/content/Blockquote/Blockquote.stories/index.js +18 -0
  164. package/content/Blockquote/Blockquote.stories.d.ts +27 -0
  165. package/content/Blockquote/Blockquote.stories.js.map +2 -2
  166. package/content/Card/Card.stories/index.js +81 -1
  167. package/content/Card/Card.stories.d.ts +126 -1
  168. package/content/Card/Card.stories.js.map +3 -3
  169. package/content/Chip/Chip.stories/index.js +22 -0
  170. package/content/Chip/Chip.stories.d.ts +36 -0
  171. package/content/Chip/Chip.stories.js.map +2 -2
  172. package/content/List/List.stories/index.js +38 -1
  173. package/content/List/List.stories.d.ts +51 -1
  174. package/content/List/List.stories.js.map +3 -3
  175. package/content/Table/Table.stories/index.js +164 -1
  176. package/content/Table/Table.stories.d.ts +124 -1
  177. package/content/Table/Table.stories.js.map +3 -3
  178. package/feedback/CopyToClipboard/CopyToClipboard.stories/index.js +58 -1
  179. package/feedback/CopyToClipboard/CopyToClipboard.stories.d.ts +81 -1
  180. package/feedback/CopyToClipboard/CopyToClipboard.stories.js.map +3 -3
  181. package/feedback/ErrorSummary/ErrorSummary.stories/index.js +39 -1
  182. package/feedback/ErrorSummary/ErrorSummary.stories.d.ts +42 -1
  183. package/feedback/ErrorSummary/ErrorSummary.stories.js.map +3 -3
  184. package/feedback/NotificationBanner/NotificationBanner.stories/index.js +34 -0
  185. package/feedback/NotificationBanner/NotificationBanner.stories.d.ts +60 -0
  186. package/feedback/NotificationBanner/NotificationBanner.stories.js.map +2 -2
  187. package/feedback/PhaseBanner/PhaseBanner.stories/index.js +28 -1
  188. package/feedback/PhaseBanner/PhaseBanner.stories.d.ts +30 -1
  189. package/feedback/PhaseBanner/PhaseBanner.stories.js.map +3 -3
  190. package/feedback/WarningText/WarningText.stories/index.js +22 -0
  191. package/feedback/WarningText/WarningText.stories.d.ts +36 -0
  192. package/feedback/WarningText/WarningText.stories.js.map +2 -2
  193. package/form/AutoComplete/AutoComplete.stories/index.js +74 -0
  194. package/form/AutoComplete/AutoComplete.stories.d.ts +82 -0
  195. package/form/AutoComplete/AutoComplete.stories.js.map +3 -3
  196. package/form/AutoComplete/Status/index.d.ts +1 -1
  197. package/form/AutoComplete/Status/index.js.map +2 -2
  198. package/form/AutoComplete/index.d.ts +1 -1
  199. package/form/AutoComplete/index.js.map +2 -2
  200. package/form/Button/Button.stories/index.js +43 -3
  201. package/form/Button/Button.stories.d.ts +59 -2
  202. package/form/Button/Button.stories.js.map +2 -2
  203. package/form/Button/ButtonLink/index.js +12 -2
  204. package/form/Button/ButtonLink.d.ts +6 -2
  205. package/form/Button/ButtonLink.js.map +3 -3
  206. package/form/Button/CallToAction/index.js +10 -2
  207. package/form/Button/CallToAction.d.ts +6 -2
  208. package/form/Button/CallToAction.js.map +3 -3
  209. package/form/Button/__stories__/Primary/index.js +18 -1
  210. package/form/Button/__stories__/Primary.d.ts +8 -1
  211. package/form/Button/__stories__/Primary.js.map +2 -2
  212. package/form/Checkbox/Checkbox.stories/index.js +115 -1
  213. package/form/Checkbox/Checkbox.stories.d.ts +166 -1
  214. package/form/Checkbox/Checkbox.stories.js.map +3 -3
  215. package/form/DateInputContainer/DateInputContainer.stories/index.js +82 -1
  216. package/form/DateInputContainer/DateInputContainer.stories.d.ts +141 -1
  217. package/form/DateInputContainer/DateInputContainer.stories.js.map +3 -3
  218. package/form/ErrorMessage/ErrorMessage.stories/index.js +24 -0
  219. package/form/ErrorMessage/ErrorMessage.stories.d.ts +33 -0
  220. package/form/ErrorMessage/ErrorMessage.stories.js.map +3 -3
  221. package/form/RadioContainer/RadioContainer.stories/index.js +117 -1
  222. package/form/RadioContainer/RadioContainer.stories.d.ts +174 -1
  223. package/form/RadioContainer/RadioContainer.stories.js.map +3 -3
  224. package/form/SelectContainer/SelectContainer.stories/index.js +80 -1
  225. package/form/SelectContainer/SelectContainer.stories.d.ts +135 -1
  226. package/form/SelectContainer/SelectContainer.stories.js.map +3 -3
  227. package/form/SingleCharacterInputs/SingleCharacterInput.stories/index.js +98 -1
  228. package/form/SingleCharacterInputs/SingleCharacterInput.stories.d.ts +108 -1
  229. package/form/SingleCharacterInputs/SingleCharacterInput.stories.js.map +3 -3
  230. package/form/TextArea/TextArea.stories/index.js +86 -1
  231. package/form/TextArea/TextArea.stories.d.ts +117 -1
  232. package/form/TextArea/TextArea.stories.js.map +3 -3
  233. package/form/TextInput/TextInput.stories/index.js +93 -0
  234. package/form/TextInput/TextInput.stories.d.ts +118 -0
  235. package/form/TextInput/TextInput.stories.js.map +3 -3
  236. package/govgr/GovGRLogo/index.d.ts +6 -2
  237. package/govgr/GovGRLogo/index.js +11 -1
  238. package/govgr/GovGRLogo/index.js.map +3 -3
  239. package/index.js +1 -1
  240. package/layouts/Stack/__stories__/AlignItems/index.js +1 -1
  241. package/layouts/Stack/__stories__/AlignItems.js.map +2 -2
  242. package/layouts/Stack/__stories__/Default/index.js +1 -1
  243. package/layouts/Stack/__stories__/Default.js.map +2 -2
  244. package/layouts/Stack/__stories__/JustifyContent/index.js +1 -1
  245. package/layouts/Stack/__stories__/JustifyContent.js.map +2 -2
  246. package/layouts/Stack/__stories__/NoWrap/index.js +1 -1
  247. package/layouts/Stack/__stories__/NoWrap.js.map +2 -2
  248. package/layouts/Stack/__stories__/Row/index.js +1 -1
  249. package/layouts/Stack/__stories__/Row.js.map +2 -2
  250. package/layouts/Stack/__stories__/Spacing/index.js +1 -1
  251. package/layouts/Stack/__stories__/Spacing.js.map +2 -2
  252. package/layouts/Stack/index.d.ts +1 -0
  253. package/layouts/Stack/index.js +1 -0
  254. package/layouts/Stack/index.js.map +2 -2
  255. package/lazy/index.js +13 -2
  256. package/navigation/BackLink/index.d.ts +6 -2
  257. package/navigation/BackLink/index.js +12 -2
  258. package/navigation/BackLink/index.js.map +3 -3
  259. package/navigation/Breadcrumbs/BreadcrumbsListItemLink/index.js +15 -0
  260. package/navigation/Breadcrumbs/BreadcrumbsListItemLink/package.json +6 -0
  261. package/navigation/Breadcrumbs/BreadcrumbsListItemLink.d.ts +7 -0
  262. package/navigation/Breadcrumbs/BreadcrumbsListItemLink.js.map +7 -0
  263. package/navigation/Breadcrumbs/index.d.ts +1 -1
  264. package/navigation/Breadcrumbs/index.js +1 -1
  265. package/navigation/Breadcrumbs/index.js.map +1 -1
  266. package/navigation/Drawer/hooks/index.js +2 -6
  267. package/navigation/Drawer/hooks.js.map +2 -2
  268. package/navigation/Link/index.js +6 -2
  269. package/navigation/Link/index.js.map +2 -2
  270. package/navigation/NavList/NavListAuto/index.js +10 -8
  271. package/navigation/NavList/NavListAuto/index.js.map +2 -2
  272. package/navigation/NavList/NavListItemAction/index.js +37 -0
  273. package/navigation/NavList/NavListItemAction/package.json +6 -0
  274. package/navigation/NavList/NavListItemAction.d.ts +27 -0
  275. package/navigation/NavList/NavListItemAction.js.map +7 -0
  276. package/navigation/NavList/NavListItemLink/index.js +15 -0
  277. package/navigation/NavList/NavListItemLink/package.json +6 -0
  278. package/navigation/NavList/NavListItemLink.d.ts +7 -0
  279. package/navigation/NavList/NavListItemLink.js.map +7 -0
  280. package/navigation/NavList/index.d.ts +2 -2
  281. package/navigation/NavList/index.js +2 -2
  282. package/navigation/NavList/index.js.map +2 -2
  283. package/navigation/Pagination/hooks/index.js +2 -2
  284. package/navigation/Pagination/hooks.js.map +2 -2
  285. package/navigation/Tabs/__stories__/Default/index.js +1 -2
  286. package/navigation/Tabs/__stories__/Default.js.map +2 -2
  287. package/navigation/Tabs/__stories__/UsingAccordion/index.js +7 -8
  288. package/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
  289. package/navigation/Tabs/hooks.d.ts +1 -1
  290. package/navigation/Tabs/hooks.js.map +1 -1
  291. package/package.json +7 -7
  292. package/registry/index.js +99 -91
  293. package/src/app/BannerContainer/index.test.tsx +4 -0
  294. package/src/app/Footer/Footer.stories.jsx +179 -0
  295. package/src/app/Footer/FooterLink.tsx +20 -0
  296. package/src/app/Footer/index.test.tsx +4 -0
  297. package/src/app/Footer/index.tsx +1 -1
  298. package/src/app/Footer/interaction.test.tsx +4 -0
  299. package/src/app/Header/Header.stories.jsx +102 -0
  300. package/src/app/Header/HeaderLogo.tsx +18 -2
  301. package/src/app/Header/HeaderSecondaryLogo.tsx +20 -2
  302. package/src/app/Header/HeaderTitle.tsx +20 -2
  303. package/src/app/Header/index.test.tsx +4 -0
  304. package/src/app/Header/interaction.test.tsx +8 -0
  305. package/src/app/Loader/index.test.tsx +4 -0
  306. package/src/app/Masthead/index.test.tsx +4 -0
  307. package/src/app/Masthead/interaction.test.tsx +4 -0
  308. package/src/app/Modal/hooks.ts +8 -8
  309. package/src/app/Modal/index.test.tsx +4 -0
  310. package/src/app/Modal/index.web.tsx +5 -7
  311. package/src/app/Modal/interaction.test.tsx +12 -0
  312. package/src/app/NotFound/index.test.tsx +4 -0
  313. package/src/app/OutdatedBrowserBanner/index.tsx +1 -1
  314. package/src/app/Panel/index.test.tsx +4 -0
  315. package/src/app/PhaseBannerHeader/index.test.tsx +4 -0
  316. package/src/app/PhaseBannerHeader/index.tsx +1 -1
  317. package/src/app/QrCodeScanner/index.tsx +0 -1
  318. package/src/app/QrCodeViewer/index.test.tsx +4 -0
  319. package/src/app/Skeleton/Skeleton.stories.js +30 -0
  320. package/src/app/Skeleton/index.test.tsx +4 -0
  321. package/src/content/Accordion/Accordion.stories.jsx +86 -0
  322. package/src/content/Accordion/hooks.ts +1 -1
  323. package/src/content/Accordion/index.test.tsx +4 -0
  324. package/src/content/Accordion/interaction.test.tsx +4 -0
  325. package/src/content/Blockquote/Blockquote.stories.js +20 -0
  326. package/src/content/Blockquote/index.test.tsx +4 -0
  327. package/src/content/Card/Card.stories.jsx +118 -0
  328. package/src/content/Card/index.test.tsx +4 -0
  329. package/src/content/Card/interaction.test.tsx +4 -0
  330. package/src/content/Chip/Chip.stories.js +22 -0
  331. package/src/content/Chip/index.test.tsx +4 -0
  332. package/src/content/Details/index.test.tsx +4 -0
  333. package/src/content/Details/interaction.test.tsx +4 -0
  334. package/src/content/List/List.stories.jsx +60 -0
  335. package/src/content/List/__snapshots__/index.spec.tsx.snap +13 -3
  336. package/src/content/List/index.test.tsx +4 -0
  337. package/src/content/Markdown/index.test.tsx +4 -0
  338. package/src/content/SafeHTML/index.test.tsx +4 -0
  339. package/src/content/StepNav/index.test.tsx +4 -0
  340. package/src/content/StepNav/interaction.test.tsx +4 -0
  341. package/src/content/SummaryList/index.test.tsx +4 -0
  342. package/src/content/SummaryList/interaction.test.tsx +4 -0
  343. package/src/content/Table/Table.stories.jsx +216 -0
  344. package/src/content/Table/index.test.tsx +4 -0
  345. package/src/content/Table/interaction.test.tsx +8 -0
  346. package/src/content/TaskList/index.test.tsx +4 -0
  347. package/src/content/Timeline/index.test.tsx +4 -0
  348. package/src/doc.mdx +49 -0
  349. package/src/feedback/CopyToClipboard/CopyToClipboard.stories.jsx +70 -0
  350. package/src/feedback/CopyToClipboard/doc.mdx +4 -2
  351. package/src/feedback/CopyToClipboard/index.test.tsx +4 -0
  352. package/src/feedback/CopyToClipboard/interaction.test.tsx +12 -0
  353. package/src/feedback/ErrorSummary/ErrorSummary.stories.jsx +67 -0
  354. package/src/feedback/ErrorSummary/__snapshots__/index.spec.tsx.snap +13 -3
  355. package/src/feedback/ErrorSummary/index.test.tsx +4 -0
  356. package/src/feedback/ErrorSummary/interaction.test.tsx +4 -0
  357. package/src/feedback/NotificationBanner/NotificationBanner.stories.js +36 -0
  358. package/src/feedback/NotificationBanner/__snapshots__/index.spec.tsx.snap +24 -14
  359. package/src/feedback/NotificationBanner/index.test.tsx +4 -0
  360. package/src/feedback/NotificationBanner/interaction.test.tsx +8 -0
  361. package/src/feedback/PhaseBanner/PhaseBanner.stories.jsx +47 -0
  362. package/src/feedback/PhaseBanner/index.test.tsx +4 -0
  363. package/src/feedback/PhaseBanner/interaction.test.tsx +4 -0
  364. package/src/feedback/WarningText/WarningText.stories.js +24 -0
  365. package/src/feedback/WarningText/__snapshots__/index.spec.tsx.snap +13 -3
  366. package/src/feedback/WarningText/index.test.tsx +4 -0
  367. package/src/form/AutoComplete/AutoComplete.stories.jsx +91 -0
  368. package/src/form/AutoComplete/Status/index.tsx +1 -1
  369. package/src/form/AutoComplete/index.test.tsx +4 -0
  370. package/src/form/AutoComplete/index.tsx +1 -1
  371. package/src/form/AutoComplete/interaction.test.tsx +4 -0
  372. package/src/form/Button/Button.stories.js +42 -2
  373. package/src/form/Button/ButtonLink.tsx +18 -2
  374. package/src/form/Button/CallToAction.tsx +20 -2
  375. package/src/form/Button/__stories__/Primary.tsx +24 -2
  376. package/src/form/Button/index.test.tsx +4 -0
  377. package/src/form/Button/interaction.test.tsx +20 -0
  378. package/src/form/Checkbox/Checkbox.stories.jsx +150 -0
  379. package/src/form/Checkbox/index.test.tsx +4 -0
  380. package/src/form/Checkbox/interaction.test.tsx +8 -0
  381. package/src/form/DateInputContainer/DateInputContainer.stories.jsx +115 -0
  382. package/src/form/DateInputContainer/index.test.tsx +4 -0
  383. package/src/form/DateInputContainer/interaction.test.tsx +8 -0
  384. package/src/form/ErrorMessage/ErrorMessage.stories.jsx +42 -0
  385. package/src/form/ErrorMessage/index.test.tsx +4 -0
  386. package/src/form/FileUpload/index.test.tsx +4 -0
  387. package/src/form/RadioContainer/RadioContainer.stories.jsx +157 -0
  388. package/src/form/RadioContainer/index.test.tsx +4 -0
  389. package/src/form/RadioContainer/interaction.test.tsx +8 -0
  390. package/src/form/SearchContainer/index.test.tsx +4 -0
  391. package/src/form/SelectContainer/SelectContainer.stories.jsx +107 -0
  392. package/src/form/SelectContainer/index.test.tsx +4 -0
  393. package/src/form/SelectContainer/interaction.test.tsx +4 -0
  394. package/src/form/SingleCharacterInputs/SingleCharacterInput.stories.jsx +130 -0
  395. package/src/form/SingleCharacterInputs/index.test.tsx +4 -0
  396. package/src/form/TextArea/TextArea.stories.jsx +117 -0
  397. package/src/form/TextArea/index.test.tsx +4 -0
  398. package/src/form/TextArea/interaction.test.tsx +12 -0
  399. package/src/form/TextInput/TextInput.stories.jsx +125 -0
  400. package/src/form/TextInput/index.test.tsx +4 -0
  401. package/src/form/TextInput/interaction.test.tsx +8 -0
  402. package/src/govgr/GovGRLogo/index.tsx +17 -2
  403. package/src/layouts/Basic/__snapshots__/index.spec.tsx.snap +3 -3
  404. package/src/layouts/Basic/index.test.tsx +4 -0
  405. package/src/layouts/Grid/index.test.tsx +4 -0
  406. package/src/layouts/Screen/index.test.tsx +4 -0
  407. package/src/layouts/Stack/__stories__/AlignItems.tsx +1 -1
  408. package/src/layouts/Stack/__stories__/Default.tsx +1 -1
  409. package/src/layouts/Stack/__stories__/JustifyContent.tsx +1 -1
  410. package/src/layouts/Stack/__stories__/NoWrap.tsx +1 -1
  411. package/src/layouts/Stack/__stories__/Row.tsx +1 -1
  412. package/src/layouts/Stack/__stories__/Spacing.tsx +1 -1
  413. package/src/layouts/Stack/index.test.tsx +4 -0
  414. package/src/layouts/Stack/index.tsx +1 -0
  415. package/src/lazy.js +13 -2
  416. package/src/navigation/BackLink/doc.mdx +1 -1
  417. package/src/navigation/BackLink/index.test.tsx +4 -0
  418. package/src/navigation/BackLink/index.tsx +19 -2
  419. package/src/navigation/BackLink/interaction.test.tsx +4 -0
  420. package/src/navigation/BackToTopLink/index.test.tsx +4 -0
  421. package/src/navigation/Breadcrumbs/BreadcrumbsListItemLink.tsx +22 -0
  422. package/src/navigation/Breadcrumbs/index.test.tsx +4 -0
  423. package/src/navigation/Breadcrumbs/index.tsx +1 -1
  424. package/src/navigation/Breadcrumbs/interaction.test.tsx +12 -0
  425. package/src/navigation/Drawer/hooks.ts +6 -6
  426. package/src/navigation/Drawer/index.test.tsx +4 -0
  427. package/src/navigation/Dropdown/doc.mdx +13 -7
  428. package/src/navigation/Dropdown/index.test.tsx +4 -0
  429. package/src/navigation/Dropdown/interaction.test.tsx +20 -0
  430. package/src/navigation/Link/index.test.tsx +4 -0
  431. package/src/navigation/Link/index.tsx +10 -5
  432. package/src/navigation/Link/interaction.test.tsx +12 -0
  433. package/src/navigation/NavList/NavListAuto/index.tsx +10 -8
  434. package/src/navigation/NavList/NavListItemAction.tsx +69 -0
  435. package/src/navigation/NavList/NavListItemLink.tsx +22 -0
  436. package/src/navigation/NavList/__snapshots__/index.spec.tsx.snap +13 -3
  437. package/src/navigation/NavList/doc.mdx +17 -15
  438. package/src/navigation/NavList/index.test.tsx +4 -0
  439. package/src/navigation/NavList/index.tsx +3 -2
  440. package/src/navigation/NavList/interaction.test.tsx +12 -0
  441. package/src/navigation/Pagination/doc.mdx +13 -8
  442. package/src/navigation/Pagination/hooks.ts +2 -2
  443. package/src/navigation/Pagination/index.test.tsx +4 -0
  444. package/src/navigation/Pagination/interaction.test.tsx +4 -0
  445. package/src/navigation/SkipLink/index.test.tsx +4 -0
  446. package/src/navigation/Tabs/__stories__/Default.tsx +109 -39
  447. package/src/navigation/Tabs/__stories__/UsingAccordion.tsx +121 -31
  448. package/src/navigation/Tabs/hooks.ts +2 -2
  449. package/src/navigation/Tabs/index.test.tsx +4 -0
  450. package/src/navigation/Tabs/interaction.test.tsx +6 -0
  451. package/src/registry.js +99 -91
  452. package/src/typography/CodeBlock/doc.mdx +1 -1
  453. package/src/typography/CodeBlock/index.test.tsx +4 -0
  454. package/src/typography/CodeBlock/index.tsx +14 -12
  455. package/src/typography/Heading/index.test.tsx +4 -0
  456. package/src/typography/HeadingCaption/index.test.tsx +4 -0
  457. package/src/typography/Hint/index.test.tsx +4 -0
  458. package/src/typography/NormalText/index.test.tsx +4 -0
  459. package/src/typography/Paragraph/index.test.tsx +4 -0
  460. package/src/utils/Base/doc.mdx +56 -3
  461. package/src/utils/VisuallyHidden/index.test.tsx +4 -0
  462. package/src/utils/hooks/useDebounce.ts +1 -1
  463. package/typography/CodeBlock/index.d.ts +1 -1
  464. package/typography/CodeBlock/index.js +1 -2
  465. package/typography/CodeBlock/index.js.map +2 -2
  466. package/utils/hooks/useDebounce/index.js +1 -1
  467. package/utils/hooks/useDebounce.js.map +2 -2
  468. package/utils/hooks/useLatest.d.ts +1 -1
  469. package/src/app/Footer/Footer.stories.js +0 -18
  470. package/src/app/Header/Header.stories.js +0 -20
  471. package/src/content/Accordion/Accordion.stories.js +0 -14
  472. package/src/content/Card/Card.stories.js +0 -21
  473. package/src/content/List/List.stories.js +0 -15
  474. package/src/content/Table/Table.stories.js +0 -27
  475. package/src/feedback/CopyToClipboard/CopyToClipboard.stories.js +0 -9
  476. package/src/feedback/ErrorSummary/ErrorSummary.stories.js +0 -16
  477. package/src/feedback/PhaseBanner/PhaseBanner.stories.js +0 -11
  478. package/src/form/AutoComplete/AutoComplete.stories.js +0 -16
  479. package/src/form/Checkbox/Checkbox.stories.js +0 -19
  480. package/src/form/DateInputContainer/DateInputContainer.stories.js +0 -14
  481. package/src/form/ErrorMessage/ErrorMessage.stories.js +0 -12
  482. package/src/form/RadioContainer/RadioContainer.stories.js +0 -19
  483. package/src/form/SelectContainer/SelectContainer.stories.js +0 -13
  484. package/src/form/SingleCharacterInputs/SingleCharacterInput.stories.js +0 -13
  485. package/src/form/TextArea/TextArea.stories.js +0 -17
  486. package/src/form/TextInput/TextInput.stories.js +0 -19
@@ -28,14 +28,23 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var HeaderLogo_exports = {};
30
30
  __export(HeaderLogo_exports, {
31
+ HeaderLogo: () => HeaderLogo,
31
32
  default: () => HeaderLogo_default
32
33
  });
33
34
  module.exports = __toCommonJS(HeaderLogo_exports);
34
- var import_HeaderLogo = __toESM(require("@digigov/react-core/HeaderLogo"));
35
- __reExport(HeaderLogo_exports, require("@digigov/react-core/HeaderLogo"), module.exports);
36
- var HeaderLogo_default = import_HeaderLogo.default;
35
+ __reExport(HeaderLogo_exports, require("@digigov/react-core/HeaderLogoBase"), module.exports);
36
+ var import_react = __toESM(require("react"));
37
+ var import_HeaderLogoBase = require("@digigov/react-core/HeaderLogoBase");
38
+ var import_Link = require("@digigov/ui/navigation/Link");
39
+ const HeaderLogo = import_react.default.forwardRef(
40
+ function HeaderLogo2({ children, ...props }, ref) {
41
+ return /* @__PURE__ */ import_react.default.createElement(import_HeaderLogoBase.HeaderLogoBase, { as: import_Link.Link, ref, ...props }, children);
42
+ }
43
+ );
44
+ var HeaderLogo_default = HeaderLogo;
37
45
  // Annotate the CommonJS export names for ESM import in node:
38
46
  0 && (module.exports = {
39
- ...require("@digigov/react-core/HeaderLogo")
47
+ HeaderLogo,
48
+ ...require("@digigov/react-core/HeaderLogoBase")
40
49
  });
41
50
  //# sourceMappingURL=HeaderLogo.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/Header/HeaderLogo.tsx"],
4
- "sourcesContent": ["import HeaderLogo from '@digigov/react-core/HeaderLogo';\n\nexport * from '@digigov/react-core/HeaderLogo';\nexport default HeaderLogo;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuB;AAEvB,+BAAc,2CAFd;AAGA,IAAO,qBAAQ,kBAAAA;",
6
- "names": ["HeaderLogo"]
4
+ "sourcesContent": ["export * from '@digigov/react-core/HeaderLogoBase';\nimport React from 'react';\nimport {\n HeaderLogoBase,\n HeaderLogoBaseProps,\n} from '@digigov/react-core/HeaderLogoBase';\nimport { Link } from '@digigov/ui/navigation/Link';\n\nexport interface HeaderLogoProps extends HeaderLogoBaseProps {}\n\nexport const HeaderLogo = React.forwardRef<HTMLAnchorElement, HeaderLogoProps>(\n function HeaderLogo({ children, ...props }, ref) {\n return (\n <HeaderLogoBase as={Link} ref={ref} {...props}>\n {children}\n </HeaderLogoBase>\n );\n }\n);\nexport default HeaderLogo;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAc,+CAAd;AACA,mBAAkB;AAClB,4BAGO;AACP,kBAAqB;AAId,MAAM,aAAa,aAAAA,QAAM;AAAA,EAC9B,SAASC,YAAW,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK;AAC/C,WACE,6BAAAD,QAAA,cAAC,wCAAe,IAAI,kBAAM,KAAW,GAAG,SACrC,QACH;AAAA,EAEJ;AACF;AACA,IAAO,qBAAQ;",
6
+ "names": ["React", "HeaderLogo"]
7
7
  }
@@ -16,6 +16,7 @@ var __copyProps = (to, from, except, desc) => {
16
16
  }
17
17
  return to;
18
18
  };
19
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
21
  // If the importer is in node compatibility mode or this is not an ESM
21
22
  // file that has been converted to a CommonJS file using a Babel-
@@ -27,14 +28,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
29
  var HeaderSecondaryLogo_exports = {};
29
30
  __export(HeaderSecondaryLogo_exports, {
30
- HeaderSecondaryLogo: () => import_HeaderSecondaryLogo.default,
31
+ HeaderSecondaryLogo: () => HeaderSecondaryLogo,
31
32
  default: () => HeaderSecondaryLogo_default
32
33
  });
33
34
  module.exports = __toCommonJS(HeaderSecondaryLogo_exports);
34
- var import_HeaderSecondaryLogo = __toESM(require("@digigov/react-core/HeaderSecondaryLogo"));
35
- var HeaderSecondaryLogo_default = import_HeaderSecondaryLogo.default;
35
+ __reExport(HeaderSecondaryLogo_exports, require("@digigov/react-core/HeaderSecondaryLogoBase"), module.exports);
36
+ var import_react = __toESM(require("react"));
37
+ var import_HeaderSecondaryLogoBase = require("@digigov/react-core/HeaderSecondaryLogoBase");
38
+ var import_Link = require("@digigov/ui/navigation/Link");
39
+ const HeaderSecondaryLogo = import_react.default.forwardRef(function HeaderSecondaryLogo2({ children, ...props }, ref) {
40
+ return /* @__PURE__ */ import_react.default.createElement(import_HeaderSecondaryLogoBase.HeaderSecondaryLogoBase, { as: import_Link.Link, ref, ...props }, children);
41
+ });
42
+ var HeaderSecondaryLogo_default = HeaderSecondaryLogo;
36
43
  // Annotate the CommonJS export names for ESM import in node:
37
44
  0 && (module.exports = {
38
- HeaderSecondaryLogo
45
+ HeaderSecondaryLogo,
46
+ ...require("@digigov/react-core/HeaderSecondaryLogoBase")
39
47
  });
40
48
  //# sourceMappingURL=HeaderSecondaryLogo.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/Header/HeaderSecondaryLogo.tsx"],
4
- "sourcesContent": ["import HeaderSecondaryLogo from '@digigov/react-core/HeaderSecondaryLogo';\n\nexport { HeaderSecondaryLogo };\nexport default HeaderSecondaryLogo;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wDAAAA;AAAA,EAAA;AAAA;AAAA;AAAA,iCAAgC;AAGhC,IAAO,8BAAQ,2BAAAA;",
6
- "names": ["HeaderSecondaryLogo"]
4
+ "sourcesContent": ["export * from '@digigov/react-core/HeaderSecondaryLogoBase';\nimport React from 'react';\nimport {\n HeaderSecondaryLogoBase,\n HeaderSecondaryLogoBaseProps,\n} from '@digigov/react-core/HeaderSecondaryLogoBase';\nimport { Link } from '@digigov/ui/navigation/Link';\n\nexport interface HeaderSecondaryLogoProps\n extends HeaderSecondaryLogoBaseProps {}\n\nexport const HeaderSecondaryLogo = React.forwardRef<\n HTMLAnchorElement,\n HeaderSecondaryLogoProps\n>(function HeaderSecondaryLogo({ children, ...props }, ref) {\n return (\n <HeaderSecondaryLogoBase as={Link} ref={ref} {...props}>\n {children}\n </HeaderSecondaryLogoBase>\n );\n});\nexport default HeaderSecondaryLogo;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAc,wDAAd;AACA,mBAAkB;AAClB,qCAGO;AACP,kBAAqB;AAKd,MAAM,sBAAsB,aAAAA,QAAM,WAGvC,SAASC,qBAAoB,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK;AAC1D,SACE,6BAAAD,QAAA,cAAC,0DAAwB,IAAI,kBAAM,KAAW,GAAG,SAC9C,QACH;AAEJ,CAAC;AACD,IAAO,8BAAQ;",
6
+ "names": ["React", "HeaderSecondaryLogo"]
7
7
  }
@@ -28,14 +28,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var HeaderTitle_exports = {};
30
30
  __export(HeaderTitle_exports, {
31
+ HeaderTitle: () => HeaderTitle,
31
32
  default: () => HeaderTitle_default
32
33
  });
33
34
  module.exports = __toCommonJS(HeaderTitle_exports);
34
- var import_HeaderTitle = __toESM(require("@digigov/react-core/HeaderTitle"));
35
- __reExport(HeaderTitle_exports, require("@digigov/react-core/HeaderTitle"), module.exports);
36
- var HeaderTitle_default = import_HeaderTitle.default;
35
+ __reExport(HeaderTitle_exports, require("@digigov/react-core/HeaderTitleBase"), module.exports);
36
+ var import_react = __toESM(require("react"));
37
+ var import_HeaderTitleBase = require("@digigov/react-core/HeaderTitleBase");
38
+ var import_Link = require("@digigov/ui/navigation/Link");
39
+ const HeaderTitle = import_react.default.forwardRef(function HeaderTitle2({ children, ...props }, ref) {
40
+ return /* @__PURE__ */ import_react.default.createElement(import_HeaderTitleBase.HeaderTitleBase, { as: import_Link.Link, ref, ...props }, children);
41
+ });
42
+ var HeaderTitle_default = HeaderTitle;
37
43
  // Annotate the CommonJS export names for ESM import in node:
38
44
  0 && (module.exports = {
39
- ...require("@digigov/react-core/HeaderTitle")
45
+ HeaderTitle,
46
+ ...require("@digigov/react-core/HeaderTitleBase")
40
47
  });
41
48
  //# sourceMappingURL=HeaderTitle.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/Header/HeaderTitle.tsx"],
4
- "sourcesContent": ["import HeaderTitle from '@digigov/react-core/HeaderTitle';\n\nexport * from '@digigov/react-core/HeaderTitle';\nexport default HeaderTitle;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAwB;AAExB,gCAAc,4CAFd;AAGA,IAAO,sBAAQ,mBAAAA;",
6
- "names": ["HeaderTitle"]
4
+ "sourcesContent": ["export * from '@digigov/react-core/HeaderTitleBase';\nimport React from 'react';\nimport {\n HeaderTitleBase,\n HeaderTitleBaseProps,\n} from '@digigov/react-core/HeaderTitleBase';\nimport { Link } from '@digigov/ui/navigation/Link';\n\nexport interface HeaderTitleProps extends HeaderTitleBaseProps {}\n\nexport const HeaderTitle = React.forwardRef<\n HTMLAnchorElement,\n HeaderTitleProps\n>(function HeaderTitle({ children, ...props }, ref) {\n return (\n <HeaderTitleBase as={Link} ref={ref} {...props}>\n {children}\n </HeaderTitleBase>\n );\n});\n\nexport default HeaderTitle;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAc,gDAAd;AACA,mBAAkB;AAClB,6BAGO;AACP,kBAAqB;AAId,MAAM,cAAc,aAAAA,QAAM,WAG/B,SAASC,aAAY,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK;AAClD,SACE,6BAAAD,QAAA,cAAC,0CAAgB,IAAI,kBAAM,KAAW,GAAG,SACtC,QACH;AAEJ,CAAC;AAED,IAAO,sBAAQ;",
6
+ "names": ["React", "HeaderTitle"]
7
7
  }
@@ -33,12 +33,8 @@ module.exports = __toCommonJS(hooks_exports);
33
33
  var import_react = __toESM(require("react"));
34
34
  const useModal = () => {
35
35
  const [currentOpen, setCurrentOpen] = (0, import_react.useState)(null);
36
- const modalsRef = (0, import_react.useRef)(
37
- /* @__PURE__ */ new Map()
38
- );
39
- const buttonsRef = (0, import_react.useRef)(
40
- /* @__PURE__ */ new Map()
41
- );
36
+ const modalsRef = (0, import_react.useRef)(/* @__PURE__ */ new Map());
37
+ const buttonsRef = (0, import_react.useRef)(/* @__PURE__ */ new Map());
42
38
  const open = (0, import_react.useCallback)((id) => {
43
39
  setCurrentOpen(id);
44
40
  }, []);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/Modal/hooks.ts"],
4
- "sourcesContent": ["import React, { useState, useRef, useCallback } from 'react';\n\nexport type ModalId = string | number;\n\nexport interface UseModalReturn {\n open: (id: ModalId) => void;\n close: () => void;\n currentOpen: ModalId | null;\n registerModal: (\n id: ModalId,\n options?: {\n clickOutside?: boolean;\n closeOnEscape?: boolean;\n }\n ) => {\n open: boolean;\n role: string;\n id: string;\n 'aria-modal': boolean;\n 'aria-labelledby': string;\n ref?: React.RefObject<HTMLDivElement>;\n };\n registerAction: (\n id: ModalId,\n type: 'open' | 'close',\n options?: {\n variant?: string;\n color?: string;\n }\n ) => {\n onClick: () => void;\n ref?: React.RefObject<HTMLButtonElement>;\n };\n}\n\nexport const useModal = (): UseModalReturn => {\n const [currentOpen, setCurrentOpen] = useState<ModalId | null>(null);\n const modalsRef = useRef<Map<ModalId, React.RefObject<HTMLDivElement>>>(\n new Map()\n );\n const buttonsRef = useRef<Map<ModalId, React.RefObject<HTMLButtonElement>>>(\n new Map()\n );\n const open = useCallback((id: ModalId) => {\n setCurrentOpen(id);\n }, []);\n\n const close = useCallback(() => {\n setCurrentOpen(null);\n }, []);\n\n const registerModal = useCallback(\n (id, options) => {\n const modalId = `modal-${id}`;\n if (!modalsRef.current.get(id)?.current) {\n modalsRef.current.set(id, React.createRef());\n if (options?.clickOutside && currentOpen === id) {\n const handleOutsideClick = (event: MouseEvent) => {\n const modalContainer = document.getElementById(modalId);\n if (modalContainer === event.target) {\n close();\n }\n };\n window.addEventListener('mousedown', handleOutsideClick);\n }\n }\n return {\n open: currentOpen === id,\n role: 'dialog',\n id: modalId,\n onEscape: options?.closeOnEscape ? close : null,\n 'aria-modal': true,\n 'aria-labelledby': `modal-heading-${id}`,\n ref: modalsRef.current.get(id as string),\n };\n },\n [currentOpen]\n );\n\n const registerAction = useCallback(\n (id: ModalId, type: 'open' | 'close', options) => {\n if (!buttonsRef.current.has(id)) {\n buttonsRef.current.set(id, React.createRef());\n }\n return {\n onClick: () => (type === 'open' ? open(id) : close()),\n ref: buttonsRef.current.get(id),\n ...options,\n };\n },\n [currentOpen]\n );\n\n return {\n open,\n close,\n currentOpen,\n registerAction,\n registerModal,\n };\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqD;AAmC9C,MAAM,WAAW,MAAsB;AAC5C,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAyB,IAAI;AACnE,QAAM,gBAAY;AAAA,IAChB,oBAAI,IAAI;AAAA,EACV;AACA,QAAM,iBAAa;AAAA,IACjB,oBAAI,IAAI;AAAA,EACV;AACA,QAAM,WAAO,0BAAY,CAAC,OAAgB;AACxC,mBAAe,EAAE;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,YAAQ,0BAAY,MAAM;AAC9B,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,CAAC;AAEL,QAAM,oBAAgB;AAAA,IACpB,CAAC,IAAI,YAAY;AACf,YAAM,UAAU,SAAS,EAAE;AAC3B,UAAI,CAAC,UAAU,QAAQ,IAAI,EAAE,GAAG,SAAS;AACvC,kBAAU,QAAQ,IAAI,IAAI,aAAAA,QAAM,UAAU,CAAC;AAC3C,YAAI,SAAS,gBAAgB,gBAAgB,IAAI;AAC/C,gBAAM,qBAAqB,CAAC,UAAsB;AAChD,kBAAM,iBAAiB,SAAS,eAAe,OAAO;AACtD,gBAAI,mBAAmB,MAAM,QAAQ;AACnC,oBAAM;AAAA,YACR;AAAA,UACF;AACA,iBAAO,iBAAiB,aAAa,kBAAkB;AAAA,QACzD;AAAA,MACF;AACA,aAAO;AAAA,QACL,MAAM,gBAAgB;AAAA,QACtB,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,UAAU,SAAS,gBAAgB,QAAQ;AAAA,QAC3C,cAAc;AAAA,QACd,mBAAmB,iBAAiB,EAAE;AAAA,QACtC,KAAK,UAAU,QAAQ,IAAI,EAAY;AAAA,MACzC;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,QAAM,qBAAiB;AAAA,IACrB,CAAC,IAAa,MAAwB,YAAY;AAChD,UAAI,CAAC,WAAW,QAAQ,IAAI,EAAE,GAAG;AAC/B,mBAAW,QAAQ,IAAI,IAAI,aAAAA,QAAM,UAAU,CAAC;AAAA,MAC9C;AACA,aAAO;AAAA,QACL,SAAS,MAAO,SAAS,SAAS,KAAK,EAAE,IAAI,MAAM;AAAA,QACnD,KAAK,WAAW,QAAQ,IAAI,EAAE;AAAA,QAC9B,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import React, { useState, useRef, useCallback } from 'react';\n\nexport type ModalId = string | number;\n\nexport interface UseModalReturn {\n open: (id: ModalId) => void;\n close: () => void;\n currentOpen: ModalId | null;\n registerModal: (\n id: ModalId,\n options?: {\n clickOutside?: boolean;\n closeOnEscape?: boolean;\n }\n ) => {\n open: boolean;\n role: string;\n id: string;\n 'aria-modal': boolean;\n 'aria-labelledby': string;\n ref?: React.RefObject<HTMLDivElement | null>;\n };\n registerAction: (\n id: ModalId,\n type: 'open' | 'close',\n options?: {\n variant?: string;\n color?: string;\n }\n ) => {\n onClick: () => void;\n ref?: React.RefObject<HTMLButtonElement | null>;\n };\n}\n\nexport const useModal = (): UseModalReturn => {\n const [currentOpen, setCurrentOpen] = useState<ModalId | null>(null);\n const modalsRef = useRef<\n Map<ModalId, React.RefObject<HTMLDivElement | null>>\n >(new Map());\n const buttonsRef = useRef<\n Map<ModalId, React.RefObject<HTMLButtonElement | null>>\n >(new Map());\n const open = useCallback((id: ModalId) => {\n setCurrentOpen(id);\n }, []);\n\n const close = useCallback(() => {\n setCurrentOpen(null);\n }, []);\n\n const registerModal = useCallback(\n (id, options) => {\n const modalId = `modal-${id}`;\n if (!modalsRef.current.get(id)?.current) {\n modalsRef.current.set(id, React.createRef());\n if (options?.clickOutside && currentOpen === id) {\n const handleOutsideClick = (event: MouseEvent) => {\n const modalContainer = document.getElementById(modalId);\n if (modalContainer === event.target) {\n close();\n }\n };\n window.addEventListener('mousedown', handleOutsideClick);\n }\n }\n return {\n open: currentOpen === id,\n role: 'dialog',\n id: modalId,\n onEscape: options?.closeOnEscape ? close : null,\n 'aria-modal': true,\n 'aria-labelledby': `modal-heading-${id}`,\n ref: modalsRef.current.get(id as string),\n };\n },\n [currentOpen]\n );\n\n const registerAction = useCallback(\n (id: ModalId, type: 'open' | 'close', options) => {\n if (!buttonsRef.current.has(id)) {\n buttonsRef.current.set(id, React.createRef());\n }\n return {\n onClick: () => (type === 'open' ? open(id) : close()),\n ref: buttonsRef.current.get(id),\n ...options,\n };\n },\n [currentOpen]\n );\n\n return {\n open,\n close,\n currentOpen,\n registerAction,\n registerModal,\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqD;AAmC9C,MAAM,WAAW,MAAsB;AAC5C,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAyB,IAAI;AACnE,QAAM,gBAAY,qBAEhB,oBAAI,IAAI,CAAC;AACX,QAAM,iBAAa,qBAEjB,oBAAI,IAAI,CAAC;AACX,QAAM,WAAO,0BAAY,CAAC,OAAgB;AACxC,mBAAe,EAAE;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,YAAQ,0BAAY,MAAM;AAC9B,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,CAAC;AAEL,QAAM,oBAAgB;AAAA,IACpB,CAAC,IAAI,YAAY;AACf,YAAM,UAAU,SAAS,EAAE;AAC3B,UAAI,CAAC,UAAU,QAAQ,IAAI,EAAE,GAAG,SAAS;AACvC,kBAAU,QAAQ,IAAI,IAAI,aAAAA,QAAM,UAAU,CAAC;AAC3C,YAAI,SAAS,gBAAgB,gBAAgB,IAAI;AAC/C,gBAAM,qBAAqB,CAAC,UAAsB;AAChD,kBAAM,iBAAiB,SAAS,eAAe,OAAO;AACtD,gBAAI,mBAAmB,MAAM,QAAQ;AACnC,oBAAM;AAAA,YACR;AAAA,UACF;AACA,iBAAO,iBAAiB,aAAa,kBAAkB;AAAA,QACzD;AAAA,MACF;AACA,aAAO;AAAA,QACL,MAAM,gBAAgB;AAAA,QACtB,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,UAAU,SAAS,gBAAgB,QAAQ;AAAA,QAC3C,cAAc;AAAA,QACd,mBAAmB,iBAAiB,EAAE;AAAA,QACtC,KAAK,UAAU,QAAQ,IAAI,EAAY;AAAA,MACzC;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,QAAM,qBAAiB;AAAA,IACrB,CAAC,IAAa,MAAwB,YAAY;AAChD,UAAI,CAAC,WAAW,QAAQ,IAAI,EAAE,GAAG;AAC/B,mBAAW,QAAQ,IAAI,IAAI,aAAAA,QAAM,UAAU,CAAC;AAAA,MAC9C;AACA,aAAO;AAAA,QACL,SAAS,MAAO,SAAS,SAAS,KAAK,EAAE,IAAI,MAAM;AAAA,QACnD,KAAK,WAAW,QAAQ,IAAI,EAAE;AAAA,QAC9B,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -46,18 +46,18 @@ const Modal = import_react.default.forwardRef(
46
46
  );
47
47
  const ModalBase = import_react.default.forwardRef(
48
48
  function ModalBase2({ open, children, onEscape, ...props }, ref) {
49
- const firstModalElement = (0, import_react.useRef)();
50
- const lastModalElement = (0, import_react.useRef)();
49
+ const firstModalElement = (0, import_react.useRef)(null);
50
+ const lastModalElement = (0, import_react.useRef)(null);
51
51
  const handleFocus = (0, import_react.useCallback)(() => {
52
- firstModalElement.current.focus();
52
+ firstModalElement.current?.focus();
53
53
  }, []);
54
54
  (0, import_useKeypress.default)("Escape", onEscape);
55
55
  (0, import_react.useEffect)(() => {
56
56
  const lastModalElementInstance = lastModalElement.current;
57
57
  handleFocus();
58
- lastModalElementInstance.addEventListener("focus", handleFocus);
58
+ lastModalElementInstance?.addEventListener("focus", handleFocus);
59
59
  return () => {
60
- lastModalElementInstance.removeEventListener("focus", handleFocus);
60
+ lastModalElementInstance?.removeEventListener("focus", handleFocus);
61
61
  };
62
62
  }, []);
63
63
  return /* @__PURE__ */ import_react.default.createElement(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/Modal/index.web.tsx"],
4
- "sourcesContent": ["import React, { useCallback, useEffect, useRef } from 'react';\nimport ModalContainer, {\n ModalContainerProps,\n} from '@digigov/react-core/ModalContainer';\nimport useKeypress from '@digigov/ui/utils/hooks/useKeypress';\n\nexport interface ModalProps extends ModalContainerProps {\n onEscape?: () => void;\n}\n\nexport const Modal = React.forwardRef<HTMLDivElement, ModalProps>(\n function Modal({ ...props }, ref) {\n if (props.open) {\n return <ModalBase {...props} ref={ref} />;\n } else {\n return null;\n }\n }\n);\n\nexport const ModalBase = React.forwardRef<HTMLDivElement, ModalProps>(\n function ModalBase({ open, children, onEscape, ...props }, ref) {\n const firstModalElement =\n useRef() as React.MutableRefObject<HTMLSpanElement>;\n const lastModalElement =\n useRef() as React.MutableRefObject<HTMLSpanElement>;\n const handleFocus = useCallback(() => {\n firstModalElement.current.focus();\n }, []);\n useKeypress('Escape', onEscape);\n useEffect(() => {\n const lastModalElementInstance = lastModalElement.current;\n handleFocus();\n lastModalElementInstance.addEventListener('focus', handleFocus);\n return () => {\n lastModalElementInstance.removeEventListener('focus', handleFocus);\n };\n }, []);\n return (\n <ModalContainer\n open={open}\n role=\"dialog\"\n ref={ref}\n aria-hidden=\"false\"\n aria-modal=\"true\"\n {...props}\n >\n <span tabIndex={-1} ref={firstModalElement} aria-hidden=\"true\" />\n {open && children}\n <span tabIndex={0} ref={lastModalElement} aria-hidden=\"true\" />\n </ModalContainer>\n );\n }\n);\n\nexport default Modal;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsD;AACtD,4BAEO;AACP,yBAAwB;AAMjB,MAAM,QAAQ,aAAAA,QAAM;AAAA,EACzB,SAASC,OAAM,EAAE,GAAG,MAAM,GAAG,KAAK;AAChC,QAAI,MAAM,MAAM;AACd,aAAO,6BAAAD,QAAA,cAAC,aAAW,GAAG,OAAO,KAAU;AAAA,IACzC,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,MAAM,YAAY,aAAAA,QAAM;AAAA,EAC7B,SAASE,WAAU,EAAE,MAAM,UAAU,UAAU,GAAG,MAAM,GAAG,KAAK;AAC9D,UAAM,wBACJ,qBAAO;AACT,UAAM,uBACJ,qBAAO;AACT,UAAM,kBAAc,0BAAY,MAAM;AACpC,wBAAkB,QAAQ,MAAM;AAAA,IAClC,GAAG,CAAC,CAAC;AACL,2BAAAC,SAAY,UAAU,QAAQ;AAC9B,gCAAU,MAAM;AACd,YAAM,2BAA2B,iBAAiB;AAClD,kBAAY;AACZ,+BAAyB,iBAAiB,SAAS,WAAW;AAC9D,aAAO,MAAM;AACX,iCAAyB,oBAAoB,SAAS,WAAW;AAAA,MACnE;AAAA,IACF,GAAG,CAAC,CAAC;AACL,WACE,6BAAAH,QAAA;AAAA,MAAC,sBAAAI;AAAA,MAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL;AAAA,QACA,eAAY;AAAA,QACZ,cAAW;AAAA,QACV,GAAG;AAAA;AAAA,MAEJ,6BAAAJ,QAAA,cAAC,UAAK,UAAU,IAAI,KAAK,mBAAmB,eAAY,QAAO;AAAA,MAC9D,QAAQ;AAAA,MACT,6BAAAA,QAAA,cAAC,UAAK,UAAU,GAAG,KAAK,kBAAkB,eAAY,QAAO;AAAA,IAC/D;AAAA,EAEJ;AACF;AAEA,IAAO,oBAAQ;",
4
+ "sourcesContent": ["import React, { useCallback, useEffect, useRef } from 'react';\nimport ModalContainer, {\n ModalContainerProps,\n} from '@digigov/react-core/ModalContainer';\nimport useKeypress from '@digigov/ui/utils/hooks/useKeypress';\n\nexport interface ModalProps extends ModalContainerProps {\n onEscape?: () => void;\n}\n\nexport const Modal = React.forwardRef<HTMLDivElement, ModalProps>(\n function Modal({ ...props }, ref) {\n if (props.open) {\n return <ModalBase {...props} ref={ref} />;\n } else {\n return null;\n }\n }\n);\n\nexport const ModalBase = React.forwardRef<HTMLDivElement, ModalProps>(\n function ModalBase({ open, children, onEscape, ...props }, ref) {\n const firstModalElement = useRef<HTMLSpanElement>(null);\n const lastModalElement = useRef<HTMLSpanElement>(null);\n const handleFocus = useCallback(() => {\n firstModalElement.current?.focus();\n }, []);\n useKeypress('Escape', onEscape);\n useEffect(() => {\n const lastModalElementInstance = lastModalElement.current;\n handleFocus();\n lastModalElementInstance?.addEventListener('focus', handleFocus);\n return () => {\n lastModalElementInstance?.removeEventListener('focus', handleFocus);\n };\n }, []);\n return (\n <ModalContainer\n open={open}\n role=\"dialog\"\n ref={ref}\n aria-hidden=\"false\"\n aria-modal=\"true\"\n {...props}\n >\n <span tabIndex={-1} ref={firstModalElement} aria-hidden=\"true\" />\n {open && children}\n <span tabIndex={0} ref={lastModalElement} aria-hidden=\"true\" />\n </ModalContainer>\n );\n }\n);\n\nexport default Modal;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsD;AACtD,4BAEO;AACP,yBAAwB;AAMjB,MAAM,QAAQ,aAAAA,QAAM;AAAA,EACzB,SAASC,OAAM,EAAE,GAAG,MAAM,GAAG,KAAK;AAChC,QAAI,MAAM,MAAM;AACd,aAAO,6BAAAD,QAAA,cAAC,aAAW,GAAG,OAAO,KAAU;AAAA,IACzC,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,MAAM,YAAY,aAAAA,QAAM;AAAA,EAC7B,SAASE,WAAU,EAAE,MAAM,UAAU,UAAU,GAAG,MAAM,GAAG,KAAK;AAC9D,UAAM,wBAAoB,qBAAwB,IAAI;AACtD,UAAM,uBAAmB,qBAAwB,IAAI;AACrD,UAAM,kBAAc,0BAAY,MAAM;AACpC,wBAAkB,SAAS,MAAM;AAAA,IACnC,GAAG,CAAC,CAAC;AACL,2BAAAC,SAAY,UAAU,QAAQ;AAC9B,gCAAU,MAAM;AACd,YAAM,2BAA2B,iBAAiB;AAClD,kBAAY;AACZ,gCAA0B,iBAAiB,SAAS,WAAW;AAC/D,aAAO,MAAM;AACX,kCAA0B,oBAAoB,SAAS,WAAW;AAAA,MACpE;AAAA,IACF,GAAG,CAAC,CAAC;AACL,WACE,6BAAAH,QAAA;AAAA,MAAC,sBAAAI;AAAA,MAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL;AAAA,QACA,eAAY;AAAA,QACZ,cAAW;AAAA,QACV,GAAG;AAAA;AAAA,MAEJ,6BAAAJ,QAAA,cAAC,UAAK,UAAU,IAAI,KAAK,mBAAmB,eAAY,QAAO;AAAA,MAC9D,QAAQ;AAAA,MACT,6BAAAA,QAAA,cAAC,UAAK,UAAU,GAAG,KAAK,kBAAkB,eAAY,QAAO;AAAA,IAC/D;AAAA,EAEJ;AACF;AAEA,IAAO,oBAAQ;",
6
6
  "names": ["React", "Modal", "ModalBase", "useKeypress", "ModalContainer"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/OutdatedBrowserBanner/index.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport { isMobile } from '@digigov/ui/app/OutdatedBrowserBanner/hooks/evaluateBrowserVersion';\nimport useOutdatedBrowserCheck from '@digigov/ui/app/OutdatedBrowserBanner/hooks/useOutdatedBrowserCheck';\nimport { WarningText } from '@digigov/ui/feedback/WarningText';\nimport { useTranslation } from '@digigov/ui/i18n';\nimport Link from '@digigov/ui/navigation/Link';\nimport Paragraph from '@digigov/ui/typography/Paragraph';\n\nexport default function OutdatedBrowserBanner(): JSX.Element {\n const mob = isMobile;\n const [shouldUpdate, updateLink] = useOutdatedBrowserCheck();\n const { t } = useTranslation();\n return (\n <WarningText>\n {shouldUpdate ? (\n <>\n {mob.any() ? (\n <>\n <Paragraph>{t('outdated.mobile')}</Paragraph>\n </>\n ) : (\n <>\n <Paragraph>\n {t('outdated.web')}\n <Link href={updateLink} target=\"_blank\">\n {updateLink}{' '}\n </Link>\n </Paragraph>\n </>\n )}\n </>\n ) : (\n <></>\n )}\n </WarningText>\n );\n}\n\nexport * from '@digigov/ui/app/OutdatedBrowserBanner/hooks/useOutdatedBrowserCheck';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,oCAAyB;AACzB,qCAAoC;AACpC,yBAA4B;AAC5B,kBAA+B;AAC/B,kBAAiB;AACjB,uBAAsB;AAgCtB,0CAAc,gFAtCd;AAQe,SAAR,wBAAsD;AAC3D,QAAM,MAAM;AACZ,QAAM,CAAC,cAAc,UAAU,QAAI,+BAAAA,SAAwB;AAC3D,QAAM,EAAE,EAAE,QAAI,4BAAe;AAC7B,SACE,6BAAAC,QAAA,cAAC,sCACE,eACC,6BAAAA,QAAA,2BAAAA,QAAA,gBACG,IAAI,IAAI,IACP,6BAAAA,QAAA,2BAAAA,QAAA,gBACE,6BAAAA,QAAA,cAAC,iBAAAC,SAAA,MAAW,EAAE,iBAAiB,CAAE,CACnC,IAEA,6BAAAD,QAAA,2BAAAA,QAAA,gBACE,6BAAAA,QAAA,cAAC,iBAAAC,SAAA,MACE,EAAE,cAAc,GACjB,6BAAAD,QAAA,cAAC,YAAAE,SAAA,EAAK,MAAM,YAAY,QAAO,YAC5B,YAAY,GACf,CACF,CACF,CAEJ,IAEA,6BAAAF,QAAA,2BAAAA,QAAA,cAAE,CAEN;AAEJ;",
4
+ "sourcesContent": ["import React, { type JSX } from 'react';\nimport { isMobile } from '@digigov/ui/app/OutdatedBrowserBanner/hooks/evaluateBrowserVersion';\nimport useOutdatedBrowserCheck from '@digigov/ui/app/OutdatedBrowserBanner/hooks/useOutdatedBrowserCheck';\nimport { WarningText } from '@digigov/ui/feedback/WarningText';\nimport { useTranslation } from '@digigov/ui/i18n';\nimport Link from '@digigov/ui/navigation/Link';\nimport Paragraph from '@digigov/ui/typography/Paragraph';\n\nexport default function OutdatedBrowserBanner(): JSX.Element {\n const mob = isMobile;\n const [shouldUpdate, updateLink] = useOutdatedBrowserCheck();\n const { t } = useTranslation();\n return (\n <WarningText>\n {shouldUpdate ? (\n <>\n {mob.any() ? (\n <>\n <Paragraph>{t('outdated.mobile')}</Paragraph>\n </>\n ) : (\n <>\n <Paragraph>\n {t('outdated.web')}\n <Link href={updateLink} target=\"_blank\">\n {updateLink}{' '}\n </Link>\n </Paragraph>\n </>\n )}\n </>\n ) : (\n <></>\n )}\n </WarningText>\n );\n}\n\nexport * from '@digigov/ui/app/OutdatedBrowserBanner/hooks/useOutdatedBrowserCheck';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,oCAAyB;AACzB,qCAAoC;AACpC,yBAA4B;AAC5B,kBAA+B;AAC/B,kBAAiB;AACjB,uBAAsB;AAgCtB,0CAAc,gFAtCd;AAQe,SAAR,wBAAsD;AAC3D,QAAM,MAAM;AACZ,QAAM,CAAC,cAAc,UAAU,QAAI,+BAAAA,SAAwB;AAC3D,QAAM,EAAE,EAAE,QAAI,4BAAe;AAC7B,SACE,6BAAAC,QAAA,cAAC,sCACE,eACC,6BAAAA,QAAA,2BAAAA,QAAA,gBACG,IAAI,IAAI,IACP,6BAAAA,QAAA,2BAAAA,QAAA,gBACE,6BAAAA,QAAA,cAAC,iBAAAC,SAAA,MAAW,EAAE,iBAAiB,CAAE,CACnC,IAEA,6BAAAD,QAAA,2BAAAA,QAAA,gBACE,6BAAAA,QAAA,cAAC,iBAAAC,SAAA,MACE,EAAE,cAAc,GACjB,6BAAAD,QAAA,cAAC,YAAAE,SAAA,EAAK,MAAM,YAAY,QAAO,YAC5B,YAAY,GACf,CACF,CACF,CAEJ,IAEA,6BAAAF,QAAA,2BAAAA,QAAA,cAAE,CAEN;AAEJ;",
6
6
  "names": ["useOutdatedBrowserCheck", "React", "Paragraph", "Link"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/PhaseBannerHeader/index.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport HeaderContent from '@digigov/react-core/HeaderContent';\nimport PhaseBanner from '@digigov/react-core/PhaseBanner';\nimport PhaseBannerHeaderContainer from '@digigov/react-core/PhaseBannerHeaderContainer';\nimport PhaseBannerTag from '@digigov/react-core/PhaseBannerTag';\nimport PhaseBannerText from '@digigov/react-core/PhaseBannerText';\n\ntype DivElementAttributes = JSX.IntrinsicElements['div'];\nexport interface PhaseBannerHeaderProps extends DivElementAttributes {\n tag?: string;\n text?: string;\n}\n\nexport const PhaseBannerHeader = React.forwardRef<\n HTMLDivElement,\n PhaseBannerHeaderProps\n>(function PhaseBannerHeader({ text, tag, ...props }, ref) {\n return (\n <PhaseBannerHeaderContainer {...props} ref={ref}>\n <HeaderContent>\n <PhaseBanner>\n <PhaseBannerTag>{tag}</PhaseBannerTag>\n <PhaseBannerText>{text}</PhaseBannerText>\n </PhaseBanner>\n </HeaderContent>\n </PhaseBannerHeaderContainer>\n );\n});\n\nexport default PhaseBannerHeader;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,2BAA0B;AAC1B,yBAAwB;AACxB,wCAAuC;AACvC,4BAA2B;AAC3B,6BAA4B;AAQrB,MAAM,oBAAoB,aAAAA,QAAM,WAGrC,SAASC,mBAAkB,EAAE,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK;AACzD,SACE,6BAAAD,QAAA,cAAC,kCAAAE,SAAA,EAA4B,GAAG,OAAO,OACrC,6BAAAF,QAAA,cAAC,qBAAAG,SAAA,MACC,6BAAAH,QAAA,cAAC,mBAAAI,SAAA,MACC,6BAAAJ,QAAA,cAAC,sBAAAK,SAAA,MAAgB,GAAI,GACrB,6BAAAL,QAAA,cAAC,uBAAAM,SAAA,MAAiB,IAAK,CACzB,CACF,CACF;AAEJ,CAAC;AAED,IAAO,4BAAQ;",
4
+ "sourcesContent": ["import React, { type JSX } from 'react';\nimport HeaderContent from '@digigov/react-core/HeaderContent';\nimport PhaseBanner from '@digigov/react-core/PhaseBanner';\nimport PhaseBannerHeaderContainer from '@digigov/react-core/PhaseBannerHeaderContainer';\nimport PhaseBannerTag from '@digigov/react-core/PhaseBannerTag';\nimport PhaseBannerText from '@digigov/react-core/PhaseBannerText';\n\ntype DivElementAttributes = JSX.IntrinsicElements['div'];\nexport interface PhaseBannerHeaderProps extends DivElementAttributes {\n tag?: string;\n text?: string;\n}\n\nexport const PhaseBannerHeader = React.forwardRef<\n HTMLDivElement,\n PhaseBannerHeaderProps\n>(function PhaseBannerHeader({ text, tag, ...props }, ref) {\n return (\n <PhaseBannerHeaderContainer {...props} ref={ref}>\n <HeaderContent>\n <PhaseBanner>\n <PhaseBannerTag>{tag}</PhaseBannerTag>\n <PhaseBannerText>{text}</PhaseBannerText>\n </PhaseBanner>\n </HeaderContent>\n </PhaseBannerHeaderContainer>\n );\n});\n\nexport default PhaseBannerHeader;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,2BAA0B;AAC1B,yBAAwB;AACxB,wCAAuC;AACvC,4BAA2B;AAC3B,6BAA4B;AAQrB,MAAM,oBAAoB,aAAAA,QAAM,WAGrC,SAASC,mBAAkB,EAAE,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK;AACzD,SACE,6BAAAD,QAAA,cAAC,kCAAAE,SAAA,EAA4B,GAAG,OAAO,OACrC,6BAAAF,QAAA,cAAC,qBAAAG,SAAA,MACC,6BAAAH,QAAA,cAAC,mBAAAI,SAAA,MACC,6BAAAJ,QAAA,cAAC,sBAAAK,SAAA,MAAgB,GAAI,GACrB,6BAAAL,QAAA,cAAC,uBAAAM,SAAA,MAAiB,IAAK,CACzB,CACF,CACF;AAEJ,CAAC;AAED,IAAO,4BAAQ;",
6
6
  "names": ["React", "PhaseBannerHeader", "PhaseBannerHeaderContainer", "HeaderContent", "PhaseBanner", "PhaseBannerTag", "PhaseBannerText"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/QrCodeScanner/index.tsx"],
4
- "sourcesContent": ["import React from 'react';\n\n// @ts-ignore\nconst QrReader = React.lazy(() => import('@uides/react-qr-reader'));\n\nexport interface QrCodeScannerProps {\n style?: React.CSSProperties;\n dataType?: 'url' | 'text';\n legacyMode?: boolean;\n validate?: (...args) => boolean;\n onScan: (...args) => void;\n onError: (err: any, data: any) => void;\n onLoad?: (...args) => void;\n onImageLoad?: (...args) => void;\n delay?: number;\n facingMode?: 'user' | 'environment';\n showViewFinder?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * QRCodeScanner assumes that the data provided inside the QR code image,\n * are a HTTP link, thus it uses the `encodeURI` function to escape\n * all scanned data that will be forwarded to the `onScan` function\n *\n * When a QR code is scanned, before we run the `onScan` callback function,\n * we do the following:\n *\n * 1. Run a validator function provided in the props of QrCodeScanner component\n * that receives the *raw* scanned data and returns a boolean type. (eg. check\n * if it's a gov.gr subdomain, or that it matches the current domain)\n * 2. If the validator returns `true`, then construct a URL object from the data provided\n * and check if the protocol is `https` and the `origin` is the same as the origin of this page\n * 2. Automatically fallback to the `onError` callback function, if the validation or url check fail\n * 3. Finally, run `onScan` callback function with the scanned data encoded as a URI.\n *\n */\n\nexport const QrCodeScanner: React.FC<QrCodeScannerProps> = ({\n children,\n validate,\n onScan,\n onError,\n dataType = 'url',\n legacyMode = false,\n ...props\n}) => {\n if (dataType === 'text') {\n console.warn(\n `Security Warning! The \\`text\\` dataType could be used to inject XSS code to your application database or user DOM.\n\nIn order to be safe, you can:\n1. Use a sanitizer function inside the \\`onScan\\` callback function that makes sure the data is not posing a threat to your app\n2. Contact @digigov-ui for any further details and feature requests.\n3. Read more about xss https://owasp.org/www-community/attacks/xss/\n`\n );\n }\n const handleOnScan = (data) => {\n if (data) {\n if (dataType === 'url') {\n try {\n new URL(data);\n } catch {\n return onError(\n new Error(\n '@digigov-ui XSS Validation failed: qr code payload should follow the pattern `https://dilosi.services.gov.gr/show/:reference_code`'\n ),\n data\n );\n }\n }\n // run a validator function provided by the application code\n if (validate && !validate(data)) {\n return onError(\n new Error('Custom QR Code payload validation failed'),\n data\n );\n }\n // proceed with application defined callback function\n onScan(data);\n }\n };\n return (\n <>\n <QrReader\n delay={100}\n onError={onError}\n onScan={handleOnScan}\n legacyMode={legacyMode}\n {...props}\n />\n {children}\n </>\n );\n};\n\nexport default QrCodeScanner;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAGlB,MAAM,WAAW,aAAAA,QAAM,KAAK,MAAM,OAAO,wBAAwB,CAAC;AAoC3D,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,GAAG;AACL,MAAM;AACJ,MAAI,aAAa,QAAQ;AACvB,YAAQ;AAAA,MACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOF;AAAA,EACF;AACA,QAAM,eAAe,CAAC,SAAS;AAC7B,QAAI,MAAM;AACR,UAAI,aAAa,OAAO;AACtB,YAAI;AACF,cAAI,IAAI,IAAI;AAAA,QACd,QAAQ;AACN,iBAAO;AAAA,YACL,IAAI;AAAA,cACF;AAAA,YACF;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,UAAI,YAAY,CAAC,SAAS,IAAI,GAAG;AAC/B,eAAO;AAAA,UACL,IAAI,MAAM,0CAA0C;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAEA,aAAO,IAAI;AAAA,IACb;AAAA,EACF;AACA,SACE,6BAAAA,QAAA,2BAAAA,QAAA,gBACE,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACC,GAAG;AAAA;AAAA,EACN,GACC,QACH;AAEJ;AAEA,IAAO,wBAAQ;",
4
+ "sourcesContent": ["import React from 'react';\n\nconst QrReader = React.lazy(() => import('@uides/react-qr-reader'));\n\nexport interface QrCodeScannerProps {\n style?: React.CSSProperties;\n dataType?: 'url' | 'text';\n legacyMode?: boolean;\n validate?: (...args) => boolean;\n onScan: (...args) => void;\n onError: (err: any, data: any) => void;\n onLoad?: (...args) => void;\n onImageLoad?: (...args) => void;\n delay?: number;\n facingMode?: 'user' | 'environment';\n showViewFinder?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * QRCodeScanner assumes that the data provided inside the QR code image,\n * are a HTTP link, thus it uses the `encodeURI` function to escape\n * all scanned data that will be forwarded to the `onScan` function\n *\n * When a QR code is scanned, before we run the `onScan` callback function,\n * we do the following:\n *\n * 1. Run a validator function provided in the props of QrCodeScanner component\n * that receives the *raw* scanned data and returns a boolean type. (eg. check\n * if it's a gov.gr subdomain, or that it matches the current domain)\n * 2. If the validator returns `true`, then construct a URL object from the data provided\n * and check if the protocol is `https` and the `origin` is the same as the origin of this page\n * 2. Automatically fallback to the `onError` callback function, if the validation or url check fail\n * 3. Finally, run `onScan` callback function with the scanned data encoded as a URI.\n *\n */\n\nexport const QrCodeScanner: React.FC<QrCodeScannerProps> = ({\n children,\n validate,\n onScan,\n onError,\n dataType = 'url',\n legacyMode = false,\n ...props\n}) => {\n if (dataType === 'text') {\n console.warn(\n `Security Warning! The \\`text\\` dataType could be used to inject XSS code to your application database or user DOM.\n\nIn order to be safe, you can:\n1. Use a sanitizer function inside the \\`onScan\\` callback function that makes sure the data is not posing a threat to your app\n2. Contact @digigov-ui for any further details and feature requests.\n3. Read more about xss https://owasp.org/www-community/attacks/xss/\n`\n );\n }\n const handleOnScan = (data) => {\n if (data) {\n if (dataType === 'url') {\n try {\n new URL(data);\n } catch {\n return onError(\n new Error(\n '@digigov-ui XSS Validation failed: qr code payload should follow the pattern `https://dilosi.services.gov.gr/show/:reference_code`'\n ),\n data\n );\n }\n }\n // run a validator function provided by the application code\n if (validate && !validate(data)) {\n return onError(\n new Error('Custom QR Code payload validation failed'),\n data\n );\n }\n // proceed with application defined callback function\n onScan(data);\n }\n };\n return (\n <>\n <QrReader\n delay={100}\n onError={onError}\n onScan={handleOnScan}\n legacyMode={legacyMode}\n {...props}\n />\n {children}\n </>\n );\n};\n\nexport default QrCodeScanner;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,MAAM,WAAW,aAAAA,QAAM,KAAK,MAAM,OAAO,wBAAwB,CAAC;AAoC3D,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,GAAG;AACL,MAAM;AACJ,MAAI,aAAa,QAAQ;AACvB,YAAQ;AAAA,MACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOF;AAAA,EACF;AACA,QAAM,eAAe,CAAC,SAAS;AAC7B,QAAI,MAAM;AACR,UAAI,aAAa,OAAO;AACtB,YAAI;AACF,cAAI,IAAI,IAAI;AAAA,QACd,QAAQ;AACN,iBAAO;AAAA,YACL,IAAI;AAAA,cACF;AAAA,YACF;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,UAAI,YAAY,CAAC,SAAS,IAAI,GAAG;AAC/B,eAAO;AAAA,UACL,IAAI,MAAM,0CAA0C;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAEA,aAAO,IAAI;AAAA,IACb;AAAA,EACF;AACA,SACE,6BAAAA,QAAA,2BAAAA,QAAA,gBACE,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACC,GAAG;AAAA;AAAA,EACN,GACC,QACH;AAEJ;AAEA,IAAO,wBAAQ;",
6
6
  "names": ["React"]
7
7
  }
@@ -36,6 +36,7 @@ __export(Skeleton_stories_exports, {
36
36
  TextSizes: () => import_TextSizes.TextSizes,
37
37
  UnderTypography: () => import_UnderTypography.UnderTypography,
38
38
  WithChildren: () => import_WithChildren.WithChildren,
39
+ WithControls: () => WithControls,
39
40
  default: () => Skeleton_stories_default
40
41
  });
41
42
  module.exports = __toCommonJS(Skeleton_stories_exports);
@@ -55,6 +56,33 @@ var Skeleton_stories_default = {
55
56
  component: import_Skeleton.default,
56
57
  displayName: "Skeleton"
57
58
  };
59
+ const WithControls = {
60
+ args: {
61
+ variant: "text",
62
+ fontSize: "sm",
63
+ animation: false
64
+ },
65
+ argTypes: {
66
+ variant: {
67
+ options: ["circular", "rectangular", "text", "button"],
68
+ control: { type: "radio" }
69
+ },
70
+ fontSize: {
71
+ options: ["xs", "sm", "md", "lg", "xl"],
72
+ control: { type: "select" },
73
+ if: { arg: "variant", eq: "text" }
74
+ },
75
+ width: {
76
+ control: { type: "number", min: 0 }
77
+ },
78
+ height: {
79
+ control: { type: "number", min: 0 }
80
+ },
81
+ animation: {
82
+ control: { type: "boolean" }
83
+ }
84
+ }
85
+ };
58
86
  // Annotate the CommonJS export names for ESM import in node:
59
87
  0 && (module.exports = {
60
88
  Button,
@@ -65,6 +93,7 @@ var Skeleton_stories_default = {
65
93
  SpecificWidthAndHeight,
66
94
  TextSizes,
67
95
  UnderTypography,
68
- WithChildren
96
+ WithChildren,
97
+ WithControls
69
98
  });
70
99
  //# sourceMappingURL=Skeleton.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/app/Skeleton/Skeleton.stories.js"],
4
- "sourcesContent": ["import Skeleton from '@digigov/ui/app/Skeleton';\nexport default {\n title: 'Digigov UI/app/Skeleton',\n description:\n 'Use a set of Skeleton components to display placeholder content when data is loading.',\n\n component: Skeleton,\n displayName: 'Skeleton',\n};\nexport { Default } from '@digigov/ui/app/Skeleton/__stories__/Default';\nexport { TextSizes } from '@digigov/ui/app/Skeleton/__stories__/TextSizes';\nexport { Rectangular } from '@digigov/ui/app/Skeleton/__stories__/Rectangular';\nexport { Circular } from '@digigov/ui/app/Skeleton/__stories__/Circular';\nexport { Button } from '@digigov/ui/app/Skeleton/__stories__/Button';\nexport { NoAnimation } from '@digigov/ui/app/Skeleton/__stories__/NoAnimation';\nexport { SpecificWidthAndHeight } from '@digigov/ui/app/Skeleton/__stories__/SpecificWidthAndHeight';\nexport { UnderTypography } from '@digigov/ui/app/Skeleton/__stories__/UnderTypography';\nexport { WithChildren } from '@digigov/ui/app/Skeleton/__stories__/WithChildren';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAqB;AASrB,qBAAwB;AACxB,uBAA0B;AAC1B,yBAA4B;AAC5B,sBAAyB;AACzB,oBAAuB;AACvB,yBAA4B;AAC5B,oCAAuC;AACvC,6BAAgC;AAChC,0BAA6B;AAhB7B,IAAO,2BAAQ;AAAA,EACb,OAAO;AAAA,EACP,aACE;AAAA,EAEF,WAAW,gBAAAA;AAAA,EACX,aAAa;AACf;",
4
+ "sourcesContent": ["import Skeleton from '@digigov/ui/app/Skeleton';\nexport default {\n title: 'Digigov UI/app/Skeleton',\n description:\n 'Use a set of Skeleton components to display placeholder content when data is loading.',\n\n component: Skeleton,\n displayName: 'Skeleton',\n};\n\nexport const WithControls = {\n args: {\n variant: 'text',\n fontSize: 'sm',\n animation: false,\n },\n\n argTypes: {\n variant: {\n options: ['circular', 'rectangular', 'text', 'button'],\n control: { type: 'radio' },\n },\n fontSize: {\n options: ['xs', 'sm', 'md', 'lg', 'xl'],\n control: { type: 'select' },\n if: { arg: 'variant', eq: 'text' },\n },\n width: {\n control: { type: 'number', min: 0 },\n },\n height: {\n control: { type: 'number', min: 0 },\n },\n animation: {\n control: { type: 'boolean' },\n },\n },\n};\n\nexport { Default } from '@digigov/ui/app/Skeleton/__stories__/Default';\nexport { TextSizes } from '@digigov/ui/app/Skeleton/__stories__/TextSizes';\nexport { Rectangular } from '@digigov/ui/app/Skeleton/__stories__/Rectangular';\nexport { Circular } from '@digigov/ui/app/Skeleton/__stories__/Circular';\nexport { Button } from '@digigov/ui/app/Skeleton/__stories__/Button';\nexport { NoAnimation } from '@digigov/ui/app/Skeleton/__stories__/NoAnimation';\nexport { SpecificWidthAndHeight } from '@digigov/ui/app/Skeleton/__stories__/SpecificWidthAndHeight';\nexport { UnderTypography } from '@digigov/ui/app/Skeleton/__stories__/UnderTypography';\nexport { WithChildren } from '@digigov/ui/app/Skeleton/__stories__/WithChildren';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAqB;AAuCrB,qBAAwB;AACxB,uBAA0B;AAC1B,yBAA4B;AAC5B,sBAAyB;AACzB,oBAAuB;AACvB,yBAA4B;AAC5B,oCAAuC;AACvC,6BAAgC;AAChC,0BAA6B;AA9C7B,IAAO,2BAAQ;AAAA,EACb,OAAO;AAAA,EACP,aACE;AAAA,EAEF,WAAW,gBAAAA;AAAA,EACX,aAAa;AACf;AAEO,MAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EAEA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS,CAAC,YAAY,eAAe,QAAQ,QAAQ;AAAA,MACrD,SAAS,EAAE,MAAM,QAAQ;AAAA,IAC3B;AAAA,IACA,UAAU;AAAA,MACR,SAAS,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MACtC,SAAS,EAAE,MAAM,SAAS;AAAA,MAC1B,IAAI,EAAE,KAAK,WAAW,IAAI,OAAO;AAAA,IACnC;AAAA,IACA,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,UAAU,KAAK,EAAE;AAAA,IACpC;AAAA,IACA,QAAQ;AAAA,MACN,SAAS,EAAE,MAAM,UAAU,KAAK,EAAE;AAAA,IACpC;AAAA,IACA,WAAW;AAAA,MACT,SAAS,EAAE,MAAM,UAAU;AAAA,IAC7B;AAAA,EACF;AACF;",
6
6
  "names": ["Skeleton"]
7
7
  }
@@ -29,12 +29,15 @@ var Accordion_stories_exports = {};
29
29
  __export(Accordion_stories_exports, {
30
30
  Auto: () => import_Auto.Auto,
31
31
  Default: () => import_Default.Default,
32
+ WithControls: () => WithControls,
32
33
  WithHints: () => import_WithHints.WithHints,
33
34
  WithHook: () => import_WithHook.WithHook,
34
35
  default: () => Accordion_stories_default
35
36
  });
36
37
  module.exports = __toCommonJS(Accordion_stories_exports);
37
- var import_Accordion = __toESM(require("@digigov/ui/content/Accordion"));
38
+ var import_react = __toESM(require("react"));
39
+ var import_Accordion = require("@digigov/ui/content/Accordion");
40
+ var import_Hint = require("@digigov/ui/typography/Hint");
38
41
  var import_Default = require("@digigov/ui/content/Accordion/__stories__/Default");
39
42
  var import_WithHints = require("@digigov/ui/content/Accordion/__stories__/WithHints");
40
43
  var import_WithHook = require("@digigov/ui/content/Accordion/__stories__/WithHook");
@@ -44,13 +47,62 @@ var Accordion_stories_default = {
44
47
  tags: ["Experimental"],
45
48
  description: "The accordion component lets users show and hide sections of related content on a page.",
46
49
  link: "https://guide.services.gov.gr/docs/components/accordion",
47
- component: import_Accordion.default,
50
+ component: import_Accordion.Accordion,
48
51
  displayName: "Accordion"
49
52
  };
53
+ const WithControls = {
54
+ render: (args) => {
55
+ return /* @__PURE__ */ import_react.default.createElement(
56
+ import_Accordion.Accordion,
57
+ {
58
+ horizontalBorders: args.horizontalBorders,
59
+ summaryColor: args.summaryColor,
60
+ dense: args.dense
61
+ },
62
+ /* @__PURE__ */ import_react.default.createElement(import_Accordion.AccordionSection, { open: true }, /* @__PURE__ */ import_react.default.createElement(import_Accordion.AccordionSectionSummary, null, /* @__PURE__ */ import_react.default.createElement(import_Accordion.AccordionSectionSummaryHeading, { "aria-controls": "content1" }, args.title), args.hint > 0 && /* @__PURE__ */ import_react.default.createElement(import_Hint.Hint, null, args.hintMessage)), /* @__PURE__ */ import_react.default.createElement(import_Accordion.AccordionSectionContent, { id: "content1" }, args.content))
63
+ );
64
+ },
65
+ args: {
66
+ title: "\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03AD\u03C2 \u03BC\u03B5 \u03C4\u03BF \u03B4\u03B7\u03BC\u03CC\u03C3\u03B9\u03BF",
67
+ hint: true,
68
+ hintMessage: "\u0394\u03B9\u03BA\u03B1\u03C3\u03C4\u03B9\u03BA\u03AD\u03C2 \u03BA\u03B1\u03B9 \u03B5\u03BE\u03C9\u03B4\u03B9\u03BA\u03B1\u03C3\u03C4\u03B9\u03BA\u03AD\u03C2 \u03B4\u03B9\u03B1\u03C6\u03BF\u03C1\u03AD\u03C2 \u03BC\u03B5 \u03C4\u03BF \u0394\u03B7\u03BC\u03CC\u03C3\u03B9\u03BF, \u03B5\u03BA\u03BA\u03B1\u03B8\u03AC\u03C1\u03B9\u03C3\u03B7 \u03B4\u03B9\u03BA\u03B1\u03C3\u03C4\u03B9\u03BA\u03CE\u03BD \u03B4\u03B1\u03C0\u03B1\u03BD\u03CE\u03BD \u03BA.\u03AC.",
69
+ content: "\u03A0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B4\u03B5\u03AF\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B7 \u03BA\u03B1\u03B9 \u03B5\u03BD\u03B5\u03C1\u03B3\u03AE \u03C5\u03C0\u03B7\u03C1\u03B5\u03C3\u03AF\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03C6\u03BF\u03C1\u03AC \u03C4\u03BF \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03BF \u03B3\u03B5\u03B3\u03BF\u03BD\u03CC\u03C2 \u03B6\u03C9\u03AE\u03C2.",
70
+ horizontalBorders: "top",
71
+ summaryColor: "primary",
72
+ dense: false
73
+ },
74
+ argTypes: {
75
+ title: {
76
+ control: { type: "text" }
77
+ },
78
+ hint: {
79
+ control: { type: "boolean" }
80
+ },
81
+ hintMessage: {
82
+ control: { type: "text" },
83
+ if: { arg: "hint", eq: true }
84
+ },
85
+ content: {
86
+ control: { type: "text" }
87
+ },
88
+ horizontalBorders: {
89
+ options: ["none", "top", "bottom"],
90
+ control: { type: "select" }
91
+ },
92
+ summaryColor: {
93
+ options: ["primary", "secondary"],
94
+ control: { type: "select" }
95
+ },
96
+ dense: {
97
+ control: { type: "boolean" }
98
+ }
99
+ }
100
+ };
50
101
  // Annotate the CommonJS export names for ESM import in node:
51
102
  0 && (module.exports = {
52
103
  Auto,
53
104
  Default,
105
+ WithControls,
54
106
  WithHints,
55
107
  WithHook
56
108
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/content/Accordion/Accordion.stories.js"],
4
- "sourcesContent": ["import Accordion from '@digigov/ui/content/Accordion';\nexport default {\n title: 'Digigov UI/content/Accordion',\n tags: ['Experimental'],\n description:\n 'The accordion component lets users show and hide sections of related content on a page.',\n link: 'https://guide.services.gov.gr/docs/components/accordion',\n component: Accordion,\n displayName: 'Accordion',\n};\nexport { Default } from '@digigov/ui/content/Accordion/__stories__/Default';\nexport { WithHints } from '@digigov/ui/content/Accordion/__stories__/WithHints';\nexport { WithHook } from '@digigov/ui/content/Accordion/__stories__/WithHook';\nexport { Auto } from '@digigov/ui/content/Accordion/__stories__/Auto';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAsB;AAUtB,qBAAwB;AACxB,uBAA0B;AAC1B,sBAAyB;AACzB,kBAAqB;AAZrB,IAAO,4BAAQ;AAAA,EACb,OAAO;AAAA,EACP,MAAM,CAAC,cAAc;AAAA,EACrB,aACE;AAAA,EACF,MAAM;AAAA,EACN,WAAW,iBAAAA;AAAA,EACX,aAAa;AACf;",
6
- "names": ["Accordion"]
3
+ "sources": ["../../../../src/content/Accordion/Accordion.stories.jsx"],
4
+ "sourcesContent": ["import React from 'react';\n\nimport {\n Accordion,\n AccordionSection,\n AccordionSectionContent,\n AccordionSectionSummary,\n AccordionSectionSummaryHeading,\n} from '@digigov/ui/content/Accordion';\nimport { Hint } from '@digigov/ui/typography/Hint';\n\nexport default {\n title: 'Digigov UI/content/Accordion',\n tags: ['Experimental'],\n description:\n 'The accordion component lets users show and hide sections of related content on a page.',\n link: 'https://guide.services.gov.gr/docs/components/accordion',\n component: Accordion,\n displayName: 'Accordion',\n};\n\nexport const WithControls = {\n render: (args) => {\n return (\n <Accordion\n horizontalBorders={args.horizontalBorders}\n summaryColor={args.summaryColor}\n dense={args.dense}\n >\n <AccordionSection open>\n <AccordionSectionSummary>\n <AccordionSectionSummaryHeading aria-controls=\"content1\">\n {args.title}\n </AccordionSectionSummaryHeading>\n {args.hint > 0 && <Hint>{args.hintMessage}</Hint>}\n </AccordionSectionSummary>\n <AccordionSectionContent id=\"content1\">\n {args.content}\n </AccordionSectionContent>\n </AccordionSection>\n </Accordion>\n );\n },\n args: {\n title: '\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03AD\u03C2 \u03BC\u03B5 \u03C4\u03BF \u03B4\u03B7\u03BC\u03CC\u03C3\u03B9\u03BF',\n hint: true,\n hintMessage:\n '\u0394\u03B9\u03BA\u03B1\u03C3\u03C4\u03B9\u03BA\u03AD\u03C2 \u03BA\u03B1\u03B9 \u03B5\u03BE\u03C9\u03B4\u03B9\u03BA\u03B1\u03C3\u03C4\u03B9\u03BA\u03AD\u03C2 \u03B4\u03B9\u03B1\u03C6\u03BF\u03C1\u03AD\u03C2 \u03BC\u03B5 \u03C4\u03BF \u0394\u03B7\u03BC\u03CC\u03C3\u03B9\u03BF, \u03B5\u03BA\u03BA\u03B1\u03B8\u03AC\u03C1\u03B9\u03C3\u03B7 \u03B4\u03B9\u03BA\u03B1\u03C3\u03C4\u03B9\u03BA\u03CE\u03BD \u03B4\u03B1\u03C0\u03B1\u03BD\u03CE\u03BD \u03BA.\u03AC.',\n content:\n '\u03A0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B4\u03B5\u03AF\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B7 \u03BA\u03B1\u03B9 \u03B5\u03BD\u03B5\u03C1\u03B3\u03AE \u03C5\u03C0\u03B7\u03C1\u03B5\u03C3\u03AF\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03C6\u03BF\u03C1\u03AC \u03C4\u03BF \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03BF \u03B3\u03B5\u03B3\u03BF\u03BD\u03CC\u03C2 \u03B6\u03C9\u03AE\u03C2.',\n horizontalBorders: 'top',\n summaryColor: 'primary',\n dense: false,\n },\n argTypes: {\n title: {\n control: { type: 'text' },\n },\n hint: {\n control: { type: 'boolean' },\n },\n hintMessage: {\n control: { type: 'text' },\n if: { arg: 'hint', eq: true },\n },\n content: {\n control: { type: 'text' },\n },\n horizontalBorders: {\n options: ['none', 'top', 'bottom'],\n control: { type: 'select' },\n },\n summaryColor: {\n options: ['primary', 'secondary'],\n control: { type: 'select' },\n },\n dense: {\n control: { type: 'boolean' },\n },\n },\n};\n\nexport { Default } from '@digigov/ui/content/Accordion/__stories__/Default';\nexport { WithHints } from '@digigov/ui/content/Accordion/__stories__/WithHints';\nexport { WithHook } from '@digigov/ui/content/Accordion/__stories__/WithHook';\nexport { Auto } from '@digigov/ui/content/Accordion/__stories__/Auto';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,uBAMO;AACP,kBAAqB;AAyErB,qBAAwB;AACxB,uBAA0B;AAC1B,sBAAyB;AACzB,kBAAqB;AA1ErB,IAAO,4BAAQ;AAAA,EACb,OAAO;AAAA,EACP,MAAM,CAAC,cAAc;AAAA,EACrB,aACE;AAAA,EACF,MAAM;AAAA,EACN,WAAW;AAAA,EACX,aAAa;AACf;AAEO,MAAM,eAAe;AAAA,EAC1B,QAAQ,CAAC,SAAS;AAChB,WACE,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,mBAAmB,KAAK;AAAA,QACxB,cAAc,KAAK;AAAA,QACnB,OAAO,KAAK;AAAA;AAAA,MAEZ,6BAAAA,QAAA,cAAC,qCAAiB,MAAI,QACpB,6BAAAA,QAAA,cAAC,gDACC,6BAAAA,QAAA,cAAC,mDAA+B,iBAAc,cAC3C,KAAK,KACR,GACC,KAAK,OAAO,KAAK,6BAAAA,QAAA,cAAC,wBAAM,KAAK,WAAY,CAC5C,GACA,6BAAAA,QAAA,cAAC,4CAAwB,IAAG,cACzB,KAAK,OACR,CACF;AAAA,IACF;AAAA,EAEJ;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aACE;AAAA,IACF,SACE;AAAA,IACF,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAAA,IACA,MAAM;AAAA,MACJ,SAAS,EAAE,MAAM,UAAU;AAAA,IAC7B;AAAA,IACA,aAAa;AAAA,MACX,SAAS,EAAE,MAAM,OAAO;AAAA,MACxB,IAAI,EAAE,KAAK,QAAQ,IAAI,KAAK;AAAA,IAC9B;AAAA,IACA,SAAS;AAAA,MACP,SAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAAA,IACA,mBAAmB;AAAA,MACjB,SAAS,CAAC,QAAQ,OAAO,QAAQ;AAAA,MACjC,SAAS,EAAE,MAAM,SAAS;AAAA,IAC5B;AAAA,IACA,cAAc;AAAA,MACZ,SAAS,CAAC,WAAW,WAAW;AAAA,MAChC,SAAS,EAAE,MAAM,SAAS;AAAA,IAC5B;AAAA,IACA,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,UAAU;AAAA,IAC7B;AAAA,EACF;AACF;",
6
+ "names": ["React"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/content/Accordion/hooks.ts"],
4
- "sourcesContent": ["import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nexport type AccordionItemId = string | number;\n\nexport interface UseAccordionProps {\n defaultOpen?: AccordionItemId;\n singleOpen?: boolean;\n}\nexport interface UseAccordionSectionProps {\n ref: React.RefObject<HTMLDetailsElement>;\n open: boolean;\n onToggle: (\n e: React.MouseEvent | React.SyntheticEvent<HTMLElement, Event> | Event\n ) => void;\n onKeyDown: (e: React.KeyboardEvent) => void;\n role: string;\n // tabIndex: number;\n 'aria-expanded': boolean | undefined;\n}\n\nexport interface UseAccordionReturn {\n section: (id: AccordionItemId) => UseAccordionSectionProps;\n open: (id: AccordionItemId) => void;\n close: (id: AccordionItemId) => void;\n openAll: () => void;\n closeAll: () => void;\n onOpen: (id: AccordionItemId) => void;\n hasOpen: boolean;\n currentOpen?: AccordionItemId | AccordionItemId[] | null;\n}\n\nexport const useAccordion = ({\n defaultOpen,\n singleOpen = false,\n}: UseAccordionProps = {}): UseAccordionReturn => {\n const sectionsRef = useRef<\n Map<AccordionItemId, React.RefObject<HTMLDetailsElement>>\n >(new Map());\n const [current, setCurrentOpen] = useState(\n defaultOpen ? { [defaultOpen]: true } : {}\n );\n const getCurrentOpen = (): AccordionItemId | AccordionItemId[] | null => {\n const openSections: AccordionItemId[] = [];\n sectionsRef.current.forEach((ref, id) => {\n if (ref.current?.open) {\n openSections.push(id);\n }\n });\n\n if (singleOpen) {\n return openSections[0] || null;\n }\n return openSections.length ? openSections : null;\n };\n\n const open = (id: AccordionItemId) => {\n sectionsRef?.current?.get(id)?.current?.setAttribute('open', '');\n };\n\n const close = (id: AccordionItemId) => {\n sectionsRef.current.get(id)?.current?.removeAttribute('open');\n };\n\n const openAll = () => {\n if (singleOpen) {\n throw new Error('Cannot open all sections when singleOpen is true');\n }\n sectionsRef.current.forEach((ref) => ref.current?.setAttribute('open', ''));\n };\n\n const closeAll = () => {\n sectionsRef.current.forEach((ref) => ref.current?.removeAttribute('open'));\n };\n\n const navigateTo = useCallback(\n (direction: 'next' | 'previous') => {\n const activeElement = document.activeElement;\n if (!activeElement) return;\n const focusableElements = Array.from(\n document.querySelectorAll('summary')\n );\n const currentIndex = focusableElements.indexOf(\n activeElement as HTMLElement\n );\n let nextIndex;\n if (direction === 'next') {\n nextIndex =\n currentIndex >= 0 ? currentIndex + 1 : focusableElements.length - 1;\n } else if (direction === 'previous') {\n nextIndex =\n currentIndex <= focusableElements.length - 1 ? currentIndex - 1 : 0;\n }\n const nextElement = focusableElements[nextIndex];\n if (nextElement) {\n nextElement.focus();\n }\n },\n [current]\n );\n\n const section = useCallback(\n (id: AccordionItemId) => {\n if (!sectionsRef.current.has(id)) {\n sectionsRef.current.set(id, React.createRef());\n }\n const ref = sectionsRef.current.get(\n id\n ) as React.RefObject<HTMLDetailsElement>;\n\n const onToggle = (e) => {\n if (singleOpen && e.target?.open) {\n sectionsRef.current.forEach((sectionRef, sectionId) => {\n if (sectionId === id) {\n setCurrentOpen({ ...current, [id]: e.target?.open });\n }\n if (sectionId !== id && sectionRef.current?.hasAttribute('open')) {\n sectionRef.current?.removeAttribute('open');\n }\n });\n } else {\n setCurrentOpen({ ...current, [id]: e.target?.open });\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault(); // Prevent scrolling if needed\n navigateTo('next');\n break;\n case 'ArrowUp':\n e.preventDefault(); // Prevent scrolling if needed\n navigateTo('previous');\n break;\n case 'Enter':\n e.preventDefault(); // Prevent form submission if needed\n if (ref?.current?.hasAttribute('open')) {\n close(id);\n } else {\n open(id);\n }\n break;\n }\n };\n\n return {\n ref,\n open: ref?.current?.hasAttribute('open') || false,\n onToggle,\n onKeyDown,\n role: 'button',\n 'aria-expanded': ref?.current?.hasAttribute('open'),\n };\n },\n [current]\n );\n const hasOpen = useCallback(() => {\n return getCurrentOpen() !== null;\n }, []);\n useEffect(() => {\n if (defaultOpen) {\n if (Array.isArray(defaultOpen)) {\n defaultOpen.forEach((id) => open(id));\n } else {\n open(defaultOpen);\n }\n }\n }, [defaultOpen]);\n return {\n section,\n open,\n close,\n hasOpen: hasOpen(),\n openAll,\n closeAll,\n onOpen: open,\n currentOpen: Object.keys(current).length ? getCurrentOpen() : null,\n };\n};\n\nexport default useAccordion;\n"],
4
+ "sourcesContent": ["import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nexport type AccordionItemId = string | number;\n\nexport interface UseAccordionProps {\n defaultOpen?: AccordionItemId;\n singleOpen?: boolean;\n}\nexport interface UseAccordionSectionProps {\n ref: React.RefObject<HTMLDetailsElement>;\n open: boolean;\n onToggle: (\n e: React.MouseEvent | React.SyntheticEvent<HTMLElement, Event> | Event\n ) => void;\n onKeyDown: (e: React.KeyboardEvent) => void;\n role: string;\n // tabIndex: number;\n 'aria-expanded': boolean | undefined;\n}\n\nexport interface UseAccordionReturn {\n section: (id: AccordionItemId) => UseAccordionSectionProps;\n open: (id: AccordionItemId) => void;\n close: (id: AccordionItemId) => void;\n openAll: () => void;\n closeAll: () => void;\n onOpen: (id: AccordionItemId) => void;\n hasOpen: boolean;\n currentOpen?: AccordionItemId | AccordionItemId[] | null;\n}\n\nexport const useAccordion = ({\n defaultOpen,\n singleOpen = false,\n}: UseAccordionProps = {}): UseAccordionReturn => {\n const sectionsRef = useRef<\n Map<AccordionItemId, React.RefObject<HTMLDetailsElement | null>>\n >(new Map());\n const [current, setCurrentOpen] = useState(\n defaultOpen ? { [defaultOpen]: true } : {}\n );\n const getCurrentOpen = (): AccordionItemId | AccordionItemId[] | null => {\n const openSections: AccordionItemId[] = [];\n sectionsRef.current.forEach((ref, id) => {\n if (ref.current?.open) {\n openSections.push(id);\n }\n });\n\n if (singleOpen) {\n return openSections[0] || null;\n }\n return openSections.length ? openSections : null;\n };\n\n const open = (id: AccordionItemId) => {\n sectionsRef?.current?.get(id)?.current?.setAttribute('open', '');\n };\n\n const close = (id: AccordionItemId) => {\n sectionsRef.current.get(id)?.current?.removeAttribute('open');\n };\n\n const openAll = () => {\n if (singleOpen) {\n throw new Error('Cannot open all sections when singleOpen is true');\n }\n sectionsRef.current.forEach((ref) => ref.current?.setAttribute('open', ''));\n };\n\n const closeAll = () => {\n sectionsRef.current.forEach((ref) => ref.current?.removeAttribute('open'));\n };\n\n const navigateTo = useCallback(\n (direction: 'next' | 'previous') => {\n const activeElement = document.activeElement;\n if (!activeElement) return;\n const focusableElements = Array.from(\n document.querySelectorAll('summary')\n );\n const currentIndex = focusableElements.indexOf(\n activeElement as HTMLElement\n );\n let nextIndex;\n if (direction === 'next') {\n nextIndex =\n currentIndex >= 0 ? currentIndex + 1 : focusableElements.length - 1;\n } else if (direction === 'previous') {\n nextIndex =\n currentIndex <= focusableElements.length - 1 ? currentIndex - 1 : 0;\n }\n const nextElement = focusableElements[nextIndex];\n if (nextElement) {\n nextElement.focus();\n }\n },\n [current]\n );\n\n const section = useCallback(\n (id: AccordionItemId) => {\n if (!sectionsRef.current.has(id)) {\n sectionsRef.current.set(id, React.createRef());\n }\n const ref = sectionsRef.current.get(\n id\n ) as React.RefObject<HTMLDetailsElement>;\n\n const onToggle = (e) => {\n if (singleOpen && e.target?.open) {\n sectionsRef.current.forEach((sectionRef, sectionId) => {\n if (sectionId === id) {\n setCurrentOpen({ ...current, [id]: e.target?.open });\n }\n if (sectionId !== id && sectionRef.current?.hasAttribute('open')) {\n sectionRef.current?.removeAttribute('open');\n }\n });\n } else {\n setCurrentOpen({ ...current, [id]: e.target?.open });\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault(); // Prevent scrolling if needed\n navigateTo('next');\n break;\n case 'ArrowUp':\n e.preventDefault(); // Prevent scrolling if needed\n navigateTo('previous');\n break;\n case 'Enter':\n e.preventDefault(); // Prevent form submission if needed\n if (ref?.current?.hasAttribute('open')) {\n close(id);\n } else {\n open(id);\n }\n break;\n }\n };\n\n return {\n ref,\n open: ref?.current?.hasAttribute('open') || false,\n onToggle,\n onKeyDown,\n role: 'button',\n 'aria-expanded': ref?.current?.hasAttribute('open'),\n };\n },\n [current]\n );\n const hasOpen = useCallback(() => {\n return getCurrentOpen() !== null;\n }, []);\n useEffect(() => {\n if (defaultOpen) {\n if (Array.isArray(defaultOpen)) {\n defaultOpen.forEach((id) => open(id));\n } else {\n open(defaultOpen);\n }\n }\n }, [defaultOpen]);\n return {\n section,\n open,\n close,\n hasOpen: hasOpen(),\n openAll,\n closeAll,\n onOpen: open,\n currentOpen: Object.keys(current).length ? getCurrentOpen() : null,\n };\n};\n\nexport default useAccordion;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgE;AA+BzD,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA,aAAa;AACf,IAAuB,CAAC,MAA0B;AAChD,QAAM,kBAAc,qBAElB,oBAAI,IAAI,CAAC;AACX,QAAM,CAAC,SAAS,cAAc,QAAI;AAAA,IAChC,cAAc,EAAE,CAAC,WAAW,GAAG,KAAK,IAAI,CAAC;AAAA,EAC3C;AACA,QAAM,iBAAiB,MAAkD;AACvE,UAAM,eAAkC,CAAC;AACzC,gBAAY,QAAQ,QAAQ,CAAC,KAAK,OAAO;AACvC,UAAI,IAAI,SAAS,MAAM;AACrB,qBAAa,KAAK,EAAE;AAAA,MACtB;AAAA,IACF,CAAC;AAED,QAAI,YAAY;AACd,aAAO,aAAa,CAAC,KAAK;AAAA,IAC5B;AACA,WAAO,aAAa,SAAS,eAAe;AAAA,EAC9C;AAEA,QAAM,OAAO,CAAC,OAAwB;AACpC,iBAAa,SAAS,IAAI,EAAE,GAAG,SAAS,aAAa,QAAQ,EAAE;AAAA,EACjE;AAEA,QAAM,QAAQ,CAAC,OAAwB;AACrC,gBAAY,QAAQ,IAAI,EAAE,GAAG,SAAS,gBAAgB,MAAM;AAAA,EAC9D;AAEA,QAAM,UAAU,MAAM;AACpB,QAAI,YAAY;AACd,YAAM,IAAI,MAAM,kDAAkD;AAAA,IACpE;AACA,gBAAY,QAAQ,QAAQ,CAAC,QAAQ,IAAI,SAAS,aAAa,QAAQ,EAAE,CAAC;AAAA,EAC5E;AAEA,QAAM,WAAW,MAAM;AACrB,gBAAY,QAAQ,QAAQ,CAAC,QAAQ,IAAI,SAAS,gBAAgB,MAAM,CAAC;AAAA,EAC3E;AAEA,QAAM,iBAAa;AAAA,IACjB,CAAC,cAAmC;AAClC,YAAM,gBAAgB,SAAS;AAC/B,UAAI,CAAC,cAAe;AACpB,YAAM,oBAAoB,MAAM;AAAA,QAC9B,SAAS,iBAAiB,SAAS;AAAA,MACrC;AACA,YAAM,eAAe,kBAAkB;AAAA,QACrC;AAAA,MACF;AACA,UAAI;AACJ,UAAI,cAAc,QAAQ;AACxB,oBACE,gBAAgB,IAAI,eAAe,IAAI,kBAAkB,SAAS;AAAA,MACtE,WAAW,cAAc,YAAY;AACnC,oBACE,gBAAgB,kBAAkB,SAAS,IAAI,eAAe,IAAI;AAAA,MACtE;AACA,YAAM,cAAc,kBAAkB,SAAS;AAC/C,UAAI,aAAa;AACf,oBAAY,MAAM;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,cAAU;AAAA,IACd,CAAC,OAAwB;AACvB,UAAI,CAAC,YAAY,QAAQ,IAAI,EAAE,GAAG;AAChC,oBAAY,QAAQ,IAAI,IAAI,aAAAA,QAAM,UAAU,CAAC;AAAA,MAC/C;AACA,YAAM,MAAM,YAAY,QAAQ;AAAA,QAC9B;AAAA,MACF;AAEA,YAAM,WAAW,CAAC,MAAM;AACtB,YAAI,cAAc,EAAE,QAAQ,MAAM;AAChC,sBAAY,QAAQ,QAAQ,CAAC,YAAY,cAAc;AACrD,gBAAI,cAAc,IAAI;AACpB,6BAAe,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,KAAK,CAAC;AAAA,YACrD;AACA,gBAAI,cAAc,MAAM,WAAW,SAAS,aAAa,MAAM,GAAG;AAChE,yBAAW,SAAS,gBAAgB,MAAM;AAAA,YAC5C;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,yBAAe,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,KAAK,CAAC;AAAA,QACrD;AAAA,MACF;AAEA,YAAM,YAAY,CAAC,MAA2B;AAC5C,gBAAQ,EAAE,KAAK;AAAA,UACb,KAAK;AACH,cAAE,eAAe;AACjB,uBAAW,MAAM;AACjB;AAAA,UACF,KAAK;AACH,cAAE,eAAe;AACjB,uBAAW,UAAU;AACrB;AAAA,UACF,KAAK;AACH,cAAE,eAAe;AACjB,gBAAI,KAAK,SAAS,aAAa,MAAM,GAAG;AACtC,oBAAM,EAAE;AAAA,YACV,OAAO;AACL,mBAAK,EAAE;AAAA,YACT;AACA;AAAA,QACJ;AAAA,MACF;AAEA,aAAO;AAAA,QACL;AAAA,QACA,MAAM,KAAK,SAAS,aAAa,MAAM,KAAK;AAAA,QAC5C;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,iBAAiB,KAAK,SAAS,aAAa,MAAM;AAAA,MACpD;AAAA,IACF;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AACA,QAAM,cAAU,0BAAY,MAAM;AAChC,WAAO,eAAe,MAAM;AAAA,EAC9B,GAAG,CAAC,CAAC;AACL,8BAAU,MAAM;AACd,QAAI,aAAa;AACf,UAAI,MAAM,QAAQ,WAAW,GAAG;AAC9B,oBAAY,QAAQ,CAAC,OAAO,KAAK,EAAE,CAAC;AAAA,MACtC,OAAO;AACL,aAAK,WAAW;AAAA,MAClB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,WAAW,CAAC;AAChB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,aAAa,OAAO,KAAK,OAAO,EAAE,SAAS,eAAe,IAAI;AAAA,EAChE;AACF;AAEA,IAAO,gBAAQ;",
6
6
  "names": ["React"]
7
7
  }
@@ -29,6 +29,7 @@ var Blockquote_stories_exports = {};
29
29
  __export(Blockquote_stories_exports, {
30
30
  Default: () => import_Default.Default,
31
31
  Dense: () => import_Dense.Dense,
32
+ WithControls: () => WithControls,
32
33
  default: () => Blockquote_stories_default
33
34
  });
34
35
  module.exports = __toCommonJS(Blockquote_stories_exports);
@@ -42,9 +43,27 @@ var Blockquote_stories_default = {
42
43
  component: import_Blockquote.default,
43
44
  displayName: "Blockquote"
44
45
  };
46
+ const WithControls = {
47
+ args: {
48
+ children: "\u039F\u03B9 \u03C0\u03C1\u03BF\u03C3\u03C9\u03C0\u03B9\u03BA\u03AD\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03C0\u03BF\u03C5 \u03C3\u03C5\u03BC\u03C0\u03BB\u03B7\u03C1\u03CE\u03BD\u03B5\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B1\u03AF\u03C4\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2 \u03B8\u03B1 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03B7\u03B8\u03BF\u03CD\u03BD \u03B1\u03C0\u03BF\u03BA\u03BB\u03B5\u03B9\u03C3\u03C4\u03B9\u03BA\u03AC \u03B3\u03B9\u03B1 \u03C4\u03B7\u03BD \u03B5\u03BE\u03C5\u03C0\u03B7\u03C1\u03AD\u03C4\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2.",
49
+ dense: false
50
+ },
51
+ argTypes: {
52
+ children: {
53
+ control: { type: "text" }
54
+ },
55
+ dense: {
56
+ control: { type: "boolean" }
57
+ }
58
+ },
59
+ parameters: {
60
+ controls: { exclude: ["ref"] }
61
+ }
62
+ };
45
63
  // Annotate the CommonJS export names for ESM import in node:
46
64
  0 && (module.exports = {
47
65
  Default,
48
- Dense
66
+ Dense,
67
+ WithControls
49
68
  });
50
69
  //# sourceMappingURL=Blockquote.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/content/Blockquote/Blockquote.stories.js"],
4
- "sourcesContent": ["import Blockquote from '@digigov/ui/content/Blockquote';\nexport default {\n title: 'Digigov UI/content/Blockquote',\n description:\n 'Use the inset text component to differentiate a block of text from the content that surrounds it',\n link: 'https://guide.services.gov.gr/docs/components/blockquote',\n component: Blockquote,\n displayName: 'Blockquote',\n};\nexport { Default } from '@digigov/ui/content/Blockquote/__stories__/Default';\nexport { Dense } from '@digigov/ui/content/Blockquote/__stories__/Dense';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuB;AASvB,qBAAwB;AACxB,mBAAsB;AATtB,IAAO,6BAAQ;AAAA,EACb,OAAO;AAAA,EACP,aACE;AAAA,EACF,MAAM;AAAA,EACN,WAAW,kBAAAA;AAAA,EACX,aAAa;AACf;",
4
+ "sourcesContent": ["import Blockquote from '@digigov/ui/content/Blockquote';\nexport default {\n title: 'Digigov UI/content/Blockquote',\n description:\n 'Use the inset text component to differentiate a block of text from the content that surrounds it',\n link: 'https://guide.services.gov.gr/docs/components/blockquote',\n component: Blockquote,\n displayName: 'Blockquote',\n};\n\nexport const WithControls = {\n args: {\n children:\n '\u039F\u03B9 \u03C0\u03C1\u03BF\u03C3\u03C9\u03C0\u03B9\u03BA\u03AD\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03C0\u03BF\u03C5 \u03C3\u03C5\u03BC\u03C0\u03BB\u03B7\u03C1\u03CE\u03BD\u03B5\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B1\u03AF\u03C4\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2 \u03B8\u03B1 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03B7\u03B8\u03BF\u03CD\u03BD \u03B1\u03C0\u03BF\u03BA\u03BB\u03B5\u03B9\u03C3\u03C4\u03B9\u03BA\u03AC \u03B3\u03B9\u03B1 \u03C4\u03B7\u03BD \u03B5\u03BE\u03C5\u03C0\u03B7\u03C1\u03AD\u03C4\u03B7\u03C3\u03AE \u03C3\u03B1\u03C2.',\n dense: false,\n },\n argTypes: {\n children: {\n control: { type: 'text' },\n },\n dense: {\n control: { type: 'boolean' },\n },\n },\n parameters: {\n controls: { exclude: ['ref'] },\n },\n};\n\nexport { Default } from '@digigov/ui/content/Blockquote/__stories__/Default';\nexport { Dense } from '@digigov/ui/content/Blockquote/__stories__/Dense';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuB;AA6BvB,qBAAwB;AACxB,mBAAsB;AA7BtB,IAAO,6BAAQ;AAAA,EACb,OAAO;AAAA,EACP,aACE;AAAA,EACF,MAAM;AAAA,EACN,WAAW,kBAAAA;AAAA,EACX,aAAa;AACf;AAEO,MAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,IACJ,UACE;AAAA,IACF,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,MACR,SAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAAA,IACA,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,UAAU;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE;AAAA,EAC/B;AACF;",
6
6
  "names": ["Blockquote"]
7
7
  }