@digigov/ui 2.0.0-6e3977bc → 2.0.0-834daea4

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 (322) 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/APIErrors → 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/fetchAPI → 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/Modal/auto/index.js +1 -1
  22. package/app/Modal/auto.js.map +2 -2
  23. package/app/Modal/index.d.ts +2 -2
  24. package/app/Modal/index.js +2 -2
  25. package/app/Modal/index.js.map +1 -1
  26. package/app/Modal/index.native/index.js +20 -0
  27. package/{api → app/Modal/index.native}/package.json +1 -1
  28. package/app/Modal/index.native.d.ts +7 -0
  29. package/app/Modal/index.native.js.map +7 -0
  30. package/app/Modal/{Modal → index.web}/index.js +3 -3
  31. package/{api/APIProvider → app/Modal/index.web}/package.json +1 -1
  32. package/app/Modal/{Modal.js.map → index.web.js.map} +2 -2
  33. package/app/QrCodeScanner/index.js.map +2 -2
  34. package/cjs/app/Header/__stories__/WithServiceNameAndLogo.js.map +3 -3
  35. package/cjs/app/Loader/index.js +3 -3
  36. package/cjs/app/Loader/index.js.map +2 -2
  37. package/cjs/app/Loader/index.native/index.js +135 -0
  38. package/cjs/app/Loader/index.native.js.map +7 -0
  39. package/cjs/app/Loader/index.web/index.js +22 -0
  40. package/cjs/app/Loader/index.web.js.map +7 -0
  41. package/cjs/app/Masthead/Masthead.stories/index.js +3 -0
  42. package/cjs/app/Masthead/Masthead.stories.js.map +2 -2
  43. package/cjs/app/Masthead/__stories__/Secondary/index.js +46 -0
  44. package/cjs/app/Masthead/__stories__/Secondary.js.map +7 -0
  45. package/cjs/app/Modal/auto/index.js +1 -1
  46. package/cjs/app/Modal/auto.js.map +2 -2
  47. package/cjs/app/Modal/index.js +3 -3
  48. package/cjs/app/Modal/index.js.map +2 -2
  49. package/cjs/{api/APIProvider → app/Modal/index.native}/index.js +20 -26
  50. package/cjs/app/Modal/index.native.js.map +7 -0
  51. package/cjs/app/Modal/{Modal → index.web}/index.js +6 -6
  52. package/cjs/app/Modal/{Modal.js.map → index.web.js.map} +2 -2
  53. package/cjs/app/QrCodeScanner/index.js.map +2 -2
  54. package/cjs/content/Table/Table.stories/index.js +3 -3
  55. package/cjs/content/Table/Table.stories.js.map +2 -2
  56. package/cjs/content/Table/__stories__/{Densed → Dense}/index.js +9 -9
  57. package/cjs/content/Table/__stories__/{Densed.js.map → Dense.js.map} +3 -3
  58. package/cjs/feedback/CopyToClipboard/__stories__/Default/index.js +1 -1
  59. package/cjs/feedback/CopyToClipboard/__stories__/Default.js.map +2 -2
  60. package/cjs/form/DateInputContainer/__stories__/MultipleQuestions/index.js +1 -1
  61. package/cjs/form/DateInputContainer/__stories__/MultipleQuestions.js.map +1 -1
  62. package/cjs/form/SearchContainer/SearchContainer.stories/index.js +46 -0
  63. package/cjs/form/SearchContainer/SearchContainer.stories.js.map +7 -0
  64. package/cjs/{api/APIErrors → form/SearchContainer/__stories__/Default}/index.js +12 -42
  65. package/cjs/form/SearchContainer/__stories__/Default.js.map +7 -0
  66. package/cjs/i18n/locales/el/index.js +7 -1
  67. package/cjs/i18n/locales/el.js.map +2 -2
  68. package/cjs/layouts/Basic/Bottom/__stories__/Default/index.js +7 -5
  69. package/cjs/layouts/Basic/Bottom/__stories__/Default.js.map +3 -3
  70. package/cjs/layouts/Basic/Container/__stories__/Default/index.js +6 -4
  71. package/cjs/layouts/Basic/Container/__stories__/Default.js.map +3 -3
  72. package/cjs/layouts/Basic/Main/__stories__/Default/index.js +6 -4
  73. package/cjs/layouts/Basic/Main/__stories__/Default.js.map +3 -3
  74. package/cjs/layouts/Basic/Top/__stories__/Default/index.js +6 -4
  75. package/cjs/layouts/Basic/Top/__stories__/Default.js.map +3 -3
  76. package/cjs/lazy/index.js +3 -7
  77. package/cjs/lazy.js.map +2 -2
  78. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +1 -1
  79. package/cjs/navigation/Drawer/__stories__/Auto/index.js +3 -1
  80. package/cjs/navigation/Drawer/__stories__/Auto.js.map +2 -2
  81. package/cjs/navigation/Drawer/__stories__/Default/index.js +2 -2
  82. package/cjs/navigation/Drawer/__stories__/Default.js.map +3 -3
  83. package/cjs/navigation/NavList/__stories__/UsingNavListAuto/index.js +22 -22
  84. package/cjs/navigation/NavList/__stories__/UsingNavListAuto.js.map +2 -2
  85. package/cjs/navigation/NavList/__stories__/Vertical/index.js +25 -17
  86. package/cjs/navigation/NavList/__stories__/Vertical.js.map +2 -2
  87. package/cjs/navigation/Pagination/__stories__/Auto/index.js +7 -9
  88. package/cjs/navigation/Pagination/__stories__/Auto.js.map +3 -3
  89. package/cjs/registry/index.js +6 -18
  90. package/cjs/registry.js.map +2 -2
  91. package/content/Table/Table.stories/index.js +2 -2
  92. package/content/Table/Table.stories.d.ts +1 -1
  93. package/content/Table/Table.stories.js.map +2 -2
  94. package/content/Table/__stories__/{Densed → Dense}/index.js +5 -5
  95. package/content/Table/__stories__/Dense/package.json +6 -0
  96. package/content/Table/__stories__/Dense.d.ts +3 -0
  97. package/content/Table/__stories__/{Densed.js.map → Dense.js.map} +3 -3
  98. package/feedback/CopyToClipboard/__stories__/Default/index.js +1 -1
  99. package/feedback/CopyToClipboard/__stories__/Default.js.map +2 -2
  100. package/form/DateInputContainer/__stories__/MultipleQuestions/index.js +1 -1
  101. package/form/DateInputContainer/__stories__/MultipleQuestions.js.map +1 -1
  102. package/form/SearchContainer/SearchContainer.stories/index.js +13 -0
  103. package/form/SearchContainer/SearchContainer.stories/package.json +6 -0
  104. package/form/SearchContainer/SearchContainer.stories.d.ts +9 -0
  105. package/form/SearchContainer/SearchContainer.stories.js.map +7 -0
  106. package/form/SearchContainer/__stories__/Default/index.js +11 -0
  107. package/form/SearchContainer/__stories__/Default/package.json +6 -0
  108. package/form/SearchContainer/__stories__/Default.d.ts +3 -0
  109. package/form/SearchContainer/__stories__/Default.js.map +7 -0
  110. package/form/SearchContainer/index.test.d.ts +1 -0
  111. package/i18n/locales/el/index.js +7 -1
  112. package/i18n/locales/el.d.ts +6 -0
  113. package/i18n/locales/el.js.map +2 -2
  114. package/index.js +1 -1
  115. package/layouts/Basic/Bottom/__stories__/Default/index.js +7 -5
  116. package/layouts/Basic/Bottom/__stories__/Default.js.map +2 -2
  117. package/layouts/Basic/Container/__stories__/Default/index.js +6 -4
  118. package/layouts/Basic/Container/__stories__/Default.js.map +2 -2
  119. package/layouts/Basic/Main/__stories__/Default/index.js +6 -4
  120. package/layouts/Basic/Main/__stories__/Default.js.map +2 -2
  121. package/layouts/Basic/Top/__stories__/Default/index.js +6 -4
  122. package/layouts/Basic/Top/__stories__/Default.js.map +2 -2
  123. package/lazy/index.js +3 -7
  124. package/lazy.d.ts +1 -5
  125. package/lazy.js.map +2 -2
  126. package/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +1 -1
  127. package/navigation/Drawer/__stories__/Auto/index.js +3 -1
  128. package/navigation/Drawer/__stories__/Auto.d.ts +1 -0
  129. package/navigation/Drawer/__stories__/Auto.js.map +2 -2
  130. package/navigation/Drawer/__stories__/Default/index.js +1 -1
  131. package/navigation/Drawer/__stories__/Default.js.map +2 -2
  132. package/navigation/NavList/__stories__/UsingNavListAuto/index.js +23 -23
  133. package/navigation/NavList/__stories__/UsingNavListAuto.js.map +2 -2
  134. package/navigation/NavList/__stories__/Vertical/index.js +25 -17
  135. package/navigation/NavList/__stories__/Vertical.js.map +2 -2
  136. package/navigation/Pagination/__stories__/Auto/index.js +8 -12
  137. package/navigation/Pagination/__stories__/Auto.js.map +2 -2
  138. package/package.json +10 -8
  139. package/registry/index.js +6 -18
  140. package/registry.d.ts +4 -9
  141. package/registry.js.map +2 -2
  142. package/src/app/Footer/{index.mdx → doc.mdx} +7 -23
  143. package/src/app/Header/__snapshots__/index.spec.tsx.snap +42 -36
  144. package/src/app/Header/__stories__/WithServiceNameAndLogo.tsx +2 -2
  145. package/src/app/Header/doc.mdx +32 -0
  146. package/src/app/Loader/index.native.tsx +98 -0
  147. package/src/app/Loader/index.tsx +1 -1
  148. package/src/app/Loader/index.web.tsx +1 -0
  149. package/src/app/Masthead/Masthead.stories.js +1 -0
  150. package/src/app/Masthead/__stories__/Secondary.tsx +26 -0
  151. package/src/app/Masthead/{index.mdx → doc.mdx} +13 -1
  152. package/src/app/Masthead/index.test.tsx +4 -0
  153. package/src/app/Modal/auto.tsx +1 -1
  154. package/src/app/Modal/{index.mdx → doc.mdx} +9 -6
  155. package/src/app/Modal/index.native.tsx +17 -0
  156. package/src/app/Modal/index.tsx +2 -2
  157. package/src/app/NotFound/{index.mdx → doc.mdx} +2 -4
  158. package/src/app/Panel/{index.mdx → doc.mdx} +3 -1
  159. package/src/app/PhaseBannerHeader/{index.mdx → doc.mdx} +3 -5
  160. package/src/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -10
  161. package/src/app/QrCodeScanner/index.tsx +1 -0
  162. package/src/app/QrCodeViewer/{index.mdx → doc.mdx} +4 -12
  163. package/src/app/Skeleton/doc.mdx +42 -0
  164. package/src/content/Accordion/__snapshots__/index.spec.tsx.snap +48 -147
  165. package/src/content/Accordion/{index.mdx → doc.mdx} +2 -13
  166. package/src/content/Blockquote/__snapshots__/index.spec.tsx.snap +6 -9
  167. package/src/content/Blockquote/{index.mdx → doc.mdx} +5 -5
  168. package/src/content/Card/doc.mdx +71 -0
  169. package/src/content/Chip/doc.mdx +34 -0
  170. package/src/content/Details/__snapshots__/index.spec.tsx.snap +32 -69
  171. package/src/content/Details/{index.mdx → doc.mdx} +1 -5
  172. package/src/content/List/__snapshots__/index.spec.tsx.snap +3 -3
  173. package/src/content/List/doc.mdx +28 -0
  174. package/src/content/StepNav/{index.mdx → doc.mdx} +5 -19
  175. package/src/content/SummaryList/__snapshots__/index.spec.tsx.snap +37 -89
  176. package/src/content/SummaryList/{index.mdx → doc.mdx} +6 -18
  177. package/src/content/Table/Table.stories.js +1 -1
  178. package/src/content/Table/__stories__/{Densed.tsx → Dense.tsx} +2 -2
  179. package/src/content/Table/doc.mdx +81 -0
  180. package/src/content/Table/index.test.tsx +3 -3
  181. package/src/content/TaskList/{index.mdx → doc.mdx} +4 -6
  182. package/src/content/Timeline/{index.mdx → doc.mdx} +4 -6
  183. package/src/feedback/CopyToClipboard/__stories__/Default.tsx +1 -1
  184. package/src/feedback/CopyToClipboard/doc.mdx +22 -0
  185. package/src/feedback/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -3
  186. package/src/feedback/ErrorSummary/{index.mdx → doc.mdx} +6 -22
  187. package/src/feedback/NotificationBanner/__snapshots__/index.spec.tsx.snap +1 -1
  188. package/src/feedback/NotificationBanner/{index.mdx → doc.mdx} +8 -19
  189. package/src/feedback/PhaseBanner/{index.mdx → doc.mdx} +2 -12
  190. package/src/feedback/WarningText/__snapshots__/index.spec.tsx.snap +3 -3
  191. package/src/feedback/WarningText/{index.mdx → doc.mdx} +8 -6
  192. package/src/form/AutoComplete/doc.mdx +50 -0
  193. package/src/form/Button/__snapshots__/index.spec.tsx.snap +6 -10
  194. package/src/form/Button/{index.mdx → doc.mdx} +12 -27
  195. package/src/form/Checkbox/{index.mdx → doc.mdx} +10 -36
  196. package/src/form/DateInputContainer/__stories__/MultipleQuestions.tsx +1 -1
  197. package/src/form/DateInputContainer/{index.mdx → doc.mdx} +7 -21
  198. package/src/form/ErrorMessage/{index.mdx → doc.mdx} +1 -5
  199. package/src/form/FileUpload/{index.mdx → doc.mdx} +2 -10
  200. package/src/form/RadioContainer/{index.mdx → doc.mdx} +10 -36
  201. package/src/form/SearchContainer/SearchContainer.stories.js +9 -0
  202. package/src/form/SearchContainer/__stories__/Default.tsx +13 -0
  203. package/src/form/SearchContainer/doc.mdx +16 -0
  204. package/src/form/SearchContainer/index.test.tsx +20 -0
  205. package/src/form/SelectContainer/{index.mdx → doc.mdx} +3 -19
  206. package/src/form/SingleCharacterInputs/{index.mdx → doc.mdx} +3 -11
  207. package/src/form/TextArea/doc.mdx +48 -0
  208. package/src/form/TextInput/{index.mdx → doc.mdx} +12 -44
  209. package/src/i18n/locales/el.ts +15 -8
  210. package/src/layouts/Basic/Bottom/__stories__/Default.tsx +13 -9
  211. package/src/layouts/Basic/Bottom/{index.mdx → doc.mdx} +1 -5
  212. package/src/layouts/Basic/Container/__stories__/Default.tsx +15 -8
  213. package/src/layouts/Basic/Container/{index.mdx → doc.mdx} +1 -6
  214. package/src/layouts/Basic/Main/__stories__/Default.tsx +15 -8
  215. package/src/layouts/Basic/Main/{index.mdx → doc.mdx} +3 -5
  216. package/src/layouts/Basic/Top/__stories__/Default.tsx +13 -6
  217. package/src/layouts/Basic/Top/doc.mdx +19 -0
  218. package/src/layouts/Basic/__snapshots__/index.spec.tsx.snap +30 -102
  219. package/src/layouts/Basic/{index.mdx → doc.mdx} +7 -18
  220. package/src/layouts/Grid/doc.mdx +26 -0
  221. package/src/layouts/Stack/doc.mdx +38 -0
  222. package/src/lazy.js +4 -8
  223. package/src/navigation/BackLink/{index.mdx → doc.mdx} +1 -5
  224. package/src/navigation/Breadcrumbs/Breadcrumbs.stories.js +0 -1
  225. package/src/navigation/Breadcrumbs/{index.mdx → doc.mdx} +5 -5
  226. package/src/navigation/Drawer/__stories__/Auto.tsx +3 -1
  227. package/src/navigation/Drawer/__stories__/Default.tsx +2 -2
  228. package/src/navigation/Drawer/{index.mdx → doc.mdx} +5 -1
  229. package/src/navigation/Dropdown/{index.mdx → doc.mdx} +3 -15
  230. package/src/navigation/Link/__snapshots__/index.spec.tsx.snap +16 -30
  231. package/src/navigation/Link/{index.mdx → doc.mdx} +7 -19
  232. package/src/navigation/NavList/__snapshots__/index.spec.tsx.snap +3 -3
  233. package/src/navigation/NavList/__stories__/UsingNavListAuto.tsx +26 -27
  234. package/src/navigation/NavList/__stories__/Vertical.tsx +16 -12
  235. package/src/navigation/NavList/{index.mdx → doc.mdx} +19 -22
  236. package/src/navigation/Pagination/__stories__/Auto.tsx +29 -31
  237. package/src/navigation/Pagination/doc.mdx +32 -0
  238. package/src/navigation/Tabs/doc.mdx +47 -0
  239. package/src/registry.js +6 -18
  240. package/src/typography/CodeBlock/doc.mdx +30 -0
  241. package/src/typography/Heading/{index.mdx → doc.mdx} +3 -5
  242. package/src/typography/HeadingCaption/{index.mdx → doc.mdx} +5 -5
  243. package/src/typography/Hint/{index.mdx → doc.mdx} +4 -10
  244. package/src/typography/NormalText/doc.mdx +30 -0
  245. package/src/typography/Paragraph/doc.mdx +34 -0
  246. package/src/typography/Typography/doc.mdx +14 -0
  247. package/src/utils/VisuallyHidden/{index.mdx → doc.mdx} +3 -6
  248. package/api/APIErrors/index.js +0 -40
  249. package/api/APIErrors.d.ts +0 -23
  250. package/api/APIErrors.js.map +0 -7
  251. package/api/APIProvider/index.js +0 -24
  252. package/api/APIProvider.d.ts +0 -16
  253. package/api/APIProvider.js.map +0 -7
  254. package/api/fetchAPI/index.js +0 -29
  255. package/api/fetchAPI.d.ts +0 -14
  256. package/api/fetchAPI.js.map +0 -7
  257. package/api/index.d.ts +0 -8
  258. package/api/index.js +0 -12
  259. package/api/index.js.map +0 -7
  260. package/api/index.spec.d.ts +0 -1
  261. package/api/useResource/index.js +0 -79
  262. package/api/useResource/package.json +0 -6
  263. package/api/useResource.d.ts +0 -11
  264. package/api/useResource.js.map +0 -7
  265. package/api/useResourceAction/index.js +0 -74
  266. package/api/useResourceAction/package.json +0 -6
  267. package/api/useResourceAction.d.ts +0 -2
  268. package/api/useResourceAction.js.map +0 -7
  269. package/api/useResourceQuery/index.js +0 -149
  270. package/api/useResourceQuery/package.json +0 -6
  271. package/api/useResourceQuery.d.ts +0 -18
  272. package/api/useResourceQuery.js.map +0 -7
  273. package/api/utils/index.js +0 -131
  274. package/api/utils/package.json +0 -6
  275. package/api/utils.d.ts +0 -10
  276. package/api/utils.js.map +0 -7
  277. package/app/Modal/Modal/package.json +0 -6
  278. package/cjs/api/APIErrors.js.map +0 -7
  279. package/cjs/api/APIProvider.js.map +0 -7
  280. package/cjs/api/fetchAPI/index.js +0 -49
  281. package/cjs/api/fetchAPI.js.map +0 -7
  282. package/cjs/api/index.js +0 -41
  283. package/cjs/api/index.js.map +0 -7
  284. package/cjs/api/useResource/index.js +0 -102
  285. package/cjs/api/useResource.js.map +0 -7
  286. package/cjs/api/useResourceAction/index.js +0 -97
  287. package/cjs/api/useResourceAction.js.map +0 -7
  288. package/cjs/api/useResourceQuery/index.js +0 -173
  289. package/cjs/api/useResourceQuery.js.map +0 -7
  290. package/cjs/api/utils/index.js +0 -157
  291. package/cjs/api/utils.js.map +0 -7
  292. package/content/Table/__stories__/Densed/package.json +0 -6
  293. package/content/Table/__stories__/Densed.d.ts +0 -3
  294. package/src/api/APIErrors.tsx +0 -46
  295. package/src/api/APIProvider.tsx +0 -31
  296. package/src/api/fetchAPI.ts +0 -43
  297. package/src/api/index.spec.tsx +0 -417
  298. package/src/api/index.tsx +0 -9
  299. package/src/api/introduction.md +0 -6
  300. package/src/api/useResource.tsx +0 -96
  301. package/src/api/useResourceAction.tsx +0 -80
  302. package/src/api/useResourceQuery.tsx +0 -178
  303. package/src/api/utils.tsx +0 -162
  304. package/src/app/Header/index.mdx +0 -49
  305. package/src/content/Card/index.mdx +0 -103
  306. package/src/content/Chip/index.mdx +0 -53
  307. package/src/content/List/index.mdx +0 -40
  308. package/src/content/Table/index.mdx +0 -111
  309. package/src/feedback/CopyToClipboard/index.mdx +0 -28
  310. package/src/form/AutoComplete/index.mdx +0 -70
  311. package/src/form/TextArea/index.mdx +0 -74
  312. package/src/govgr/Footer/index.mdx +0 -101
  313. package/src/layouts/Basic/Top/index.mdx +0 -23
  314. package/src/layouts/Grid/index.mdx +0 -39
  315. package/src/navigation/Pagination/index.mdx +0 -48
  316. package/src/navigation/Tabs/index.mdx +0 -31
  317. package/src/typography/NormalText/index.mdx +0 -44
  318. package/src/typography/Paragraph/index.mdx +0 -32
  319. package/src/typography/Typography/index.mdx +0 -12
  320. /package/app/Modal/{Modal.d.ts → index.web.d.ts} +0 -0
  321. /package/src/app/Modal/{Modal.tsx → index.web.tsx} +0 -0
  322. /package/src/utils/Base/{index.mdx → doc.mdx} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api/APIProvider.tsx"],
4
- "sourcesContent": ["import React, { createContext, useContext, useMemo } from 'react';\nexport interface APIConfig {\n baseURL: string;\n}\nexport interface APIContextData {\n config: APIConfig;\n token: string | null | undefined;\n}\nexport interface APIProviderProps {\n token: string | null | undefined;\n children: React.ReactNode;\n config: APIConfig;\n}\nexport const APIContext = createContext<APIContextData>({\n config: {\n baseURL: '',\n },\n token: null,\n});\nexport const APIProvider: React.FC<APIProviderProps> = ({\n token = null,\n config = { baseURL: '' },\n children,\n}) => {\n const data = useMemo(() => ({ token, config }), [token, config]);\n return <APIContext.Provider value={data}>{children}</APIContext.Provider>;\n};\n\nexport const useAPI = (): APIContextData => {\n return useContext(APIContext);\n};\n"],
5
- "mappings": "AAAA,OAAO,SAAS,eAAe,YAAY,eAAe;AAanD,MAAM,aAAa,cAA8B;AAAA,EACtD,QAAQ;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,OAAO;AACT,CAAC;AACM,MAAM,cAA0C,CAAC;AAAA,EACtD,QAAQ;AAAA,EACR,SAAS,EAAE,SAAS,GAAG;AAAA,EACvB;AACF,MAAM;AACJ,QAAM,OAAO,QAAQ,OAAO,EAAE,OAAO,OAAO,IAAI,CAAC,OAAO,MAAM,CAAC;AAC/D,SAAO,oCAAC,WAAW,UAAX,EAAoB,OAAO,QAAO,QAAS;AACrD;AAEO,MAAM,SAAS,MAAsB;AAC1C,SAAO,WAAW,UAAU;AAC9B;",
6
- "names": []
7
- }
@@ -1,29 +0,0 @@
1
- import {
2
- getArgs,
3
- processResponse
4
- } from "@digigov/ui/api/utils";
5
- async function fetchAPI(resource, { query = {}, path = "", method = "GET", body = null }, apiConfig) {
6
- const {
7
- config: { baseURL },
8
- token
9
- } = apiConfig;
10
- const [url, options] = getArgs(
11
- resource,
12
- path,
13
- query,
14
- body,
15
- null,
16
- method,
17
- baseURL,
18
- token
19
- );
20
- const response = await window.fetch(url, options);
21
- const { data, error, status } = await processResponse(response);
22
- return { data, error, status };
23
- }
24
- var fetchAPI_default = fetchAPI;
25
- export {
26
- fetchAPI_default as default,
27
- fetchAPI
28
- };
29
- //# sourceMappingURL=fetchAPI.js.map
package/api/fetchAPI.d.ts DELETED
@@ -1,14 +0,0 @@
1
- import { APIContextData } from '@digigov/ui/api/APIProvider';
2
- import { ProcessedResponse } from '@digigov/ui/api/utils';
3
- export interface FetchAPIProps {
4
- resource: string;
5
- options?: {
6
- query?: Record<string, any>;
7
- path?: string;
8
- method?: string;
9
- body?: any;
10
- };
11
- getAPI?: (...args: any[]) => APIContextData;
12
- }
13
- export declare function fetchAPI(resource: string, { query, path, method, body }: any, apiConfig: any): Promise<ProcessedResponse>;
14
- export default fetchAPI;
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api/fetchAPI.ts"],
4
- "sourcesContent": ["import { APIContextData } from '@digigov/ui/api/APIProvider';\nimport {\n ProcessedResponse,\n getArgs,\n processResponse,\n} from '@digigov/ui/api/utils';\n\nexport interface FetchAPIProps {\n resource: string;\n options?: {\n query?: Record<string, any>;\n path?: string;\n method?: string;\n body?: any;\n };\n getAPI?: (...args) => APIContextData;\n}\n\nexport async function fetchAPI(\n resource: string,\n { query = {}, path = '', method = 'GET', body = null }: any,\n apiConfig: any\n): Promise<ProcessedResponse> {\n const {\n config: { baseURL },\n token,\n } = apiConfig;\n const [url, options] = getArgs(\n resource,\n path,\n query,\n body,\n null,\n method,\n baseURL,\n token\n );\n const response = await window.fetch(url, options);\n const { data, error, status } = await processResponse(response);\n return { data, error, status };\n}\n\nexport default fetchAPI;\n"],
5
- "mappings": "AACA;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAaP,eAAsB,SACpB,UACA,EAAE,QAAQ,CAAC,GAAG,OAAO,IAAI,SAAS,OAAO,OAAO,KAAK,GACrD,WAC4B;AAC5B,QAAM;AAAA,IACJ,QAAQ,EAAE,QAAQ;AAAA,IAClB;AAAA,EACF,IAAI;AACJ,QAAM,CAAC,KAAK,OAAO,IAAI;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,WAAW,MAAM,OAAO,MAAM,KAAK,OAAO;AAChD,QAAM,EAAE,MAAM,OAAO,OAAO,IAAI,MAAM,gBAAgB,QAAQ;AAC9D,SAAO,EAAE,MAAM,OAAO,OAAO;AAC/B;AAEA,IAAO,mBAAQ;",
6
- "names": []
7
- }
package/api/index.d.ts DELETED
@@ -1,8 +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
- import { useAPI } from '@digigov/ui/api/APIProvider';
8
- export default useAPI;
package/api/index.js DELETED
@@ -1,12 +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
- import { useAPI } from "@digigov/ui/api/APIProvider";
8
- var api_default = useAPI;
9
- export {
10
- api_default as default
11
- };
12
- //# sourceMappingURL=index.js.map
package/api/index.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api/index.tsx"],
4
- "sourcesContent": ["export * from '@digigov/ui/api/APIErrors';\nexport * from '@digigov/ui/api/APIProvider';\nexport * from '@digigov/ui/api/useResource';\nexport * from '@digigov/ui/api/useResourceAction';\nexport * from '@digigov/ui/api/useResourceQuery';\nexport * from '@digigov/ui/api/fetchAPI';\n\nimport { useAPI } from '@digigov/ui/api/APIProvider';\nexport default useAPI;\n"],
5
- "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAAS,cAAc;AACvB,IAAO,cAAQ;",
6
- "names": []
7
- }
@@ -1 +0,0 @@
1
- import 'whatwg-fetch';
@@ -1,79 +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
- function useResource(resource, id, query, options, suspense) {
6
- const {
7
- config: { baseURL },
8
- token
9
- } = useAPI();
10
- const [{ url, dataSet }, setFetchOpts] = useState({
11
- url: "",
12
- dataSet: false
13
- });
14
- async function customFetcher(fetchUrl, options2) {
15
- setFetchOpts({ url: fetchUrl, dataSet: false });
16
- const response = await fetch(fetchUrl, options2);
17
- try {
18
- const { data: data2, error: error2 } = await processResponse(response);
19
- if (error2) {
20
- return Promise.reject(error2);
21
- }
22
- if (data2) {
23
- return Promise.resolve(data2);
24
- }
25
- } catch (error2) {
26
- return Promise.reject(error2.error);
27
- }
28
- }
29
- const queryKey = getQueryKey(
30
- resource,
31
- id,
32
- query,
33
- null,
34
- options,
35
- "GET",
36
- baseURL,
37
- token
38
- );
39
- let enabled = true;
40
- let resolvedQueryKey;
41
- if (typeof queryKey === "function") {
42
- try {
43
- resolvedQueryKey = queryKey();
44
- } catch (err) {
45
- enabled = false;
46
- }
47
- }
48
- const { status, data, error, isFetching, refetch } = useQuery(
49
- resolvedQueryKey || queryKey,
50
- customFetcher,
51
- {
52
- enabled,
53
- refetchOnWindowFocus: false,
54
- refetchOnMount: false,
55
- suspense: suspense || false,
56
- cacheTime: 3e5,
57
- staleTime: 2e4,
58
- retry: false,
59
- useErrorBoundary: false
60
- // falls back to suspense
61
- }
62
- );
63
- return {
64
- data,
65
- loading: isFetching,
66
- loaded: ["error", "success"].includes(status),
67
- error,
68
- invalidate: () => {
69
- queryCache.invalidateQueries(resolvedQueryKey || queryKey);
70
- },
71
- fetch: refetch,
72
- dataSet,
73
- url
74
- };
75
- }
76
- export {
77
- useResource
78
- };
79
- //# sourceMappingURL=useResource.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/api/useResource/index.js"
6
- }
@@ -1,11 +0,0 @@
1
- export type RequestResponse = {
2
- data?: Record<string, any>;
3
- loading?: boolean;
4
- loaded?: boolean;
5
- error?: Error | string | null | unknown;
6
- invalidate: () => void;
7
- fetch: () => void;
8
- dataSet?: boolean | null;
9
- url: string;
10
- };
11
- export declare function useResource(resource: string, id?: string | number | ((...args: any[]) => void), query?: Record<string, any> | null | ((...args: any[]) => void), options?: RequestInit | null, suspense?: boolean): RequestResponse;
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api/useResource.tsx"],
4
- "sourcesContent": ["import { useState } from 'react';\nimport { useQuery, queryCache } from 'react-query';\nimport { useAPI } from '@digigov/ui/api/APIProvider';\nimport { getQueryKey, processResponse } from '@digigov/ui/api/utils';\n\nexport type RequestResponse = {\n data?: Record<string, any>;\n loading?: boolean;\n loaded?: boolean;\n error?: Error | string | null | unknown;\n invalidate: () => void;\n fetch: () => void;\n dataSet?: boolean | null;\n url: string;\n};\n\nexport function useResource(\n resource: string,\n id?: string | number | ((...args) => void),\n query?: Record<string, any> | null | ((...args) => void),\n options?: RequestInit | null,\n suspense?: boolean\n): RequestResponse {\n const {\n config: { baseURL },\n token,\n } = useAPI();\n const [{ url, dataSet }, setFetchOpts] = useState({\n url: '',\n dataSet: false,\n });\n\n async function customFetcher(fetchUrl, options) {\n setFetchOpts({ url: fetchUrl, dataSet: false });\n const response = await fetch(fetchUrl, options);\n try {\n const { data, error } = await processResponse(response);\n if (error) {\n return Promise.reject(error);\n }\n if (data) {\n return Promise.resolve(data);\n }\n } catch (error) {\n return Promise.reject(error.error);\n }\n }\n\n const queryKey = getQueryKey(\n resource,\n id,\n query,\n null,\n options,\n 'GET',\n baseURL,\n token\n );\n let enabled = true;\n let resolvedQueryKey;\n if (typeof queryKey === 'function') {\n try {\n resolvedQueryKey = queryKey();\n } catch (err) {\n enabled = false;\n }\n }\n\n const { status, data, error, isFetching, refetch } = useQuery(\n resolvedQueryKey || queryKey,\n customFetcher,\n {\n enabled,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n suspense: suspense || false,\n cacheTime: 300000,\n staleTime: 20000,\n retry: false,\n useErrorBoundary: false, // falls back to suspense\n }\n );\n\n return {\n data,\n loading: isFetching,\n loaded: ['error', 'success'].includes(status),\n error,\n invalidate: (): void => {\n queryCache.invalidateQueries(resolvedQueryKey || queryKey);\n },\n fetch: refetch,\n dataSet,\n url,\n };\n}\n"],
5
- "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,UAAU,kBAAkB;AACrC,SAAS,cAAc;AACvB,SAAS,aAAa,uBAAuB;AAatC,SAAS,YACd,UACA,IACA,OACA,SACA,UACiB;AACjB,QAAM;AAAA,IACJ,QAAQ,EAAE,QAAQ;AAAA,IAClB;AAAA,EACF,IAAI,OAAO;AACX,QAAM,CAAC,EAAE,KAAK,QAAQ,GAAG,YAAY,IAAI,SAAS;AAAA,IAChD,KAAK;AAAA,IACL,SAAS;AAAA,EACX,CAAC;AAED,iBAAe,cAAc,UAAUA,UAAS;AAC9C,iBAAa,EAAE,KAAK,UAAU,SAAS,MAAM,CAAC;AAC9C,UAAM,WAAW,MAAM,MAAM,UAAUA,QAAO;AAC9C,QAAI;AACF,YAAM,EAAE,MAAAC,OAAM,OAAAC,OAAM,IAAI,MAAM,gBAAgB,QAAQ;AACtD,UAAIA,QAAO;AACT,eAAO,QAAQ,OAAOA,MAAK;AAAA,MAC7B;AACA,UAAID,OAAM;AACR,eAAO,QAAQ,QAAQA,KAAI;AAAA,MAC7B;AAAA,IACF,SAASC,QAAO;AACd,aAAO,QAAQ,OAAOA,OAAM,KAAK;AAAA,IACnC;AAAA,EACF;AAEA,QAAM,WAAW;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,UAAU;AACd,MAAI;AACJ,MAAI,OAAO,aAAa,YAAY;AAClC,QAAI;AACF,yBAAmB,SAAS;AAAA,IAC9B,SAAS,KAAK;AACZ,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,QAAM,EAAE,QAAQ,MAAM,OAAO,YAAY,QAAQ,IAAI;AAAA,IACnD,oBAAoB;AAAA,IACpB;AAAA,IACA;AAAA,MACE;AAAA,MACA,sBAAsB;AAAA,MACtB,gBAAgB;AAAA,MAChB,UAAU,YAAY;AAAA,MACtB,WAAW;AAAA,MACX,WAAW;AAAA,MACX,OAAO;AAAA,MACP,kBAAkB;AAAA;AAAA,IACpB;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,SAAS;AAAA,IACT,QAAQ,CAAC,SAAS,SAAS,EAAE,SAAS,MAAM;AAAA,IAC5C;AAAA,IACA,YAAY,MAAY;AACtB,iBAAW,kBAAkB,oBAAoB,QAAQ;AAAA,IAC3D;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACF;AACF;",
6
- "names": ["options", "data", "error"]
7
- }
@@ -1,74 +0,0 @@
1
- import { useState, useEffect } from "react";
2
- import { useMutation } from "react-query";
3
- import { useAPI } from "@digigov/ui/api/APIProvider";
4
- import { getQueryKey, processResponse } from "@digigov/ui/api/utils";
5
- function useResourceAction(resource, id, method = "POST", data, query, options) {
6
- const {
7
- config: { baseURL },
8
- token
9
- } = useAPI();
10
- const [{ url, dataSet }, setFetchOpts] = useState({
11
- url: "",
12
- dataSet: false
13
- });
14
- const [consume, setConsume] = useState(false);
15
- async function customFetcher(...args) {
16
- const [fetchUrl, options2] = args[0];
17
- if (options2.body) {
18
- setFetchOpts({ url: fetchUrl, dataSet: true });
19
- } else {
20
- setFetchOpts({ url: fetchUrl, dataSet: false });
21
- }
22
- const response = await fetch(fetchUrl, options2);
23
- try {
24
- const { data: data2 } = await processResponse(response, true);
25
- if (data2) {
26
- return Promise.resolve(data2);
27
- }
28
- } catch (error2) {
29
- return Promise.reject(error2.error);
30
- }
31
- }
32
- const [mutate, { status, data: _data, error, reset }] = useMutation(
33
- customFetcher,
34
- {}
35
- );
36
- useEffect(() => {
37
- if (consume) {
38
- const queryKey = getQueryKey(
39
- resource,
40
- id,
41
- query,
42
- data,
43
- options,
44
- method,
45
- baseURL,
46
- token
47
- );
48
- if (typeof queryKey === "function") {
49
- mutate(queryKey());
50
- } else {
51
- mutate(queryKey);
52
- }
53
- setConsume(false);
54
- }
55
- }, [consume]);
56
- return {
57
- data: _data,
58
- loading: status === "loading",
59
- loaded: ["success", "error"].includes(status),
60
- error,
61
- invalidate: () => {
62
- reset();
63
- },
64
- fetch() {
65
- setConsume(true);
66
- },
67
- dataSet,
68
- url
69
- };
70
- }
71
- export {
72
- useResourceAction
73
- };
74
- //# sourceMappingURL=useResourceAction.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/api/useResourceAction/index.js"
6
- }
@@ -1,2 +0,0 @@
1
- import { RequestResponse } from '@digigov/ui/api/useResource';
2
- export declare function useResourceAction(resource: string, id?: (string | null | undefined) | number | ((...args: any) => void), method?: string, data?: Record<string, any> | null | ((...args: any) => void), query?: Record<string, any> | null | ((...args: any) => void), options?: RequestInit | null): RequestResponse;
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api/useResourceAction.tsx"],
4
- "sourcesContent": ["import { useState, useEffect } from 'react';\nimport { useMutation } from 'react-query';\nimport { useAPI } from '@digigov/ui/api/APIProvider';\nimport { RequestResponse } from '@digigov/ui/api/useResource';\nimport { getQueryKey, processResponse } from '@digigov/ui/api/utils';\n\nexport function useResourceAction(\n resource: string,\n id?: (string | null | undefined) | number | ((...args: any) => void),\n method = 'POST',\n data?: Record<string, any> | null | ((...args: any) => void),\n query?: Record<string, any> | null | ((...args: any) => void),\n options?: RequestInit | null\n): RequestResponse {\n const {\n config: { baseURL },\n token,\n } = useAPI();\n const [{ url, dataSet }, setFetchOpts] = useState({\n url: '',\n dataSet: false,\n });\n const [consume, setConsume] = useState(false);\n async function customFetcher(...args) {\n const [fetchUrl, options] = args[0];\n if (options.body) {\n setFetchOpts({ url: fetchUrl, dataSet: true });\n } else {\n setFetchOpts({ url: fetchUrl, dataSet: false });\n }\n const response = await fetch(fetchUrl, options);\n try {\n const { data } = await processResponse(response, true);\n if (data) {\n return Promise.resolve(data);\n }\n } catch (error) {\n return Promise.reject(error.error);\n }\n }\n\n const [mutate, { status, data: _data, error, reset }] = useMutation(\n customFetcher,\n {}\n );\n useEffect(() => {\n if (consume) {\n const queryKey = getQueryKey(\n resource,\n id,\n query,\n data,\n options,\n method,\n baseURL,\n token\n );\n if (typeof queryKey === 'function') {\n mutate(queryKey());\n } else {\n mutate(queryKey);\n }\n setConsume(false);\n }\n }, [consume]);\n return {\n data: _data,\n loading: status === 'loading',\n loaded: ['success', 'error'].includes(status),\n error,\n invalidate: (): void => {\n reset();\n },\n fetch() {\n setConsume(true);\n },\n dataSet,\n url,\n };\n}\n"],
5
- "mappings": "AAAA,SAAS,UAAU,iBAAiB;AACpC,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AAEvB,SAAS,aAAa,uBAAuB;AAEtC,SAAS,kBACd,UACA,IACA,SAAS,QACT,MACA,OACA,SACiB;AACjB,QAAM;AAAA,IACJ,QAAQ,EAAE,QAAQ;AAAA,IAClB;AAAA,EACF,IAAI,OAAO;AACX,QAAM,CAAC,EAAE,KAAK,QAAQ,GAAG,YAAY,IAAI,SAAS;AAAA,IAChD,KAAK;AAAA,IACL,SAAS;AAAA,EACX,CAAC;AACD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,iBAAe,iBAAiB,MAAM;AACpC,UAAM,CAAC,UAAUA,QAAO,IAAI,KAAK,CAAC;AAClC,QAAIA,SAAQ,MAAM;AAChB,mBAAa,EAAE,KAAK,UAAU,SAAS,KAAK,CAAC;AAAA,IAC/C,OAAO;AACL,mBAAa,EAAE,KAAK,UAAU,SAAS,MAAM,CAAC;AAAA,IAChD;AACA,UAAM,WAAW,MAAM,MAAM,UAAUA,QAAO;AAC9C,QAAI;AACF,YAAM,EAAE,MAAAC,MAAK,IAAI,MAAM,gBAAgB,UAAU,IAAI;AACrD,UAAIA,OAAM;AACR,eAAO,QAAQ,QAAQA,KAAI;AAAA,MAC7B;AAAA,IACF,SAASC,QAAO;AACd,aAAO,QAAQ,OAAOA,OAAM,KAAK;AAAA,IACnC;AAAA,EACF;AAEA,QAAM,CAAC,QAAQ,EAAE,QAAQ,MAAM,OAAO,OAAO,MAAM,CAAC,IAAI;AAAA,IACtD;AAAA,IACA,CAAC;AAAA,EACH;AACA,YAAU,MAAM;AACd,QAAI,SAAS;AACX,YAAM,WAAW;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,UAAI,OAAO,aAAa,YAAY;AAClC,eAAO,SAAS,CAAC;AAAA,MACnB,OAAO;AACL,eAAO,QAAQ;AAAA,MACjB;AACA,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AACZ,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS,WAAW;AAAA,IACpB,QAAQ,CAAC,WAAW,OAAO,EAAE,SAAS,MAAM;AAAA,IAC5C;AAAA,IACA,YAAY,MAAY;AACtB,YAAM;AAAA,IACR;AAAA,IACA,QAAQ;AACN,iBAAW,IAAI;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
- "names": ["options", "data", "error"]
7
- }
@@ -1,149 +0,0 @@
1
- import { useEffect, useMemo, useState, useCallback } from "react";
2
- import { usePaginatedQuery, queryCache } from "react-query";
3
- import { useAPI } from "@digigov/ui/api/APIProvider";
4
- import { getQueryKey, processResponse } from "@digigov/ui/api/utils";
5
- const DEFAULT_PAGINATION_LIMIT = 30;
6
- const DEFAULT_LIMIT_OPTIONS = [10, 30, 60, 100];
7
- function useResourceManyBase(resource, query, options) {
8
- const {
9
- config: { baseURL },
10
- token
11
- } = useAPI();
12
- const [{ url, dataSet }, setFetchOpts] = useState({
13
- url: "",
14
- dataSet: false
15
- });
16
- const customFetcher = useCallback(
17
- async (fetchUrl, options2) => {
18
- setFetchOpts({ url: fetchUrl, dataSet: false });
19
- const response = await fetch(fetchUrl, options2);
20
- try {
21
- const { data: data2 } = await processResponse(response, true);
22
- if (data2) {
23
- return Promise.resolve(data2);
24
- }
25
- } catch (error2) {
26
- return Promise.reject(error2.error);
27
- }
28
- },
29
- []
30
- );
31
- const queryKey = getQueryKey(
32
- resource,
33
- null,
34
- query,
35
- null,
36
- options,
37
- "GET",
38
- baseURL,
39
- token
40
- );
41
- let enabled = true;
42
- let resolvedQueryKey;
43
- if (typeof queryKey === "function") {
44
- try {
45
- resolvedQueryKey = queryKey();
46
- } catch (err) {
47
- enabled = false;
48
- }
49
- }
50
- const {
51
- resolvedData,
52
- latestData: data,
53
- error,
54
- isFetching,
55
- refetch
56
- } = usePaginatedQuery({
57
- queryKey: resolvedQueryKey || queryKey,
58
- queryFn: customFetcher,
59
- config: {
60
- enabled,
61
- suspense: true,
62
- cacheTime: 3e4,
63
- refetchOnMount: false
64
- }
65
- });
66
- return {
67
- data: data || resolvedData,
68
- loading: isFetching,
69
- loaded: !!data || !!error,
70
- error,
71
- invalidate: () => {
72
- queryCache.invalidateQueries(resolvedQueryKey || queryKey);
73
- },
74
- fetch: refetch,
75
- dataSet,
76
- url
77
- };
78
- }
79
- function useResourceMany(resource, query, options) {
80
- const [limit, setLimit] = useState(
81
- query && query.limit || DEFAULT_PAGINATION_LIMIT
82
- );
83
- const [pageParams, setPageParams] = useState({
84
- offset: query && query.offset || 0,
85
- limit
86
- });
87
- useEffect(() => {
88
- if (pageParams.limit !== limit) {
89
- setPageParams({ ...pageParams, limit });
90
- }
91
- }, [limit]);
92
- const queryKey = JSON.stringify(query);
93
- const pageParamsKey = JSON.stringify(pageParams);
94
- const q = useMemo(() => {
95
- return { ...pageParams, ...query };
96
- }, [queryKey, pageParamsKey]);
97
- const { data, ...rest } = useResourceManyBase(resource, q, options);
98
- const resp = data ? data.data : data;
99
- const meta = data ? data.meta : data;
100
- const totalPages = useMemo(
101
- () => data && data.meta && data.meta.total || 1,
102
- [data]
103
- );
104
- const total = useMemo(
105
- () => data && data.meta && data.meta.count || 0,
106
- [data]
107
- );
108
- const limitOptions = useMemo(() => DEFAULT_LIMIT_OPTIONS, []);
109
- const page = useMemo(() => {
110
- const offset = parseInt(pageParams.offset) || 0;
111
- const _limit = parseInt(`${pageParams.limit}`) || parseInt(`${limit}`);
112
- return offset / _limit;
113
- }, [pageParams]);
114
- const setPage = useCallback(
115
- (page2) => {
116
- if (page2 > totalPages) {
117
- page2 = totalPages;
118
- }
119
- if (page2 <= 0) {
120
- page2 = 0;
121
- }
122
- const _limit = limit || DEFAULT_PAGINATION_LIMIT;
123
- const offset = _limit * page2;
124
- setPageParams({ offset, limit });
125
- },
126
- [setPageParams]
127
- );
128
- const hasNext = page < totalPages - 1;
129
- const hasPrevious = page > 0;
130
- return {
131
- data: resp,
132
- meta,
133
- page,
134
- limit,
135
- totalPages,
136
- total,
137
- limitOptions,
138
- setPage,
139
- setLimit,
140
- hasNext,
141
- hasPrevious,
142
- ...rest
143
- };
144
- }
145
- export {
146
- useResourceMany,
147
- useResourceManyBase
148
- };
149
- //# sourceMappingURL=useResourceQuery.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/api/useResourceQuery/index.js"
6
- }
@@ -1,18 +0,0 @@
1
- export declare function useResourceManyBase(resource: string, query?: Record<string, any> | null | ((...args: any) => any), options?: RequestInit | null): any;
2
- export type UseResourceManyResponse = {
3
- data?: any;
4
- meta?: {
5
- total?: number;
6
- count?: number;
7
- };
8
- page: number;
9
- limit: number;
10
- totalPages: number;
11
- total: number;
12
- limitOptions: number[];
13
- setPage: (page: number) => void;
14
- setLimit: (limit: number) => void;
15
- hasNext: boolean;
16
- hasPrevious: boolean;
17
- };
18
- export declare function useResourceMany(resource: string, query?: Record<string, any> | null, options?: RequestInit | null): UseResourceManyResponse;
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api/useResourceQuery.tsx"],
4
- "sourcesContent": ["import { useEffect, useMemo, useState, useCallback } from 'react';\nimport { usePaginatedQuery, QueryFunction, queryCache } from 'react-query';\nimport { useAPI } from '@digigov/ui/api/APIProvider';\nimport { getQueryKey, processResponse } from '@digigov/ui/api/utils';\n\nconst DEFAULT_PAGINATION_LIMIT = 30;\nconst DEFAULT_LIMIT_OPTIONS = [10, 30, 60, 100];\n\nexport function useResourceManyBase(\n resource: string,\n query?: Record<string, any> | null | ((...args: any) => any),\n options?: RequestInit | null\n): any {\n const {\n config: { baseURL },\n token,\n } = useAPI();\n const [{ url, dataSet }, setFetchOpts] = useState({\n url: '',\n dataSet: false,\n });\n const customFetcher: QueryFunction<any> = useCallback(\n async (fetchUrl, options) => {\n setFetchOpts({ url: fetchUrl, dataSet: false });\n const response = await fetch(fetchUrl, options);\n try {\n const { data } = await processResponse(response, true);\n if (data) {\n return Promise.resolve(data);\n }\n } catch (error) {\n return Promise.reject(error.error);\n }\n },\n []\n );\n const queryKey = getQueryKey(\n resource,\n null,\n query,\n null,\n options,\n 'GET',\n baseURL,\n token\n );\n let enabled = true;\n let resolvedQueryKey;\n if (typeof queryKey === 'function') {\n try {\n resolvedQueryKey = queryKey();\n } catch (err) {\n enabled = false;\n }\n }\n\n const {\n resolvedData,\n latestData: data,\n error,\n isFetching,\n refetch,\n } = usePaginatedQuery({\n queryKey: resolvedQueryKey || queryKey,\n queryFn: customFetcher,\n config: {\n enabled,\n suspense: true,\n cacheTime: 30000,\n refetchOnMount: false,\n },\n });\n\n return {\n data: data || resolvedData,\n loading: isFetching,\n loaded: !!data || !!error,\n error,\n invalidate: (): void => {\n queryCache.invalidateQueries(resolvedQueryKey || queryKey);\n },\n fetch: refetch,\n dataSet,\n url,\n };\n}\n\nexport type UseResourceManyResponse = {\n data?: any;\n meta?: {\n total?: number;\n count?: number;\n };\n page: number;\n limit: number;\n totalPages: number;\n total: number;\n limitOptions: number[];\n setPage: (page: number) => void;\n setLimit: (limit: number) => void;\n hasNext: boolean;\n hasPrevious: boolean;\n};\nexport function useResourceMany(\n resource: string,\n query?: Record<string, any> | null,\n options?: RequestInit | null\n): UseResourceManyResponse {\n // allow developer to set a custom limit, fallback to a common value\n const [limit, setLimit] = useState(\n (query && query.limit) || DEFAULT_PAGINATION_LIMIT\n );\n const [pageParams, setPageParams] = useState({\n offset: (query && query.offset) || 0,\n limit,\n });\n // update options when limit is changed\n useEffect(() => {\n if (pageParams.limit !== limit) {\n setPageParams({ ...pageParams, limit: limit });\n }\n }, [limit]);\n // update user provided query with pagination params\n const queryKey = JSON.stringify(query);\n const pageParamsKey = JSON.stringify(pageParams);\n const q = useMemo(() => {\n return { ...pageParams, ...query };\n }, [queryKey, pageParamsKey]);\n const { data, ...rest } = useResourceManyBase(resource, q, options);\n // extract data/metadata from response\n const resp = data ? data.data : data;\n const meta = data ? data.meta : data;\n const totalPages = useMemo(\n () => (data && data.meta && data.meta.total) || 1,\n [data]\n );\n const total = useMemo(\n () => (data && data.meta && data.meta.count) || 0,\n [data]\n );\n const limitOptions = useMemo(() => DEFAULT_LIMIT_OPTIONS, []);\n const page = useMemo(() => {\n const offset = parseInt(pageParams.offset) || 0;\n const _limit = parseInt(`${pageParams.limit}`) || parseInt(`${limit}`);\n return offset / _limit;\n }, [pageParams]);\n // set params to specific page\n const setPage = useCallback(\n (page) => {\n if (page > totalPages) {\n page = totalPages;\n }\n if (page <= 0) {\n page = 0;\n }\n const _limit = limit || DEFAULT_PAGINATION_LIMIT;\n const offset = _limit * page;\n setPageParams({ offset, limit });\n },\n [setPageParams]\n );\n const hasNext = page < totalPages - 1;\n const hasPrevious = page > 0;\n return {\n data: resp,\n meta,\n page,\n limit,\n totalPages,\n total,\n limitOptions,\n setPage,\n setLimit,\n hasNext,\n hasPrevious,\n ...rest,\n };\n}\n"],
5
- "mappings": "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",
6
- "names": ["options", "data", "error", "page"]
7
- }
@@ -1,131 +0,0 @@
1
- import { APIError } from "@digigov/ui/api/APIErrors";
2
- async function parseErrors(response) {
3
- const errors = [];
4
- const error = {
5
- message: response.statusText,
6
- code: response.status,
7
- meta: {}
8
- };
9
- try {
10
- const json = await response.json();
11
- error.meta = json;
12
- try {
13
- const apiErrors = Object.keys(json);
14
- apiErrors.forEach((key) => json[key] && errors.push(json[key]));
15
- } catch (err) {
16
- console.error("Cannot parse json error", json);
17
- }
18
- } catch (err) {
19
- try {
20
- const text = await response.text();
21
- error.message = text;
22
- } catch (err2) {
23
- }
24
- }
25
- return errors;
26
- }
27
- async function processResponse(response, raiseError = false) {
28
- const status = response.status;
29
- try {
30
- if (!response.ok) {
31
- const errors = await parseErrors(response);
32
- if (raiseError) {
33
- throw new APIError(errors, status);
34
- }
35
- return {
36
- error: errors[0],
37
- status
38
- };
39
- }
40
- const contentType = response.headers.get("content-type");
41
- if (contentType && contentType.indexOf("application/json") !== -1) {
42
- const data = await response.json();
43
- return {
44
- data,
45
- status
46
- };
47
- } else {
48
- const data = await response.text();
49
- return {
50
- data,
51
- status
52
- };
53
- }
54
- } catch (error) {
55
- if (raiseError) {
56
- throw new APIError([error], status);
57
- }
58
- return {
59
- status,
60
- error
61
- };
62
- }
63
- }
64
- function getArgs(resource, id, query, data, options, method, baseURL, token) {
65
- let body, params;
66
- if (typeof query === "function") {
67
- params = new URLSearchParams(query()).toString();
68
- } else if (query) {
69
- params = new URLSearchParams(query).toString();
70
- }
71
- if (typeof data === "function") {
72
- body = JSON.stringify(data());
73
- } else if (data) {
74
- body = JSON.stringify(data);
75
- }
76
- if (typeof id === "function") {
77
- id = id();
78
- }
79
- if (!options) {
80
- options = {};
81
- }
82
- const url = `${baseURL}/${resource}${id ? `/${id}/` : ""}${params ? `?${params}` : ""}`;
83
- const _options = {
84
- headers: {
85
- "content-type": "application/json"
86
- },
87
- body,
88
- method,
89
- ...options
90
- };
91
- if (token) {
92
- _options.headers.Authorization = `Token ${token}`;
93
- }
94
- return [url, _options];
95
- }
96
- function getQueryKey(resource, id, query, data, options, method, baseURL, token) {
97
- let queryKey;
98
- if ([id, query, data].some((param) => typeof param === "function")) {
99
- queryKey = () => {
100
- return getArgs(
101
- resource,
102
- id,
103
- query,
104
- data,
105
- options,
106
- method,
107
- baseURL,
108
- token
109
- );
110
- };
111
- } else {
112
- queryKey = getArgs(
113
- resource,
114
- id,
115
- query,
116
- data,
117
- options,
118
- method,
119
- baseURL,
120
- token
121
- );
122
- }
123
- return queryKey;
124
- }
125
- export {
126
- getArgs,
127
- getQueryKey,
128
- parseErrors,
129
- processResponse
130
- };
131
- //# sourceMappingURL=utils.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/api/utils/index.js"
6
- }
package/api/utils.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { ArrayQueryKey } from 'react-query/types';
2
- export interface ProcessedResponse {
3
- data?: any;
4
- status: number;
5
- error?: any;
6
- }
7
- export declare function parseErrors(response: Response): Promise<string[]>;
8
- export declare function processResponse(response: any, raiseError?: boolean): Promise<ProcessedResponse>;
9
- export declare function getArgs(resource: any, id: any, query: any, data: any, options: any, method: any, baseURL: any, token: any): any[];
10
- export declare function getQueryKey(resource: string, id: string | number | null | undefined | ((...args: any) => void), query: Record<string, any> | null | undefined | ((...args: any) => void), data: Record<string, any> | null | undefined | ((...args: any) => void), options: RequestInit | null | undefined, method: string | null | undefined, baseURL: string, token: string | null | undefined): ArrayQueryKey | ((...args: any) => ArrayQueryKey);