@digigov/ui 2.0.0-113e6661 → 2.0.0-298cfc51

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 (460) 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/app/Loader/index.native/package.json +6 -0
  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 → 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__/Default/index.js +1 -1
  18. package/app/Masthead/__stories__/Default.js.map +1 -1
  19. package/app/Masthead/__stories__/Secondary/index.js +13 -0
  20. package/app/Masthead/__stories__/Secondary/package.json +6 -0
  21. package/app/Masthead/__stories__/Secondary.d.ts +3 -0
  22. package/app/Masthead/__stories__/Secondary.js.map +7 -0
  23. package/app/Masthead/__stories__/WithElements/index.js +1 -5
  24. package/app/Masthead/__stories__/WithElements.js.map +2 -2
  25. package/app/Masthead/__stories__/WithLogo/index.js +1 -5
  26. package/app/Masthead/__stories__/WithLogo.js.map +2 -2
  27. package/app/Modal/auto/index.js +1 -1
  28. package/app/Modal/auto.js.map +2 -2
  29. package/app/Modal/index.d.ts +2 -2
  30. package/app/Modal/index.js +2 -2
  31. package/app/Modal/index.js.map +1 -1
  32. package/app/Modal/index.native/index.js +20 -0
  33. package/{api/APIErrors → app/Modal/index.native}/package.json +1 -1
  34. package/app/Modal/index.native.d.ts +7 -0
  35. package/app/Modal/index.native.js.map +7 -0
  36. package/app/Modal/{Modal → index.web}/index.js +3 -3
  37. package/{api/APIProvider → app/Modal/index.web}/package.json +1 -1
  38. package/app/Modal/{Modal.js.map → index.web.js.map} +2 -2
  39. package/app/QrCodeScanner/index.js.map +2 -2
  40. package/cjs/app/Header/__stories__/WithServiceNameAndLogo.js.map +3 -3
  41. package/cjs/app/Loader/index.js +3 -3
  42. package/cjs/app/Loader/index.js.map +2 -2
  43. package/cjs/app/Loader/index.native/index.js +135 -0
  44. package/cjs/app/Loader/index.native.js.map +7 -0
  45. package/cjs/app/Loader/index.web/index.js +22 -0
  46. package/cjs/app/Loader/index.web.js.map +7 -0
  47. package/cjs/app/Masthead/Masthead.stories/index.js +3 -0
  48. package/cjs/app/Masthead/Masthead.stories.js.map +2 -2
  49. package/cjs/app/Masthead/__stories__/Default/index.js +1 -1
  50. package/cjs/app/Masthead/__stories__/Default.js.map +1 -1
  51. package/cjs/app/Masthead/__stories__/Secondary/index.js +46 -0
  52. package/cjs/app/Masthead/__stories__/Secondary.js.map +7 -0
  53. package/cjs/app/Masthead/__stories__/WithElements/index.js +1 -1
  54. package/cjs/app/Masthead/__stories__/WithElements.js.map +2 -2
  55. package/cjs/app/Masthead/__stories__/WithLogo/index.js +1 -1
  56. package/cjs/app/Masthead/__stories__/WithLogo.js.map +2 -2
  57. package/cjs/app/Modal/auto/index.js +1 -1
  58. package/cjs/app/Modal/auto.js.map +2 -2
  59. package/cjs/app/Modal/index.js +3 -3
  60. package/cjs/app/Modal/index.js.map +2 -2
  61. package/cjs/{api/APIProvider → app/Modal/index.native}/index.js +20 -26
  62. package/cjs/app/Modal/index.native.js.map +7 -0
  63. package/cjs/app/Modal/{Modal → index.web}/index.js +6 -6
  64. package/cjs/app/Modal/{Modal.js.map → index.web.js.map} +2 -2
  65. package/cjs/app/QrCodeScanner/index.js.map +2 -2
  66. package/cjs/content/Table/Table.stories/index.js +3 -3
  67. package/cjs/content/Table/Table.stories.js.map +2 -2
  68. package/cjs/content/Table/__stories__/{Densed → Dense}/index.js +9 -9
  69. package/cjs/content/Table/__stories__/{Densed.js.map → Dense.js.map} +3 -3
  70. package/cjs/feedback/CopyToClipboard/__stories__/Default/index.js +1 -1
  71. package/cjs/feedback/CopyToClipboard/__stories__/Default.js.map +2 -2
  72. package/cjs/form/AutoComplete/index.js +29 -29
  73. package/cjs/form/AutoComplete/index.js.map +3 -3
  74. package/cjs/form/DateInputContainer/__stories__/MultipleQuestions/index.js +1 -1
  75. package/cjs/form/DateInputContainer/__stories__/MultipleQuestions.js.map +1 -1
  76. package/cjs/form/SearchContainer/SearchContainer.stories/index.js +46 -0
  77. package/cjs/form/SearchContainer/SearchContainer.stories.js.map +7 -0
  78. package/cjs/{api/APIErrors → form/SearchContainer/__stories__/Default}/index.js +12 -42
  79. package/cjs/form/SearchContainer/__stories__/Default.js.map +7 -0
  80. package/cjs/i18n/locales/el/index.js +7 -1
  81. package/cjs/i18n/locales/el.js.map +2 -2
  82. package/cjs/{layouts/Basic/Masthead → icons/IconBase}/index.js +8 -12
  83. package/cjs/icons/IconBase/index.js.map +7 -0
  84. package/cjs/{utils → icons}/SvgIcon/index.js +3 -5
  85. package/cjs/icons/SvgIcon/index.js.map +7 -0
  86. package/cjs/icons/index.js +5 -1
  87. package/cjs/icons/index.js.map +2 -2
  88. package/cjs/layouts/Basic/Bottom/__stories__/Default/index.js +7 -5
  89. package/cjs/layouts/Basic/Bottom/__stories__/Default.js.map +3 -3
  90. package/cjs/layouts/Basic/Container/__stories__/Default/index.js +6 -4
  91. package/cjs/layouts/Basic/Container/__stories__/Default.js.map +3 -3
  92. package/cjs/layouts/Basic/Main/__stories__/Default/index.js +6 -4
  93. package/cjs/layouts/Basic/Main/__stories__/Default.js.map +3 -3
  94. package/cjs/layouts/Basic/Top/__stories__/Default/index.js +6 -4
  95. package/cjs/layouts/Basic/Top/__stories__/Default.js.map +3 -3
  96. package/cjs/layouts/Basic/index.js +1 -3
  97. package/cjs/layouts/Basic/index.js.map +2 -2
  98. package/cjs/lazy/index.js +330 -1640
  99. package/cjs/lazy.js.map +2 -2
  100. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +3 -0
  101. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  102. package/cjs/navigation/Breadcrumbs/BreadcrumbsListItem/index.js +61 -0
  103. package/cjs/navigation/Breadcrumbs/BreadcrumbsListItem.js.map +7 -0
  104. package/cjs/navigation/Breadcrumbs/__stories__/Auto/index.js +23 -9
  105. package/cjs/navigation/Breadcrumbs/__stories__/Auto.js.map +2 -2
  106. package/cjs/navigation/Breadcrumbs/__stories__/WithHook/index.js +29 -15
  107. package/cjs/navigation/Breadcrumbs/__stories__/WithHook.js.map +2 -2
  108. package/cjs/navigation/Breadcrumbs/__stories__/WithProvider/index.js +46 -0
  109. package/cjs/navigation/Breadcrumbs/__stories__/WithProvider.js.map +7 -0
  110. package/cjs/navigation/Breadcrumbs/auto/index.js +16 -10
  111. package/cjs/navigation/Breadcrumbs/auto.js.map +3 -3
  112. package/cjs/navigation/Breadcrumbs/hooks/index.js +41 -30
  113. package/cjs/navigation/Breadcrumbs/hooks.js.map +3 -3
  114. package/cjs/navigation/Breadcrumbs/index.js +4 -0
  115. package/cjs/navigation/Breadcrumbs/index.js.map +2 -2
  116. package/cjs/navigation/Breadcrumbs/utils.js.map +2 -2
  117. package/cjs/navigation/Drawer/__stories__/Auto/index.js +3 -1
  118. package/cjs/navigation/Drawer/__stories__/Auto.js.map +2 -2
  119. package/cjs/navigation/Drawer/__stories__/Default/index.js +2 -2
  120. package/cjs/navigation/Drawer/__stories__/Default.js.map +3 -3
  121. package/cjs/navigation/Link/__stories__/DarkBackground/index.js +1 -1
  122. package/cjs/navigation/Link/__stories__/DarkBackground.js.map +1 -1
  123. package/cjs/navigation/Link/__stories__/DarkBackgroundNoUnderline/index.js +1 -1
  124. package/cjs/navigation/Link/__stories__/DarkBackgroundNoUnderline.js.map +1 -1
  125. package/cjs/navigation/NavList/__stories__/UsingNavListAuto/index.js +24 -24
  126. package/cjs/navigation/NavList/__stories__/UsingNavListAuto.js.map +3 -3
  127. package/cjs/navigation/NavList/__stories__/Vertical/index.js +25 -17
  128. package/cjs/navigation/NavList/__stories__/Vertical.js.map +2 -2
  129. package/cjs/navigation/Pagination/__stories__/Auto/index.js +7 -9
  130. package/cjs/navigation/Pagination/__stories__/Auto.js.map +3 -3
  131. package/cjs/navigation/Pagination/__stories__/PaginationWithSmallFont/index.js +2 -2
  132. package/cjs/navigation/Pagination/__stories__/PaginationWithSmallFont.js.map +2 -2
  133. package/cjs/navigation/Pagination/__stories__/WithInactiveValues/index.js +2 -2
  134. package/cjs/navigation/Pagination/__stories__/WithInactiveValues.js.map +2 -2
  135. package/cjs/navigation/Pagination/__stories__/WithResultsPerPage/index.js +2 -2
  136. package/cjs/navigation/Pagination/__stories__/WithResultsPerPage.js.map +2 -2
  137. package/cjs/registry/index.js +12 -22
  138. package/cjs/registry.js.map +2 -2
  139. package/cjs/utils/index.js +0 -2
  140. package/cjs/utils/index.js.map +2 -2
  141. package/content/Table/Table.stories/index.js +2 -2
  142. package/content/Table/Table.stories.d.ts +1 -1
  143. package/content/Table/Table.stories.js.map +2 -2
  144. package/content/Table/__stories__/{Densed → Dense}/index.js +5 -5
  145. package/content/Table/__stories__/Dense/package.json +6 -0
  146. package/content/Table/__stories__/Dense.d.ts +3 -0
  147. package/content/Table/__stories__/{Densed.js.map → Dense.js.map} +3 -3
  148. package/feedback/CopyToClipboard/__stories__/Default/index.js +1 -1
  149. package/feedback/CopyToClipboard/__stories__/Default.js.map +2 -2
  150. package/form/AutoComplete/index.d.ts +9 -9
  151. package/form/AutoComplete/index.js +10 -10
  152. package/form/AutoComplete/index.js.map +2 -2
  153. package/form/DateInputContainer/__stories__/MultipleQuestions/index.js +1 -1
  154. package/form/DateInputContainer/__stories__/MultipleQuestions.js.map +1 -1
  155. package/form/SearchContainer/SearchContainer.stories/index.js +13 -0
  156. package/form/SearchContainer/SearchContainer.stories/package.json +6 -0
  157. package/form/SearchContainer/SearchContainer.stories.d.ts +9 -0
  158. package/form/SearchContainer/SearchContainer.stories.js.map +7 -0
  159. package/form/SearchContainer/__stories__/Default/index.js +11 -0
  160. package/form/SearchContainer/__stories__/Default/package.json +6 -0
  161. package/form/SearchContainer/__stories__/Default.d.ts +3 -0
  162. package/form/SearchContainer/__stories__/Default.js.map +7 -0
  163. package/form/SearchContainer/index.test.d.ts +1 -0
  164. package/i18n/locales/el/index.js +7 -1
  165. package/i18n/locales/el.d.ts +6 -0
  166. package/i18n/locales/el.js.map +2 -2
  167. package/icons/IconBase/index.d.ts +3 -0
  168. package/icons/IconBase/index.js +7 -0
  169. package/icons/IconBase/index.js.map +7 -0
  170. package/{api/fetchAPI → icons/IconBase}/package.json +1 -1
  171. package/icons/SvgIcon/index.d.ts +3 -0
  172. package/icons/SvgIcon/index.js +7 -0
  173. package/icons/SvgIcon/index.js.map +7 -0
  174. package/{api/utils → icons/SvgIcon}/package.json +1 -1
  175. package/icons/index.d.ts +2 -0
  176. package/icons/index.js +2 -0
  177. package/icons/index.js.map +2 -2
  178. package/index.js +1 -1
  179. package/layouts/Basic/Bottom/__stories__/Default/index.js +7 -5
  180. package/layouts/Basic/Bottom/__stories__/Default.js.map +2 -2
  181. package/layouts/Basic/Container/__stories__/Default/index.js +6 -4
  182. package/layouts/Basic/Container/__stories__/Default.js.map +2 -2
  183. package/layouts/Basic/Main/__stories__/Default/index.js +6 -4
  184. package/layouts/Basic/Main/__stories__/Default.js.map +2 -2
  185. package/layouts/Basic/Top/__stories__/Default/index.js +6 -4
  186. package/layouts/Basic/Top/__stories__/Default.js.map +2 -2
  187. package/layouts/Basic/index.d.ts +0 -1
  188. package/layouts/Basic/index.js +0 -1
  189. package/layouts/Basic/index.js.map +2 -2
  190. package/lazy/index.js +330 -1640
  191. package/lazy.d.ts +18 -15
  192. package/lazy.js.map +2 -2
  193. package/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +2 -0
  194. package/navigation/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -0
  195. package/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  196. package/navigation/Breadcrumbs/BreadcrumbsListItem/index.js +28 -0
  197. package/navigation/Breadcrumbs/BreadcrumbsListItem/package.json +6 -0
  198. package/navigation/Breadcrumbs/BreadcrumbsListItem.d.ts +8 -0
  199. package/navigation/Breadcrumbs/BreadcrumbsListItem.js.map +7 -0
  200. package/navigation/Breadcrumbs/__stories__/Auto/index.js +23 -9
  201. package/navigation/Breadcrumbs/__stories__/Auto.js.map +2 -2
  202. package/navigation/Breadcrumbs/__stories__/WithHook/index.js +29 -15
  203. package/navigation/Breadcrumbs/__stories__/WithHook.js.map +2 -2
  204. package/navigation/Breadcrumbs/__stories__/WithProvider/index.js +17 -0
  205. package/navigation/Breadcrumbs/__stories__/WithProvider/package.json +6 -0
  206. package/navigation/Breadcrumbs/__stories__/WithProvider.d.ts +3 -0
  207. package/navigation/Breadcrumbs/__stories__/WithProvider.js.map +7 -0
  208. package/navigation/Breadcrumbs/auto/index.js +24 -12
  209. package/navigation/Breadcrumbs/auto.d.ts +4 -4
  210. package/navigation/Breadcrumbs/auto.js.map +3 -3
  211. package/navigation/Breadcrumbs/hooks/index.js +41 -30
  212. package/navigation/Breadcrumbs/hooks.d.ts +5 -20
  213. package/navigation/Breadcrumbs/hooks.js.map +3 -3
  214. package/navigation/Breadcrumbs/index.d.ts +2 -0
  215. package/navigation/Breadcrumbs/index.js +2 -0
  216. package/navigation/Breadcrumbs/index.js.map +2 -2
  217. package/navigation/Breadcrumbs/utils.js.map +2 -2
  218. package/navigation/Drawer/__stories__/Auto/index.js +3 -1
  219. package/navigation/Drawer/__stories__/Auto.d.ts +1 -0
  220. package/navigation/Drawer/__stories__/Auto.js.map +2 -2
  221. package/navigation/Drawer/__stories__/Default/index.js +1 -1
  222. package/navigation/Drawer/__stories__/Default.js.map +2 -2
  223. package/navigation/Link/__stories__/DarkBackground/index.js +1 -1
  224. package/navigation/Link/__stories__/DarkBackground.js.map +1 -1
  225. package/navigation/Link/__stories__/DarkBackgroundNoUnderline/index.js +1 -1
  226. package/navigation/Link/__stories__/DarkBackgroundNoUnderline.js.map +1 -1
  227. package/navigation/NavList/__stories__/UsingNavListAuto/index.js +24 -24
  228. package/navigation/NavList/__stories__/UsingNavListAuto.js.map +2 -2
  229. package/navigation/NavList/__stories__/Vertical/index.js +25 -17
  230. package/navigation/NavList/__stories__/Vertical.js.map +2 -2
  231. package/navigation/Pagination/__stories__/Auto/index.js +8 -12
  232. package/navigation/Pagination/__stories__/Auto.js.map +2 -2
  233. package/navigation/Pagination/__stories__/PaginationWithSmallFont/index.js +1 -1
  234. package/navigation/Pagination/__stories__/PaginationWithSmallFont.js.map +1 -1
  235. package/navigation/Pagination/__stories__/WithInactiveValues/index.js +1 -1
  236. package/navigation/Pagination/__stories__/WithInactiveValues.js.map +1 -1
  237. package/navigation/Pagination/__stories__/WithResultsPerPage/index.js +1 -1
  238. package/navigation/Pagination/__stories__/WithResultsPerPage.js.map +1 -1
  239. package/package.json +10 -8
  240. package/registry/index.js +12 -22
  241. package/registry.d.ts +7 -11
  242. package/registry.js.map +2 -2
  243. package/src/app/Footer/{index.mdx → doc.mdx} +7 -23
  244. package/src/app/Header/__snapshots__/index.spec.tsx.snap +42 -36
  245. package/src/app/Header/__stories__/WithServiceNameAndLogo.tsx +2 -2
  246. package/src/app/Header/doc.mdx +32 -0
  247. package/src/app/Loader/index.native.tsx +98 -0
  248. package/src/app/Loader/index.tsx +1 -1
  249. package/src/app/Loader/index.web.tsx +1 -0
  250. package/src/app/Masthead/Masthead.stories.js +1 -0
  251. package/src/app/Masthead/__stories__/Default.tsx +1 -1
  252. package/src/app/Masthead/__stories__/Secondary.tsx +26 -0
  253. package/src/app/Masthead/__stories__/WithElements.tsx +1 -5
  254. package/src/app/Masthead/__stories__/WithLogo.tsx +1 -5
  255. package/src/app/Masthead/{index.mdx → doc.mdx} +13 -1
  256. package/src/app/Masthead/index.test.tsx +4 -0
  257. package/src/app/Modal/auto.tsx +1 -1
  258. package/src/app/Modal/{index.mdx → doc.mdx} +9 -6
  259. package/src/app/Modal/index.native.tsx +17 -0
  260. package/src/app/Modal/index.tsx +2 -2
  261. package/src/app/NotFound/{index.mdx → doc.mdx} +2 -4
  262. package/src/app/Panel/{index.mdx → doc.mdx} +3 -1
  263. package/src/app/PhaseBannerHeader/{index.mdx → doc.mdx} +3 -5
  264. package/src/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -10
  265. package/src/app/QrCodeScanner/index.tsx +1 -0
  266. package/src/app/QrCodeViewer/{index.mdx → doc.mdx} +4 -12
  267. package/src/app/Skeleton/doc.mdx +42 -0
  268. package/src/content/Accordion/__snapshots__/index.spec.tsx.snap +48 -147
  269. package/src/content/Accordion/{index.mdx → doc.mdx} +2 -13
  270. package/src/content/Blockquote/__snapshots__/index.spec.tsx.snap +6 -9
  271. package/src/content/Blockquote/{index.mdx → doc.mdx} +5 -5
  272. package/src/content/Card/doc.mdx +71 -0
  273. package/src/content/Chip/doc.mdx +34 -0
  274. package/src/content/Details/__snapshots__/index.spec.tsx.snap +32 -69
  275. package/src/content/Details/{index.mdx → doc.mdx} +1 -5
  276. package/src/content/List/__snapshots__/index.spec.tsx.snap +3 -3
  277. package/src/content/List/doc.mdx +28 -0
  278. package/src/content/StepNav/{index.mdx → doc.mdx} +5 -19
  279. package/src/content/SummaryList/__snapshots__/index.spec.tsx.snap +37 -89
  280. package/src/content/SummaryList/{index.mdx → doc.mdx} +6 -18
  281. package/src/content/Table/Table.stories.js +1 -1
  282. package/src/content/Table/__stories__/{Densed.tsx → Dense.tsx} +2 -2
  283. package/src/content/Table/doc.mdx +81 -0
  284. package/src/content/Table/index.test.tsx +3 -3
  285. package/src/content/TaskList/{index.mdx → doc.mdx} +4 -6
  286. package/src/content/Timeline/{index.mdx → doc.mdx} +4 -6
  287. package/src/feedback/CopyToClipboard/__stories__/Default.tsx +1 -1
  288. package/src/feedback/CopyToClipboard/doc.mdx +22 -0
  289. package/src/feedback/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -3
  290. package/src/feedback/ErrorSummary/{index.mdx → doc.mdx} +6 -22
  291. package/src/feedback/NotificationBanner/__snapshots__/index.spec.tsx.snap +1 -1
  292. package/src/feedback/NotificationBanner/{index.mdx → doc.mdx} +8 -19
  293. package/src/feedback/PhaseBanner/{index.mdx → doc.mdx} +2 -12
  294. package/src/feedback/WarningText/__snapshots__/index.spec.tsx.snap +3 -3
  295. package/src/feedback/WarningText/{index.mdx → doc.mdx} +8 -6
  296. package/src/form/AutoComplete/doc.mdx +50 -0
  297. package/src/form/AutoComplete/index.tsx +10 -10
  298. package/src/form/Button/__snapshots__/index.spec.tsx.snap +6 -10
  299. package/src/form/Button/{index.mdx → doc.mdx} +12 -27
  300. package/src/form/Checkbox/{index.mdx → doc.mdx} +10 -36
  301. package/src/form/DateInputContainer/__stories__/MultipleQuestions.tsx +1 -1
  302. package/src/form/DateInputContainer/{index.mdx → doc.mdx} +7 -21
  303. package/src/form/ErrorMessage/{index.mdx → doc.mdx} +1 -5
  304. package/src/form/FileUpload/{index.mdx → doc.mdx} +2 -10
  305. package/src/form/RadioContainer/{index.mdx → doc.mdx} +10 -36
  306. package/src/form/SearchContainer/SearchContainer.stories.js +9 -0
  307. package/src/form/SearchContainer/__stories__/Default.tsx +13 -0
  308. package/src/form/SearchContainer/doc.mdx +16 -0
  309. package/src/form/SearchContainer/index.test.tsx +20 -0
  310. package/src/form/SelectContainer/{index.mdx → doc.mdx} +3 -19
  311. package/src/form/SingleCharacterInputs/{index.mdx → doc.mdx} +3 -11
  312. package/src/form/TextArea/doc.mdx +48 -0
  313. package/src/form/TextInput/{index.mdx → doc.mdx} +12 -44
  314. package/src/i18n/locales/el.ts +15 -8
  315. package/src/icons/IconBase/index.tsx +4 -0
  316. package/src/icons/SvgIcon/index.tsx +4 -0
  317. package/src/icons/index.tsx +2 -0
  318. package/src/layouts/Basic/Bottom/__stories__/Default.tsx +13 -9
  319. package/src/layouts/Basic/Bottom/{index.mdx → doc.mdx} +1 -5
  320. package/src/layouts/Basic/Container/__stories__/Default.tsx +15 -8
  321. package/src/layouts/Basic/Container/{index.mdx → doc.mdx} +1 -6
  322. package/src/layouts/Basic/Main/__stories__/Default.tsx +15 -8
  323. package/src/layouts/Basic/Main/{index.mdx → doc.mdx} +3 -5
  324. package/src/layouts/Basic/Top/__stories__/Default.tsx +13 -6
  325. package/src/layouts/Basic/Top/doc.mdx +19 -0
  326. package/src/layouts/Basic/__snapshots__/index.spec.tsx.snap +30 -102
  327. package/src/layouts/Basic/{index.mdx → doc.mdx} +7 -18
  328. package/src/layouts/Basic/index.tsx +0 -1
  329. package/src/layouts/Grid/doc.mdx +26 -0
  330. package/src/layouts/Stack/doc.mdx +38 -0
  331. package/src/lazy.js +333 -1642
  332. package/src/navigation/BackLink/{index.mdx → doc.mdx} +1 -5
  333. package/src/navigation/Breadcrumbs/Breadcrumbs.stories.js +1 -1
  334. package/src/navigation/Breadcrumbs/BreadcrumbsListItem.tsx +34 -0
  335. package/src/navigation/Breadcrumbs/__stories__/Auto.tsx +34 -19
  336. package/src/navigation/Breadcrumbs/__stories__/WithHook.tsx +41 -19
  337. package/src/navigation/Breadcrumbs/__stories__/WithProvider.tsx +28 -0
  338. package/src/navigation/Breadcrumbs/auto.tsx +35 -18
  339. package/src/navigation/Breadcrumbs/{index.mdx → doc.mdx} +5 -5
  340. package/src/navigation/Breadcrumbs/hooks.ts +47 -56
  341. package/src/navigation/Breadcrumbs/index.test.tsx +4 -0
  342. package/src/navigation/Breadcrumbs/index.tsx +2 -0
  343. package/src/navigation/Breadcrumbs/utils.ts +3 -3
  344. package/src/navigation/Drawer/__stories__/Auto.tsx +3 -1
  345. package/src/navigation/Drawer/__stories__/Default.tsx +2 -2
  346. package/src/navigation/Drawer/{index.mdx → doc.mdx} +5 -1
  347. package/src/navigation/Dropdown/{index.mdx → doc.mdx} +3 -15
  348. package/src/navigation/Link/__snapshots__/index.spec.tsx.snap +16 -30
  349. package/src/navigation/Link/__stories__/DarkBackground.tsx +1 -1
  350. package/src/navigation/Link/__stories__/DarkBackgroundNoUnderline.tsx +1 -1
  351. package/src/navigation/Link/{index.mdx → doc.mdx} +7 -19
  352. package/src/navigation/NavList/__snapshots__/index.spec.tsx.snap +3 -3
  353. package/src/navigation/NavList/__stories__/UsingNavListAuto.tsx +27 -28
  354. package/src/navigation/NavList/__stories__/Vertical.tsx +16 -12
  355. package/src/navigation/NavList/{index.mdx → doc.mdx} +19 -22
  356. package/src/navigation/Pagination/__stories__/Auto.tsx +29 -31
  357. package/src/navigation/Pagination/__stories__/PaginationWithSmallFont.tsx +1 -1
  358. package/src/navigation/Pagination/__stories__/WithInactiveValues.tsx +1 -1
  359. package/src/navigation/Pagination/__stories__/WithResultsPerPage.tsx +1 -1
  360. package/src/navigation/Pagination/doc.mdx +32 -0
  361. package/src/navigation/Tabs/doc.mdx +47 -0
  362. package/src/registry.js +19 -28
  363. package/src/typography/CodeBlock/doc.mdx +30 -0
  364. package/src/typography/Heading/{index.mdx → doc.mdx} +3 -5
  365. package/src/typography/HeadingCaption/{index.mdx → doc.mdx} +5 -5
  366. package/src/typography/Hint/{index.mdx → doc.mdx} +4 -10
  367. package/src/typography/NormalText/doc.mdx +30 -0
  368. package/src/typography/Paragraph/doc.mdx +34 -0
  369. package/src/typography/Typography/doc.mdx +14 -0
  370. package/src/utils/VisuallyHidden/{index.mdx → doc.mdx} +3 -6
  371. package/src/utils/index.ts +0 -1
  372. package/utils/index.d.ts +0 -1
  373. package/utils/index.js +0 -1
  374. package/utils/index.js.map +2 -2
  375. package/api/APIErrors/index.js +0 -40
  376. package/api/APIErrors.d.ts +0 -23
  377. package/api/APIErrors.js.map +0 -7
  378. package/api/APIProvider/index.js +0 -24
  379. package/api/APIProvider.d.ts +0 -16
  380. package/api/APIProvider.js.map +0 -7
  381. package/api/fetchAPI/index.js +0 -29
  382. package/api/fetchAPI.d.ts +0 -14
  383. package/api/fetchAPI.js.map +0 -7
  384. package/api/index.d.ts +0 -8
  385. package/api/index.js +0 -12
  386. package/api/index.js.map +0 -7
  387. package/api/index.spec.d.ts +0 -1
  388. package/api/useResource/index.js +0 -79
  389. package/api/useResource/package.json +0 -6
  390. package/api/useResource.d.ts +0 -11
  391. package/api/useResource.js.map +0 -7
  392. package/api/useResourceAction/index.js +0 -74
  393. package/api/useResourceAction/package.json +0 -6
  394. package/api/useResourceAction.d.ts +0 -2
  395. package/api/useResourceAction.js.map +0 -7
  396. package/api/useResourceQuery/index.js +0 -149
  397. package/api/useResourceQuery/package.json +0 -6
  398. package/api/useResourceQuery.d.ts +0 -18
  399. package/api/useResourceQuery.js.map +0 -7
  400. package/api/utils/index.js +0 -131
  401. package/api/utils.d.ts +0 -10
  402. package/api/utils.js.map +0 -7
  403. package/app/Modal/Modal/package.json +0 -6
  404. package/cjs/api/APIErrors.js.map +0 -7
  405. package/cjs/api/APIProvider.js.map +0 -7
  406. package/cjs/api/fetchAPI/index.js +0 -49
  407. package/cjs/api/fetchAPI.js.map +0 -7
  408. package/cjs/api/index.js +0 -41
  409. package/cjs/api/index.js.map +0 -7
  410. package/cjs/api/useResource/index.js +0 -102
  411. package/cjs/api/useResource.js.map +0 -7
  412. package/cjs/api/useResourceAction/index.js +0 -97
  413. package/cjs/api/useResourceAction.js.map +0 -7
  414. package/cjs/api/useResourceQuery/index.js +0 -173
  415. package/cjs/api/useResourceQuery.js.map +0 -7
  416. package/cjs/api/utils/index.js +0 -157
  417. package/cjs/api/utils.js.map +0 -7
  418. package/cjs/layouts/Basic/Masthead/index.js.map +0 -7
  419. package/cjs/utils/SvgIcon/index.js.map +0 -7
  420. package/content/Table/__stories__/Densed/package.json +0 -6
  421. package/content/Table/__stories__/Densed.d.ts +0 -3
  422. package/layouts/Basic/Masthead/index.d.ts +0 -5
  423. package/layouts/Basic/Masthead/index.js +0 -9
  424. package/layouts/Basic/Masthead/index.js.map +0 -7
  425. package/layouts/Basic/Masthead/package.json +0 -6
  426. package/src/api/APIErrors.tsx +0 -46
  427. package/src/api/APIProvider.tsx +0 -31
  428. package/src/api/fetchAPI.ts +0 -43
  429. package/src/api/index.spec.tsx +0 -417
  430. package/src/api/index.tsx +0 -9
  431. package/src/api/introduction.md +0 -6
  432. package/src/api/useResource.tsx +0 -96
  433. package/src/api/useResourceAction.tsx +0 -80
  434. package/src/api/useResourceQuery.tsx +0 -178
  435. package/src/api/utils.tsx +0 -162
  436. package/src/app/Header/index.mdx +0 -49
  437. package/src/content/Card/index.mdx +0 -103
  438. package/src/content/Chip/index.mdx +0 -53
  439. package/src/content/List/index.mdx +0 -40
  440. package/src/content/Table/index.mdx +0 -111
  441. package/src/feedback/CopyToClipboard/index.mdx +0 -28
  442. package/src/form/AutoComplete/index.mdx +0 -70
  443. package/src/form/TextArea/index.mdx +0 -74
  444. package/src/govgr/Footer/index.mdx +0 -101
  445. package/src/layouts/Basic/Masthead/index.tsx +0 -5
  446. package/src/layouts/Basic/Top/index.mdx +0 -23
  447. package/src/layouts/Grid/index.mdx +0 -39
  448. package/src/navigation/Pagination/index.mdx +0 -48
  449. package/src/navigation/Tabs/index.mdx +0 -31
  450. package/src/typography/NormalText/index.mdx +0 -44
  451. package/src/typography/Paragraph/index.mdx +0 -32
  452. package/src/typography/Typography/index.mdx +0 -12
  453. package/src/utils/SvgIcon/index.tsx +0 -5
  454. package/utils/SvgIcon/index.d.ts +0 -4
  455. package/utils/SvgIcon/index.js +0 -8
  456. package/utils/SvgIcon/index.js.map +0 -7
  457. package/utils/SvgIcon/package.json +0 -6
  458. /package/app/Modal/{Modal.d.ts → index.web.d.ts} +0 -0
  459. /package/src/app/Modal/{Modal.tsx → index.web.tsx} +0 -0
  460. /package/src/utils/Base/{index.mdx → doc.mdx} +0 -0
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../../../cjs/content/Table/__stories__/Densed/index.js"
6
- }
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- export declare const Densed: () => React.JSX.Element;
3
- export default Densed;
@@ -1,5 +0,0 @@
1
- export * from '@digigov/react-core/Masthead';
2
- export * from '@digigov/react-core/MastheadBody';
3
- export * from '@digigov/react-core/MastheadLogo';
4
- import Masthead from '@digigov/react-core/Masthead';
5
- export default Masthead;
@@ -1,9 +0,0 @@
1
- export * from "@digigov/react-core/Masthead";
2
- export * from "@digigov/react-core/MastheadBody";
3
- export * from "@digigov/react-core/MastheadLogo";
4
- import Masthead from "@digigov/react-core/Masthead";
5
- var Masthead_default = Masthead;
6
- export {
7
- Masthead_default as default
8
- };
9
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/layouts/Basic/Masthead/index.tsx"],
4
- "sourcesContent": ["export * from '@digigov/react-core/Masthead';\nexport * from '@digigov/react-core/MastheadBody';\nexport * from '@digigov/react-core/MastheadLogo';\nimport Masthead from '@digigov/react-core/Masthead';\nexport default Masthead;\n"],
5
- "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,OAAO,cAAc;AACrB,IAAO,mBAAQ;",
6
- "names": []
7
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../../cjs/layouts/Basic/Masthead/index.js"
6
- }
@@ -1,46 +0,0 @@
1
- import React from 'react';
2
-
3
- export class APIErrors extends React.Component<{
4
- fallback: any;
5
- children?: React.ReactNode;
6
- }> {
7
- state = { hasError: false, error: null };
8
- static getDerivedStateFromError(error: Error): Record<string, any> {
9
- return {
10
- hasError: true,
11
- error,
12
- };
13
- }
14
-
15
- render(): any {
16
- if (this.state.hasError) {
17
- const Comp = this.props.fallback;
18
- return <Comp error={this.state.error} />;
19
- }
20
- return this.props.children;
21
- }
22
- }
23
-
24
- export default APIErrors;
25
-
26
- /*
27
- The type of `error` variable of the `useRequest` hook result.
28
-
29
- We expect a request to fail for at least one reason (`error` property). In
30
- case of multiple errors, developers may use `errors` property to construct
31
- a more verbose error report.
32
- */
33
- export class APIError extends Error {
34
- error: null | { data: { invalid_fields: Record<string, any>[] } } = null;
35
- errors = null;
36
- status = 200;
37
-
38
- constructor(errors, status, ...args) {
39
- super(...args);
40
- this.name = 'APIError';
41
- Error.captureStackTrace(this, APIError);
42
- this.error = (errors && errors.length && errors[0]) || errors;
43
- this.errors = errors;
44
- this.status = status;
45
- }
46
- }
@@ -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
- }