@digigov/ui 2.0.0-rc.21 → 2.0.0-rc.22

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 (344) hide show
  1. package/app/Header/__stories__/WithServiceNameAndLogo/index.js +2 -2
  2. package/app/Header/__stories__/WithServiceNameAndLogo.js.map +2 -2
  3. package/app/Loader/index.d.ts +1 -1
  4. package/app/Loader/index.js +1 -1
  5. package/app/Loader/index.js.map +1 -1
  6. package/app/Loader/index.native/index.js +102 -0
  7. package/{api/fetchAPI → app/Loader/index.native}/package.json +1 -1
  8. package/app/Loader/index.native.d.ts +3 -0
  9. package/app/Loader/index.native.js.map +7 -0
  10. package/app/Loader/index.web/index.js +2 -0
  11. package/{api/APIProvider → app/Loader/index.web}/package.json +1 -1
  12. package/app/Loader/index.web.d.ts +1 -0
  13. package/app/Loader/index.web.js.map +7 -0
  14. package/app/Masthead/Masthead.stories/index.js +2 -0
  15. package/app/Masthead/Masthead.stories.d.ts +1 -0
  16. package/app/Masthead/Masthead.stories.js.map +2 -2
  17. package/app/Masthead/__stories__/Secondary/index.js +13 -0
  18. package/app/Masthead/__stories__/Secondary/package.json +6 -0
  19. package/app/Masthead/__stories__/Secondary.d.ts +3 -0
  20. package/app/Masthead/__stories__/Secondary.js.map +7 -0
  21. package/app/QrCodeScanner/index.js.map +2 -2
  22. package/cjs/app/Header/__stories__/WithServiceNameAndLogo.js.map +3 -3
  23. package/cjs/app/Loader/index.js +3 -3
  24. package/cjs/app/Loader/index.js.map +2 -2
  25. package/cjs/app/Loader/index.native/index.js +135 -0
  26. package/cjs/app/Loader/index.native.js.map +7 -0
  27. package/cjs/app/Loader/index.web/index.js +22 -0
  28. package/cjs/app/Loader/index.web.js.map +7 -0
  29. package/cjs/app/Masthead/Masthead.stories/index.js +3 -0
  30. package/cjs/app/Masthead/Masthead.stories.js.map +2 -2
  31. package/cjs/app/Masthead/__stories__/Secondary/index.js +46 -0
  32. package/cjs/app/Masthead/__stories__/Secondary.js.map +7 -0
  33. package/cjs/app/QrCodeScanner/index.js.map +2 -2
  34. package/cjs/content/Table/Table.stories/index.js +3 -3
  35. package/cjs/content/Table/Table.stories.js.map +2 -2
  36. package/cjs/content/Table/__stories__/{Densed → Dense}/index.js +9 -9
  37. package/cjs/content/Table/__stories__/{Densed.js.map → Dense.js.map} +3 -3
  38. package/cjs/feedback/CopyToClipboard/__stories__/Default/index.js +1 -1
  39. package/cjs/feedback/CopyToClipboard/__stories__/Default.js.map +2 -2
  40. package/cjs/form/DateInputContainer/__stories__/MultipleQuestions/index.js +1 -1
  41. package/cjs/form/DateInputContainer/__stories__/MultipleQuestions.js.map +1 -1
  42. package/cjs/{api/APIErrors → form/SearchContainer/SearchContainer.stories}/index.js +15 -43
  43. package/cjs/form/SearchContainer/SearchContainer.stories.js.map +7 -0
  44. package/cjs/{api/APIProvider → form/SearchContainer/__stories__/Default}/index.js +12 -27
  45. package/cjs/form/SearchContainer/__stories__/Default.js.map +7 -0
  46. package/cjs/i18n/locales/el/index.js +7 -1
  47. package/cjs/i18n/locales/el.js.map +2 -2
  48. package/cjs/layouts/Basic/Bottom/__stories__/Default/index.js +7 -5
  49. package/cjs/layouts/Basic/Bottom/__stories__/Default.js.map +3 -3
  50. package/cjs/layouts/Basic/Container/__stories__/Default/index.js +6 -4
  51. package/cjs/layouts/Basic/Container/__stories__/Default.js.map +3 -3
  52. package/cjs/layouts/Basic/Main/__stories__/Default/index.js +6 -4
  53. package/cjs/layouts/Basic/Main/__stories__/Default.js.map +3 -3
  54. package/cjs/layouts/Basic/Top/__stories__/Default/index.js +6 -4
  55. package/cjs/layouts/Basic/Top/__stories__/Default.js.map +3 -3
  56. package/cjs/lazy/index.js +4 -5
  57. package/cjs/lazy.js.map +2 -2
  58. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +6 -0
  59. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  60. package/cjs/navigation/Breadcrumbs/__stories__/Auto/index.js +201 -0
  61. package/cjs/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
  62. package/cjs/navigation/Breadcrumbs/__stories__/WithHook/index.js +208 -0
  63. package/cjs/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
  64. package/cjs/navigation/Breadcrumbs/auto/index.js +79 -0
  65. package/cjs/navigation/Breadcrumbs/auto.js.map +7 -0
  66. package/cjs/navigation/Breadcrumbs/hooks/index.js +74 -0
  67. package/cjs/navigation/Breadcrumbs/hooks.js.map +7 -0
  68. package/cjs/navigation/Breadcrumbs/index.js +3 -1
  69. package/cjs/navigation/Breadcrumbs/index.js.map +2 -2
  70. package/cjs/navigation/Breadcrumbs/slug/index.js +120 -0
  71. package/cjs/navigation/Breadcrumbs/slug.js.map +7 -0
  72. package/cjs/navigation/Breadcrumbs/utils/index.js +52 -0
  73. package/cjs/navigation/Breadcrumbs/utils.js.map +7 -0
  74. package/cjs/navigation/Drawer/__stories__/Auto/index.js +3 -1
  75. package/cjs/navigation/Drawer/__stories__/Auto.js.map +2 -2
  76. package/cjs/navigation/Drawer/__stories__/Default/index.js +2 -2
  77. package/cjs/navigation/Drawer/__stories__/Default.js.map +3 -3
  78. package/cjs/navigation/NavList/__stories__/UsingNavListAuto/index.js +22 -22
  79. package/cjs/navigation/NavList/__stories__/UsingNavListAuto.js.map +2 -2
  80. package/cjs/navigation/NavList/__stories__/Vertical/index.js +25 -17
  81. package/cjs/navigation/NavList/__stories__/Vertical.js.map +2 -2
  82. package/cjs/registry/index.js +12 -16
  83. package/cjs/registry.js.map +2 -2
  84. package/content/Table/Table.stories/index.js +2 -2
  85. package/content/Table/Table.stories.d.ts +1 -1
  86. package/content/Table/Table.stories.js.map +2 -2
  87. package/content/Table/__stories__/{Densed → Dense}/index.js +5 -5
  88. package/content/Table/__stories__/Dense/package.json +6 -0
  89. package/content/Table/__stories__/Dense.d.ts +3 -0
  90. package/content/Table/__stories__/{Densed.js.map → Dense.js.map} +3 -3
  91. package/feedback/CopyToClipboard/__stories__/Default/index.js +1 -1
  92. package/feedback/CopyToClipboard/__stories__/Default.js.map +2 -2
  93. package/form/DateInputContainer/__stories__/MultipleQuestions/index.js +1 -1
  94. package/form/DateInputContainer/__stories__/MultipleQuestions.js.map +1 -1
  95. package/form/SearchContainer/SearchContainer.stories/index.js +13 -0
  96. package/form/SearchContainer/SearchContainer.stories/package.json +6 -0
  97. package/form/SearchContainer/SearchContainer.stories.d.ts +9 -0
  98. package/form/SearchContainer/SearchContainer.stories.js.map +7 -0
  99. package/form/SearchContainer/__stories__/Default/index.js +11 -0
  100. package/form/SearchContainer/__stories__/Default/package.json +6 -0
  101. package/form/SearchContainer/__stories__/Default.d.ts +3 -0
  102. package/form/SearchContainer/__stories__/Default.js.map +7 -0
  103. package/form/SearchContainer/index.test.d.ts +1 -0
  104. package/i18n/locales/el/index.js +7 -1
  105. package/i18n/locales/el.d.ts +6 -0
  106. package/i18n/locales/el.js.map +2 -2
  107. package/index.js +1 -1
  108. package/layouts/Basic/Bottom/__stories__/Default/index.js +7 -5
  109. package/layouts/Basic/Bottom/__stories__/Default.js.map +2 -2
  110. package/layouts/Basic/Container/__stories__/Default/index.js +6 -4
  111. package/layouts/Basic/Container/__stories__/Default.js.map +2 -2
  112. package/layouts/Basic/Main/__stories__/Default/index.js +6 -4
  113. package/layouts/Basic/Main/__stories__/Default.js.map +2 -2
  114. package/layouts/Basic/Top/__stories__/Default/index.js +6 -4
  115. package/layouts/Basic/Top/__stories__/Default.js.map +2 -2
  116. package/lazy/index.js +4 -5
  117. package/lazy.d.ts +4 -5
  118. package/lazy.js.map +2 -2
  119. package/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +4 -0
  120. package/navigation/Breadcrumbs/Breadcrumbs.stories.d.ts +2 -0
  121. package/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  122. package/navigation/Breadcrumbs/__stories__/Auto/index.js +172 -0
  123. package/navigation/Breadcrumbs/__stories__/Auto/package.json +6 -0
  124. package/navigation/Breadcrumbs/__stories__/Auto.d.ts +3 -0
  125. package/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
  126. package/navigation/Breadcrumbs/__stories__/WithHook/index.js +179 -0
  127. package/navigation/Breadcrumbs/__stories__/WithHook/package.json +6 -0
  128. package/navigation/Breadcrumbs/__stories__/WithHook.d.ts +3 -0
  129. package/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
  130. package/navigation/Breadcrumbs/auto/index.js +49 -0
  131. package/{api → navigation/Breadcrumbs/auto}/package.json +1 -1
  132. package/navigation/Breadcrumbs/auto.d.ts +16 -0
  133. package/navigation/Breadcrumbs/auto.js.map +7 -0
  134. package/navigation/Breadcrumbs/hooks/index.js +51 -0
  135. package/navigation/Breadcrumbs/hooks/package.json +6 -0
  136. package/navigation/Breadcrumbs/hooks.d.ts +11 -0
  137. package/navigation/Breadcrumbs/hooks.js.map +7 -0
  138. package/navigation/Breadcrumbs/index.d.ts +1 -0
  139. package/navigation/Breadcrumbs/index.js +1 -0
  140. package/navigation/Breadcrumbs/index.js.map +2 -2
  141. package/navigation/Breadcrumbs/slug/index.js +97 -0
  142. package/{api/APIErrors → navigation/Breadcrumbs/slug}/package.json +1 -1
  143. package/navigation/Breadcrumbs/slug.d.ts +1 -0
  144. package/navigation/Breadcrumbs/slug.js.map +7 -0
  145. package/navigation/Breadcrumbs/utils/index.js +29 -0
  146. package/navigation/Breadcrumbs/utils/package.json +6 -0
  147. package/navigation/Breadcrumbs/utils.d.ts +1 -0
  148. package/navigation/Breadcrumbs/utils.js.map +7 -0
  149. package/navigation/Drawer/__stories__/Auto/index.js +3 -1
  150. package/navigation/Drawer/__stories__/Auto.d.ts +1 -0
  151. package/navigation/Drawer/__stories__/Auto.js.map +2 -2
  152. package/navigation/Drawer/__stories__/Default/index.js +1 -1
  153. package/navigation/Drawer/__stories__/Default.js.map +2 -2
  154. package/navigation/NavList/__stories__/UsingNavListAuto/index.js +23 -23
  155. package/navigation/NavList/__stories__/UsingNavListAuto.js.map +2 -2
  156. package/navigation/NavList/__stories__/Vertical/index.js +25 -17
  157. package/navigation/NavList/__stories__/Vertical.js.map +2 -2
  158. package/package.json +5 -6
  159. package/registry/index.js +12 -16
  160. package/registry.d.ts +7 -8
  161. package/registry.js.map +2 -2
  162. package/src/app/Footer/{index.mdx → doc.mdx} +7 -23
  163. package/src/app/Header/__snapshots__/index.spec.tsx.snap +42 -36
  164. package/src/app/Header/__stories__/WithServiceNameAndLogo.tsx +2 -2
  165. package/src/app/Header/doc.mdx +32 -0
  166. package/src/app/Loader/index.native.tsx +98 -0
  167. package/src/app/Loader/index.tsx +1 -1
  168. package/src/app/Loader/index.web.tsx +1 -0
  169. package/src/app/Masthead/Masthead.stories.js +1 -0
  170. package/src/app/Masthead/__stories__/Secondary.tsx +26 -0
  171. package/src/app/Masthead/{index.mdx → doc.mdx} +13 -1
  172. package/src/app/Masthead/index.test.tsx +4 -0
  173. package/src/app/Modal/{index.mdx → doc.mdx} +9 -6
  174. package/src/app/NotFound/{index.mdx → doc.mdx} +2 -4
  175. package/src/app/Panel/{index.mdx → doc.mdx} +3 -1
  176. package/src/app/PhaseBannerHeader/{index.mdx → doc.mdx} +3 -5
  177. package/src/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -10
  178. package/src/app/QrCodeScanner/index.tsx +1 -0
  179. package/src/app/QrCodeViewer/{index.mdx → doc.mdx} +4 -12
  180. package/src/app/Skeleton/doc.mdx +42 -0
  181. package/src/content/Accordion/__snapshots__/index.spec.tsx.snap +48 -147
  182. package/src/content/Accordion/{index.mdx → doc.mdx} +2 -13
  183. package/src/content/Blockquote/__snapshots__/index.spec.tsx.snap +6 -9
  184. package/src/content/Blockquote/{index.mdx → doc.mdx} +5 -5
  185. package/src/content/Card/doc.mdx +71 -0
  186. package/src/content/Chip/doc.mdx +34 -0
  187. package/src/content/Details/__snapshots__/index.spec.tsx.snap +32 -69
  188. package/src/content/Details/{index.mdx → doc.mdx} +1 -5
  189. package/src/content/List/__snapshots__/index.spec.tsx.snap +3 -3
  190. package/src/content/List/doc.mdx +28 -0
  191. package/src/content/StepNav/{index.mdx → doc.mdx} +5 -19
  192. package/src/content/SummaryList/__snapshots__/index.spec.tsx.snap +37 -89
  193. package/src/content/SummaryList/{index.mdx → doc.mdx} +6 -18
  194. package/src/content/Table/Table.stories.js +1 -1
  195. package/src/content/Table/__stories__/{Densed.tsx → Dense.tsx} +2 -2
  196. package/src/content/Table/doc.mdx +81 -0
  197. package/src/content/Table/index.test.tsx +3 -3
  198. package/src/content/TaskList/{index.mdx → doc.mdx} +4 -6
  199. package/src/content/Timeline/{index.mdx → doc.mdx} +4 -6
  200. package/src/feedback/CopyToClipboard/__stories__/Default.tsx +1 -1
  201. package/src/feedback/CopyToClipboard/doc.mdx +22 -0
  202. package/src/feedback/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -3
  203. package/src/feedback/ErrorSummary/{index.mdx → doc.mdx} +6 -22
  204. package/src/feedback/NotificationBanner/__snapshots__/index.spec.tsx.snap +1 -1
  205. package/src/feedback/NotificationBanner/{index.mdx → doc.mdx} +8 -19
  206. package/src/feedback/PhaseBanner/{index.mdx → doc.mdx} +2 -12
  207. package/src/feedback/WarningText/__snapshots__/index.spec.tsx.snap +3 -3
  208. package/src/feedback/WarningText/{index.mdx → doc.mdx} +8 -6
  209. package/src/form/AutoComplete/doc.mdx +50 -0
  210. package/src/form/Button/__snapshots__/index.spec.tsx.snap +6 -10
  211. package/src/form/Button/{index.mdx → doc.mdx} +12 -27
  212. package/src/form/Checkbox/{index.mdx → doc.mdx} +10 -36
  213. package/src/form/DateInputContainer/__stories__/MultipleQuestions.tsx +1 -1
  214. package/src/form/DateInputContainer/{index.mdx → doc.mdx} +7 -21
  215. package/src/form/ErrorMessage/{index.mdx → doc.mdx} +1 -5
  216. package/src/form/FileUpload/{index.mdx → doc.mdx} +2 -10
  217. package/src/form/RadioContainer/{index.mdx → doc.mdx} +10 -36
  218. package/src/form/SearchContainer/SearchContainer.stories.js +9 -0
  219. package/src/form/SearchContainer/__stories__/Default.tsx +13 -0
  220. package/src/form/SearchContainer/doc.mdx +16 -0
  221. package/src/form/SearchContainer/index.test.tsx +20 -0
  222. package/src/form/SelectContainer/{index.mdx → doc.mdx} +3 -19
  223. package/src/form/SingleCharacterInputs/{index.mdx → doc.mdx} +3 -11
  224. package/src/form/TextArea/doc.mdx +48 -0
  225. package/src/form/TextInput/{index.mdx → doc.mdx} +12 -44
  226. package/src/i18n/locales/el.ts +15 -8
  227. package/src/layouts/Basic/Bottom/__stories__/Default.tsx +13 -9
  228. package/src/layouts/Basic/Bottom/{index.mdx → doc.mdx} +1 -5
  229. package/src/layouts/Basic/Container/__stories__/Default.tsx +15 -8
  230. package/src/layouts/Basic/Container/{index.mdx → doc.mdx} +1 -6
  231. package/src/layouts/Basic/Main/__stories__/Default.tsx +15 -8
  232. package/src/layouts/Basic/Main/{index.mdx → doc.mdx} +3 -5
  233. package/src/layouts/Basic/Top/__stories__/Default.tsx +13 -6
  234. package/src/layouts/Basic/Top/doc.mdx +19 -0
  235. package/src/layouts/Basic/__snapshots__/index.spec.tsx.snap +30 -102
  236. package/src/layouts/Basic/{index.mdx → doc.mdx} +7 -18
  237. package/src/layouts/Grid/doc.mdx +26 -0
  238. package/src/layouts/Stack/doc.mdx +38 -0
  239. package/src/lazy.js +5 -6
  240. package/src/navigation/BackLink/{index.mdx → doc.mdx} +1 -5
  241. package/src/navigation/Breadcrumbs/Breadcrumbs.stories.js +2 -0
  242. package/src/navigation/Breadcrumbs/__stories__/Auto.tsx +200 -0
  243. package/src/navigation/Breadcrumbs/__stories__/WithHook.tsx +217 -0
  244. package/src/navigation/Breadcrumbs/auto.tsx +72 -0
  245. package/src/navigation/Breadcrumbs/{index.mdx → doc.mdx} +5 -5
  246. package/src/navigation/Breadcrumbs/hooks.ts +66 -0
  247. package/src/navigation/Breadcrumbs/index.test.tsx +8 -0
  248. package/src/navigation/Breadcrumbs/index.tsx +3 -0
  249. package/src/navigation/Breadcrumbs/interaction.test.tsx +28 -4
  250. package/src/navigation/Breadcrumbs/slug.ts +141 -0
  251. package/src/navigation/Breadcrumbs/utils.ts +39 -0
  252. package/src/navigation/Drawer/__stories__/Auto.tsx +3 -1
  253. package/src/navigation/Drawer/__stories__/Default.tsx +2 -2
  254. package/src/navigation/Drawer/{index.mdx → doc.mdx} +5 -1
  255. package/src/navigation/Dropdown/{index.mdx → doc.mdx} +3 -15
  256. package/src/navigation/Link/__snapshots__/index.spec.tsx.snap +16 -30
  257. package/src/navigation/Link/{index.mdx → doc.mdx} +7 -19
  258. package/src/navigation/NavList/__snapshots__/index.spec.tsx.snap +3 -3
  259. package/src/navigation/NavList/__stories__/UsingNavListAuto.tsx +26 -27
  260. package/src/navigation/NavList/__stories__/Vertical.tsx +16 -12
  261. package/src/navigation/NavList/{index.mdx → doc.mdx} +19 -22
  262. package/src/navigation/Pagination/doc.mdx +32 -0
  263. package/src/navigation/Tabs/doc.mdx +47 -0
  264. package/src/registry.js +12 -16
  265. package/src/typography/CodeBlock/doc.mdx +30 -0
  266. package/src/typography/Heading/{index.mdx → doc.mdx} +3 -5
  267. package/src/typography/HeadingCaption/{index.mdx → doc.mdx} +5 -5
  268. package/src/typography/Hint/{index.mdx → doc.mdx} +4 -10
  269. package/src/typography/NormalText/doc.mdx +30 -0
  270. package/src/typography/Paragraph/doc.mdx +34 -0
  271. package/src/typography/Typography/doc.mdx +14 -0
  272. package/src/utils/VisuallyHidden/{index.mdx → doc.mdx} +3 -6
  273. package/api/APIErrors/index.js +0 -40
  274. package/api/APIErrors.d.ts +0 -23
  275. package/api/APIErrors.js.map +0 -7
  276. package/api/APIProvider/index.js +0 -24
  277. package/api/APIProvider.d.ts +0 -16
  278. package/api/APIProvider.js.map +0 -7
  279. package/api/fetchAPI/index.js +0 -29
  280. package/api/fetchAPI.d.ts +0 -14
  281. package/api/fetchAPI.js.map +0 -7
  282. package/api/index.d.ts +0 -8
  283. package/api/index.js +0 -12
  284. package/api/index.js.map +0 -7
  285. package/api/index.spec.d.ts +0 -1
  286. package/api/useResource/index.js +0 -79
  287. package/api/useResource/package.json +0 -6
  288. package/api/useResource.d.ts +0 -11
  289. package/api/useResource.js.map +0 -7
  290. package/api/useResourceAction/index.js +0 -74
  291. package/api/useResourceAction/package.json +0 -6
  292. package/api/useResourceAction.d.ts +0 -2
  293. package/api/useResourceAction.js.map +0 -7
  294. package/api/useResourceQuery/index.js +0 -149
  295. package/api/useResourceQuery/package.json +0 -6
  296. package/api/useResourceQuery.d.ts +0 -18
  297. package/api/useResourceQuery.js.map +0 -7
  298. package/api/utils/index.js +0 -131
  299. package/api/utils/package.json +0 -6
  300. package/api/utils.d.ts +0 -10
  301. package/api/utils.js.map +0 -7
  302. package/cjs/api/APIErrors.js.map +0 -7
  303. package/cjs/api/APIProvider.js.map +0 -7
  304. package/cjs/api/fetchAPI/index.js +0 -49
  305. package/cjs/api/fetchAPI.js.map +0 -7
  306. package/cjs/api/index.js +0 -41
  307. package/cjs/api/index.js.map +0 -7
  308. package/cjs/api/useResource/index.js +0 -102
  309. package/cjs/api/useResource.js.map +0 -7
  310. package/cjs/api/useResourceAction/index.js +0 -97
  311. package/cjs/api/useResourceAction.js.map +0 -7
  312. package/cjs/api/useResourceQuery/index.js +0 -173
  313. package/cjs/api/useResourceQuery.js.map +0 -7
  314. package/cjs/api/utils/index.js +0 -157
  315. package/cjs/api/utils.js.map +0 -7
  316. package/content/Table/__stories__/Densed/package.json +0 -6
  317. package/content/Table/__stories__/Densed.d.ts +0 -3
  318. package/src/api/APIErrors.tsx +0 -46
  319. package/src/api/APIProvider.tsx +0 -31
  320. package/src/api/fetchAPI.ts +0 -43
  321. package/src/api/index.spec.tsx +0 -417
  322. package/src/api/index.tsx +0 -9
  323. package/src/api/introduction.md +0 -6
  324. package/src/api/useResource.tsx +0 -96
  325. package/src/api/useResourceAction.tsx +0 -80
  326. package/src/api/useResourceQuery.tsx +0 -178
  327. package/src/api/utils.tsx +0 -162
  328. package/src/app/Header/index.mdx +0 -49
  329. package/src/content/Card/index.mdx +0 -103
  330. package/src/content/Chip/index.mdx +0 -53
  331. package/src/content/List/index.mdx +0 -40
  332. package/src/content/Table/index.mdx +0 -111
  333. package/src/feedback/CopyToClipboard/index.mdx +0 -28
  334. package/src/form/AutoComplete/index.mdx +0 -70
  335. package/src/form/TextArea/index.mdx +0 -74
  336. package/src/govgr/Footer/index.mdx +0 -101
  337. package/src/layouts/Basic/Top/index.mdx +0 -23
  338. package/src/layouts/Grid/index.mdx +0 -39
  339. package/src/navigation/Pagination/index.mdx +0 -48
  340. package/src/navigation/Tabs/index.mdx +0 -31
  341. package/src/typography/NormalText/index.mdx +0 -44
  342. package/src/typography/Paragraph/index.mdx +0 -32
  343. package/src/typography/Typography/index.mdx +0 -12
  344. /package/src/utils/Base/{index.mdx → doc.mdx} +0 -0
@@ -1,31 +0,0 @@
1
- import React, { createContext, useContext, useMemo } from 'react';
2
- export interface APIConfig {
3
- baseURL: string;
4
- }
5
- export interface APIContextData {
6
- config: APIConfig;
7
- token: string | null | undefined;
8
- }
9
- export interface APIProviderProps {
10
- token: string | null | undefined;
11
- children: React.ReactNode;
12
- config: APIConfig;
13
- }
14
- export const APIContext = createContext<APIContextData>({
15
- config: {
16
- baseURL: '',
17
- },
18
- token: null,
19
- });
20
- export const APIProvider: React.FC<APIProviderProps> = ({
21
- token = null,
22
- config = { baseURL: '' },
23
- children,
24
- }) => {
25
- const data = useMemo(() => ({ token, config }), [token, config]);
26
- return <APIContext.Provider value={data}>{children}</APIContext.Provider>;
27
- };
28
-
29
- export const useAPI = (): APIContextData => {
30
- return useContext(APIContext);
31
- };
@@ -1,43 +0,0 @@
1
- import { APIContextData } from '@digigov/ui/api/APIProvider';
2
- import {
3
- ProcessedResponse,
4
- getArgs,
5
- processResponse,
6
- } from '@digigov/ui/api/utils';
7
-
8
- export interface FetchAPIProps {
9
- resource: string;
10
- options?: {
11
- query?: Record<string, any>;
12
- path?: string;
13
- method?: string;
14
- body?: any;
15
- };
16
- getAPI?: (...args) => APIContextData;
17
- }
18
-
19
- export async function fetchAPI(
20
- resource: string,
21
- { query = {}, path = '', method = 'GET', body = null }: any,
22
- apiConfig: any
23
- ): Promise<ProcessedResponse> {
24
- const {
25
- config: { baseURL },
26
- token,
27
- } = apiConfig;
28
- const [url, options] = getArgs(
29
- resource,
30
- path,
31
- query,
32
- body,
33
- null,
34
- method,
35
- baseURL,
36
- token
37
- );
38
- const response = await window.fetch(url, options);
39
- const { data, error, status } = await processResponse(response);
40
- return { data, error, status };
41
- }
42
-
43
- export default fetchAPI;
@@ -1,417 +0,0 @@
1
- /* eslint-disable @typescript-eslint/explicit-function-return-type */
2
- import React, { FunctionComponent, Suspense, useEffect } from 'react';
3
- import { render, fireEvent } from '@testing-library/react';
4
- import fetchMock from 'fetch-mock';
5
- import fetchAPI from '@digigov/ui/api/fetchAPI';
6
- import {
7
- APIProvider,
8
- useResource,
9
- useResourceAction,
10
- useResourceMany,
11
- APIContextData,
12
- APIErrors,
13
- } from '@digigov/ui/api/index';
14
- import delay from '@digigov/ui/test-utils/delay';
15
- import 'whatwg-fetch';
16
-
17
- const HandleError = ({ error }) => {
18
- if (error.name === 'APIError') {
19
- error = error.error;
20
- if (error.status === 404) {
21
- return <>Not found</>;
22
- }
23
- }
24
- // TODO: render the <SomethingWentWrong /> page here
25
- return <span>something went wrong</span>;
26
- };
27
-
28
- const makeWrapper =
29
- ({ config, token }: APIContextData): FunctionComponent =>
30
- ({ children }: { children: React.ReactNode }): any => (
31
- <Suspense fallback={'Loading'}>
32
- <APIErrors fallback={HandleError}>
33
- <APIProvider config={config} token={token}>
34
- {children}
35
- </APIProvider>
36
- </APIErrors>
37
- </Suspense>
38
- );
39
- const BASE_URL = 'http://test/api';
40
- const TOKEN = 'mytoken';
41
- const DELAY = 100;
42
- const buildMockOptions = ({
43
- resource,
44
- method = 'GET',
45
- authenticated = true,
46
- query = {},
47
- response,
48
- delay = DELAY / 2,
49
- }): [any, any, any] => {
50
- const headers: any = {
51
- 'content-type': 'application/json',
52
- };
53
- const options = { delay };
54
- if (authenticated) {
55
- headers.Authorization = `Token ${TOKEN}`;
56
- }
57
- const params = new URLSearchParams(query).toString();
58
- return [
59
- `${BASE_URL}/${resource}${params && `?${params}`}`,
60
- response,
61
- {
62
- headers,
63
- method,
64
- ...options,
65
- },
66
- ];
67
- };
68
-
69
- const getAPI = () => {
70
- return {
71
- config: {
72
- baseURL: BASE_URL,
73
- },
74
- token: TOKEN,
75
- };
76
- };
77
-
78
- const wrapper = makeWrapper(getAPI());
79
-
80
- describe('fetchAPI', () => {
81
- fetchMock.config.overwriteRoutes = true;
82
- afterAll(() => {
83
- fetchMock.restore();
84
- });
85
- beforeEach(fetchMock.resetBehavior);
86
- beforeEach(fetchMock.resetHistory);
87
- it('fetchAPI gets', async () => {
88
- const resource = 'resource';
89
- const path = 'some_id';
90
- fetchMock.mock(
91
- ...buildMockOptions({
92
- resource: `${resource}/${path}/`,
93
- response: { value: 'SWR' },
94
- })
95
- );
96
- const { data } = await fetchAPI(resource, { path }, getAPI());
97
- expect(data.value).toBe('SWR');
98
- expect(fetchMock.calls()).toHaveLength(1);
99
- });
100
- });
101
-
102
- describe('useResource', () => {
103
- fetchMock.config.overwriteRoutes = true;
104
- afterAll(() => {
105
- fetchMock.restore();
106
- });
107
- beforeEach(fetchMock.resetBehavior);
108
- beforeEach(fetchMock.resetHistory);
109
- it('useResource should return data', async () => {
110
- const resource = 'resource';
111
- function Page() {
112
- const { data } = useResource(resource);
113
- return <div>hello, {data?.value}</div>;
114
- }
115
- fetchMock.mock(
116
- ...buildMockOptions({ resource, response: { value: 'SWR' } })
117
- );
118
- const { container } = render(<Page />, {
119
- wrapper,
120
- });
121
-
122
- expect(container.firstChild).not.toBe(null);
123
-
124
- if (container.firstChild) {
125
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
126
- `"hello, "`
127
- );
128
- await delay(DELAY);
129
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
130
- `"hello, SWR"`
131
- );
132
- }
133
-
134
- expect(fetchMock.calls()).toHaveLength(1);
135
- });
136
-
137
- it('should run duplicate request once', async () => {
138
- const resource = 'dupliresource';
139
- function Page() {
140
- useResource(resource);
141
- const { data: duplData } = useResource(resource);
142
- return <div>hello, {duplData?.value}</div>;
143
- }
144
-
145
- fetchMock.mock(
146
- ...buildMockOptions({ resource, response: { value: 'myvalue' } })
147
- );
148
- const { container } = render(<Page />, {
149
- wrapper,
150
- });
151
- expect(container.firstChild).not.toBe(null);
152
-
153
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
154
- `"hello, "`
155
- );
156
- await delay(DELAY);
157
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
158
- `"hello, myvalue"`
159
- );
160
-
161
- expect(fetchMock.calls()).toHaveLength(1);
162
- });
163
- });
164
-
165
- describe('useResourceAction', () => {
166
- fetchMock.config.overwriteRoutes = true;
167
- afterAll(() => {
168
- fetchMock.restore();
169
- });
170
- beforeEach(fetchMock.resetBehavior);
171
- beforeEach(fetchMock.resetHistory);
172
-
173
- it('useResourceAction should return result ', async () => {
174
- const resource = 'resourceaction';
175
- function Page() {
176
- const { data, fetch } = useResourceAction(
177
- resource,
178
- undefined,
179
- 'POST',
180
- {
181
- some: 'data',
182
- },
183
- undefined
184
- );
185
- useEffect(() => {
186
- fetch();
187
- }, []);
188
- return <div>hello, {data && data.value}</div>;
189
- }
190
-
191
- fetchMock.mock(
192
- ...buildMockOptions({
193
- resource,
194
- response: { value: 'myvalue' },
195
- method: 'POST',
196
- })
197
- );
198
-
199
- const { container } = render(<Page />, {
200
- wrapper,
201
- });
202
- expect(container.firstChild).not.toBe(null);
203
-
204
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
205
- `"hello, "`
206
- );
207
- await delay(DELAY * 2);
208
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
209
- `"hello, myvalue"`
210
- );
211
-
212
- expect(fetchMock.calls()).toHaveLength(1);
213
- });
214
-
215
- it('useResourceAction should be invalidated and run twice', async () => {
216
- const resource = 'resourceactiondouble';
217
- function Page() {
218
- const { data, fetch, invalidate } = useResourceAction(
219
- resource,
220
- undefined,
221
- 'POST',
222
- {
223
- some: 'data',
224
- },
225
- undefined
226
- );
227
- useEffect(() => {
228
- fetch();
229
- }, []);
230
- useEffect(() => {
231
- setTimeout(() => {
232
- invalidate();
233
- }, DELAY * 2);
234
- setTimeout(() => {
235
- fetch();
236
- }, DELAY * 3);
237
- }, []);
238
- return <div>hello, {data && data.value}</div>;
239
- }
240
-
241
- fetchMock.mock(
242
- ...buildMockOptions({
243
- resource,
244
- response: { value: 'myvalue' },
245
- method: 'POST',
246
- })
247
- );
248
- const { container } = render(<Page />, {
249
- wrapper,
250
- });
251
- expect(container.firstChild).not.toBe(null);
252
-
253
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
254
- `"hello, "`
255
- );
256
- await delay(DELAY);
257
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
258
- `"hello, myvalue"`
259
- );
260
- await delay(DELAY);
261
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
262
- `"hello, "`
263
- );
264
- await delay(DELAY * 2);
265
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
266
- `"hello, myvalue"`
267
- );
268
-
269
- expect(fetchMock.calls()).toHaveLength(2);
270
- });
271
- });
272
-
273
- describe('useResourceMany', () => {
274
- fetchMock.config.overwriteRoutes = true;
275
- afterAll(() => {
276
- fetchMock.restore();
277
- });
278
- beforeEach(fetchMock.resetBehavior);
279
- beforeEach(fetchMock.resetHistory);
280
-
281
- //check this test again (loading/hello)
282
-
283
- it('useResourceMany should return data', async () => {
284
- const resource = 'resourceMany';
285
- function Page() {
286
- const { data } = useResourceMany(resource);
287
- return <div>hello, {data && data.join('')}</div>;
288
- }
289
- fetchMock.mock(
290
- ...buildMockOptions({
291
- resource,
292
- query: { offset: 0, limit: 30 },
293
- response: {
294
- data: ['S', 'W', 'R'],
295
- meta: {
296
- total: 1,
297
- count: 3,
298
- },
299
- },
300
- })
301
- );
302
- const { container } = render(<Page />, {
303
- wrapper,
304
- });
305
-
306
- expect(container.firstChild).not.toBe(null);
307
-
308
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
309
- `"Loading"`
310
- );
311
- await delay(DELAY * 2);
312
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
313
- `"hello, SWR"`
314
- );
315
- expect(fetchMock.calls()).toHaveLength(1);
316
- });
317
-
318
- it('useResourceMany should handle hasNext, hasPrevious', async () => {
319
- const resource = 'resourceManyhasNext';
320
- function Page() {
321
- const { hasNext, hasPrevious } = useResourceMany(resource);
322
- return (
323
- <div>
324
- {hasNext ? '' : 'no'} next,{hasPrevious ? '' : 'no'} previous
325
- </div>
326
- );
327
- }
328
- fetchMock.mock(
329
- ...buildMockOptions({
330
- resource,
331
- query: { offset: 0, limit: 30 },
332
- response: {
333
- data: ['S', 'W', 'R'],
334
- meta: {
335
- total: 1,
336
- count: 3,
337
- },
338
- },
339
- })
340
- );
341
- const { container } = render(<Page />, {
342
- wrapper,
343
- });
344
-
345
- expect(container.firstChild).not.toBe(null);
346
-
347
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
348
- `"Loading"`
349
- );
350
- await delay(DELAY);
351
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
352
- `"no next,no previous"`
353
- );
354
- expect(fetchMock.calls()).toHaveLength(1);
355
- });
356
-
357
- it('useResourceMany should handle setPage with custom limit option', async () => {
358
- const resource = 'resourceManysetpage';
359
- function Page() {
360
- const { data, setPage, page } = useResourceMany(resource, { limit: 10 });
361
- const nextPage = () => {
362
- setPage(page + 1);
363
- };
364
- return (
365
- <div>
366
- hello, {data.join('')}
367
- <button onClick={nextPage}>next</button>
368
- </div>
369
- );
370
- }
371
- fetchMock.mock(
372
- ...buildMockOptions({
373
- resource,
374
- query: { offset: 0, limit: 10 },
375
- response: {
376
- data: ['S', 'W', 'R'],
377
- meta: {
378
- total: 3,
379
- count: 100,
380
- },
381
- },
382
- })
383
- );
384
- fetchMock.mock(
385
- ...buildMockOptions({
386
- resource,
387
- query: { offset: 10, limit: 10 },
388
- response: {
389
- data: ['R', 'W', 'S'],
390
- meta: {
391
- total: 3,
392
- count: 100,
393
- },
394
- },
395
- })
396
- );
397
- const { container, getByText } = render(<Page />, {
398
- wrapper,
399
- });
400
-
401
- expect(container.firstChild).not.toBe(null);
402
-
403
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
404
- `"Loading"`
405
- );
406
- await delay(DELAY);
407
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
408
- `"hello, SWRnext"`
409
- );
410
- fireEvent.click(getByText('next'));
411
- await delay(DELAY * 2);
412
- expect(container?.firstChild?.textContent).toMatchInlineSnapshot(
413
- `"hello, RWSnext"`
414
- );
415
- expect(fetchMock.calls()).toHaveLength(2);
416
- });
417
- });
package/src/api/index.tsx DELETED
@@ -1,9 +0,0 @@
1
- export * from '@digigov/ui/api/APIErrors';
2
- export * from '@digigov/ui/api/APIProvider';
3
- export * from '@digigov/ui/api/useResource';
4
- export * from '@digigov/ui/api/useResourceAction';
5
- export * from '@digigov/ui/api/useResourceQuery';
6
- export * from '@digigov/ui/api/fetchAPI';
7
-
8
- import { useAPI } from '@digigov/ui/api/APIProvider';
9
- export default useAPI;
@@ -1,6 +0,0 @@
1
- ---
2
- title: DigiGOV API client
3
- order: 0
4
- ---
5
-
6
- # DigiGOV API client
@@ -1,96 +0,0 @@
1
- import { useState } from 'react';
2
- import { useQuery, queryCache } from 'react-query';
3
- import { useAPI } from '@digigov/ui/api/APIProvider';
4
- import { getQueryKey, processResponse } from '@digigov/ui/api/utils';
5
-
6
- export type RequestResponse = {
7
- data?: Record<string, any>;
8
- loading?: boolean;
9
- loaded?: boolean;
10
- error?: Error | string | null | unknown;
11
- invalidate: () => void;
12
- fetch: () => void;
13
- dataSet?: boolean | null;
14
- url: string;
15
- };
16
-
17
- export function useResource(
18
- resource: string,
19
- id?: string | number | ((...args) => void),
20
- query?: Record<string, any> | null | ((...args) => void),
21
- options?: RequestInit | null,
22
- suspense?: boolean
23
- ): RequestResponse {
24
- const {
25
- config: { baseURL },
26
- token,
27
- } = useAPI();
28
- const [{ url, dataSet }, setFetchOpts] = useState({
29
- url: '',
30
- dataSet: false,
31
- });
32
-
33
- async function customFetcher(fetchUrl, options) {
34
- setFetchOpts({ url: fetchUrl, dataSet: false });
35
- const response = await fetch(fetchUrl, options);
36
- try {
37
- const { data, error } = await processResponse(response);
38
- if (error) {
39
- return Promise.reject(error);
40
- }
41
- if (data) {
42
- return Promise.resolve(data);
43
- }
44
- } catch (error) {
45
- return Promise.reject(error.error);
46
- }
47
- }
48
-
49
- const queryKey = getQueryKey(
50
- resource,
51
- id,
52
- query,
53
- null,
54
- options,
55
- 'GET',
56
- baseURL,
57
- token
58
- );
59
- let enabled = true;
60
- let resolvedQueryKey;
61
- if (typeof queryKey === 'function') {
62
- try {
63
- resolvedQueryKey = queryKey();
64
- } catch (err) {
65
- enabled = false;
66
- }
67
- }
68
-
69
- const { status, data, error, isFetching, refetch } = useQuery(
70
- resolvedQueryKey || queryKey,
71
- customFetcher,
72
- {
73
- enabled,
74
- refetchOnWindowFocus: false,
75
- refetchOnMount: false,
76
- suspense: suspense || false,
77
- cacheTime: 300000,
78
- staleTime: 20000,
79
- retry: false,
80
- useErrorBoundary: false, // falls back to suspense
81
- }
82
- );
83
-
84
- return {
85
- data,
86
- loading: isFetching,
87
- loaded: ['error', 'success'].includes(status),
88
- error,
89
- invalidate: (): void => {
90
- queryCache.invalidateQueries(resolvedQueryKey || queryKey);
91
- },
92
- fetch: refetch,
93
- dataSet,
94
- url,
95
- };
96
- }
@@ -1,80 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- import { useMutation } from 'react-query';
3
- import { useAPI } from '@digigov/ui/api/APIProvider';
4
- import { RequestResponse } from '@digigov/ui/api/useResource';
5
- import { getQueryKey, processResponse } from '@digigov/ui/api/utils';
6
-
7
- export function useResourceAction(
8
- resource: string,
9
- id?: (string | null | undefined) | number | ((...args: any) => void),
10
- method = 'POST',
11
- data?: Record<string, any> | null | ((...args: any) => void),
12
- query?: Record<string, any> | null | ((...args: any) => void),
13
- options?: RequestInit | null
14
- ): RequestResponse {
15
- const {
16
- config: { baseURL },
17
- token,
18
- } = useAPI();
19
- const [{ url, dataSet }, setFetchOpts] = useState({
20
- url: '',
21
- dataSet: false,
22
- });
23
- const [consume, setConsume] = useState(false);
24
- async function customFetcher(...args) {
25
- const [fetchUrl, options] = args[0];
26
- if (options.body) {
27
- setFetchOpts({ url: fetchUrl, dataSet: true });
28
- } else {
29
- setFetchOpts({ url: fetchUrl, dataSet: false });
30
- }
31
- const response = await fetch(fetchUrl, options);
32
- try {
33
- const { data } = await processResponse(response, true);
34
- if (data) {
35
- return Promise.resolve(data);
36
- }
37
- } catch (error) {
38
- return Promise.reject(error.error);
39
- }
40
- }
41
-
42
- const [mutate, { status, data: _data, error, reset }] = useMutation(
43
- customFetcher,
44
- {}
45
- );
46
- useEffect(() => {
47
- if (consume) {
48
- const queryKey = getQueryKey(
49
- resource,
50
- id,
51
- query,
52
- data,
53
- options,
54
- method,
55
- baseURL,
56
- token
57
- );
58
- if (typeof queryKey === 'function') {
59
- mutate(queryKey());
60
- } else {
61
- mutate(queryKey);
62
- }
63
- setConsume(false);
64
- }
65
- }, [consume]);
66
- return {
67
- data: _data,
68
- loading: status === 'loading',
69
- loaded: ['success', 'error'].includes(status),
70
- error,
71
- invalidate: (): void => {
72
- reset();
73
- },
74
- fetch() {
75
- setConsume(true);
76
- },
77
- dataSet,
78
- url,
79
- };
80
- }