@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/form/AutoComplete/index.tsx"],
4
- "sourcesContent": ["import React, { Component } from 'react';\nimport { AutoCompleteAssistiveHint } from '@digigov/react-core/AutoCompleteAssistiveHint';\nimport { AutoCompleteContainer } from '@digigov/react-core/AutoCompleteContainer';\nimport { AutoCompleteInputBase } from '@digigov/react-core/AutoCompleteInputBase';\nimport { AutoCompleteInputTypeahead } from '@digigov/react-core/AutoCompleteInputTypeahead';\nimport { AutoCompleteMultipleInput } from '@digigov/react-core/AutoCompleteMultipleInput';\nimport { AutoCompleteMultipleInputContainer } from '@digigov/react-core/AutoCompleteMultipleInputContainer';\nimport { AutoCompleteResultList } from '@digigov/react-core/AutoCompleteResultList';\nimport { AutoCompleteResultListItem } from '@digigov/react-core/AutoCompleteResultListItem';\nimport { Base } from '@digigov/react-core/Base';\nimport { CaretIcon } from '@digigov/react-icons/CaretIcon';\nimport { Chip, ChipContainer } from '@digigov/ui/content/Chip';\nimport Status from '@digigov/ui/form/AutoComplete/Status';\nimport {\n isIosDevice,\n keyCodes,\n isPrintableKeyCode,\n} from '@digigov/ui/form/AutoComplete/utils';\nimport Button from '@digigov/ui/form/Button';\nimport Checkbox, { CheckboxItem } from '@digigov/ui/form/Checkbox';\nimport { NormalText } from '@digigov/ui/typography/NormalText';\n\nexport interface AutoCompleteProps {\n source: (query: string, syncResults: (options: string[]) => void) => void;\n id: string;\n multiple?: boolean;\n tStatusResults?: (x: number, y: string) => string;\n tStatusNoResults?: () => string;\n tStatusQueryTooShort?: (x: number) => string;\n tStatusSelectedOption?: (x: string, y: number, z: number) => string;\n tNoResults?: () => string;\n tAssistiveHint?: () => string;\n templates?: {\n suggestion?: (value: any, query: string | string[]) => any;\n inputValue?: (value: any) => string;\n };\n width?: '25%' | '33.3%' | '50%' | '66.6%' | '75%' | '100%' | 'full';\n autoselect?: boolean;\n defaultValue?: string | string[];\n minLength?: number;\n name?: string;\n placeholder?: string;\n onConfirm?: (x: any) => void;\n confirmOnBlur?: boolean;\n required?: boolean;\n numberOfSelected?: 1 | 2 | 3 | 'all';\n}\n\nexport interface State {\n focused: any;\n hovered: any;\n menuOpen: boolean;\n options: any[];\n query: string;\n selectedValues: any[];\n validChoiceMade: boolean;\n selected: any;\n ariaHint: boolean;\n}\n\nexport interface NewQueryProps {\n menuOpen?: boolean;\n query?: string;\n}\n\nexport default class AutoComplete extends Component<AutoCompleteProps, State> {\n static defaultProps = {\n width: 'full',\n autoselect: false,\n minLength: 0,\n name: 'ds-input-autocomplete',\n placeholder: '',\n onConfirm: (): void => {\n return;\n },\n confirmOnBlur: false,\n required: false,\n tNoResults: (): string => 'No results found',\n tAssistiveHint: (): string =>\n 'When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.',\n };\n\n elementReferences = {};\n\n constructor(props: AutoCompleteProps) {\n super(props);\n const customState: any = {};\n if (Array.isArray(props.defaultValue)) {\n customState.selectedValues = props.defaultValue as string[];\n } else if (props.defaultValue) {\n customState.selectedValues = [props.defaultValue as string];\n }\n\n this.state = {\n focused: null,\n hovered: null,\n menuOpen: false,\n options: [],\n query: this.props.multiple ? '' : (props.defaultValue as string) || '',\n selectedValues: [],\n validChoiceMade: false,\n selected: null,\n ariaHint: true,\n ...customState,\n };\n this.handleComponentBlur = this.handleComponentBlur.bind(this);\n this.handleAutoCompleteBlur = this.handleAutoCompleteBlur.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleUpArrow = this.handleUpArrow.bind(this);\n this.handleDownArrow = this.handleDownArrow.bind(this);\n this.handleEnter = this.handleEnter.bind(this);\n this.handlePrintableKey = this.handlePrintableKey.bind(this);\n\n this.handleListMouseLeave = this.handleListMouseLeave.bind(this);\n\n if (this.props.multiple) {\n this.handleOptionClick = this.handleOptionClickMultiple.bind(this);\n } else {\n this.handleOptionClick = this.handleOptionClick.bind(this);\n }\n this.handleOptionFocus = this.handleOptionFocus.bind(this);\n this.handleOptionMouseDown = this.handleOptionMouseDown.bind(this);\n this.handleOptionMouseEnter = this.handleOptionMouseEnter.bind(this);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputFocus = this.handleInputFocus.bind(this);\n\n this.getDirectInputChanges = this.getDirectInputChanges.bind(this);\n }\n\n isQueryAnOption(query: string, options: string[]): boolean {\n return (\n options\n .map((entry) => this.templateInputValue(entry).toLowerCase())\n .indexOf(query.toLowerCase()) !== -1\n );\n }\n\n componentDidMount(): void {\n this.getDirectInputChanges();\n }\n\n getDirectInputChanges(): void {\n const inputReference = this.elementReferences[-1];\n const queryHasChanged =\n inputReference && inputReference.value !== (this.state.query ?? '');\n if (queryHasChanged) {\n this.handleInputChange({ target: { value: inputReference.value } });\n }\n }\n\n componentDidUpdate(_, prevState: Readonly<State>): void {\n const { focused } = this.state;\n const componentLostFocus = focused === null;\n const focusedChanged = prevState.focused !== focused;\n const focusDifferentElement = focusedChanged && !componentLostFocus;\n if (focusDifferentElement) {\n this.elementReferences[focused].focus();\n }\n const focusedInput = focused === -1;\n const componentGainedFocus = focusedChanged && prevState.focused === null;\n const selectAllText = focusedInput && componentGainedFocus;\n if (selectAllText) {\n const inputElement = this.elementReferences[focused];\n inputElement.setSelectionRange(0, inputElement.value.length);\n }\n }\n\n hasAutoselect(): boolean {\n return (isIosDevice() as boolean)\n ? false\n : (this.props.autoselect as boolean);\n }\n\n // This template is used when converting from a state.options object into a state.query.\n templateInputValue(value: string): string {\n const inputValueTemplate =\n this.props.templates && this.props.templates.inputValue;\n return inputValueTemplate ? inputValueTemplate(value) : value;\n }\n\n // This template is used when displaying results / suggestions.\n templateSuggestion(value: string): string {\n const suggestionTemplate =\n this.props.templates && this.props.templates.suggestion;\n\n return suggestionTemplate\n ? suggestionTemplate(value, this.state.query)\n : value;\n }\n\n handleComponentBlur(newState?: NewQueryProps): void {\n const { options, query, selected } = this.state;\n let newQuery: string;\n if (this.props.confirmOnBlur) {\n newQuery = newState?.query || query;\n this.props.onConfirm?.(options[selected as number]);\n } else {\n newQuery = query;\n }\n this.setState({\n focused: null,\n menuOpen: newState?.menuOpen || false,\n query: newQuery,\n selected: null,\n validChoiceMade: this.isQueryAnOption(newQuery, options),\n });\n }\n\n handleListMouseLeave(): void {\n this.setState({\n hovered: null,\n });\n }\n\n handleAutoCompleteBlur(event, index?: number): void {\n const { focused, options, query, selected } = this.state;\n let focusingOutsideComponent = false;\n if (event.relatedTarget === null) {\n focusingOutsideComponent = true;\n } else {\n // This affects if we have multiple autocompletes in same page and we click the first button-arrow and then another button-arrow\n focusingOutsideComponent =\n this.elementReferences['button-arrow'] !== event.relatedTarget;\n }\n const focusingInput = event.relatedTarget === this.elementReferences[-1];\n const focusingButtonArrow =\n this.elementReferences['button-arrow'] === event.relatedTarget || false;\n let focusingAnotherOption = focused !== null && focused !== -1;\n if (index !== undefined) {\n focusingAnotherOption = focused !== index && focused !== -1;\n }\n // Check if the user clicks outside and not either on option, either on input or on button arrow\n const blurComponent =\n focusingOutsideComponent &&\n !(focusingAnotherOption || focusingInput || focusingButtonArrow);\n\n if (blurComponent) {\n // In handleInputBlur:\n const newQuery = isIosDevice()\n ? query\n : this.templateInputValue(options[selected as number]);\n this.handleComponentBlur({\n menuOpen: false,\n query: newQuery,\n });\n }\n }\n\n handleInputChange(event: { target: any }): void {\n const { source, minLength } = this.props;\n const autoselect = this.hasAutoselect();\n const query = event.target.value;\n const queryEmpty = query.length === 0;\n this.setState({\n query,\n ariaHint: queryEmpty,\n });\n const minLengthQuery =\n minLength != undefined && minLength > query.length ? '' : query;\n source(minLengthQuery, (options) => {\n const optionsAvailable = options.length > 0;\n this.setState({\n menuOpen: optionsAvailable,\n options,\n selected: autoselect && optionsAvailable ? 0 : -1,\n validChoiceMade: false,\n });\n });\n }\n\n handleInputClick(\n event: React.MouseEvent<HTMLInputElement, MouseEvent>\n ): void {\n this.handleInputChange(event);\n }\n\n handleInputFocus(): void {\n const { source } = this.props;\n const { query, validChoiceMade, options } = this.state;\n const { minLength } = this.props;\n const shouldReopenMenu =\n !validChoiceMade &&\n query.length >= (minLength as number) &&\n options.length > 0;\n if (shouldReopenMenu) {\n this.setState(({ menuOpen }) => ({\n focused: -1,\n menuOpen: shouldReopenMenu || menuOpen,\n selected: -1,\n }));\n } else {\n source(query, (options) => {\n this.setState({\n focused: -1,\n options,\n });\n });\n }\n }\n\n handleOptionFocus(index: number): void {\n this.setState({\n focused: index,\n hovered: null,\n selected: index,\n });\n }\n\n handleOptionMouseEnter(index: number): void {\n // iOS Safari prevents click event if mouseenter adds hover background colour\n // See: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW4\n if (!isIosDevice()) {\n this.setState({\n hovered: index,\n });\n }\n }\n\n handleOptionClickMultiple(index: number): void {\n const selectedOption = this.state.options[index];\n let selectedValues = this.state.selectedValues;\n if (this.state.selectedValues.indexOf(selectedOption) === -1) {\n selectedValues = selectedValues.concat([selectedOption]);\n } else {\n selectedValues.splice(\n this.state.selectedValues.indexOf(selectedOption),\n 1\n );\n }\n this.props.onConfirm?.(selectedValues);\n this.setState({\n focused: index,\n hovered: null,\n menuOpen: true,\n query: '',\n selectedValues,\n selected: index,\n validChoiceMade: true,\n });\n this.forceUpdate();\n }\n\n handleOptionClick(index: number): void {\n const selectedOption = this.state.options[index];\n const newQuery = this.templateInputValue(selectedOption);\n this.props.onConfirm?.(selectedOption);\n const selectedValues = this.props.multiple\n ? this.state.selectedValues.concat(selectedOption)\n : [selectedOption];\n this.setState({\n focused: -1,\n hovered: null,\n menuOpen: false,\n query: newQuery,\n selectedValues,\n selected: -1,\n validChoiceMade: true,\n });\n this.forceUpdate();\n }\n\n handleOptionMouseDown(event: { preventDefault: () => void }): void {\n // Safari triggers focusOut before click, but if you\n // preventDefault on mouseDown, you can stop that from happening.\n // If this is removed, clicking on an option in Safari will trigger\n // `handleOptionBlur`, which closes the menu, and the click will\n // trigger on the element underneath instead.\n // See: http://stackoverflow.com/questions/7621711/how-to-prevent-blur-running-when-clicking-a-link-in-jquery\n event.preventDefault();\n }\n\n handleUpArrow(event: { preventDefault: () => void }): void {\n event.preventDefault();\n const { menuOpen, selected } = this.state;\n const isNotAtTop = selected !== -1;\n const allowMoveUp = isNotAtTop && menuOpen;\n if (allowMoveUp) {\n this.handleOptionFocus((selected as number) - 1);\n }\n }\n\n handleDownArrow(event: { preventDefault: () => void }): void {\n event.preventDefault();\n // if not open, open\n if (this.state.menuOpen === false) {\n event.preventDefault();\n this.props.source('', (options) => {\n this.setState({\n menuOpen: true,\n options,\n selected: 0,\n focused: 0,\n hovered: null,\n });\n });\n } else if (this.state.menuOpen === true) {\n const { menuOpen, options, selected } = this.state;\n const isNotAtBottom = selected !== options.length - 1;\n const allowMoveDown = isNotAtBottom && menuOpen;\n if (allowMoveDown) {\n this.handleOptionFocus((selected as number) + 1);\n }\n }\n }\n\n handleSpace(event: { preventDefault: () => void }): void {\n // if not open, open\n if (this.state.menuOpen === false && this.state.query === '') {\n event.preventDefault();\n this.props.source('', (options) => {\n this.setState({\n menuOpen: true,\n options,\n });\n });\n }\n const focusIsOnOption = this.state.focused !== -1;\n if (focusIsOnOption) {\n event.preventDefault();\n this.handleOptionClick(this.state.focused);\n }\n }\n\n handleEnter(event: { preventDefault: () => void }): void {\n if (this.state.menuOpen) {\n event.preventDefault();\n const hasSelectedOption = this.state.selected >= 0;\n if (hasSelectedOption) {\n this.handleOptionClick(this.state.selected);\n if (this.props.multiple) {\n this.setState({\n menuOpen: false,\n focused: -1,\n });\n }\n }\n }\n }\n\n handlePrintableKey(event: { target: any }): void {\n const inputElement = this.elementReferences[-1];\n const eventIsOnInput = event.target === inputElement;\n if (!eventIsOnInput) {\n // FIXME: This would be better if it was in componentDidUpdate,\n // but using setState to trigger that seems to not work correctly\n // in preact@8.1.0.\n inputElement.focus();\n }\n }\n\n handleKeyDown(event: {\n preventDefault: () => void;\n keyCode: number;\n target: any;\n }): void {\n switch (keyCodes[event.keyCode]) {\n case 'up':\n this.handleUpArrow(event);\n break;\n case 'down':\n this.handleDownArrow(event);\n break;\n case 'space':\n this.handleSpace(event);\n break;\n case 'enter':\n this.handleEnter(event);\n break;\n case 'escape':\n this.handleComponentBlur({\n query: this.state.query,\n });\n break;\n case 'backspace':\n if (this.props.multiple) {\n if (\n this.state.query.length === 0 &&\n this.state.selectedValues.length > 0\n ) {\n event.preventDefault();\n const updatedSelectedValues = this.state.selectedValues.slice(\n 0,\n -1\n );\n this.setState(\n {\n selectedValues: updatedSelectedValues,\n },\n () => {\n this.props.onConfirm?.(updatedSelectedValues);\n }\n );\n } else {\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n }\n } else {\n this.props.onConfirm?.('');\n }\n break;\n default:\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n break;\n }\n }\n\n render(): JSX.Element {\n const {\n id,\n width,\n minLength,\n name,\n placeholder,\n required,\n tNoResults,\n tStatusQueryTooShort,\n tStatusNoResults,\n tStatusSelectedOption,\n tStatusResults,\n tAssistiveHint,\n multiple,\n source,\n } = this.props;\n const {\n focused,\n hovered,\n menuOpen,\n options,\n selected,\n ariaHint,\n validChoiceMade,\n } = this.state;\n const autoselect = this.hasAutoselect();\n const query = this.state.query ?? '';\n const inputFocused = focused === -1;\n const noOptionsAvailable = options.length === 0;\n const queryNotEmpty = query.length !== 0;\n const queryLongEnough = query.length >= (minLength as number);\n const showNoOptionsFound =\n inputFocused && noOptionsAvailable && queryNotEmpty && queryLongEnough;\n const componentIsFocused = focused !== null;\n const optionFocused = focused !== -1 && focused !== null;\n const menuIsVisible = menuOpen || showNoOptionsFound;\n const selectedOptionText = this.templateInputValue(options[selected]);\n const optionBeginsWithQuery =\n selectedOptionText &&\n selectedOptionText.toLowerCase().indexOf(query.toLowerCase()) === 0;\n const hintValue =\n optionBeginsWithQuery && autoselect\n ? query + selectedOptionText.substr(query.length)\n : '';\n\n const assistiveHintID = id + '__assistiveHint';\n const ariaDescribedProp = ariaHint\n ? {\n 'aria-describedby': assistiveHintID,\n }\n : null;\n\n const showAutoCompleteResultListItems = (\n options: string[],\n multiple: boolean\n ) => {\n {\n return options.map((option, index) => {\n const showFocused =\n focused === -1 ? selected === index : focused === index;\n const iosPosinsetHtml = isIosDevice() ? (\n <Base\n as=\"span\"\n id={`${id}__option-suffix--${index}`}\n style={{\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n marginBottom: '-1px',\n marginRight: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px',\n }}\n >\n {index + 1} \u03B1\u03C0\u03CC {options.length}\n </Base>\n ) : (\n ''\n );\n return (\n <AutoCompleteResultListItem\n isFocused={showFocused}\n isHovered={hovered}\n index={index}\n aria-selected={focused === index ? 'true' : 'false'}\n key={index}\n onBlur={(event) => this.handleAutoCompleteBlur(event, index)}\n onClick={() => this.handleOptionClick(index)}\n onMouseDown={this.handleOptionMouseDown}\n onMouseEnter={() => this.handleOptionMouseEnter(index)}\n ref={(optionEl) => {\n this.elementReferences[index] = optionEl;\n }}\n role=\"option\"\n tabIndex={-1}\n // @ts-ignore\n value={typeof option === 'object' ? option?.value : option}\n aria-posinset={index + 1}\n aria-setsize={options.length}\n >\n {multiple ? (\n <CheckboxItem\n value={option}\n checked={this.state.selectedValues.includes(option)}\n onChange={() => {}}\n >\n {this.templateSuggestion(option)}\n </CheckboxItem>\n ) : (\n this.templateSuggestion(option)\n )}\n {iosPosinsetHtml}\n </AutoCompleteResultListItem>\n );\n });\n }\n };\n\n return (\n <AutoCompleteContainer onKeyDown={this.handleKeyDown} width={width}>\n <Status\n id={id}\n length={options.length}\n queryLength={query.length}\n minQueryLength={minLength as number}\n selectedOption={this.templateInputValue(options[selected])}\n selectedOptionIndex={selected}\n validChoiceMade={validChoiceMade}\n isInFocus={this.state.focused !== null}\n tQueryTooShort={tStatusQueryTooShort}\n tNoResults={tStatusNoResults}\n tSelectedOption={tStatusSelectedOption}\n tResults={tStatusResults}\n />\n\n {hintValue && (placeholder === '' || !placeholder) && (\n <AutoCompleteInputTypeahead value={hintValue} />\n )}\n\n {multiple ? (\n <AutoCompleteMultipleInputContainer\n isFocused={componentIsFocused}\n numberOfSelected={this.props.numberOfSelected}\n >\n <ChipContainer>\n {this.state.selectedValues.map((value, index) => {\n return (\n <Chip\n key={index}\n onDelete={() => {\n this.setState(\n (prevState) => ({\n selectedValues: prevState.selectedValues.filter(\n (v) => {\n if (typeof v === 'string') {\n return v !== value;\n } else {\n return v.value !== value.value;\n }\n }\n ),\n }),\n () => {\n this.props.onConfirm?.(this.state.selectedValues);\n }\n );\n }}\n >\n {typeof value === 'string' ? value : value.label.primary}\n </Chip>\n );\n })}\n {!componentIsFocused &&\n typeof this.props.numberOfSelected === 'number' &&\n this.state.selectedValues.length >\n this.props.numberOfSelected && (\n <NormalText fontWeight=\"bold\" margin={0}>\n +\n {this.state.selectedValues.length -\n this.props.numberOfSelected}\n </NormalText>\n )}\n </ChipContainer>\n <AutoCompleteMultipleInput\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-activedescendant={\n optionFocused ? `${id}__option--${focused}` : ''\n }\n aria-owns={`${id}__listbox`}\n aria-autocomplete={this.hasAutoselect() ? 'both' : 'list'}\n {...ariaDescribedProp}\n autoComplete=\"off\"\n // isFocused={componentIsFocused}\n id={id}\n onClick={(event) => this.handleInputClick(event)}\n onBlur={(event) => this.handleAutoCompleteBlur(event)}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n name={name}\n placeholder={placeholder}\n ref={(inputElement) => {\n this.elementReferences[-1] = inputElement;\n }}\n role=\"combobox\"\n required={required}\n value={query}\n />\n <Button\n id={`${id}__button-arrow`}\n ref={(buttonElement) => {\n this.elementReferences['button-arrow'] = buttonElement;\n }}\n variant=\"link\"\n onClick={() => {\n if (!this.state.menuOpen) {\n source(query, (options) => {\n const optionsAvailable = options.length > 0;\n this.setState({\n menuOpen: optionsAvailable,\n options,\n selected: autoselect && optionsAvailable ? 0 : -1,\n validChoiceMade: false,\n });\n });\n } else {\n this.setState({\n menuOpen: false,\n focused: null,\n });\n }\n }}\n onBlur={(event) => this.handleAutoCompleteBlur(event)}\n >\n <CaretIcon direction=\"down\" size=\"md\" />\n </Button>\n\n <AutoCompleteResultList\n isVisible={menuIsVisible}\n onMouseLeave={() => this.handleListMouseLeave()}\n id={`${id}__listbox`}\n role=\"listbox\"\n >\n <Checkbox>\n {showAutoCompleteResultListItems(options, multiple)}\n </Checkbox>\n\n {showNoOptionsFound && (\n <AutoCompleteResultListItem empty>\n {tNoResults?.()}\n </AutoCompleteResultListItem>\n )}\n </AutoCompleteResultList>\n\n <AutoCompleteAssistiveHint id={assistiveHintID}>\n {tAssistiveHint?.()}\n </AutoCompleteAssistiveHint>\n </AutoCompleteMultipleInputContainer>\n ) : (\n <>\n <AutoCompleteInputBase\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-activedescendant={\n optionFocused ? `${id}__option--${focused}` : ''\n }\n aria-owns={`${id}__listbox`}\n aria-autocomplete={this.hasAutoselect() ? 'both' : 'list'}\n {...ariaDescribedProp}\n autoComplete=\"off\"\n isFocused={componentIsFocused}\n id={id}\n onClick={(event) => this.handleInputClick(event)}\n onBlur={this.handleAutoCompleteBlur}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n name={name}\n placeholder={placeholder}\n ref={(inputElement) => {\n this.elementReferences[-1] = inputElement;\n }}\n role=\"combobox\"\n required={required}\n value={query}\n />\n <CaretIcon direction=\"down\" size=\"md\" />\n\n <AutoCompleteResultList\n isVisible={menuIsVisible}\n onMouseLeave={() => this.handleListMouseLeave()}\n id={`${id}__listbox`}\n role=\"listbox\"\n >\n {showAutoCompleteResultListItems(options, false)}\n {showNoOptionsFound && (\n <AutoCompleteResultListItem empty>\n {tNoResults?.()}\n </AutoCompleteResultListItem>\n )}\n </AutoCompleteResultList>\n <AutoCompleteAssistiveHint id={assistiveHintID}>\n {tAssistiveHint?.()}\n </AutoCompleteAssistiveHint>\n </>\n )}\n </AutoCompleteContainer>\n );\n }\n}\n\nexport {\n AutoComplete,\n AutoCompleteInputBase,\n AutoCompleteInputTypeahead,\n AutoCompleteResultList,\n AutoCompleteResultListItem,\n AutoCompleteContainer,\n AutoCompleteAssistiveHint,\n AutoCompleteMultipleInputContainer,\n AutoCompleteMultipleInput,\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import React, { Component, type JSX } from 'react';\nimport { AutoCompleteAssistiveHint } from '@digigov/react-core/AutoCompleteAssistiveHint';\nimport { AutoCompleteContainer } from '@digigov/react-core/AutoCompleteContainer';\nimport { AutoCompleteInputBase } from '@digigov/react-core/AutoCompleteInputBase';\nimport { AutoCompleteInputTypeahead } from '@digigov/react-core/AutoCompleteInputTypeahead';\nimport { AutoCompleteMultipleInput } from '@digigov/react-core/AutoCompleteMultipleInput';\nimport { AutoCompleteMultipleInputContainer } from '@digigov/react-core/AutoCompleteMultipleInputContainer';\nimport { AutoCompleteResultList } from '@digigov/react-core/AutoCompleteResultList';\nimport { AutoCompleteResultListItem } from '@digigov/react-core/AutoCompleteResultListItem';\nimport { Base } from '@digigov/react-core/Base';\nimport { CaretIcon } from '@digigov/react-icons/CaretIcon';\nimport { Chip, ChipContainer } from '@digigov/ui/content/Chip';\nimport Status from '@digigov/ui/form/AutoComplete/Status';\nimport {\n isIosDevice,\n keyCodes,\n isPrintableKeyCode,\n} from '@digigov/ui/form/AutoComplete/utils';\nimport Button from '@digigov/ui/form/Button';\nimport Checkbox, { CheckboxItem } from '@digigov/ui/form/Checkbox';\nimport { NormalText } from '@digigov/ui/typography/NormalText';\n\nexport interface AutoCompleteProps {\n source: (query: string, syncResults: (options: string[]) => void) => void;\n id: string;\n multiple?: boolean;\n tStatusResults?: (x: number, y: string) => string;\n tStatusNoResults?: () => string;\n tStatusQueryTooShort?: (x: number) => string;\n tStatusSelectedOption?: (x: string, y: number, z: number) => string;\n tNoResults?: () => string;\n tAssistiveHint?: () => string;\n templates?: {\n suggestion?: (value: any, query: string | string[]) => any;\n inputValue?: (value: any) => string;\n };\n width?: '25%' | '33.3%' | '50%' | '66.6%' | '75%' | '100%' | 'full';\n autoselect?: boolean;\n defaultValue?: string | string[];\n minLength?: number;\n name?: string;\n placeholder?: string;\n onConfirm?: (x: any) => void;\n confirmOnBlur?: boolean;\n required?: boolean;\n numberOfSelected?: 1 | 2 | 3 | 'all';\n}\n\nexport interface State {\n focused: any;\n hovered: any;\n menuOpen: boolean;\n options: any[];\n query: string;\n selectedValues: any[];\n validChoiceMade: boolean;\n selected: any;\n ariaHint: boolean;\n}\n\nexport interface NewQueryProps {\n menuOpen?: boolean;\n query?: string;\n}\n\nexport default class AutoComplete extends Component<AutoCompleteProps, State> {\n static defaultProps = {\n width: 'full',\n autoselect: false,\n minLength: 0,\n name: 'ds-input-autocomplete',\n placeholder: '',\n onConfirm: (): void => {\n return;\n },\n confirmOnBlur: false,\n required: false,\n tNoResults: (): string => 'No results found',\n tAssistiveHint: (): string =>\n 'When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.',\n };\n\n elementReferences = {};\n\n constructor(props: AutoCompleteProps) {\n super(props);\n const customState: any = {};\n if (Array.isArray(props.defaultValue)) {\n customState.selectedValues = props.defaultValue as string[];\n } else if (props.defaultValue) {\n customState.selectedValues = [props.defaultValue as string];\n }\n\n this.state = {\n focused: null,\n hovered: null,\n menuOpen: false,\n options: [],\n query: this.props.multiple ? '' : (props.defaultValue as string) || '',\n selectedValues: [],\n validChoiceMade: false,\n selected: null,\n ariaHint: true,\n ...customState,\n };\n this.handleComponentBlur = this.handleComponentBlur.bind(this);\n this.handleAutoCompleteBlur = this.handleAutoCompleteBlur.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleUpArrow = this.handleUpArrow.bind(this);\n this.handleDownArrow = this.handleDownArrow.bind(this);\n this.handleEnter = this.handleEnter.bind(this);\n this.handlePrintableKey = this.handlePrintableKey.bind(this);\n\n this.handleListMouseLeave = this.handleListMouseLeave.bind(this);\n\n if (this.props.multiple) {\n this.handleOptionClick = this.handleOptionClickMultiple.bind(this);\n } else {\n this.handleOptionClick = this.handleOptionClick.bind(this);\n }\n this.handleOptionFocus = this.handleOptionFocus.bind(this);\n this.handleOptionMouseDown = this.handleOptionMouseDown.bind(this);\n this.handleOptionMouseEnter = this.handleOptionMouseEnter.bind(this);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputFocus = this.handleInputFocus.bind(this);\n\n this.getDirectInputChanges = this.getDirectInputChanges.bind(this);\n }\n\n isQueryAnOption(query: string, options: string[]): boolean {\n return (\n options\n .map((entry) => this.templateInputValue(entry).toLowerCase())\n .indexOf(query.toLowerCase()) !== -1\n );\n }\n\n componentDidMount(): void {\n this.getDirectInputChanges();\n }\n\n getDirectInputChanges(): void {\n const inputReference = this.elementReferences[-1];\n const queryHasChanged =\n inputReference && inputReference.value !== (this.state.query ?? '');\n if (queryHasChanged) {\n this.handleInputChange({ target: { value: inputReference.value } });\n }\n }\n\n componentDidUpdate(_, prevState: Readonly<State>): void {\n const { focused } = this.state;\n const componentLostFocus = focused === null;\n const focusedChanged = prevState.focused !== focused;\n const focusDifferentElement = focusedChanged && !componentLostFocus;\n if (focusDifferentElement) {\n this.elementReferences[focused].focus();\n }\n const focusedInput = focused === -1;\n const componentGainedFocus = focusedChanged && prevState.focused === null;\n const selectAllText = focusedInput && componentGainedFocus;\n if (selectAllText) {\n const inputElement = this.elementReferences[focused];\n inputElement.setSelectionRange(0, inputElement.value.length);\n }\n }\n\n hasAutoselect(): boolean {\n return (isIosDevice() as boolean)\n ? false\n : (this.props.autoselect as boolean);\n }\n\n // This template is used when converting from a state.options object into a state.query.\n templateInputValue(value: string): string {\n const inputValueTemplate =\n this.props.templates && this.props.templates.inputValue;\n return inputValueTemplate ? inputValueTemplate(value) : value;\n }\n\n // This template is used when displaying results / suggestions.\n templateSuggestion(value: string): string {\n const suggestionTemplate =\n this.props.templates && this.props.templates.suggestion;\n\n return suggestionTemplate\n ? suggestionTemplate(value, this.state.query)\n : value;\n }\n\n handleComponentBlur(newState?: NewQueryProps): void {\n const { options, query, selected } = this.state;\n let newQuery: string;\n if (this.props.confirmOnBlur) {\n newQuery = newState?.query || query;\n this.props.onConfirm?.(options[selected as number]);\n } else {\n newQuery = query;\n }\n this.setState({\n focused: null,\n menuOpen: newState?.menuOpen || false,\n query: newQuery,\n selected: null,\n validChoiceMade: this.isQueryAnOption(newQuery, options),\n });\n }\n\n handleListMouseLeave(): void {\n this.setState({\n hovered: null,\n });\n }\n\n handleAutoCompleteBlur(event, index?: number): void {\n const { focused, options, query, selected } = this.state;\n let focusingOutsideComponent = false;\n if (event.relatedTarget === null) {\n focusingOutsideComponent = true;\n } else {\n // This affects if we have multiple autocompletes in same page and we click the first button-arrow and then another button-arrow\n focusingOutsideComponent =\n this.elementReferences['button-arrow'] !== event.relatedTarget;\n }\n const focusingInput = event.relatedTarget === this.elementReferences[-1];\n const focusingButtonArrow =\n this.elementReferences['button-arrow'] === event.relatedTarget || false;\n let focusingAnotherOption = focused !== null && focused !== -1;\n if (index !== undefined) {\n focusingAnotherOption = focused !== index && focused !== -1;\n }\n // Check if the user clicks outside and not either on option, either on input or on button arrow\n const blurComponent =\n focusingOutsideComponent &&\n !(focusingAnotherOption || focusingInput || focusingButtonArrow);\n\n if (blurComponent) {\n // In handleInputBlur:\n const newQuery = isIosDevice()\n ? query\n : this.templateInputValue(options[selected as number]);\n this.handleComponentBlur({\n menuOpen: false,\n query: newQuery,\n });\n }\n }\n\n handleInputChange(event: { target: any }): void {\n const { source, minLength } = this.props;\n const autoselect = this.hasAutoselect();\n const query = event.target.value;\n const queryEmpty = query.length === 0;\n this.setState({\n query,\n ariaHint: queryEmpty,\n });\n const minLengthQuery =\n minLength != undefined && minLength > query.length ? '' : query;\n source(minLengthQuery, (options) => {\n const optionsAvailable = options.length > 0;\n this.setState({\n menuOpen: optionsAvailable,\n options,\n selected: autoselect && optionsAvailable ? 0 : -1,\n validChoiceMade: false,\n });\n });\n }\n\n handleInputClick(\n event: React.MouseEvent<HTMLInputElement, MouseEvent>\n ): void {\n this.handleInputChange(event);\n }\n\n handleInputFocus(): void {\n const { source } = this.props;\n const { query, validChoiceMade, options } = this.state;\n const { minLength } = this.props;\n const shouldReopenMenu =\n !validChoiceMade &&\n query.length >= (minLength as number) &&\n options.length > 0;\n if (shouldReopenMenu) {\n this.setState(({ menuOpen }) => ({\n focused: -1,\n menuOpen: shouldReopenMenu || menuOpen,\n selected: -1,\n }));\n } else {\n source(query, (options) => {\n this.setState({\n focused: -1,\n options,\n });\n });\n }\n }\n\n handleOptionFocus(index: number): void {\n this.setState({\n focused: index,\n hovered: null,\n selected: index,\n });\n }\n\n handleOptionMouseEnter(index: number): void {\n // iOS Safari prevents click event if mouseenter adds hover background colour\n // See: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW4\n if (!isIosDevice()) {\n this.setState({\n hovered: index,\n });\n }\n }\n\n handleOptionClickMultiple(index: number): void {\n const selectedOption = this.state.options[index];\n let selectedValues = this.state.selectedValues;\n if (this.state.selectedValues.indexOf(selectedOption) === -1) {\n selectedValues = selectedValues.concat([selectedOption]);\n } else {\n selectedValues.splice(\n this.state.selectedValues.indexOf(selectedOption),\n 1\n );\n }\n this.props.onConfirm?.(selectedValues);\n this.setState({\n focused: index,\n hovered: null,\n menuOpen: true,\n query: '',\n selectedValues,\n selected: index,\n validChoiceMade: true,\n });\n this.forceUpdate();\n }\n\n handleOptionClick(index: number): void {\n const selectedOption = this.state.options[index];\n const newQuery = this.templateInputValue(selectedOption);\n this.props.onConfirm?.(selectedOption);\n const selectedValues = this.props.multiple\n ? this.state.selectedValues.concat(selectedOption)\n : [selectedOption];\n this.setState({\n focused: -1,\n hovered: null,\n menuOpen: false,\n query: newQuery,\n selectedValues,\n selected: -1,\n validChoiceMade: true,\n });\n this.forceUpdate();\n }\n\n handleOptionMouseDown(event: { preventDefault: () => void }): void {\n // Safari triggers focusOut before click, but if you\n // preventDefault on mouseDown, you can stop that from happening.\n // If this is removed, clicking on an option in Safari will trigger\n // `handleOptionBlur`, which closes the menu, and the click will\n // trigger on the element underneath instead.\n // See: http://stackoverflow.com/questions/7621711/how-to-prevent-blur-running-when-clicking-a-link-in-jquery\n event.preventDefault();\n }\n\n handleUpArrow(event: { preventDefault: () => void }): void {\n event.preventDefault();\n const { menuOpen, selected } = this.state;\n const isNotAtTop = selected !== -1;\n const allowMoveUp = isNotAtTop && menuOpen;\n if (allowMoveUp) {\n this.handleOptionFocus((selected as number) - 1);\n }\n }\n\n handleDownArrow(event: { preventDefault: () => void }): void {\n event.preventDefault();\n // if not open, open\n if (this.state.menuOpen === false) {\n event.preventDefault();\n this.props.source('', (options) => {\n this.setState({\n menuOpen: true,\n options,\n selected: 0,\n focused: 0,\n hovered: null,\n });\n });\n } else if (this.state.menuOpen === true) {\n const { menuOpen, options, selected } = this.state;\n const isNotAtBottom = selected !== options.length - 1;\n const allowMoveDown = isNotAtBottom && menuOpen;\n if (allowMoveDown) {\n this.handleOptionFocus((selected as number) + 1);\n }\n }\n }\n\n handleSpace(event: { preventDefault: () => void }): void {\n // if not open, open\n if (this.state.menuOpen === false && this.state.query === '') {\n event.preventDefault();\n this.props.source('', (options) => {\n this.setState({\n menuOpen: true,\n options,\n });\n });\n }\n const focusIsOnOption = this.state.focused !== -1;\n if (focusIsOnOption) {\n event.preventDefault();\n this.handleOptionClick(this.state.focused);\n }\n }\n\n handleEnter(event: { preventDefault: () => void }): void {\n if (this.state.menuOpen) {\n event.preventDefault();\n const hasSelectedOption = this.state.selected >= 0;\n if (hasSelectedOption) {\n this.handleOptionClick(this.state.selected);\n if (this.props.multiple) {\n this.setState({\n menuOpen: false,\n focused: -1,\n });\n }\n }\n }\n }\n\n handlePrintableKey(event: { target: any }): void {\n const inputElement = this.elementReferences[-1];\n const eventIsOnInput = event.target === inputElement;\n if (!eventIsOnInput) {\n // FIXME: This would be better if it was in componentDidUpdate,\n // but using setState to trigger that seems to not work correctly\n // in preact@8.1.0.\n inputElement.focus();\n }\n }\n\n handleKeyDown(event: {\n preventDefault: () => void;\n keyCode: number;\n target: any;\n }): void {\n switch (keyCodes[event.keyCode]) {\n case 'up':\n this.handleUpArrow(event);\n break;\n case 'down':\n this.handleDownArrow(event);\n break;\n case 'space':\n this.handleSpace(event);\n break;\n case 'enter':\n this.handleEnter(event);\n break;\n case 'escape':\n this.handleComponentBlur({\n query: this.state.query,\n });\n break;\n case 'backspace':\n if (this.props.multiple) {\n if (\n this.state.query.length === 0 &&\n this.state.selectedValues.length > 0\n ) {\n event.preventDefault();\n const updatedSelectedValues = this.state.selectedValues.slice(\n 0,\n -1\n );\n this.setState(\n {\n selectedValues: updatedSelectedValues,\n },\n () => {\n this.props.onConfirm?.(updatedSelectedValues);\n }\n );\n } else {\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n }\n } else {\n this.props.onConfirm?.('');\n }\n break;\n default:\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n break;\n }\n }\n\n render(): JSX.Element {\n const {\n id,\n width,\n minLength,\n name,\n placeholder,\n required,\n tNoResults,\n tStatusQueryTooShort,\n tStatusNoResults,\n tStatusSelectedOption,\n tStatusResults,\n tAssistiveHint,\n multiple,\n source,\n } = this.props;\n const {\n focused,\n hovered,\n menuOpen,\n options,\n selected,\n ariaHint,\n validChoiceMade,\n } = this.state;\n const autoselect = this.hasAutoselect();\n const query = this.state.query ?? '';\n const inputFocused = focused === -1;\n const noOptionsAvailable = options.length === 0;\n const queryNotEmpty = query.length !== 0;\n const queryLongEnough = query.length >= (minLength as number);\n const showNoOptionsFound =\n inputFocused && noOptionsAvailable && queryNotEmpty && queryLongEnough;\n const componentIsFocused = focused !== null;\n const optionFocused = focused !== -1 && focused !== null;\n const menuIsVisible = menuOpen || showNoOptionsFound;\n const selectedOptionText = this.templateInputValue(options[selected]);\n const optionBeginsWithQuery =\n selectedOptionText &&\n selectedOptionText.toLowerCase().indexOf(query.toLowerCase()) === 0;\n const hintValue =\n optionBeginsWithQuery && autoselect\n ? query + selectedOptionText.substr(query.length)\n : '';\n\n const assistiveHintID = id + '__assistiveHint';\n const ariaDescribedProp = ariaHint\n ? {\n 'aria-describedby': assistiveHintID,\n }\n : null;\n\n const showAutoCompleteResultListItems = (\n options: string[],\n multiple: boolean\n ) => {\n {\n return options.map((option, index) => {\n const showFocused =\n focused === -1 ? selected === index : focused === index;\n const iosPosinsetHtml = isIosDevice() ? (\n <Base\n as=\"span\"\n id={`${id}__option-suffix--${index}`}\n style={{\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n marginBottom: '-1px',\n marginRight: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px',\n }}\n >\n {index + 1} \u03B1\u03C0\u03CC {options.length}\n </Base>\n ) : (\n ''\n );\n return (\n <AutoCompleteResultListItem\n isFocused={showFocused}\n isHovered={hovered}\n index={index}\n aria-selected={focused === index ? 'true' : 'false'}\n key={index}\n onBlur={(event) => this.handleAutoCompleteBlur(event, index)}\n onClick={() => this.handleOptionClick(index)}\n onMouseDown={this.handleOptionMouseDown}\n onMouseEnter={() => this.handleOptionMouseEnter(index)}\n ref={(optionEl) => {\n this.elementReferences[index] = optionEl;\n }}\n role=\"option\"\n tabIndex={-1}\n // @ts-ignore\n value={typeof option === 'object' ? option?.value : option}\n aria-posinset={index + 1}\n aria-setsize={options.length}\n >\n {multiple ? (\n <CheckboxItem\n value={option}\n checked={this.state.selectedValues.includes(option)}\n onChange={() => {}}\n >\n {this.templateSuggestion(option)}\n </CheckboxItem>\n ) : (\n this.templateSuggestion(option)\n )}\n {iosPosinsetHtml}\n </AutoCompleteResultListItem>\n );\n });\n }\n };\n\n return (\n <AutoCompleteContainer onKeyDown={this.handleKeyDown} width={width}>\n <Status\n id={id}\n length={options.length}\n queryLength={query.length}\n minQueryLength={minLength as number}\n selectedOption={this.templateInputValue(options[selected])}\n selectedOptionIndex={selected}\n validChoiceMade={validChoiceMade}\n isInFocus={this.state.focused !== null}\n tQueryTooShort={tStatusQueryTooShort}\n tNoResults={tStatusNoResults}\n tSelectedOption={tStatusSelectedOption}\n tResults={tStatusResults}\n />\n\n {hintValue && (placeholder === '' || !placeholder) && (\n <AutoCompleteInputTypeahead value={hintValue} />\n )}\n\n {multiple ? (\n <AutoCompleteMultipleInputContainer\n isFocused={componentIsFocused}\n numberOfSelected={this.props.numberOfSelected}\n >\n <ChipContainer>\n {this.state.selectedValues.map((value, index) => {\n return (\n <Chip\n key={index}\n onDelete={() => {\n this.setState(\n (prevState) => ({\n selectedValues: prevState.selectedValues.filter(\n (v) => {\n if (typeof v === 'string') {\n return v !== value;\n } else {\n return v.value !== value.value;\n }\n }\n ),\n }),\n () => {\n this.props.onConfirm?.(this.state.selectedValues);\n }\n );\n }}\n >\n {typeof value === 'string' ? value : value.label.primary}\n </Chip>\n );\n })}\n {!componentIsFocused &&\n typeof this.props.numberOfSelected === 'number' &&\n this.state.selectedValues.length >\n this.props.numberOfSelected && (\n <NormalText fontWeight=\"bold\" margin={0}>\n +\n {this.state.selectedValues.length -\n this.props.numberOfSelected}\n </NormalText>\n )}\n </ChipContainer>\n <AutoCompleteMultipleInput\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-activedescendant={\n optionFocused ? `${id}__option--${focused}` : ''\n }\n aria-owns={`${id}__listbox`}\n aria-autocomplete={this.hasAutoselect() ? 'both' : 'list'}\n {...ariaDescribedProp}\n autoComplete=\"off\"\n // isFocused={componentIsFocused}\n id={id}\n onClick={(event) => this.handleInputClick(event)}\n onBlur={(event) => this.handleAutoCompleteBlur(event)}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n name={name}\n placeholder={placeholder}\n ref={(inputElement) => {\n this.elementReferences[-1] = inputElement;\n }}\n role=\"combobox\"\n required={required}\n value={query}\n />\n <Button\n id={`${id}__button-arrow`}\n ref={(buttonElement) => {\n this.elementReferences['button-arrow'] = buttonElement;\n }}\n variant=\"link\"\n onClick={() => {\n if (!this.state.menuOpen) {\n source(query, (options) => {\n const optionsAvailable = options.length > 0;\n this.setState({\n menuOpen: optionsAvailable,\n options,\n selected: autoselect && optionsAvailable ? 0 : -1,\n validChoiceMade: false,\n });\n });\n } else {\n this.setState({\n menuOpen: false,\n focused: null,\n });\n }\n }}\n onBlur={(event) => this.handleAutoCompleteBlur(event)}\n >\n <CaretIcon direction=\"down\" size=\"md\" />\n </Button>\n\n <AutoCompleteResultList\n isVisible={menuIsVisible}\n onMouseLeave={() => this.handleListMouseLeave()}\n id={`${id}__listbox`}\n role=\"listbox\"\n >\n <Checkbox>\n {showAutoCompleteResultListItems(options, multiple)}\n </Checkbox>\n\n {showNoOptionsFound && (\n <AutoCompleteResultListItem empty>\n {tNoResults?.()}\n </AutoCompleteResultListItem>\n )}\n </AutoCompleteResultList>\n\n <AutoCompleteAssistiveHint id={assistiveHintID}>\n {tAssistiveHint?.()}\n </AutoCompleteAssistiveHint>\n </AutoCompleteMultipleInputContainer>\n ) : (\n <>\n <AutoCompleteInputBase\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-activedescendant={\n optionFocused ? `${id}__option--${focused}` : ''\n }\n aria-owns={`${id}__listbox`}\n aria-autocomplete={this.hasAutoselect() ? 'both' : 'list'}\n {...ariaDescribedProp}\n autoComplete=\"off\"\n isFocused={componentIsFocused}\n id={id}\n onClick={(event) => this.handleInputClick(event)}\n onBlur={this.handleAutoCompleteBlur}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n name={name}\n placeholder={placeholder}\n ref={(inputElement) => {\n this.elementReferences[-1] = inputElement;\n }}\n role=\"combobox\"\n required={required}\n value={query}\n />\n <CaretIcon direction=\"down\" size=\"md\" />\n\n <AutoCompleteResultList\n isVisible={menuIsVisible}\n onMouseLeave={() => this.handleListMouseLeave()}\n id={`${id}__listbox`}\n role=\"listbox\"\n >\n {showAutoCompleteResultListItems(options, false)}\n {showNoOptionsFound && (\n <AutoCompleteResultListItem empty>\n {tNoResults?.()}\n </AutoCompleteResultListItem>\n )}\n </AutoCompleteResultList>\n <AutoCompleteAssistiveHint id={assistiveHintID}>\n {tAssistiveHint?.()}\n </AutoCompleteAssistiveHint>\n </>\n )}\n </AutoCompleteContainer>\n );\n }\n}\n\nexport {\n AutoComplete,\n AutoCompleteInputBase,\n AutoCompleteInputTypeahead,\n AutoCompleteResultList,\n AutoCompleteResultListItem,\n AutoCompleteContainer,\n AutoCompleteAssistiveHint,\n AutoCompleteMultipleInputContainer,\n AutoCompleteMultipleInput,\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["options", "multiple", "React", "Status", "Button", "Checkbox"]
7
7
  }
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,14 +14,6 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
18
  var Button_stories_exports = {};
29
19
  __export(Button_stories_exports, {
@@ -38,11 +28,12 @@ __export(Button_stories_exports, {
38
28
  Secondary: () => import_Secondary.Secondary,
39
29
  ThemeToggle: () => import_ThemeToggle.ThemeToggle,
40
30
  Warning: () => import_Warning.Warning,
31
+ WithControls: () => WithControls,
41
32
  WithVariantLink: () => import_WithVariantLink.WithVariantLink,
42
33
  default: () => Button_stories_default
43
34
  });
44
35
  module.exports = __toCommonJS(Button_stories_exports);
45
- var import_Button = __toESM(require("@digigov/ui/form/Button"));
36
+ var import_Button = require("@digigov/ui/form/Button");
46
37
  var import_Primary = require("@digigov/ui/form/Button/__stories__/Primary");
47
38
  var import_Secondary = require("@digigov/ui/form/Button/__stories__/Secondary");
48
39
  var import_Warning = require("@digigov/ui/form/Button/__stories__/Warning");
@@ -56,11 +47,50 @@ var import_Back = require("@digigov/ui/form/Button/__stories__/Back");
56
47
  var import_WithVariantLink = require("@digigov/ui/form/Button/__stories__/WithVariantLink");
57
48
  var import_ThemeToggle = require("@digigov/ui/form/Button/__stories__/ThemeToggle");
58
49
  var Button_stories_default = {
50
+ displayName: "Button",
59
51
  title: "Digigov UI/form/Button",
60
52
  description: "Use the button component to help users carry out an action",
61
53
  link: "https://guide.services.gov.gr/docs/components/button",
62
- component: import_Button.default,
63
- displayName: "Button"
54
+ component: import_Button.Button
55
+ };
56
+ const WithControls = {
57
+ args: {
58
+ variant: "button",
59
+ color: "primary",
60
+ children: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1",
61
+ dense: false,
62
+ printHidden: true,
63
+ "aria-label": "\u03A3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1"
64
+ },
65
+ argTypes: {
66
+ variant: {
67
+ options: ["button", "link"],
68
+ control: { type: "radio" }
69
+ },
70
+ color: {
71
+ options: ["primary", "secondary", "warning"],
72
+ control: { type: "select" },
73
+ if: { arg: "variant", eq: "button" }
74
+ },
75
+ dense: {
76
+ control: { type: "boolean" },
77
+ if: { arg: "variant", eq: "button" }
78
+ },
79
+ printHidden: {
80
+ control: { type: "boolean" }
81
+ },
82
+ children: {
83
+ control: { type: "text" }
84
+ },
85
+ "aria-label": {
86
+ control: { type: "text" }
87
+ }
88
+ },
89
+ parameters: {
90
+ controls: {
91
+ exclude: ["ref"]
92
+ }
93
+ }
64
94
  };
65
95
  // Annotate the CommonJS export names for ESM import in node:
66
96
  0 && (module.exports = {
@@ -75,6 +105,7 @@ var Button_stories_default = {
75
105
  Secondary,
76
106
  ThemeToggle,
77
107
  Warning,
108
+ WithControls,
78
109
  WithVariantLink
79
110
  });
80
111
  //# sourceMappingURL=Button.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/form/Button/Button.stories.js"],
4
- "sourcesContent": ["import Button from '@digigov/ui/form/Button';\n\nexport default {\n title: 'Digigov UI/form/Button',\n description: 'Use the button component to help users carry out an action',\n link: 'https://guide.services.gov.gr/docs/components/button',\n component: Button,\n displayName: 'Button',\n};\n\nexport { Primary } from '@digigov/ui/form/Button/__stories__/Primary';\nexport { Secondary } from '@digigov/ui/form/Button/__stories__/Secondary';\nexport { Warning } from '@digigov/ui/form/Button/__stories__/Warning';\nexport { GroupingButtons } from '@digigov/ui/form/Button/__stories__/GroupingButtons';\nexport { GroupingButtonsAndLinks } from '@digigov/ui/form/Button/__stories__/GroupingButtonsAndLinks';\nexport { CallToActionButton } from '@digigov/ui/form/Button/__stories__/CallToActionButton';\nexport { Disabled } from '@digigov/ui/form/Button/__stories__/Disabled';\nexport { Dense } from '@digigov/ui/form/Button/__stories__/Dense';\nexport { ButtonLinkButton } from '@digigov/ui/form/Button/__stories__/ButtonLinkButton';\nexport { Back } from '@digigov/ui/form/Button/__stories__/Back';\nexport { WithVariantLink } from '@digigov/ui/form/Button/__stories__/WithVariantLink';\nexport { ThemeToggle } from '@digigov/ui/form/Button/__stories__/ThemeToggle';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AAUnB,qBAAwB;AACxB,uBAA0B;AAC1B,qBAAwB;AACxB,6BAAgC;AAChC,qCAAwC;AACxC,gCAAmC;AACnC,sBAAyB;AACzB,mBAAsB;AACtB,8BAAiC;AACjC,kBAAqB;AACrB,6BAAgC;AAChC,yBAA4B;AAnB5B,IAAO,yBAAQ;AAAA,EACb,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,WAAW,cAAAA;AAAA,EACX,aAAa;AACf;",
6
- "names": ["Button"]
4
+ "sourcesContent": ["import { Button } from '@digigov/ui/form/Button';\n\nexport default {\n displayName: 'Button',\n title: 'Digigov UI/form/Button',\n description: 'Use the button component to help users carry out an action',\n link: 'https://guide.services.gov.gr/docs/components/button',\n component: Button,\n};\n\nexport const WithControls = {\n args: {\n variant: 'button',\n color: 'primary',\n children: '\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1',\n dense: false,\n printHidden: true,\n 'aria-label': '\u03A3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1',\n },\n argTypes: {\n variant: {\n options: ['button', 'link'],\n control: { type: 'radio' },\n },\n color: {\n options: ['primary', 'secondary', 'warning'],\n control: { type: 'select' },\n if: { arg: 'variant', eq: 'button' },\n },\n dense: {\n control: { type: 'boolean' },\n if: { arg: 'variant', eq: 'button' },\n },\n printHidden: {\n control: { type: 'boolean' },\n },\n children: {\n control: { type: 'text' },\n },\n 'aria-label': {\n control: { type: 'text' },\n },\n },\n parameters: {\n controls: {\n exclude: ['ref'],\n },\n },\n};\n\nexport { Primary } from '@digigov/ui/form/Button/__stories__/Primary';\nexport { Secondary } from '@digigov/ui/form/Button/__stories__/Secondary';\nexport { Warning } from '@digigov/ui/form/Button/__stories__/Warning';\nexport { GroupingButtons } from '@digigov/ui/form/Button/__stories__/GroupingButtons';\nexport { GroupingButtonsAndLinks } from '@digigov/ui/form/Button/__stories__/GroupingButtonsAndLinks';\nexport { CallToActionButton } from '@digigov/ui/form/Button/__stories__/CallToActionButton';\nexport { Disabled } from '@digigov/ui/form/Button/__stories__/Disabled';\nexport { Dense } from '@digigov/ui/form/Button/__stories__/Dense';\nexport { ButtonLinkButton } from '@digigov/ui/form/Button/__stories__/ButtonLinkButton';\nexport { Back } from '@digigov/ui/form/Button/__stories__/Back';\nexport { WithVariantLink } from '@digigov/ui/form/Button/__stories__/WithVariantLink';\nexport { ThemeToggle } from '@digigov/ui/form/Button/__stories__/ThemeToggle';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AAkDvB,qBAAwB;AACxB,uBAA0B;AAC1B,qBAAwB;AACxB,6BAAgC;AAChC,qCAAwC;AACxC,gCAAmC;AACnC,sBAAyB;AACzB,mBAAsB;AACtB,8BAAiC;AACjC,kBAAqB;AACrB,6BAAgC;AAChC,yBAA4B;AA3D5B,IAAO,yBAAQ;AAAA,EACb,aAAa;AAAA,EACb,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,WAAW;AACb;AAEO,MAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AAAA,IACV,OAAO;AAAA,IACP,aAAa;AAAA,IACb,cAAc;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS,CAAC,UAAU,MAAM;AAAA,MAC1B,SAAS,EAAE,MAAM,QAAQ;AAAA,IAC3B;AAAA,IACA,OAAO;AAAA,MACL,SAAS,CAAC,WAAW,aAAa,SAAS;AAAA,MAC3C,SAAS,EAAE,MAAM,SAAS;AAAA,MAC1B,IAAI,EAAE,KAAK,WAAW,IAAI,SAAS;AAAA,IACrC;AAAA,IACA,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,UAAU;AAAA,MAC3B,IAAI,EAAE,KAAK,WAAW,IAAI,SAAS;AAAA,IACrC;AAAA,IACA,aAAa;AAAA,MACX,SAAS,EAAE,MAAM,UAAU;AAAA,IAC7B;AAAA,IACA,UAAU;AAAA,MACR,SAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAAA,IACA,cAAc;AAAA,MACZ,SAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,MACR,SAAS,CAAC,KAAK;AAAA,IACjB;AAAA,EACF;AACF;",
6
+ "names": []
7
7
  }
@@ -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 ButtonLink_exports = {};
30
30
  __export(ButtonLink_exports, {
31
+ ButtonLink: () => ButtonLink,
31
32
  default: () => ButtonLink_default
32
33
  });
33
34
  module.exports = __toCommonJS(ButtonLink_exports);
34
- var import_ButtonLink = __toESM(require("@digigov/react-core/ButtonLink"));
35
- __reExport(ButtonLink_exports, require("@digigov/react-core/ButtonLink"), module.exports);
36
- var ButtonLink_default = import_ButtonLink.default;
35
+ __reExport(ButtonLink_exports, require("@digigov/react-core/ButtonLinkBase"), module.exports);
36
+ var import_react = __toESM(require("react"));
37
+ var import_ButtonLinkBase = require("@digigov/react-core/ButtonLinkBase");
38
+ var import_Link = require("@digigov/ui/navigation/Link");
39
+ const ButtonLink = import_react.default.forwardRef(
40
+ function ButtonLink2({ children, ...props }, ref) {
41
+ return /* @__PURE__ */ import_react.default.createElement(import_ButtonLinkBase.ButtonLinkBase, { as: import_Link.Link, ref, ...props }, children);
42
+ }
43
+ );
44
+ var ButtonLink_default = ButtonLink;
37
45
  // Annotate the CommonJS export names for ESM import in node:
38
46
  0 && (module.exports = {
39
- ...require("@digigov/react-core/ButtonLink")
47
+ ButtonLink,
48
+ ...require("@digigov/react-core/ButtonLinkBase")
40
49
  });
41
50
  //# sourceMappingURL=ButtonLink.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/form/Button/ButtonLink.tsx"],
4
- "sourcesContent": ["import ButtonLink from '@digigov/react-core/ButtonLink';\n\nexport * from '@digigov/react-core/ButtonLink';\nexport default ButtonLink;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAuB;AAEvB,+BAAc,2CAFd;AAGA,IAAO,qBAAQ,kBAAAA;",
6
- "names": ["ButtonLink"]
4
+ "sourcesContent": ["export * from '@digigov/react-core/ButtonLinkBase';\nimport React from 'react';\nimport {\n ButtonLinkBase,\n ButtonLinkBaseProps,\n} from '@digigov/react-core/ButtonLinkBase';\nimport { Link } from '@digigov/ui/navigation/Link';\n\nexport interface ButtonLinkProps extends ButtonLinkBaseProps {}\n\nexport const ButtonLink = React.forwardRef<HTMLAnchorElement, ButtonLinkProps>(\n function ButtonLink({ children, ...props }, ref) {\n return (\n <ButtonLinkBase as={Link} ref={ref} {...props}>\n {children}\n </ButtonLinkBase>\n );\n }\n);\nexport default ButtonLink;\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", "ButtonLink"]
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 CallToAction_exports = {};
30
30
  __export(CallToAction_exports, {
31
+ CallToAction: () => CallToAction,
31
32
  default: () => CallToAction_default
32
33
  });
33
34
  module.exports = __toCommonJS(CallToAction_exports);
34
- var import_CallToAction = __toESM(require("@digigov/react-core/CallToAction"));
35
- __reExport(CallToAction_exports, require("@digigov/react-core/CallToAction"), module.exports);
36
- var CallToAction_default = import_CallToAction.default;
35
+ __reExport(CallToAction_exports, require("@digigov/react-core/CallToActionBase"), module.exports);
36
+ var import_react = __toESM(require("react"));
37
+ var import_CallToActionBase = require("@digigov/react-core/CallToActionBase");
38
+ var import_Link = require("@digigov/ui/navigation/Link");
39
+ const CallToAction = import_react.default.forwardRef(function CallToAction2({ children, ...props }, ref) {
40
+ return /* @__PURE__ */ import_react.default.createElement(import_CallToActionBase.CallToActionBase, { as: import_Link.Link, ref, ...props }, children);
41
+ });
42
+ var CallToAction_default = CallToAction;
37
43
  // Annotate the CommonJS export names for ESM import in node:
38
44
  0 && (module.exports = {
39
- ...require("@digigov/react-core/CallToAction")
45
+ CallToAction,
46
+ ...require("@digigov/react-core/CallToActionBase")
40
47
  });
41
48
  //# sourceMappingURL=CallToAction.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/form/Button/CallToAction.tsx"],
4
- "sourcesContent": ["import CallToAction from '@digigov/react-core/CallToAction';\n\nexport * from '@digigov/react-core/CallToAction';\nexport default CallToAction;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAyB;AAEzB,iCAAc,6CAFd;AAGA,IAAO,uBAAQ,oBAAAA;",
6
- "names": ["CallToAction"]
4
+ "sourcesContent": ["export * from '@digigov/react-core/CallToActionBase';\nimport React from 'react';\nimport {\n CallToActionBase,\n CallToActionBaseProps,\n} from '@digigov/react-core/CallToActionBase';\nimport { Link } from '@digigov/ui/navigation/Link';\n\nexport interface CallToActionProps extends CallToActionBaseProps {}\n\nexport const CallToAction = React.forwardRef<\n HTMLAnchorElement,\n CallToActionProps\n>(function CallToAction({ children, ...props }, ref) {\n return (\n <CallToActionBase as={Link} ref={ref} {...props}>\n {children}\n </CallToActionBase>\n );\n});\n\nexport default CallToAction;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCAAc,iDAAd;AACA,mBAAkB;AAClB,8BAGO;AACP,kBAAqB;AAId,MAAM,eAAe,aAAAA,QAAM,WAGhC,SAASC,cAAa,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK;AACnD,SACE,6BAAAD,QAAA,cAAC,4CAAiB,IAAI,kBAAM,KAAW,GAAG,SACvC,QACH;AAEJ,CAAC;AAED,IAAO,uBAAQ;",
6
+ "names": ["React", "CallToAction"]
7
7
  }
@@ -33,7 +33,24 @@ __export(Primary_exports, {
33
33
  module.exports = __toCommonJS(Primary_exports);
34
34
  var import_react = __toESM(require("react"));
35
35
  var import_Button = require("@digigov/ui/form/Button");
36
- const Primary = () => /* @__PURE__ */ import_react.default.createElement(import_Button.Button, { "aria-label": "\u03A3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1" }, "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1");
36
+ const Primary = ({
37
+ variant = "button",
38
+ color = "primary",
39
+ children = "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1",
40
+ dense = false,
41
+ printHidden = true,
42
+ "aria-label": ariaLabel = "\u03A3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1"
43
+ }) => /* @__PURE__ */ import_react.default.createElement(
44
+ import_Button.Button,
45
+ {
46
+ variant,
47
+ color,
48
+ dense,
49
+ printHidden,
50
+ "aria-label": ariaLabel
51
+ },
52
+ children
53
+ );
37
54
  var Primary_default = Primary;
38
55
  // Annotate the CommonJS export names for ESM import in node:
39
56
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/form/Button/__stories__/Primary.tsx"],
4
- "sourcesContent": ["import React from 'react';\n\nimport { Button } from '@digigov/ui/form/Button';\n\nexport const Primary = () => (\n <Button aria-label=\"\u03A3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1\">\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1</Button>\n);\nexport default Primary;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,oBAAuB;AAEhB,MAAM,UAAU,MACrB,6BAAAA,QAAA,cAAC,wBAAO,cAAW,qKAAgC,kDAAQ;AAE7D,IAAO,kBAAQ;",
4
+ "sourcesContent": ["import React from 'react';\n\nimport { Button } from '@digigov/ui/form/Button';\n\nexport const Primary = ({\n variant = 'button',\n color = 'primary',\n children = '\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1',\n dense = false,\n printHidden = true,\n 'aria-label': ariaLabel = '\u03A3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1',\n}: {\n variant?: 'button' | 'link';\n color?: 'primary' | 'secondary' | 'warning';\n children?: React.ReactNode;\n dense?: boolean;\n printHidden?: boolean;\n 'aria-label'?: string;\n}) => (\n <Button\n variant={variant}\n color={color}\n dense={dense}\n printHidden={printHidden}\n aria-label={ariaLabel}\n >\n {children}\n </Button>\n);\nexport default Primary;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,oBAAuB;AAEhB,MAAM,UAAU,CAAC;AAAA,EACtB,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,cAAc,YAAY;AAC5B,MAQE,6BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAY;AAAA;AAAA,EAEX;AACH;AAEF,IAAO,kBAAQ;",
6
6
  "names": ["React"]
7
7
  }
@@ -35,12 +35,18 @@ __export(Checkbox_stories_exports, {
35
35
  MultipleQuestions: () => import_MultipleQuestions.MultipleQuestions,
36
36
  NoneAnswer: () => import_NoneAnswer.NoneAnswer,
37
37
  NoneAnswerWithError: () => import_NoneAnswerWithError.NoneAnswerWithError,
38
+ WithControls: () => WithControls,
38
39
  WithErrorMessage: () => import_WithErrorMessage.WithErrorMessage,
39
40
  WithHint: () => import_WithHint.WithHint,
40
41
  default: () => Checkbox_stories_default
41
42
  });
42
43
  module.exports = __toCommonJS(Checkbox_stories_exports);
43
- var import_Checkbox = __toESM(require("@digigov/ui/form/Checkbox"));
44
+ var import_react = __toESM(require("react"));
45
+ var import_Checkbox = require("@digigov/ui/form/Checkbox");
46
+ var import_FieldContainer = require("@digigov/ui/form/FieldContainer");
47
+ var import_Hint = require("@digigov/ui/typography/Hint");
48
+ var import_ErrorMessage = require("@digigov/ui/form/ErrorMessage");
49
+ var import_VisuallyHidden = require("@digigov/ui/utils/VisuallyHidden");
44
50
  var import_Default = require("@digigov/ui/form/Checkbox/__stories__/Default");
45
51
  var import_Inline = require("@digigov/ui/form/Checkbox/__stories__/Inline");
46
52
  var import_InlineWithDivider = require("@digigov/ui/form/Checkbox/__stories__/InlineWithDivider");
@@ -55,9 +61,113 @@ var Checkbox_stories_default = {
55
61
  title: "Digigov UI/form/Checkbox",
56
62
  description: "Let users select one or more options by using the checkboxes component.",
57
63
  link: "https://guide.services.gov.gr/docs/components/checkboxes",
58
- component: import_Checkbox.default,
64
+ component: import_Checkbox.Checkbox,
59
65
  displayName: "Checkbox"
60
66
  };
67
+ const WithControls = {
68
+ render: (args) => {
69
+ return /* @__PURE__ */ import_react.default.createElement(import_FieldContainer.FieldContainer, { error: args.error }, /* @__PURE__ */ import_react.default.createElement(import_FieldContainer.Fieldset, { "aria-describedby": [`${args.hintId} ${args.errorId}`] }, /* @__PURE__ */ import_react.default.createElement(
70
+ import_FieldContainer.FieldsetLegend,
71
+ {
72
+ size: args.legendSize,
73
+ heading: args.singleQuestionInPage
74
+ },
75
+ args.legend
76
+ ), args.hint && /* @__PURE__ */ import_react.default.createElement(import_Hint.Hint, { id: args.hintId }, args.hintMessage), args.error && /* @__PURE__ */ import_react.default.createElement(import_ErrorMessage.ErrorMessage, { id: args.errorId }, /* @__PURE__ */ import_react.default.createElement(import_VisuallyHidden.VisuallyHidden, null, "\u039B\u03AC\u03B8\u03BF\u03C2:"), args.errorMessage), /* @__PURE__ */ import_react.default.createElement(import_Checkbox.Checkbox, { layout: args.layout, dense: args.dense }, args.items.map((item) => /* @__PURE__ */ import_react.default.createElement(
77
+ import_Checkbox.CheckboxItem,
78
+ {
79
+ key: item.value,
80
+ name: args.fieldsetName,
81
+ value: item.value,
82
+ dividerText: item.dividerText
83
+ },
84
+ item.label
85
+ )))));
86
+ },
87
+ args: {
88
+ legend: "\u03A0\u03CE\u03C2 \u03B1\u03B9\u03C3\u03B8\u03AC\u03BD\u03B5\u03C4\u03B1\u03B9 \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE;",
89
+ legendSize: "lg",
90
+ singleQuestionInPage: true,
91
+ fieldsetName: "feeling",
92
+ hint: true,
93
+ hintMessage: "\u03A0\u03B5\u03AF\u03C4\u03B5 \u03BC\u03B1\u03C2 \u03C3\u03C7\u03B5\u03C4\u03B9\u03BA\u03AC \u03BC\u03B5 \u03C0\u03C1\u03CC\u03C3\u03C6\u03B1\u03C4\u03B5\u03C2 \u03B1\u03BB\u03BB\u03B1\u03B3\u03AD\u03C2. \u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 \u03CC,\u03C4\u03B9 \u03B9\u03C3\u03C7\u03CD\u03B5\u03B9.",
94
+ hintId: "feeling-hint",
95
+ error: false,
96
+ errorMessage: "\u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 \u03BC\u03AF\u03B1 \u03AE \u03C0\u03B1\u03C1\u03B1\u03C0\u03AC\u03BD\u03C9 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AD\u03C2.",
97
+ errorId: "feeling-error",
98
+ layout: "vertical",
99
+ dense: false,
100
+ items: [
101
+ {
102
+ value: "cold",
103
+ label: "\u0388\u03C7\u03C9 \u03C3\u03C5\u03BD\u03AC\u03C7\u03B9",
104
+ dividerText: void 0
105
+ },
106
+ {
107
+ value: "fever",
108
+ label: "\u0388\u03C7\u03C9 \u03C0\u03C5\u03C1\u03B5\u03C4\u03CC",
109
+ dividerText: void 0
110
+ },
111
+ {
112
+ value: "good",
113
+ label: "\u0391\u03B9\u03C3\u03B8\u03AC\u03BD\u03BF\u03BC\u03B1\u03B9 \u03BA\u03B1\u03BB\u03AC",
114
+ dividerText: "\u03AE"
115
+ }
116
+ ]
117
+ },
118
+ argTypes: {
119
+ legend: {
120
+ control: { type: "text" }
121
+ },
122
+ legendSize: {
123
+ options: ["sm", "md", "lg"],
124
+ control: { type: "radio" }
125
+ },
126
+ singleQuestionInPage: {
127
+ control: { type: "boolean" }
128
+ },
129
+ fieldsetName: {
130
+ control: { type: "text" }
131
+ },
132
+ hint: {
133
+ control: { type: "boolean" }
134
+ },
135
+ hintMessage: {
136
+ control: { type: "text" },
137
+ if: { arg: "hint", eq: true }
138
+ },
139
+ hintId: {
140
+ control: { type: "text" },
141
+ if: { arg: "hint", eq: true }
142
+ },
143
+ error: {
144
+ control: { type: "boolean" }
145
+ },
146
+ errorMessage: {
147
+ control: { type: "text" },
148
+ if: { arg: "error", eq: true }
149
+ },
150
+ errorId: {
151
+ control: { type: "text" },
152
+ if: { arg: "error", eq: true }
153
+ },
154
+ layout: {
155
+ options: ["horizontal", "vertical"],
156
+ control: { type: "radio" }
157
+ },
158
+ dense: {
159
+ control: { type: "boolean" }
160
+ },
161
+ items: {
162
+ control: { type: "array" }
163
+ }
164
+ },
165
+ parameters: {
166
+ controls: {
167
+ exclude: ["ref"]
168
+ }
169
+ }
170
+ };
61
171
  // Annotate the CommonJS export names for ESM import in node:
62
172
  0 && (module.exports = {
63
173
  ConditionalReveal,
@@ -68,6 +178,7 @@ var Checkbox_stories_default = {
68
178
  MultipleQuestions,
69
179
  NoneAnswer,
70
180
  NoneAnswerWithError,
181
+ WithControls,
71
182
  WithErrorMessage,
72
183
  WithHint
73
184
  });