@digigov/ui 0.21.3 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/admin/AutoComplete/AccesibleAutoComplete/index.d.ts +5 -0
  3. package/admin/AutoComplete/AccesibleAutoComplete/index.js +106 -0
  4. package/admin/AutoComplete/AutoComplete.stories.d.ts +13 -0
  5. package/admin/AutoComplete/AutoComplete.stories.js +115 -0
  6. package/admin/AutoComplete/Status/index.d.ts +40 -0
  7. package/admin/AutoComplete/Status/index.js +184 -0
  8. package/admin/AutoComplete/__stories__/Default.d.ts +3 -0
  9. package/admin/AutoComplete/__stories__/Default.js +34 -0
  10. package/admin/AutoComplete/__stories__/WithAutoSelect.d.ts +3 -0
  11. package/admin/AutoComplete/__stories__/WithAutoSelect.js +35 -0
  12. package/admin/AutoComplete/__stories__/WithDefaultValue.d.ts +3 -0
  13. package/admin/AutoComplete/__stories__/WithDefaultValue.js +33 -0
  14. package/admin/AutoComplete/__stories__/WithInLine.d.ts +3 -0
  15. package/admin/AutoComplete/__stories__/WithInLine.js +33 -0
  16. package/admin/AutoComplete/__stories__/WithMinLength.d.ts +3 -0
  17. package/admin/AutoComplete/__stories__/WithMinLength.js +35 -0
  18. package/admin/AutoComplete/__stories__/WithPlaceHolder.d.ts +3 -0
  19. package/admin/AutoComplete/__stories__/WithPlaceHolder.js +33 -0
  20. package/admin/AutoComplete/__stories__/WithShowAllValues.d.ts +3 -0
  21. package/admin/AutoComplete/__stories__/WithShowAllValues.js +33 -0
  22. package/admin/AutoComplete/index.d.ts +101 -0
  23. package/admin/AutoComplete/index.js +744 -0
  24. package/admin/AutoComplete/index.mdx +46 -0
  25. package/admin/AutoComplete/utils.d.ts +1 -0
  26. package/admin/AutoComplete/utils.js +13 -0
  27. package/admin/Drawer/__stories__/Default.js +1 -1
  28. package/admin/Drawer/index.mdx +12 -0
  29. package/admin/FilterSection/index.d.ts +1 -0
  30. package/admin/FilterSection/index.js +14 -0
  31. package/admin/Pagination/__stories__/Default.js +38 -14
  32. package/admin/Pagination/index.mdx +12 -0
  33. package/admin/index.d.ts +1 -0
  34. package/admin/index.js +13 -0
  35. package/app/Confirmation/Confirmation.mdx +9 -0
  36. package/app/CopyToClipboard/CopyToClipboard.stories.d.ts +2 -0
  37. package/app/CopyToClipboard/CopyToClipboard.stories.js +28 -0
  38. package/app/CopyToClipboard/__stories__/Banner.d.ts +3 -0
  39. package/app/CopyToClipboard/__stories__/Banner.js +30 -0
  40. package/app/CopyToClipboard/__stories__/Default.js +4 -114
  41. package/app/CopyToClipboard/__stories__/MultipleCopies.d.ts +3 -0
  42. package/app/CopyToClipboard/__stories__/MultipleCopies.js +142 -0
  43. package/app/CopyToClipboard/index.mdx +22 -0
  44. package/app/Footer/Footer.mdx +27 -0
  45. package/app/Header/index.mdx +18 -0
  46. package/app/I18nText.js +7 -7
  47. package/app/NotFound/index.mdx +12 -0
  48. package/app/PhaseBannerHeader/index.mdx +12 -0
  49. package/core/Accordion/index.mdx +13 -86
  50. package/core/BackLink/index.mdx +16 -0
  51. package/core/Blockquote/index.mdx +17 -2
  52. package/core/Breadcrumbs/__stories__/Default.js +9 -1
  53. package/core/Breadcrumbs/breadcrumbs.mdx +22 -0
  54. package/core/Button/Button.mdx +37 -2
  55. package/core/Button/Button.stories.d.ts +2 -0
  56. package/core/Button/Button.stories.js +28 -0
  57. package/core/Button/__stories__/CallToActionButton.d.ts +3 -0
  58. package/core/Button/__stories__/CallToActionButton.js +22 -0
  59. package/core/Button/__stories__/Disabled.d.ts +6 -0
  60. package/core/Button/__stories__/Disabled.js +27 -0
  61. package/core/Button/__stories__/Warning.d.ts +1 -0
  62. package/core/Button/__stories__/Warning.js +4 -2
  63. package/core/Card/Card.stories.d.ts +1 -0
  64. package/core/Card/Card.stories.js +14 -0
  65. package/core/Card/__stories__/WithClickableLink.js +1 -3
  66. package/core/Card/__stories__/WithGroupButton.d.ts +3 -0
  67. package/core/Card/__stories__/WithGroupButton.js +32 -0
  68. package/core/Card/card.mdx +78 -0
  69. package/core/Checkboxes/Checkbox.stories.d.ts +1 -0
  70. package/core/Checkboxes/Checkbox.stories.js +14 -0
  71. package/core/Checkboxes/__stories__/NoneAnswerWithError.d.ts +3 -0
  72. package/core/Checkboxes/__stories__/NoneAnswerWithError.js +51 -0
  73. package/core/Checkboxes/checkboxes.mdx +54 -0
  74. package/core/Confirmation/confirmation.mdx +19 -0
  75. package/core/DateInput/DateInput.stories.d.ts +1 -0
  76. package/core/DateInput/DateInput.stories.js +14 -0
  77. package/core/DateInput/__stories__/Default.js +3 -1
  78. package/core/DateInput/__stories__/MultipleQuestions.d.ts +3 -0
  79. package/core/DateInput/__stories__/MultipleQuestions.js +41 -0
  80. package/core/DateInput/index.mdx +34 -0
  81. package/core/Details/index.mdx +9 -25
  82. package/core/ErrorMessage/__stories__/Default.js +1 -1
  83. package/core/ErrorMessage/index.mdx +21 -0
  84. package/core/ErrorSummary/__stories__/LinkedToCheckbox.js +1 -1
  85. package/core/ErrorSummary/index.mdx +21 -38
  86. package/core/FileUpload/__stories__/Default.d.ts +1 -0
  87. package/core/FileUpload/__stories__/Default.js +4 -2
  88. package/core/FileUpload/index.mdx +22 -0
  89. package/core/Link/__stories__/DarkBackground.js +1 -1
  90. package/core/Link/__stories__/DarkBackgroundNoUnderline.js +1 -1
  91. package/core/Link/link.mdx +30 -0
  92. package/core/List/index.mdx +22 -3
  93. package/core/Masthead/masthead.mdx +14 -0
  94. package/core/NavList/NavList.d.ts +1 -14
  95. package/core/NavList/NavList.js +11 -70
  96. package/core/NavList/NavListBase.d.ts +4 -0
  97. package/core/NavList/NavListBase.js +74 -0
  98. package/core/NavList/NavListSubMenu.d.ts +1 -1
  99. package/core/NavList/NavListSubMenu.js +2 -2
  100. package/core/NavList/types.d.ts +13 -0
  101. package/core/NavList/types.js +5 -0
  102. package/core/NotificationBanner/index.mdx +13 -60
  103. package/core/PhaseBanner/PhaseBanner.stories.d.ts +1 -0
  104. package/core/PhaseBanner/PhaseBanner.stories.js +14 -0
  105. package/core/PhaseBanner/__stories__/Underlined.d.ts +3 -0
  106. package/core/PhaseBanner/__stories__/Underlined.js +34 -0
  107. package/core/PhaseBanner/index.mdx +24 -0
  108. package/core/Radios/__stories__/Default.js +1 -3
  109. package/core/Radios/__stories__/MultipleQuestions.js +1 -1
  110. package/core/Radios/index.mdx +56 -0
  111. package/core/Select/Select.stories.d.ts +1 -0
  112. package/core/Select/Select.stories.js +14 -0
  113. package/core/Select/__stories__/WithHint.d.ts +3 -0
  114. package/core/Select/__stories__/WithHint.js +45 -0
  115. package/core/Select/index.mdx +36 -0
  116. package/core/SummaryList/SummaryList.stories.d.ts +2 -2
  117. package/core/SummaryList/SummaryList.stories.js +8 -8
  118. package/core/SummaryList/__stories__/Default.js +1 -1
  119. package/core/SummaryList/__stories__/WithActions.d.ts +3 -0
  120. package/core/SummaryList/__stories__/{SummaryListWithActions.js → WithActions.js} +10 -12
  121. package/core/SummaryList/__stories__/WithoutBorders.d.ts +3 -0
  122. package/core/SummaryList/__stories__/{SummaryListWithoutBorders.js → WithoutBorders.js} +5 -5
  123. package/core/SummaryList/index.mdx +17 -65
  124. package/core/Table/Table.stories.d.ts +1 -0
  125. package/core/Table/Table.stories.js +14 -0
  126. package/core/Table/__stories__/DarkVariant.js +1 -1
  127. package/core/Table/__stories__/Default.js +1 -1
  128. package/core/Table/__stories__/TableCaptions.d.ts +3 -0
  129. package/core/Table/__stories__/TableCaptions.js +30 -0
  130. package/core/Table/index.mdx +52 -0
  131. package/core/Tabs/__stories__/Default.d.ts +1 -0
  132. package/core/Tabs/__stories__/Default.js +6 -2
  133. package/core/Tabs/index.mdx +10 -2
  134. package/core/TextArea/index.mdx +50 -0
  135. package/core/TextInput/index.mdx +59 -0
  136. package/core/VisuallyHidden/__stories__/Default.js +14 -2
  137. package/core/VisuallyHidden/index.mdx +17 -0
  138. package/core/WarningText/index.mdx +10 -35
  139. package/es/admin/AutoComplete/AccesibleAutoComplete/index.js +87 -0
  140. package/es/admin/AutoComplete/AutoComplete.stories.js +13 -0
  141. package/es/admin/AutoComplete/Status/index.js +153 -0
  142. package/es/admin/AutoComplete/__stories__/Default.js +19 -0
  143. package/es/admin/AutoComplete/__stories__/WithAutoSelect.js +20 -0
  144. package/es/admin/AutoComplete/__stories__/WithDefaultValue.js +18 -0
  145. package/es/admin/AutoComplete/__stories__/WithInLine.js +18 -0
  146. package/es/admin/AutoComplete/__stories__/WithMinLength.js +19 -0
  147. package/es/admin/AutoComplete/__stories__/WithPlaceHolder.js +18 -0
  148. package/es/admin/AutoComplete/__stories__/WithShowAllValues.js +18 -0
  149. package/es/admin/AutoComplete/index.js +676 -0
  150. package/es/admin/AutoComplete/index.mdx +46 -0
  151. package/es/admin/AutoComplete/utils.js +6 -0
  152. package/es/admin/Drawer/__stories__/Default.js +1 -1
  153. package/es/admin/Drawer/index.mdx +12 -0
  154. package/es/admin/FilterSection/index.js +1 -0
  155. package/es/admin/Pagination/__stories__/Default.js +37 -14
  156. package/es/admin/Pagination/index.mdx +12 -0
  157. package/es/admin/index.js +2 -1
  158. package/es/app/Confirmation/Confirmation.mdx +9 -0
  159. package/es/app/CopyToClipboard/CopyToClipboard.stories.js +3 -1
  160. package/es/app/CopyToClipboard/__stories__/Banner.js +16 -0
  161. package/es/app/CopyToClipboard/__stories__/Default.js +5 -107
  162. package/es/app/CopyToClipboard/__stories__/MultipleCopies.js +120 -0
  163. package/es/app/CopyToClipboard/index.mdx +22 -0
  164. package/es/app/Footer/Footer.mdx +27 -0
  165. package/es/app/Header/index.mdx +18 -0
  166. package/es/app/I18nText.js +7 -6
  167. package/es/app/NotFound/index.mdx +12 -0
  168. package/es/app/PhaseBannerHeader/index.mdx +12 -0
  169. package/es/core/Accordion/index.mdx +13 -86
  170. package/es/core/BackLink/index.mdx +16 -0
  171. package/es/core/Blockquote/index.mdx +17 -2
  172. package/es/core/Breadcrumbs/__stories__/Default.js +9 -1
  173. package/es/core/Breadcrumbs/breadcrumbs.mdx +22 -0
  174. package/es/core/Button/Button.mdx +37 -2
  175. package/es/core/Button/Button.stories.js +3 -1
  176. package/es/core/Button/__stories__/CallToActionButton.js +9 -0
  177. package/es/core/Button/__stories__/Disabled.js +14 -0
  178. package/es/core/Button/__stories__/Warning.js +2 -1
  179. package/es/core/Card/Card.stories.js +2 -1
  180. package/es/core/Card/__stories__/WithClickableLink.js +2 -3
  181. package/es/core/Card/__stories__/WithGroupButton.js +11 -0
  182. package/es/core/Card/card.mdx +78 -0
  183. package/es/core/Checkboxes/Checkbox.stories.js +1 -0
  184. package/es/core/Checkboxes/__stories__/NoneAnswerWithError.js +28 -0
  185. package/es/core/Checkboxes/checkboxes.mdx +54 -0
  186. package/es/core/Confirmation/confirmation.mdx +19 -0
  187. package/es/core/DateInput/DateInput.stories.js +1 -0
  188. package/es/core/DateInput/__stories__/Default.js +3 -1
  189. package/es/core/DateInput/__stories__/MultipleQuestions.js +20 -0
  190. package/es/core/DateInput/index.mdx +34 -0
  191. package/es/core/Details/index.mdx +9 -25
  192. package/es/core/ErrorMessage/__stories__/Default.js +1 -1
  193. package/es/core/ErrorMessage/index.mdx +21 -0
  194. package/es/core/ErrorSummary/__stories__/LinkedToCheckbox.js +1 -1
  195. package/es/core/ErrorSummary/index.mdx +21 -38
  196. package/es/core/FileUpload/__stories__/Default.js +2 -1
  197. package/es/core/FileUpload/index.mdx +22 -0
  198. package/es/core/Link/__stories__/DarkBackground.js +1 -1
  199. package/es/core/Link/__stories__/DarkBackgroundNoUnderline.js +1 -1
  200. package/es/core/Link/link.mdx +30 -0
  201. package/es/core/List/index.mdx +22 -3
  202. package/es/core/Masthead/masthead.mdx +14 -0
  203. package/es/core/NavList/NavList.js +8 -63
  204. package/es/core/NavList/NavListBase.js +58 -0
  205. package/es/core/NavList/NavListSubMenu.js +1 -1
  206. package/es/core/NavList/types.js +1 -0
  207. package/es/core/NotificationBanner/index.mdx +13 -60
  208. package/es/core/PhaseBanner/PhaseBanner.stories.js +2 -1
  209. package/es/core/PhaseBanner/__stories__/Underlined.js +14 -0
  210. package/es/core/PhaseBanner/index.mdx +24 -0
  211. package/es/core/Radios/__stories__/Default.js +1 -2
  212. package/es/core/Radios/__stories__/MultipleQuestions.js +1 -1
  213. package/es/core/Radios/index.mdx +56 -0
  214. package/es/core/Select/Select.stories.js +2 -1
  215. package/es/core/Select/__stories__/WithHint.js +22 -0
  216. package/es/core/Select/index.mdx +36 -0
  217. package/es/core/SummaryList/SummaryList.stories.js +2 -2
  218. package/es/core/SummaryList/__stories__/Default.js +1 -1
  219. package/es/core/SummaryList/__stories__/WithActions.js +20 -0
  220. package/es/core/SummaryList/__stories__/WithoutBorders.js +11 -0
  221. package/es/core/SummaryList/index.mdx +17 -65
  222. package/es/core/Table/Table.stories.js +1 -0
  223. package/es/core/Table/__stories__/DarkVariant.js +1 -1
  224. package/es/core/Table/__stories__/Default.js +1 -1
  225. package/es/core/Table/__stories__/TableCaptions.js +17 -0
  226. package/es/core/Table/index.mdx +52 -0
  227. package/es/core/Tabs/__stories__/Default.js +3 -2
  228. package/es/core/Tabs/index.mdx +10 -2
  229. package/es/core/TextArea/index.mdx +50 -0
  230. package/es/core/TextInput/index.mdx +59 -0
  231. package/es/core/VisuallyHidden/__stories__/Default.js +9 -5
  232. package/es/core/VisuallyHidden/index.mdx +17 -0
  233. package/es/core/WarningText/index.mdx +10 -35
  234. package/es/govgr/Footer/index.mdx +4 -4
  235. package/es/introduction.md +4 -1
  236. package/es/layouts/Grid/Grid.stories.js +2 -1
  237. package/es/layouts/Grid/__stories__/Inline.js +55 -0
  238. package/es/layouts/Grid/index.js +1 -0
  239. package/es/layouts/index.js +2 -0
  240. package/es/registry.js +57 -17
  241. package/es/typography/Caption/index.mdx +16 -0
  242. package/es/typography/Hint/index.mdx +16 -0
  243. package/es/typography/NormalText/index.mdx +26 -0
  244. package/es/typography/Paragraph/index.mdx +30 -0
  245. package/es/typography/Title/index.mdx +12 -0
  246. package/esm/admin/AutoComplete/AccesibleAutoComplete/index.js +87 -0
  247. package/esm/admin/AutoComplete/AutoComplete.stories.js +13 -0
  248. package/esm/admin/AutoComplete/Status/index.js +153 -0
  249. package/esm/admin/AutoComplete/__stories__/Default.js +19 -0
  250. package/esm/admin/AutoComplete/__stories__/WithAutoSelect.js +20 -0
  251. package/esm/admin/AutoComplete/__stories__/WithDefaultValue.js +18 -0
  252. package/esm/admin/AutoComplete/__stories__/WithInLine.js +18 -0
  253. package/esm/admin/AutoComplete/__stories__/WithMinLength.js +19 -0
  254. package/esm/admin/AutoComplete/__stories__/WithPlaceHolder.js +18 -0
  255. package/esm/admin/AutoComplete/__stories__/WithShowAllValues.js +18 -0
  256. package/esm/admin/AutoComplete/index.js +676 -0
  257. package/esm/admin/AutoComplete/index.mdx +46 -0
  258. package/esm/admin/AutoComplete/utils.js +6 -0
  259. package/esm/admin/Drawer/__stories__/Default.js +1 -1
  260. package/esm/admin/Drawer/index.mdx +12 -0
  261. package/esm/admin/FilterSection/index.js +1 -0
  262. package/esm/admin/Pagination/__stories__/Default.js +37 -14
  263. package/esm/admin/Pagination/index.mdx +12 -0
  264. package/esm/admin/index.js +2 -1
  265. package/esm/app/Confirmation/Confirmation.mdx +9 -0
  266. package/esm/app/CopyToClipboard/CopyToClipboard.stories.js +3 -1
  267. package/esm/app/CopyToClipboard/__stories__/Banner.js +16 -0
  268. package/esm/app/CopyToClipboard/__stories__/Default.js +5 -107
  269. package/esm/app/CopyToClipboard/__stories__/MultipleCopies.js +120 -0
  270. package/esm/app/CopyToClipboard/index.mdx +22 -0
  271. package/esm/app/Footer/Footer.mdx +27 -0
  272. package/esm/app/Header/index.mdx +18 -0
  273. package/esm/app/I18nText.js +7 -6
  274. package/esm/app/NotFound/index.mdx +12 -0
  275. package/esm/app/PhaseBannerHeader/index.mdx +12 -0
  276. package/esm/core/Accordion/index.mdx +13 -86
  277. package/esm/core/BackLink/index.mdx +16 -0
  278. package/esm/core/Blockquote/index.mdx +17 -2
  279. package/esm/core/Breadcrumbs/__stories__/Default.js +9 -1
  280. package/esm/core/Breadcrumbs/breadcrumbs.mdx +22 -0
  281. package/esm/core/Button/Button.mdx +37 -2
  282. package/esm/core/Button/Button.stories.js +3 -1
  283. package/esm/core/Button/__stories__/CallToActionButton.js +9 -0
  284. package/esm/core/Button/__stories__/Disabled.js +14 -0
  285. package/esm/core/Button/__stories__/Warning.js +2 -1
  286. package/esm/core/Card/Card.stories.js +2 -1
  287. package/esm/core/Card/__stories__/WithClickableLink.js +2 -3
  288. package/esm/core/Card/__stories__/WithGroupButton.js +11 -0
  289. package/esm/core/Card/card.mdx +78 -0
  290. package/esm/core/Checkboxes/Checkbox.stories.js +1 -0
  291. package/esm/core/Checkboxes/__stories__/NoneAnswerWithError.js +28 -0
  292. package/esm/core/Checkboxes/checkboxes.mdx +54 -0
  293. package/esm/core/Confirmation/confirmation.mdx +19 -0
  294. package/esm/core/DateInput/DateInput.stories.js +1 -0
  295. package/esm/core/DateInput/__stories__/Default.js +3 -1
  296. package/esm/core/DateInput/__stories__/MultipleQuestions.js +20 -0
  297. package/esm/core/DateInput/index.mdx +34 -0
  298. package/esm/core/Details/index.mdx +9 -25
  299. package/esm/core/ErrorMessage/__stories__/Default.js +1 -1
  300. package/esm/core/ErrorMessage/index.mdx +21 -0
  301. package/esm/core/ErrorSummary/__stories__/LinkedToCheckbox.js +1 -1
  302. package/esm/core/ErrorSummary/index.mdx +21 -38
  303. package/esm/core/FileUpload/__stories__/Default.js +2 -1
  304. package/esm/core/FileUpload/index.mdx +22 -0
  305. package/esm/core/Link/__stories__/DarkBackground.js +1 -1
  306. package/esm/core/Link/__stories__/DarkBackgroundNoUnderline.js +1 -1
  307. package/esm/core/Link/link.mdx +30 -0
  308. package/esm/core/List/index.mdx +22 -3
  309. package/esm/core/Masthead/masthead.mdx +14 -0
  310. package/esm/core/NavList/NavList.js +8 -63
  311. package/esm/core/NavList/NavListBase.js +58 -0
  312. package/esm/core/NavList/NavListSubMenu.js +1 -1
  313. package/esm/core/NavList/types.js +1 -0
  314. package/esm/core/NotificationBanner/index.mdx +13 -60
  315. package/esm/core/PhaseBanner/PhaseBanner.stories.js +2 -1
  316. package/esm/core/PhaseBanner/__stories__/Underlined.js +14 -0
  317. package/esm/core/PhaseBanner/index.mdx +24 -0
  318. package/esm/core/Radios/__stories__/Default.js +1 -2
  319. package/esm/core/Radios/__stories__/MultipleQuestions.js +1 -1
  320. package/esm/core/Radios/index.mdx +56 -0
  321. package/esm/core/Select/Select.stories.js +2 -1
  322. package/esm/core/Select/__stories__/WithHint.js +22 -0
  323. package/esm/core/Select/index.mdx +36 -0
  324. package/esm/core/SummaryList/SummaryList.stories.js +2 -2
  325. package/esm/core/SummaryList/__stories__/Default.js +1 -1
  326. package/esm/core/SummaryList/__stories__/WithActions.js +20 -0
  327. package/esm/core/SummaryList/__stories__/WithoutBorders.js +11 -0
  328. package/esm/core/SummaryList/index.mdx +17 -65
  329. package/esm/core/Table/Table.stories.js +1 -0
  330. package/esm/core/Table/__stories__/DarkVariant.js +1 -1
  331. package/esm/core/Table/__stories__/Default.js +1 -1
  332. package/esm/core/Table/__stories__/TableCaptions.js +17 -0
  333. package/esm/core/Table/index.mdx +52 -0
  334. package/esm/core/Tabs/__stories__/Default.js +3 -2
  335. package/esm/core/Tabs/index.mdx +10 -2
  336. package/esm/core/TextArea/index.mdx +50 -0
  337. package/esm/core/TextInput/index.mdx +59 -0
  338. package/esm/core/VisuallyHidden/__stories__/Default.js +9 -5
  339. package/esm/core/VisuallyHidden/index.mdx +17 -0
  340. package/esm/core/WarningText/index.mdx +10 -35
  341. package/esm/govgr/Footer/index.mdx +4 -4
  342. package/esm/index.js +1 -1
  343. package/esm/introduction.md +4 -1
  344. package/esm/layouts/Grid/Grid.stories.js +2 -1
  345. package/esm/layouts/Grid/__stories__/Inline.js +55 -0
  346. package/esm/layouts/Grid/index.js +1 -0
  347. package/esm/layouts/index.js +2 -0
  348. package/esm/registry.js +57 -17
  349. package/esm/typography/Caption/index.mdx +16 -0
  350. package/esm/typography/Hint/index.mdx +16 -0
  351. package/esm/typography/NormalText/index.mdx +26 -0
  352. package/esm/typography/Paragraph/index.mdx +30 -0
  353. package/esm/typography/Title/index.mdx +12 -0
  354. package/govgr/Footer/index.mdx +4 -4
  355. package/introduction.md +4 -1
  356. package/layouts/Grid/Grid.stories.d.ts +1 -0
  357. package/layouts/Grid/Grid.stories.js +14 -0
  358. package/layouts/Grid/__stories__/Inline.d.ts +3 -0
  359. package/layouts/Grid/__stories__/Inline.js +68 -0
  360. package/layouts/Grid/index.d.ts +1 -0
  361. package/layouts/Grid/index.js +6 -0
  362. package/layouts/index.d.ts +2 -0
  363. package/layouts/index.js +22 -1
  364. package/package.json +3 -3
  365. package/registry.d.ts +28 -8
  366. package/registry.js +85 -25
  367. package/typography/Caption/index.mdx +16 -0
  368. package/typography/Hint/index.mdx +16 -0
  369. package/typography/NormalText/index.mdx +26 -0
  370. package/typography/Paragraph/index.mdx +30 -0
  371. package/typography/Title/index.mdx +12 -0
  372. package/app/NotFound/NotFound.mdx +0 -5
  373. package/app/QrCodeScanner/index.mdx +0 -7
  374. package/core/SummaryList/__stories__/SummaryListWithActions.d.ts +0 -3
  375. package/core/SummaryList/__stories__/SummaryListWithoutBorders.d.ts +0 -3
  376. package/es/app/NotFound/NotFound.mdx +0 -5
  377. package/es/app/QrCodeScanner/index.mdx +0 -7
  378. package/es/core/SummaryList/__stories__/SummaryListWithActions.js +0 -21
  379. package/es/core/SummaryList/__stories__/SummaryListWithoutBorders.js +0 -11
  380. package/esm/app/NotFound/NotFound.mdx +0 -5
  381. package/esm/app/QrCodeScanner/index.mdx +0 -7
  382. package/esm/core/SummaryList/__stories__/SummaryListWithActions.js +0 -21
  383. package/esm/core/SummaryList/__stories__/SummaryListWithoutBorders.js +0 -11
@@ -0,0 +1,744 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ Object.defineProperty(exports, "AutoCompleteAssistiveHint", {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _AutoCompleteAssistiveHint["default"];
14
+ }
15
+ });
16
+ Object.defineProperty(exports, "AutoCompleteInput", {
17
+ enumerable: true,
18
+ get: function get() {
19
+ return _AutoCompleteInput["default"];
20
+ }
21
+ });
22
+ Object.defineProperty(exports, "AutoCompleteInputTypeahead", {
23
+ enumerable: true,
24
+ get: function get() {
25
+ return _AutoCompleteInputTypeahead["default"];
26
+ }
27
+ });
28
+ Object.defineProperty(exports, "AutoCompleteNoResult", {
29
+ enumerable: true,
30
+ get: function get() {
31
+ return _AutoCompleteNoResult["default"];
32
+ }
33
+ });
34
+ Object.defineProperty(exports, "AutoCompleteResultList", {
35
+ enumerable: true,
36
+ get: function get() {
37
+ return _AutoCompleteResultList["default"];
38
+ }
39
+ });
40
+ Object.defineProperty(exports, "AutoCompleteResultListItem", {
41
+ enumerable: true,
42
+ get: function get() {
43
+ return _AutoCompleteResultListItem["default"];
44
+ }
45
+ });
46
+ Object.defineProperty(exports, "AutoCompleteWrapper", {
47
+ enumerable: true,
48
+ get: function get() {
49
+ return _AutoCompleteWrapper["default"];
50
+ }
51
+ });
52
+ exports["default"] = void 0;
53
+
54
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
55
+
56
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
57
+
58
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
59
+
60
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
61
+
62
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
63
+
64
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
65
+
66
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
67
+
68
+ var _react = _interopRequireWildcard(require("react"));
69
+
70
+ var _AutoCompleteInput = _interopRequireDefault(require("@digigov/react-extensions/admin/AutoCompleteInput"));
71
+
72
+ var _AutoCompleteInputTypeahead = _interopRequireDefault(require("@digigov/react-extensions/admin/AutoCompleteInputTypeahead"));
73
+
74
+ var _AutoCompleteNoResult = _interopRequireDefault(require("@digigov/react-extensions/admin/AutoCompleteNoResult"));
75
+
76
+ var _AutoCompleteResultList = _interopRequireDefault(require("@digigov/react-extensions/admin/AutoCompleteResultList"));
77
+
78
+ var _AutoCompleteResultListItem = _interopRequireDefault(require("@digigov/react-extensions/admin/AutoCompleteResultListItem"));
79
+
80
+ var _AutoCompleteWrapper = _interopRequireDefault(require("@digigov/react-extensions/admin/AutoCompleteWrapper"));
81
+
82
+ var _AutoCompleteAssistiveHint = _interopRequireDefault(require("@digigov/react-extensions/admin/AutoCompleteAssistiveHint"));
83
+
84
+ var _Status = _interopRequireDefault(require("@digigov/ui/admin/AutoComplete/Status"));
85
+
86
+ var _DropdownArrowDown = _interopRequireDefault(require("@digigov/react-extensions/admin/DropdownArrowDown"));
87
+
88
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
89
+
90
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
91
+
92
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
93
+
94
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
95
+
96
+ /* const IS_PREACT = process.env.COMPONENT_LIBRARY === 'PREACT'; */
97
+
98
+ /* const IS_REACT = process.env.COMPONENT_LIBRARY === 'REACT'; */
99
+ var keyCodes = {
100
+ 13: 'enter',
101
+ 27: 'escape',
102
+ 32: 'space',
103
+ 38: 'up',
104
+ 40: 'down'
105
+ };
106
+
107
+ function isIosDevice() {
108
+ return typeof navigator !== 'undefined' && !!(navigator.userAgent.match(/(iPod|iPhone|iPad)/g) && navigator.userAgent.match(/AppleWebKit/g));
109
+ }
110
+
111
+ function isPrintableKeyCode(keyCode) {
112
+ return keyCode > 47 && keyCode < 58 || // number keys
113
+ keyCode === 32 || keyCode === 8 || // spacebar or backspace
114
+ keyCode > 64 && keyCode < 91 || // letter keys
115
+ keyCode > 95 && keyCode < 112 || // numpad keys
116
+ keyCode > 185 && keyCode < 193 || // ;=,-./` (in order)
117
+ keyCode > 218 && keyCode < 223 // [\]' (in order)
118
+ ;
119
+ }
120
+
121
+ var AutoComplete = /*#__PURE__*/function (_Component) {
122
+ (0, _inherits2["default"])(AutoComplete, _Component);
123
+
124
+ var _super = _createSuper(AutoComplete);
125
+
126
+ function AutoComplete(props) {
127
+ var _this;
128
+
129
+ (0, _classCallCheck2["default"])(this, AutoComplete);
130
+ _this = _super.call(this, props);
131
+ _this.elementReferences = {};
132
+ _this.$pollInput = void 0;
133
+ _this.state = {
134
+ focused: null,
135
+ hovered: null,
136
+ menuOpen: false,
137
+ options: props.defaultValue ? [props.defaultValue] : [],
138
+ query: props.defaultValue,
139
+ validChoiceMade: false,
140
+ selected: null,
141
+ ariaHint: true
142
+ };
143
+ _this.handleComponentBlur = _this.handleComponentBlur.bind((0, _assertThisInitialized2["default"])(_this));
144
+ _this.handleKeyDown = _this.handleKeyDown.bind((0, _assertThisInitialized2["default"])(_this));
145
+ _this.handleUpArrow = _this.handleUpArrow.bind((0, _assertThisInitialized2["default"])(_this));
146
+ _this.handleDownArrow = _this.handleDownArrow.bind((0, _assertThisInitialized2["default"])(_this));
147
+ _this.handleEnter = _this.handleEnter.bind((0, _assertThisInitialized2["default"])(_this));
148
+ _this.handlePrintableKey = _this.handlePrintableKey.bind((0, _assertThisInitialized2["default"])(_this));
149
+ _this.handleListMouseLeave = _this.handleListMouseLeave.bind((0, _assertThisInitialized2["default"])(_this));
150
+ _this.handleOptionBlur = _this.handleOptionBlur.bind((0, _assertThisInitialized2["default"])(_this));
151
+ _this.handleOptionClick = _this.handleOptionClick.bind((0, _assertThisInitialized2["default"])(_this));
152
+ _this.handleOptionFocus = _this.handleOptionFocus.bind((0, _assertThisInitialized2["default"])(_this));
153
+ _this.handleOptionMouseDown = _this.handleOptionMouseDown.bind((0, _assertThisInitialized2["default"])(_this));
154
+ _this.handleOptionMouseEnter = _this.handleOptionMouseEnter.bind((0, _assertThisInitialized2["default"])(_this));
155
+ _this.handleInputBlur = _this.handleInputBlur.bind((0, _assertThisInitialized2["default"])(_this));
156
+ _this.handleInputChange = _this.handleInputChange.bind((0, _assertThisInitialized2["default"])(_this));
157
+ _this.handleInputFocus = _this.handleInputFocus.bind((0, _assertThisInitialized2["default"])(_this));
158
+ _this.pollInputElement = _this.pollInputElement.bind((0, _assertThisInitialized2["default"])(_this));
159
+ _this.getDirectInputChanges = _this.getDirectInputChanges.bind((0, _assertThisInitialized2["default"])(_this));
160
+ return _this;
161
+ }
162
+
163
+ (0, _createClass2["default"])(AutoComplete, [{
164
+ key: "isQueryAnOption",
165
+ value: function isQueryAnOption(query, options) {
166
+ var _this2 = this;
167
+
168
+ return options.map(function (entry) {
169
+ return _this2.templateInputValue(entry).toLowerCase();
170
+ }).indexOf(query.toLowerCase()) !== -1;
171
+ }
172
+ }, {
173
+ key: "componentDidMount",
174
+ value: function componentDidMount() {
175
+ this.pollInputElement();
176
+ }
177
+ }, {
178
+ key: "componentWillUnmount",
179
+ value: function componentWillUnmount() {
180
+ clearTimeout(this.$pollInput);
181
+ } // Applications like Dragon NaturallySpeaking will modify the
182
+ // `input` field by directly changing its `.value`. These events
183
+ // don't trigger our JavaScript event listeners, so we need to poll
184
+ // to handle when and if they occur.
185
+
186
+ }, {
187
+ key: "pollInputElement",
188
+ value: function pollInputElement() {
189
+ var _this3 = this;
190
+
191
+ this.getDirectInputChanges();
192
+ this.$pollInput = setTimeout(function () {
193
+ _this3.pollInputElement();
194
+ }, 100);
195
+ }
196
+ }, {
197
+ key: "getDirectInputChanges",
198
+ value: function getDirectInputChanges() {
199
+ var inputReference = this.elementReferences[-1];
200
+ var queryHasChanged = inputReference && inputReference.value !== this.state.query;
201
+
202
+ if (queryHasChanged) {
203
+ this.handleInputChange({
204
+ target: {
205
+ value: inputReference.value
206
+ }
207
+ });
208
+ }
209
+ }
210
+ }, {
211
+ key: "componentDidUpdate",
212
+ value: function componentDidUpdate(prevState) {
213
+ var focused = this.state.focused;
214
+ var componentLostFocus = focused === null;
215
+ var focusedChanged = prevState.focused !== focused;
216
+ var focusDifferentElement = focusedChanged && !componentLostFocus;
217
+
218
+ if (focusDifferentElement) {
219
+ this.elementReferences[focused].focus();
220
+ }
221
+
222
+ var focusedInput = focused === -1;
223
+ var componentGainedFocus = focusedChanged && prevState.focused === null;
224
+ var selectAllText = focusedInput && componentGainedFocus;
225
+
226
+ if (selectAllText) {
227
+ var inputElement = this.elementReferences[focused];
228
+ inputElement.setSelectionRange(0, inputElement.value.length);
229
+ }
230
+ }
231
+ }, {
232
+ key: "hasAutoselect",
233
+ value: function hasAutoselect() {
234
+ return isIosDevice() ? false : this.props.autoselect;
235
+ } // This template is used when converting from a state.options object into a state.query.
236
+
237
+ }, {
238
+ key: "templateInputValue",
239
+ value: function templateInputValue(value) {
240
+ var inputValueTemplate = this.props.templates && this.props.templates.inputValue;
241
+ return inputValueTemplate ? inputValueTemplate(value) : value;
242
+ } // This template is used when displaying results / suggestions.
243
+
244
+ }, {
245
+ key: "templateSuggestion",
246
+ value: function templateSuggestion(value) {
247
+ var suggestionTemplate = this.props.templates && this.props.templates.suggestion;
248
+ return suggestionTemplate ? suggestionTemplate(value) : value;
249
+ }
250
+ }, {
251
+ key: "handleComponentBlur",
252
+ value: function handleComponentBlur(newState) {
253
+ var _this$state = this.state,
254
+ options = _this$state.options,
255
+ query = _this$state.query,
256
+ selected = _this$state.selected;
257
+ var newQuery;
258
+
259
+ if (this.props.confirmOnBlur) {
260
+ var _this$props$onConfirm, _this$props;
261
+
262
+ newQuery = newState.query || query;
263
+ (_this$props$onConfirm = (_this$props = this.props).onConfirm) === null || _this$props$onConfirm === void 0 ? void 0 : _this$props$onConfirm.call(_this$props, options[selected]);
264
+ } else {
265
+ newQuery = query;
266
+ }
267
+
268
+ this.setState({
269
+ focused: null,
270
+ menuOpen: newState.menuOpen || false,
271
+ query: newQuery,
272
+ selected: null,
273
+ validChoiceMade: this.isQueryAnOption(newQuery, options)
274
+ });
275
+ }
276
+ }, {
277
+ key: "handleListMouseLeave",
278
+ value: function handleListMouseLeave() {
279
+ this.setState({
280
+ hovered: null
281
+ });
282
+ }
283
+ }, {
284
+ key: "handleOptionBlur",
285
+ value: function handleOptionBlur(event, index) {
286
+ var _this$state2 = this.state,
287
+ focused = _this$state2.focused,
288
+ menuOpen = _this$state2.menuOpen,
289
+ options = _this$state2.options,
290
+ selected = _this$state2.selected;
291
+ var focusingOutsideComponent = event.relatedTarget === null;
292
+ var focusingInput = event.relatedTarget === this.elementReferences[-1];
293
+ var focusingAnotherOption = focused !== index && focused !== -1;
294
+ var blurComponent = !focusingAnotherOption && focusingOutsideComponent || !(focusingAnotherOption || focusingInput);
295
+
296
+ if (blurComponent) {
297
+ var keepMenuOpen = menuOpen && isIosDevice();
298
+ this.handleComponentBlur({
299
+ menuOpen: keepMenuOpen,
300
+ query: this.templateInputValue(options[selected])
301
+ });
302
+ }
303
+ }
304
+ }, {
305
+ key: "handleInputBlur",
306
+ value: function handleInputBlur() {
307
+ var _this$state3 = this.state,
308
+ focused = _this$state3.focused,
309
+ menuOpen = _this$state3.menuOpen,
310
+ options = _this$state3.options,
311
+ query = _this$state3.query,
312
+ selected = _this$state3.selected;
313
+ var focusingAnOption = focused !== -1;
314
+
315
+ if (!focusingAnOption) {
316
+ var keepMenuOpen = menuOpen && isIosDevice();
317
+ var newQuery = isIosDevice() ? query : this.templateInputValue(options[selected]);
318
+ this.handleComponentBlur({
319
+ menuOpen: keepMenuOpen,
320
+ query: newQuery
321
+ });
322
+ }
323
+ }
324
+ }, {
325
+ key: "handleInputChange",
326
+ value: function handleInputChange(event) {
327
+ var _this4 = this;
328
+
329
+ var _this$props2 = this.props,
330
+ minLength = _this$props2.minLength,
331
+ source = _this$props2.source,
332
+ showAllValues = _this$props2.showAllValues;
333
+ var autoselect = this.hasAutoselect();
334
+ var query = event.target.value;
335
+ var queryEmpty = query.length === 0;
336
+ var queryChanged = this.state.query.length !== query.length;
337
+ var queryLongEnough = query.length >= minLength;
338
+ this.setState({
339
+ query: query,
340
+ ariaHint: queryEmpty
341
+ });
342
+ var searchForOptions = showAllValues || !queryEmpty && queryChanged && queryLongEnough;
343
+
344
+ if (searchForOptions) {
345
+ source(query, function (options) {
346
+ var optionsAvailable = options.length > 0;
347
+
348
+ _this4.setState({
349
+ menuOpen: optionsAvailable,
350
+ options: options,
351
+ selected: autoselect && optionsAvailable ? 0 : -1,
352
+ validChoiceMade: false
353
+ });
354
+ });
355
+ } else if (queryEmpty || !queryLongEnough) {
356
+ this.setState({
357
+ menuOpen: false,
358
+ options: []
359
+ });
360
+ }
361
+ }
362
+ }, {
363
+ key: "handleInputClick",
364
+ value: function handleInputClick(event) {
365
+ this.handleInputChange(event);
366
+ }
367
+ }, {
368
+ key: "handleInputFocus",
369
+ value: function handleInputFocus() {
370
+ var _this$state4 = this.state,
371
+ query = _this$state4.query,
372
+ validChoiceMade = _this$state4.validChoiceMade,
373
+ options = _this$state4.options;
374
+ var minLength = this.props.minLength;
375
+ var shouldReopenMenu = !validChoiceMade && query.length >= minLength && options.length > 0;
376
+
377
+ if (shouldReopenMenu) {
378
+ this.setState(function (_ref) {
379
+ var menuOpen = _ref.menuOpen;
380
+ return {
381
+ focused: -1,
382
+ menuOpen: shouldReopenMenu || menuOpen,
383
+ selected: -1
384
+ };
385
+ });
386
+ } else {
387
+ this.setState({
388
+ focused: -1
389
+ });
390
+ }
391
+ }
392
+ }, {
393
+ key: "handleOptionFocus",
394
+ value: function handleOptionFocus(index) {
395
+ this.setState({
396
+ focused: index,
397
+ hovered: null,
398
+ selected: index
399
+ });
400
+ }
401
+ }, {
402
+ key: "handleOptionMouseEnter",
403
+ value: function handleOptionMouseEnter(index) {
404
+ // iOS Safari prevents click event if mouseenter adds hover background colour
405
+ // See: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW4
406
+ if (!isIosDevice()) {
407
+ this.setState({
408
+ hovered: index
409
+ });
410
+ }
411
+ }
412
+ }, {
413
+ key: "handleOptionClick",
414
+ value: function handleOptionClick(index) {
415
+ var _this$props$onConfirm2, _this$props3;
416
+
417
+ var selectedOption = this.state.options[index];
418
+ var newQuery = this.templateInputValue(selectedOption);
419
+ (_this$props$onConfirm2 = (_this$props3 = this.props).onConfirm) === null || _this$props$onConfirm2 === void 0 ? void 0 : _this$props$onConfirm2.call(_this$props3, selectedOption);
420
+ this.setState({
421
+ focused: -1,
422
+ hovered: null,
423
+ menuOpen: false,
424
+ query: newQuery,
425
+ selected: -1,
426
+ validChoiceMade: true
427
+ });
428
+ this.forceUpdate();
429
+ }
430
+ }, {
431
+ key: "handleOptionMouseDown",
432
+ value: function handleOptionMouseDown(event) {
433
+ // Safari triggers focusOut before click, but if you
434
+ // preventDefault on mouseDown, you can stop that from happening.
435
+ // If this is removed, clicking on an option in Safari will trigger
436
+ // `handleOptionBlur`, which closes the menu, and the click will
437
+ // trigger on the element underneath instead.
438
+ // See: http://stackoverflow.com/questions/7621711/how-to-prevent-blur-running-when-clicking-a-link-in-jquery
439
+ event.preventDefault();
440
+ }
441
+ }, {
442
+ key: "handleUpArrow",
443
+ value: function handleUpArrow(event) {
444
+ event.preventDefault();
445
+ var _this$state5 = this.state,
446
+ menuOpen = _this$state5.menuOpen,
447
+ selected = _this$state5.selected;
448
+ var isNotAtTop = selected !== -1;
449
+ var allowMoveUp = isNotAtTop && menuOpen;
450
+
451
+ if (allowMoveUp) {
452
+ this.handleOptionFocus(selected - 1);
453
+ }
454
+ }
455
+ }, {
456
+ key: "handleDownArrow",
457
+ value: function handleDownArrow(event) {
458
+ var _this5 = this;
459
+
460
+ event.preventDefault(); // if not open, open
461
+
462
+ if (this.props.showAllValues && this.state.menuOpen === false) {
463
+ event.preventDefault();
464
+ this.props.source('', function (options) {
465
+ _this5.setState({
466
+ menuOpen: true,
467
+ options: options,
468
+ selected: 0,
469
+ focused: 0,
470
+ hovered: null
471
+ });
472
+ });
473
+ } else if (this.state.menuOpen === true) {
474
+ var _this$state6 = this.state,
475
+ menuOpen = _this$state6.menuOpen,
476
+ _options = _this$state6.options,
477
+ selected = _this$state6.selected;
478
+ var isNotAtBottom = selected !== _options.length - 1;
479
+ var allowMoveDown = isNotAtBottom && menuOpen;
480
+
481
+ if (allowMoveDown) {
482
+ this.handleOptionFocus(selected + 1);
483
+ }
484
+ }
485
+ }
486
+ }, {
487
+ key: "handleSpace",
488
+ value: function handleSpace(event) {
489
+ var _this6 = this;
490
+
491
+ // if not open, open
492
+ if (this.props.showAllValues && this.state.menuOpen === false && this.state.query === '') {
493
+ event.preventDefault();
494
+ this.props.source('', function (options) {
495
+ _this6.setState({
496
+ menuOpen: true,
497
+ options: options
498
+ });
499
+ });
500
+ }
501
+
502
+ var focusIsOnOption = this.state.focused !== -1;
503
+
504
+ if (focusIsOnOption) {
505
+ event.preventDefault();
506
+ this.handleOptionClick(this.state.focused);
507
+ }
508
+ }
509
+ }, {
510
+ key: "handleEnter",
511
+ value: function handleEnter(event) {
512
+ if (this.state.menuOpen) {
513
+ event.preventDefault();
514
+ var hasSelectedOption = this.state.selected >= 0;
515
+
516
+ if (hasSelectedOption) {
517
+ this.handleOptionClick(this.state.selected);
518
+ }
519
+ }
520
+ }
521
+ }, {
522
+ key: "handlePrintableKey",
523
+ value: function handlePrintableKey(event) {
524
+ var inputElement = this.elementReferences[-1];
525
+ var eventIsOnInput = event.target === inputElement;
526
+
527
+ if (!eventIsOnInput) {
528
+ // FIXME: This would be better if it was in componentDidUpdate,
529
+ // but using setState to trigger that seems to not work correctly
530
+ // in preact@8.1.0.
531
+ inputElement.focus();
532
+ }
533
+ }
534
+ }, {
535
+ key: "handleKeyDown",
536
+ value: function handleKeyDown(event) {
537
+ switch (keyCodes[event.keyCode]) {
538
+ case 'up':
539
+ this.handleUpArrow(event);
540
+ break;
541
+
542
+ case 'down':
543
+ this.handleDownArrow(event);
544
+ break;
545
+
546
+ case 'space':
547
+ this.handleSpace(event);
548
+ break;
549
+
550
+ case 'enter':
551
+ this.handleEnter(event);
552
+ break;
553
+
554
+ case 'escape':
555
+ this.handleComponentBlur({
556
+ query: this.state.query
557
+ });
558
+ break;
559
+
560
+ default:
561
+ if (isPrintableKeyCode(event.keyCode)) {
562
+ this.handlePrintableKey(event);
563
+ }
564
+
565
+ break;
566
+ }
567
+ }
568
+ }, {
569
+ key: "render",
570
+ value: function render() {
571
+ var _this7 = this;
572
+
573
+ var _this$props4 = this.props,
574
+ id = _this$props4.id,
575
+ cellWidth = _this$props4.cellWidth,
576
+ displayMenu = _this$props4.displayMenu,
577
+ minLength = _this$props4.minLength,
578
+ name = _this$props4.name,
579
+ placeholder = _this$props4.placeholder,
580
+ required = _this$props4.required,
581
+ showAllValues = _this$props4.showAllValues,
582
+ tNoResults = _this$props4.tNoResults,
583
+ tStatusQueryTooShort = _this$props4.tStatusQueryTooShort,
584
+ tStatusNoResults = _this$props4.tStatusNoResults,
585
+ tStatusSelectedOption = _this$props4.tStatusSelectedOption,
586
+ tStatusResults = _this$props4.tStatusResults,
587
+ tAssistiveHint = _this$props4.tAssistiveHint,
588
+ dropdownArrowFactory = _this$props4.dropdownArrow;
589
+ var _this$state7 = this.state,
590
+ focused = _this$state7.focused,
591
+ hovered = _this$state7.hovered,
592
+ menuOpen = _this$state7.menuOpen,
593
+ options = _this$state7.options,
594
+ query = _this$state7.query,
595
+ selected = _this$state7.selected,
596
+ ariaHint = _this$state7.ariaHint,
597
+ validChoiceMade = _this$state7.validChoiceMade;
598
+ var autoselect = this.hasAutoselect();
599
+ var inputFocused = focused === -1;
600
+ var noOptionsAvailable = options.length === 0;
601
+ var queryNotEmpty = query.length !== 0;
602
+ var queryLongEnough = query.length >= minLength;
603
+ var showNoOptionsFound = this.props.showNoOptionsFound && inputFocused && noOptionsAvailable && queryNotEmpty && queryLongEnough;
604
+ var componentIsFocused = focused !== null;
605
+ var dropdownArrowClassName = "govgr-autocomplete__dropdown-arrow-down";
606
+ var optionFocused = focused !== -1 && focused !== null;
607
+ var menuIsVisible = menuOpen || showNoOptionsFound;
608
+ var selectedOptionText = this.templateInputValue(options[selected]);
609
+ var optionBeginsWithQuery = selectedOptionText && selectedOptionText.toLowerCase().indexOf(query.toLowerCase()) === 0;
610
+ var hintValue = optionBeginsWithQuery && autoselect ? query + selectedOptionText.substr(query.length) : '';
611
+ var assistiveHintID = id + '__assistiveHint';
612
+ var ariaDescribedProp = ariaHint ? {
613
+ 'aria-describedby': assistiveHintID
614
+ } : null;
615
+ var dropdownArrow; // we only need a dropdown arrow if showAllValues is set to a truthy value
616
+
617
+ if (showAllValues) {
618
+ dropdownArrow = dropdownArrowFactory({
619
+ className: dropdownArrowClassName
620
+ }); // if the factory returns a string we'll render this as HTML (usage w/o (P)React)
621
+
622
+ if (typeof dropdownArrow === 'string') {
623
+ dropdownArrow = /*#__PURE__*/_react["default"].createElement("div", {
624
+ className: "autocomplete__dropdown-arrow-down-wrapper",
625
+ dangerouslySetInnerHTML: {
626
+ __html: dropdownArrow
627
+ }
628
+ });
629
+ }
630
+ }
631
+
632
+ return /*#__PURE__*/_react["default"].createElement(_AutoCompleteWrapper["default"], {
633
+ onKeyDown: this.handleKeyDown,
634
+ cellWidth: cellWidth
635
+ }, /*#__PURE__*/_react["default"].createElement(_Status["default"], {
636
+ id: id,
637
+ length: options.length,
638
+ queryLength: query.length,
639
+ minQueryLength: minLength,
640
+ selectedOption: this.templateInputValue(options[selected]),
641
+ selectedOptionIndex: selected,
642
+ validChoiceMade: validChoiceMade,
643
+ isInFocus: this.state.focused !== null,
644
+ tQueryTooShort: tStatusQueryTooShort,
645
+ tNoResults: tStatusNoResults,
646
+ tSelectedOption: tStatusSelectedOption,
647
+ tResults: tStatusResults
648
+ }), hintValue && /*#__PURE__*/_react["default"].createElement(_AutoCompleteInputTypeahead["default"], {
649
+ value: hintValue
650
+ }), /*#__PURE__*/_react["default"].createElement(_AutoCompleteInput["default"], (0, _extends2["default"])({
651
+ "aria-expanded": menuOpen ? 'true' : 'false',
652
+ "aria-activedescendant": optionFocused ? "".concat(id, "__option--").concat(focused) : '',
653
+ "aria-owns": "".concat(id, "__listbox"),
654
+ "aria-autocomplete": this.hasAutoselect() ? 'both' : 'list'
655
+ }, ariaDescribedProp, {
656
+ autoComplete: "off",
657
+ isFocused: componentIsFocused,
658
+ showAllValues: this.props.showAllValues,
659
+ id: id,
660
+ onClick: function onClick(event) {
661
+ return _this7.handleInputClick(event);
662
+ },
663
+ onBlur: this.handleInputBlur,
664
+ onChange: this.handleInputChange,
665
+ onFocus: this.handleInputFocus,
666
+ name: name,
667
+ placeholder: placeholder,
668
+ ref: function ref(inputElement) {
669
+ _this7.elementReferences[-1] = inputElement;
670
+ },
671
+ role: "combobox",
672
+ required: required,
673
+ value: query
674
+ })), dropdownArrow, /*#__PURE__*/_react["default"].createElement(_AutoCompleteResultList["default"], {
675
+ displayMenu: displayMenu,
676
+ isVisible: menuIsVisible,
677
+ onMouseLeave: function onMouseLeave() {
678
+ return _this7.handleListMouseLeave();
679
+ },
680
+ id: "".concat(id, "__listbox"),
681
+ role: "listbox"
682
+ }, options.map(function (option, index) {
683
+ var showFocused = focused === -1 ? selected === index : focused === index;
684
+ var iosPosinsetHtml = isIosDevice() ? "<span id=".concat(id, "__option-suffix--").concat(index, " style=\"border:0;clip:rect(0 0 0 0);height:1px;") + 'marginBottom:-1px;marginRight:-1px;overflow:hidden;padding:0;position:absolute;' + 'whiteSpace:nowrap;width:1px">' + " ".concat(index + 1, " of ").concat(options.length, "</span>") : '';
685
+ return /*#__PURE__*/_react["default"].createElement(_AutoCompleteResultListItem["default"], {
686
+ isFocused: showFocused,
687
+ isHovered: hovered,
688
+ index: index,
689
+ "aria-selected": focused === index ? 'true' : 'false',
690
+ dangerouslySetInnerHTML: {
691
+ __html: _this7.templateSuggestion(option) + iosPosinsetHtml
692
+ },
693
+ id: "".concat(id, "__option--").concat(index),
694
+ key: index,
695
+ onBlur: function onBlur(event) {
696
+ return _this7.handleOptionBlur(event, index);
697
+ },
698
+ onClick: function onClick() {
699
+ return _this7.handleOptionClick(index);
700
+ },
701
+ onMouseDown: _this7.handleOptionMouseDown,
702
+ onMouseEnter: function onMouseEnter() {
703
+ return _this7.handleOptionMouseEnter(index);
704
+ },
705
+ ref: function ref(optionEl) {
706
+ _this7.elementReferences[index] = optionEl;
707
+ },
708
+ role: "option",
709
+ tabIndex: -1,
710
+ "aria-posinset": index + 1,
711
+ "aria-setsize": options.length
712
+ });
713
+ }), showNoOptionsFound && /*#__PURE__*/_react["default"].createElement(_AutoCompleteNoResult["default"], null, tNoResults === null || tNoResults === void 0 ? void 0 : tNoResults())), /*#__PURE__*/_react["default"].createElement(_AutoCompleteAssistiveHint["default"], {
714
+ id: assistiveHintID
715
+ }, tAssistiveHint === null || tAssistiveHint === void 0 ? void 0 : tAssistiveHint()));
716
+ }
717
+ }]);
718
+ return AutoComplete;
719
+ }(_react.Component);
720
+
721
+ exports["default"] = AutoComplete;
722
+ AutoComplete.defaultProps = {
723
+ cellWidth: 'one-third',
724
+ autoselect: false,
725
+ defaultValue: '',
726
+ displayMenu: 'overlay',
727
+ minLength: 0,
728
+ name: 'govgr-input-autocomplete',
729
+ placeholder: '',
730
+ onConfirm: function onConfirm() {
731
+ return;
732
+ },
733
+ confirmOnBlur: false,
734
+ showNoOptionsFound: true,
735
+ showAllValues: false,
736
+ required: false,
737
+ tNoResults: function tNoResults() {
738
+ return 'No results found';
739
+ },
740
+ tAssistiveHint: function tAssistiveHint() {
741
+ return '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.';
742
+ },
743
+ dropdownArrow: _DropdownArrowDown["default"]
744
+ };