@digigov/ui 0.11.0 → 0.12.2

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 (661) hide show
  1. package/.eslintrc.js +4 -0
  2. package/.prettierrc.js +3 -0
  3. package/.rush/temp/package-deps_build.json +176 -0
  4. package/.rush/temp/shrinkwrap-deps.json +278 -0
  5. package/CHANGELOG.json +796 -0
  6. package/CHANGELOG.md +22 -1
  7. package/docs/components.mdx +1 -0
  8. package/docs/create-a-new-service.mdx +93 -0
  9. package/docs/create-common-page-layout.mdx +205 -0
  10. package/docs/create-static-page.mdx +179 -0
  11. package/docs/edit-start-page.mdx +143 -0
  12. package/docs/index.mdx +66 -0
  13. package/docs/introduction.mdx +34 -0
  14. package/package.json +31 -8
  15. package/src/api/APIErrors.tsx +44 -0
  16. package/src/api/APIProvider.tsx +27 -0
  17. package/src/api/fetchAPI.ts +45 -0
  18. package/src/api/index.spec.tsx +419 -0
  19. package/{esm/api/index.js → src/api/index.tsx} +6 -3
  20. package/{api → src/api}/introduction.md +0 -0
  21. package/src/api/useResource.tsx +96 -0
  22. package/src/api/useResourceAction.tsx +80 -0
  23. package/src/api/useResourceQuery.tsx +177 -0
  24. package/src/api/utils.tsx +156 -0
  25. package/src/app/App.tsx +33 -0
  26. package/{app/Confirmation/index.d.ts → src/app/Confirmation/index.tsx} +0 -0
  27. package/{app/Footer/index.d.ts → src/app/Footer/index.tsx} +0 -0
  28. package/{es/app/Header/HeaderLogo.js → src/app/Header/HeaderLogo.tsx} +9 -7
  29. package/src/app/Header/HeaderSection.tsx +13 -0
  30. package/src/app/Header/HeaderTitle.tsx +24 -0
  31. package/{app → src/app}/Header/__snapshots__/index.spec.tsx.snap +0 -0
  32. package/{app → src/app}/Header/index.mdx +0 -0
  33. package/src/app/Header/index.spec.tsx +32 -0
  34. package/{esm/app/Header/index.js → src/app/Header/index.tsx} +10 -4
  35. package/src/app/NotFound/index.tsx +21 -0
  36. package/src/app/OutdatedBrowserBanner.tsx +37 -0
  37. package/src/app/PageTitle.tsx +70 -0
  38. package/{app → src/app}/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -0
  39. package/{app → src/app}/QrCodeScanner/index.mdx +0 -0
  40. package/src/app/QrCodeScanner/index.spec.tsx +19 -0
  41. package/src/app/QrCodeScanner/index.tsx +90 -0
  42. package/src/app/i18n.tsx +44 -0
  43. package/{app/index.d.ts → src/app/index.ts} +0 -0
  44. package/{core → src/core}/Accordion/__snapshots__/index.spec.tsx.snap +0 -0
  45. package/{core → src/core}/Accordion/index.mdx +0 -0
  46. package/src/core/Accordion/index.spec.tsx +30 -0
  47. package/src/core/Accordion/index.tsx +86 -0
  48. package/{core → src/core}/Blockquote/__snapshots__/index.spec.tsx.snap +0 -0
  49. package/{core → src/core}/Blockquote/index.mdx +0 -0
  50. package/src/core/Blockquote/index.spec.tsx +10 -0
  51. package/{esm/core/Blockquote/index.js → src/core/Blockquote/index.tsx} +9 -7
  52. package/{core/Breadcrumbs/index.d.ts → src/core/Breadcrumbs/index.tsx} +0 -0
  53. package/{esm/core/Button/BackButton.js → src/core/Button/BackButton.tsx} +10 -8
  54. package/src/core/Button/ButtonLink.tsx +20 -0
  55. package/src/core/Button/CallToAction.tsx +31 -0
  56. package/src/core/Button/Icon.tsx +9 -0
  57. package/{core → src/core}/Button/__snapshots__/index.spec.tsx.snap +0 -0
  58. package/{core → src/core}/Button/index.mdx +0 -0
  59. package/src/core/Button/index.spec.tsx +8 -0
  60. package/src/core/Button/index.tsx +46 -0
  61. package/{core/Card/index.d.ts → src/core/Card/index.tsx} +0 -0
  62. package/{core → src/core}/Details/__snapshots__/index.spec.tsx.snap +0 -0
  63. package/{core → src/core}/Details/index.mdx +0 -0
  64. package/src/core/Details/index.spec.tsx +38 -0
  65. package/{core/Details/index.d.ts → src/core/Details/index.tsx} +2 -0
  66. package/src/core/Divider/index.tsx +13 -0
  67. package/{core → src/core}/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -0
  68. package/{core → src/core}/ErrorSummary/index.mdx +0 -0
  69. package/src/core/ErrorSummary/index.spec.tsx +10 -0
  70. package/{core/ErrorSummary/index.d.ts → src/core/ErrorSummary/index.tsx} +1 -0
  71. package/{core/Hidden/index.d.ts → src/core/Hidden/index.tsx} +0 -0
  72. package/{core → src/core}/Link/__snapshots__/index.spec.tsx.snap +0 -0
  73. package/src/core/Link/index.spec.tsx +22 -0
  74. package/src/core/Link/index.tsx +41 -0
  75. package/{core/List/List.d.ts → src/core/List/List.tsx} +2 -0
  76. package/{core/List/ListItem.d.ts → src/core/List/ListItem.tsx} +2 -0
  77. package/src/core/List/ListItemContent.tsx +32 -0
  78. package/src/core/List/ListItemIcon.tsx +31 -0
  79. package/src/core/List/ListItemText.tsx +23 -0
  80. package/src/core/List/ListItemTitle.tsx +37 -0
  81. package/{core → src/core}/List/__snapshots__/index.spec.tsx.snap +0 -0
  82. package/{core → src/core}/List/index.mdx +0 -0
  83. package/src/core/List/index.spec.tsx +10 -0
  84. package/{core/List/index.d.ts → src/core/List/index.tsx} +0 -0
  85. package/src/core/NavList/NavList.tsx +103 -0
  86. package/src/core/NavList/NavListContext.tsx +85 -0
  87. package/src/core/NavList/NavListItem.tsx +143 -0
  88. package/src/core/NavList/NavListItemBase.tsx +146 -0
  89. package/src/core/NavList/NavListSubMenu.tsx +33 -0
  90. package/{core → src/core}/NavList/__snapshots__/index.spec.tsx.snap +0 -0
  91. package/{core → src/core}/NavList/index.mdx +0 -0
  92. package/src/core/NavList/index.spec.tsx +10 -0
  93. package/{core/NavList/index.d.ts → src/core/NavList/index.tsx} +0 -0
  94. package/{core → src/core}/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -0
  95. package/{core → src/core}/NotificationBanner/index.mdx +0 -0
  96. package/src/core/NotificationBanner/index.spec.tsx +27 -0
  97. package/src/core/NotificationBanner/index.tsx +52 -0
  98. package/{core → src/core}/ServiceBadge/ServiceBadge.mdx +0 -0
  99. package/{core → src/core}/ServiceBadge/index.mdx +0 -0
  100. package/src/core/ServiceBadge/index.tsx +35 -0
  101. package/{core → src/core}/SummaryList/__snapshots__/index.spec.tsx.snap +0 -0
  102. package/{core → src/core}/SummaryList/index.mdx +0 -0
  103. package/src/core/SummaryList/index.spec.tsx +28 -0
  104. package/{core/SummaryList/index.d.ts → src/core/SummaryList/index.tsx} +2 -0
  105. package/{core/Table/index.d.ts → src/core/Table/index.tsx} +0 -0
  106. package/{core → src/core}/Tabs/index.mdx +0 -0
  107. package/src/core/Tabs/index.tsx +36 -0
  108. package/{core/VisuallyHidden/index.d.ts → src/core/VisuallyHidden/index.tsx} +0 -0
  109. package/{core → src/core}/WarningText/__snapshots__/index.spec.tsx.snap +0 -0
  110. package/{core → src/core}/WarningText/index.mdx +0 -0
  111. package/src/core/WarningText/index.spec.tsx +10 -0
  112. package/{core/WarningText/index.d.ts → src/core/WarningText/index.tsx} +1 -0
  113. package/{core/index.d.ts → src/core/index.ts} +3 -0
  114. package/src/custom.d.ts +8 -0
  115. package/{es → src}/form/inputs/Input/index.mdx +0 -0
  116. package/src/govgr/Footer/Copyright.tsx +64 -0
  117. package/{govgr/Footer/HellenicRepublicLogo.d.ts → src/govgr/Footer/HellenicRepublicLogo.tsx} +1 -0
  118. package/src/govgr/Footer/LicenseCCSA.tsx +24 -0
  119. package/{es → src}/govgr/Footer/index.mdx +0 -0
  120. package/src/govgr/Footer/index.tsx +49 -0
  121. package/{esm/govgr/Footer/logo.js → src/govgr/Footer/logo.ts} +1 -1
  122. package/{esm/govgr/Footer/logos/logo-el.js → src/govgr/Footer/logos/logo-el.ts} +1 -1
  123. package/{esm/govgr/Footer/logos/logo-en.js → src/govgr/Footer/logos/logo-en.ts} +1 -1
  124. package/{es → src}/govgr/Logo/govgr-logo.svg +0 -0
  125. package/{govgr/Logo/index.d.ts → src/govgr/Logo/index.tsx} +2 -0
  126. package/{es/govgr/Logo/logo.js → src/govgr/Logo/logo.ts} +1 -1
  127. package/{govgr/index.d.ts → src/govgr/index.ts} +0 -0
  128. package/src/hooks/useDebounce.ts +50 -0
  129. package/src/hooks/useLatest.ts +12 -0
  130. package/{esm/hooks/useOutdatedBrowserCheck.js → src/hooks/useOutdatedBrowserCheck.ts} +16 -15
  131. package/src/hooks/useSearch.ts +47 -0
  132. package/src/hooks/useTogglableSections.tsx +102 -0
  133. package/{index.d.ts → src/index.ts} +0 -0
  134. package/{es → src}/layouts/Basic/Bottom/index.mdx +0 -0
  135. package/{layouts/Basic/Bottom/index.d.ts → src/layouts/Basic/Bottom/index.tsx} +1 -0
  136. package/{es → src}/layouts/Basic/Content/index.mdx +0 -0
  137. package/src/layouts/Basic/Content/index.tsx +24 -0
  138. package/{es → src}/layouts/Basic/Main/index.mdx +0 -0
  139. package/{layouts/Basic/Main/index.d.ts → src/layouts/Basic/Main/index.tsx} +1 -0
  140. package/{es → src}/layouts/Basic/Masthead/index.mdx +0 -0
  141. package/{layouts/Basic/Masthead/index.d.ts → src/layouts/Basic/Masthead/index.tsx} +2 -0
  142. package/{es → src}/layouts/Basic/Side/index.mdx +0 -0
  143. package/{esm/layouts/Basic/Side/index.js → src/layouts/Basic/Side/index.tsx} +5 -3
  144. package/{es → src}/layouts/Basic/Top/index.mdx +0 -0
  145. package/{es/layouts/Basic/Top/index.js → src/layouts/Basic/Top/index.tsx} +7 -5
  146. package/{es → src}/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -0
  147. package/{es → src}/layouts/Basic/index.mdx +0 -0
  148. package/src/layouts/Basic/index.spec.tsx +24 -0
  149. package/{layouts/Basic/index.d.ts → src/layouts/Basic/index.tsx} +2 -0
  150. package/{layouts/Grid/index.d.ts → src/layouts/Grid/index.tsx} +0 -0
  151. package/{layouts/index.d.ts → src/layouts/index.ts} +0 -0
  152. package/src/locales/el.ts +60 -0
  153. package/{esm/locales/en.js → src/locales/en.ts} +25 -11
  154. package/{es → src}/router/index.mdx +0 -0
  155. package/src/router/index.tsx +28 -0
  156. package/src/test-utils/delay.ts +9 -0
  157. package/src/test-utils/mountWithTheme.tsx +33 -0
  158. package/{es → src}/themes/govgr.js +33 -29
  159. package/src/themes/grnet.js +109 -0
  160. package/src/themes/index.tsx +38 -0
  161. package/src/typography/Caption.tsx +15 -0
  162. package/src/typography/NormalText.tsx +7 -0
  163. package/src/typography/Paragraph.tsx +9 -0
  164. package/src/typography/Title.tsx +51 -0
  165. package/{es → src}/typography/index.mdx +0 -0
  166. package/{typography/index.d.ts → src/typography/index.ts} +0 -0
  167. package/src/utils/evaluateBrowserVersion.ts +346 -0
  168. package/src/utils/withDeprecation.tsx +97 -0
  169. package/tsconfig.json +18 -0
  170. package/tsconfig.production.json +27 -0
  171. package/ui.build.log +17 -0
  172. package/LICENSE +0 -0
  173. package/api/APIErrors.d.ts +0 -22
  174. package/api/APIErrors.js +0 -117
  175. package/api/APIProvider.d.ts +0 -15
  176. package/api/APIProvider.js +0 -43
  177. package/api/fetchAPI.d.ts +0 -18
  178. package/api/fetchAPI.js +0 -64
  179. package/api/index.d.ts +0 -9
  180. package/api/index.js +0 -104
  181. package/api/index.spec.d.ts +0 -1
  182. package/api/index.spec.js +0 -584
  183. package/api/useResource.d.ts +0 -11
  184. package/api/useResource.js +0 -144
  185. package/api/useResourceAction.d.ts +0 -2
  186. package/api/useResourceAction.js +0 -157
  187. package/api/useResourceQuery.d.ts +0 -18
  188. package/api/useResourceQuery.js +0 -229
  189. package/api/utils.d.ts +0 -6
  190. package/api/utils.js +0 -250
  191. package/app/App.d.ts +0 -14
  192. package/app/App.js +0 -49
  193. package/app/Confirmation/index.js +0 -44
  194. package/app/Footer/index.js +0 -200
  195. package/app/Header/HeaderLogo.d.ts +0 -3
  196. package/app/Header/HeaderLogo.js +0 -30
  197. package/app/Header/HeaderSection.d.ts +0 -5
  198. package/app/Header/HeaderSection.js +0 -20
  199. package/app/Header/HeaderTitle.d.ts +0 -5
  200. package/app/Header/HeaderTitle.js +0 -30
  201. package/app/Header/index.d.ts +0 -11
  202. package/app/Header/index.js +0 -106
  203. package/app/Header/index.spec.d.ts +0 -1
  204. package/app/Header/index.spec.js +0 -45
  205. package/app/NotFound/index.d.ts +0 -3
  206. package/app/NotFound/index.js +0 -29
  207. package/app/OutdatedBrowserBanner.d.ts +0 -2
  208. package/app/OutdatedBrowserBanner.js +0 -41
  209. package/app/PageTitle.d.ts +0 -10
  210. package/app/PageTitle.js +0 -76
  211. package/app/QrCodeScanner/index.d.ts +0 -29
  212. package/app/QrCodeScanner/index.js +0 -85
  213. package/app/QrCodeScanner/index.spec.d.ts +0 -1
  214. package/app/QrCodeScanner/index.spec.js +0 -26
  215. package/app/i18n.d.ts +0 -10
  216. package/app/i18n.js +0 -57
  217. package/app/index.js +0 -70
  218. package/core/Accordion/index.d.ts +0 -21
  219. package/core/Accordion/index.js +0 -127
  220. package/core/Accordion/index.spec.d.ts +0 -1
  221. package/core/Accordion/index.spec.js +0 -19
  222. package/core/Blockquote/index.d.ts +0 -3
  223. package/core/Blockquote/index.js +0 -29
  224. package/core/Blockquote/index.spec.d.ts +0 -1
  225. package/core/Blockquote/index.spec.js +0 -21
  226. package/core/Breadcrumbs/index.js +0 -44
  227. package/core/Button/BackButton.d.ts +0 -3
  228. package/core/Button/BackButton.js +0 -34
  229. package/core/Button/ButtonLink.d.ts +0 -4
  230. package/core/Button/ButtonLink.js +0 -28
  231. package/core/Button/CallToAction.d.ts +0 -7
  232. package/core/Button/CallToAction.js +0 -41
  233. package/core/Button/Icon.d.ts +0 -2
  234. package/core/Button/Icon.js +0 -19
  235. package/core/Button/index.d.ts +0 -15
  236. package/core/Button/index.js +0 -121
  237. package/core/Button/index.spec.d.ts +0 -1
  238. package/core/Button/index.spec.js +0 -21
  239. package/core/Card/index.js +0 -57
  240. package/core/Details/index.js +0 -35
  241. package/core/Details/index.spec.d.ts +0 -1
  242. package/core/Details/index.spec.js +0 -27
  243. package/core/Divider/index.d.ts +0 -5
  244. package/core/Divider/index.js +0 -20
  245. package/core/ErrorSummary/index.js +0 -19
  246. package/core/ErrorSummary/index.spec.d.ts +0 -1
  247. package/core/ErrorSummary/index.spec.js +0 -21
  248. package/core/Hidden/index.js +0 -18
  249. package/core/Link/index.d.ts +0 -12
  250. package/core/Link/index.js +0 -50
  251. package/core/Link/index.spec.d.ts +0 -1
  252. package/core/Link/index.spec.js +0 -31
  253. package/core/List/List.js +0 -19
  254. package/core/List/ListItem.js +0 -19
  255. package/core/List/ListItemContent.d.ts +0 -7
  256. package/core/List/ListItemContent.js +0 -45
  257. package/core/List/ListItemIcon.d.ts +0 -7
  258. package/core/List/ListItemIcon.js +0 -48
  259. package/core/List/ListItemText.d.ts +0 -8
  260. package/core/List/ListItemText.js +0 -36
  261. package/core/List/ListItemTitle.d.ts +0 -10
  262. package/core/List/ListItemTitle.js +0 -44
  263. package/core/List/index.js +0 -96
  264. package/core/List/index.spec.d.ts +0 -1
  265. package/core/List/index.spec.js +0 -21
  266. package/core/NavList/NavList.d.ts +0 -17
  267. package/core/NavList/NavList.js +0 -99
  268. package/core/NavList/NavListContext.d.ts +0 -20
  269. package/core/NavList/NavListContext.js +0 -102
  270. package/core/NavList/NavListItem.d.ts +0 -13
  271. package/core/NavList/NavListItem.js +0 -171
  272. package/core/NavList/NavListItemBase.d.ts +0 -16
  273. package/core/NavList/NavListItemBase.js +0 -161
  274. package/core/NavList/NavListSubMenu.d.ts +0 -8
  275. package/core/NavList/NavListSubMenu.js +0 -52
  276. package/core/NavList/index.js +0 -68
  277. package/core/NavList/index.spec.d.ts +0 -1
  278. package/core/NavList/index.spec.js +0 -21
  279. package/core/NotificationBanner/index.d.ts +0 -18
  280. package/core/NotificationBanner/index.js +0 -78
  281. package/core/NotificationBanner/index.spec.d.ts +0 -1
  282. package/core/NotificationBanner/index.spec.js +0 -32
  283. package/core/ServiceBadge/index.d.ts +0 -9
  284. package/core/ServiceBadge/index.js +0 -36
  285. package/core/SummaryList/index.js +0 -79
  286. package/core/SummaryList/index.spec.d.ts +0 -1
  287. package/core/SummaryList/index.spec.js +0 -19
  288. package/core/Table/index.js +0 -96
  289. package/core/Tabs/index.d.ts +0 -16
  290. package/core/Tabs/index.js +0 -88
  291. package/core/VisuallyHidden/index.js +0 -18
  292. package/core/WarningText/index.js +0 -19
  293. package/core/WarningText/index.spec.d.ts +0 -1
  294. package/core/WarningText/index.spec.js +0 -21
  295. package/core/index.js +0 -199
  296. package/custom.d.js +0 -1
  297. package/es/api/APIErrors.js +0 -96
  298. package/es/api/APIProvider.js +0 -25
  299. package/es/api/fetchAPI.js +0 -49
  300. package/es/api/index.js +0 -13
  301. package/es/api/index.spec.js +0 -546
  302. package/es/api/introduction.md +0 -6
  303. package/es/api/useResource.js +0 -128
  304. package/es/api/useResourceAction.js +0 -141
  305. package/es/api/useResourceQuery.js +0 -208
  306. package/es/api/utils.js +0 -233
  307. package/es/app/App.js +0 -27
  308. package/es/app/Confirmation/index.js +0 -3
  309. package/es/app/Footer/index.js +0 -15
  310. package/es/app/Header/HeaderSection.js +0 -7
  311. package/es/app/Header/HeaderTitle.js +0 -17
  312. package/es/app/Header/__snapshots__/index.spec.tsx.snap +0 -393
  313. package/es/app/Header/index.js +0 -13
  314. package/es/app/Header/index.mdx +0 -50
  315. package/es/app/Header/index.spec.js +0 -32
  316. package/es/app/NotFound/index.js +0 -12
  317. package/es/app/OutdatedBrowserBanner.js +0 -24
  318. package/es/app/PageTitle.js +0 -57
  319. package/es/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -22
  320. package/es/app/QrCodeScanner/index.js +0 -64
  321. package/es/app/QrCodeScanner/index.mdx +0 -22
  322. package/es/app/QrCodeScanner/index.spec.js +0 -13
  323. package/es/app/i18n.js +0 -36
  324. package/es/app/index.js +0 -5
  325. package/es/core/Accordion/__snapshots__/index.spec.tsx.snap +0 -78
  326. package/es/core/Accordion/index.js +0 -67
  327. package/es/core/Accordion/index.mdx +0 -104
  328. package/es/core/Accordion/index.spec.js +0 -9
  329. package/es/core/Blockquote/__snapshots__/index.spec.tsx.snap +0 -13
  330. package/es/core/Blockquote/index.js +0 -16
  331. package/es/core/Blockquote/index.mdx +0 -61
  332. package/es/core/Blockquote/index.spec.js +0 -9
  333. package/es/core/Breadcrumbs/index.js +0 -3
  334. package/es/core/Button/BackButton.js +0 -21
  335. package/es/core/Button/ButtonLink.js +0 -16
  336. package/es/core/Button/CallToAction.js +0 -27
  337. package/es/core/Button/Icon.js +0 -7
  338. package/es/core/Button/__snapshots__/index.spec.tsx.snap +0 -13
  339. package/es/core/Button/index.js +0 -36
  340. package/es/core/Button/index.mdx +0 -65
  341. package/es/core/Button/index.spec.js +0 -9
  342. package/es/core/Card/index.js +0 -4
  343. package/es/core/Details/__snapshots__/index.spec.tsx.snap +0 -50
  344. package/es/core/Details/index.js +0 -5
  345. package/es/core/Details/index.mdx +0 -34
  346. package/es/core/Details/index.spec.js +0 -17
  347. package/es/core/Divider/index.js +0 -7
  348. package/es/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -322
  349. package/es/core/ErrorSummary/index.js +0 -3
  350. package/es/core/ErrorSummary/index.mdx +0 -61
  351. package/es/core/ErrorSummary/index.spec.js +0 -9
  352. package/es/core/Hidden/index.js +0 -1
  353. package/es/core/Link/__snapshots__/index.spec.tsx.snap +0 -31
  354. package/es/core/Link/index.js +0 -26
  355. package/es/core/Link/index.spec.js +0 -21
  356. package/es/core/List/List.js +0 -3
  357. package/es/core/List/ListItem.js +0 -3
  358. package/es/core/List/ListItemContent.js +0 -27
  359. package/es/core/List/ListItemIcon.js +0 -29
  360. package/es/core/List/ListItemText.js +0 -19
  361. package/es/core/List/ListItemTitle.js +0 -25
  362. package/es/core/List/__snapshots__/index.spec.tsx.snap +0 -322
  363. package/es/core/List/index.js +0 -7
  364. package/es/core/List/index.mdx +0 -40
  365. package/es/core/List/index.spec.js +0 -9
  366. package/es/core/NavList/NavList.js +0 -78
  367. package/es/core/NavList/NavListContext.js +0 -80
  368. package/es/core/NavList/NavListItem.js +0 -141
  369. package/es/core/NavList/NavListItemBase.js +0 -133
  370. package/es/core/NavList/NavListSubMenu.js +0 -27
  371. package/es/core/NavList/__snapshots__/index.spec.tsx.snap +0 -334
  372. package/es/core/NavList/index.js +0 -5
  373. package/es/core/NavList/index.mdx +0 -185
  374. package/es/core/NavList/index.spec.js +0 -9
  375. package/es/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -737
  376. package/es/core/NotificationBanner/index.js +0 -35
  377. package/es/core/NotificationBanner/index.mdx +0 -77
  378. package/es/core/NotificationBanner/index.spec.js +0 -20
  379. package/es/core/ServiceBadge/ServiceBadge.mdx +0 -0
  380. package/es/core/ServiceBadge/index.js +0 -20
  381. package/es/core/ServiceBadge/index.mdx +0 -42
  382. package/es/core/SummaryList/__snapshots__/index.spec.tsx.snap +0 -57
  383. package/es/core/SummaryList/index.js +0 -7
  384. package/es/core/SummaryList/index.mdx +0 -82
  385. package/es/core/SummaryList/index.spec.js +0 -9
  386. package/es/core/Table/index.js +0 -7
  387. package/es/core/Tabs/index.js +0 -37
  388. package/es/core/Tabs/index.mdx +0 -54
  389. package/es/core/VisuallyHidden/index.js +0 -1
  390. package/es/core/WarningText/__snapshots__/index.spec.tsx.snap +0 -336
  391. package/es/core/WarningText/index.js +0 -3
  392. package/es/core/WarningText/index.mdx +0 -46
  393. package/es/core/WarningText/index.spec.js +0 -9
  394. package/es/core/index.js +0 -14
  395. package/es/custom.d.js +0 -0
  396. package/es/govgr/Footer/Copyright.js +0 -37
  397. package/es/govgr/Footer/HellenicRepublicLogo.js +0 -3
  398. package/es/govgr/Footer/LicenseCCSA.js +0 -18
  399. package/es/govgr/Footer/index.js +0 -21
  400. package/es/govgr/Footer/logo.js +0 -1
  401. package/es/govgr/Footer/logos/logo-el.js +0 -1
  402. package/es/govgr/Footer/logos/logo-en.js +0 -1
  403. package/es/govgr/Logo/index.js +0 -3
  404. package/es/govgr/index.js +0 -4
  405. package/es/hooks/useDebounce.js +0 -41
  406. package/es/hooks/useLatest.js +0 -12
  407. package/es/hooks/useOutdatedBrowserCheck.js +0 -46
  408. package/es/hooks/useSearch.js +0 -25
  409. package/es/hooks/useTogglableSections.js +0 -96
  410. package/es/index.js +0 -5
  411. package/es/layouts/Basic/Bottom/index.js +0 -3
  412. package/es/layouts/Basic/Content/index.js +0 -18
  413. package/es/layouts/Basic/Main/index.js +0 -3
  414. package/es/layouts/Basic/Masthead/index.js +0 -4
  415. package/es/layouts/Basic/Side/index.js +0 -7
  416. package/es/layouts/Basic/index.js +0 -8
  417. package/es/layouts/Basic/index.spec.js +0 -10
  418. package/es/layouts/Grid/index.js +0 -1
  419. package/es/layouts/index.js +0 -2
  420. package/es/locales/el.js +0 -45
  421. package/es/locales/en.js +0 -45
  422. package/es/router/index.js +0 -15
  423. package/es/test-utils/delay.js +0 -31
  424. package/es/test-utils/mountWithTheme.js +0 -30
  425. package/es/themes/grnet.js +0 -110
  426. package/es/themes/index.js +0 -2
  427. package/es/typography/Caption.js +0 -7
  428. package/es/typography/NormalText.js +0 -3
  429. package/es/typography/Paragraph.js +0 -2
  430. package/es/typography/Title.js +0 -48
  431. package/es/typography/index.js +0 -8
  432. package/es/utils/evaluateBrowserVersion.js +0 -201
  433. package/es/utils/withDeprecation.js +0 -103
  434. package/esm/api/APIErrors.js +0 -96
  435. package/esm/api/APIProvider.js +0 -25
  436. package/esm/api/fetchAPI.js +0 -49
  437. package/esm/api/index.spec.js +0 -546
  438. package/esm/api/introduction.md +0 -6
  439. package/esm/api/useResource.js +0 -128
  440. package/esm/api/useResourceAction.js +0 -141
  441. package/esm/api/useResourceQuery.js +0 -208
  442. package/esm/api/utils.js +0 -233
  443. package/esm/app/App.js +0 -27
  444. package/esm/app/Confirmation/index.js +0 -3
  445. package/esm/app/Footer/index.js +0 -15
  446. package/esm/app/Header/HeaderLogo.js +0 -17
  447. package/esm/app/Header/HeaderSection.js +0 -7
  448. package/esm/app/Header/HeaderTitle.js +0 -17
  449. package/esm/app/Header/__snapshots__/index.spec.tsx.snap +0 -393
  450. package/esm/app/Header/index.mdx +0 -50
  451. package/esm/app/Header/index.spec.js +0 -32
  452. package/esm/app/NotFound/index.js +0 -12
  453. package/esm/app/OutdatedBrowserBanner.js +0 -24
  454. package/esm/app/PageTitle.js +0 -57
  455. package/esm/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -22
  456. package/esm/app/QrCodeScanner/index.js +0 -64
  457. package/esm/app/QrCodeScanner/index.mdx +0 -22
  458. package/esm/app/QrCodeScanner/index.spec.js +0 -13
  459. package/esm/app/i18n.js +0 -36
  460. package/esm/app/index.js +0 -5
  461. package/esm/core/Accordion/__snapshots__/index.spec.tsx.snap +0 -78
  462. package/esm/core/Accordion/index.js +0 -67
  463. package/esm/core/Accordion/index.mdx +0 -104
  464. package/esm/core/Accordion/index.spec.js +0 -9
  465. package/esm/core/Blockquote/__snapshots__/index.spec.tsx.snap +0 -13
  466. package/esm/core/Blockquote/index.mdx +0 -61
  467. package/esm/core/Blockquote/index.spec.js +0 -9
  468. package/esm/core/Breadcrumbs/index.js +0 -3
  469. package/esm/core/Button/ButtonLink.js +0 -16
  470. package/esm/core/Button/CallToAction.js +0 -27
  471. package/esm/core/Button/Icon.js +0 -7
  472. package/esm/core/Button/__snapshots__/index.spec.tsx.snap +0 -13
  473. package/esm/core/Button/index.js +0 -36
  474. package/esm/core/Button/index.mdx +0 -65
  475. package/esm/core/Button/index.spec.js +0 -9
  476. package/esm/core/Card/index.js +0 -4
  477. package/esm/core/Details/__snapshots__/index.spec.tsx.snap +0 -50
  478. package/esm/core/Details/index.js +0 -5
  479. package/esm/core/Details/index.mdx +0 -34
  480. package/esm/core/Details/index.spec.js +0 -17
  481. package/esm/core/Divider/index.js +0 -7
  482. package/esm/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -322
  483. package/esm/core/ErrorSummary/index.js +0 -3
  484. package/esm/core/ErrorSummary/index.mdx +0 -61
  485. package/esm/core/ErrorSummary/index.spec.js +0 -9
  486. package/esm/core/Hidden/index.js +0 -1
  487. package/esm/core/Link/__snapshots__/index.spec.tsx.snap +0 -31
  488. package/esm/core/Link/index.js +0 -26
  489. package/esm/core/Link/index.spec.js +0 -21
  490. package/esm/core/List/List.js +0 -3
  491. package/esm/core/List/ListItem.js +0 -3
  492. package/esm/core/List/ListItemContent.js +0 -27
  493. package/esm/core/List/ListItemIcon.js +0 -29
  494. package/esm/core/List/ListItemText.js +0 -19
  495. package/esm/core/List/ListItemTitle.js +0 -25
  496. package/esm/core/List/__snapshots__/index.spec.tsx.snap +0 -322
  497. package/esm/core/List/index.js +0 -7
  498. package/esm/core/List/index.mdx +0 -40
  499. package/esm/core/List/index.spec.js +0 -9
  500. package/esm/core/NavList/NavList.js +0 -78
  501. package/esm/core/NavList/NavListContext.js +0 -80
  502. package/esm/core/NavList/NavListItem.js +0 -141
  503. package/esm/core/NavList/NavListItemBase.js +0 -133
  504. package/esm/core/NavList/NavListSubMenu.js +0 -27
  505. package/esm/core/NavList/__snapshots__/index.spec.tsx.snap +0 -334
  506. package/esm/core/NavList/index.js +0 -5
  507. package/esm/core/NavList/index.mdx +0 -185
  508. package/esm/core/NavList/index.spec.js +0 -9
  509. package/esm/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -737
  510. package/esm/core/NotificationBanner/index.js +0 -35
  511. package/esm/core/NotificationBanner/index.mdx +0 -77
  512. package/esm/core/NotificationBanner/index.spec.js +0 -20
  513. package/esm/core/ServiceBadge/ServiceBadge.mdx +0 -0
  514. package/esm/core/ServiceBadge/index.js +0 -20
  515. package/esm/core/ServiceBadge/index.mdx +0 -42
  516. package/esm/core/SummaryList/__snapshots__/index.spec.tsx.snap +0 -57
  517. package/esm/core/SummaryList/index.js +0 -7
  518. package/esm/core/SummaryList/index.mdx +0 -82
  519. package/esm/core/SummaryList/index.spec.js +0 -9
  520. package/esm/core/Table/index.js +0 -7
  521. package/esm/core/Tabs/index.js +0 -37
  522. package/esm/core/Tabs/index.mdx +0 -54
  523. package/esm/core/VisuallyHidden/index.js +0 -1
  524. package/esm/core/WarningText/__snapshots__/index.spec.tsx.snap +0 -336
  525. package/esm/core/WarningText/index.js +0 -3
  526. package/esm/core/WarningText/index.mdx +0 -46
  527. package/esm/core/WarningText/index.spec.js +0 -9
  528. package/esm/core/index.js +0 -14
  529. package/esm/custom.d.js +0 -0
  530. package/esm/form/inputs/Input/index.mdx +0 -10
  531. package/esm/govgr/Footer/Copyright.js +0 -37
  532. package/esm/govgr/Footer/HellenicRepublicLogo.js +0 -3
  533. package/esm/govgr/Footer/LicenseCCSA.js +0 -18
  534. package/esm/govgr/Footer/index.js +0 -21
  535. package/esm/govgr/Footer/index.mdx +0 -97
  536. package/esm/govgr/Logo/govgr-logo.svg +0 -1
  537. package/esm/govgr/Logo/index.js +0 -3
  538. package/esm/govgr/Logo/logo.js +0 -1
  539. package/esm/govgr/index.js +0 -4
  540. package/esm/hooks/useDebounce.js +0 -41
  541. package/esm/hooks/useLatest.js +0 -12
  542. package/esm/hooks/useSearch.js +0 -25
  543. package/esm/hooks/useTogglableSections.js +0 -96
  544. package/esm/index.js +0 -10
  545. package/esm/layouts/Basic/Bottom/index.js +0 -3
  546. package/esm/layouts/Basic/Bottom/index.mdx +0 -37
  547. package/esm/layouts/Basic/Content/index.js +0 -18
  548. package/esm/layouts/Basic/Content/index.mdx +0 -64
  549. package/esm/layouts/Basic/Main/index.js +0 -3
  550. package/esm/layouts/Basic/Main/index.mdx +0 -64
  551. package/esm/layouts/Basic/Masthead/index.js +0 -4
  552. package/esm/layouts/Basic/Masthead/index.mdx +0 -74
  553. package/esm/layouts/Basic/Side/index.mdx +0 -71
  554. package/esm/layouts/Basic/Top/index.js +0 -11
  555. package/esm/layouts/Basic/Top/index.mdx +0 -74
  556. package/esm/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -54
  557. package/esm/layouts/Basic/index.js +0 -8
  558. package/esm/layouts/Basic/index.mdx +0 -62
  559. package/esm/layouts/Basic/index.spec.js +0 -10
  560. package/esm/layouts/Grid/index.js +0 -1
  561. package/esm/layouts/index.js +0 -2
  562. package/esm/locales/el.js +0 -45
  563. package/esm/router/index.js +0 -15
  564. package/esm/router/index.mdx +0 -40
  565. package/esm/test-utils/delay.js +0 -31
  566. package/esm/test-utils/mountWithTheme.js +0 -30
  567. package/esm/themes/govgr.js +0 -79
  568. package/esm/themes/grnet.js +0 -110
  569. package/esm/themes/index.js +0 -2
  570. package/esm/typography/Caption.js +0 -7
  571. package/esm/typography/NormalText.js +0 -3
  572. package/esm/typography/Paragraph.js +0 -2
  573. package/esm/typography/Title.js +0 -48
  574. package/esm/typography/index.js +0 -8
  575. package/esm/typography/index.mdx +0 -32
  576. package/esm/utils/evaluateBrowserVersion.js +0 -201
  577. package/esm/utils/withDeprecation.js +0 -103
  578. package/form/inputs/Input/index.mdx +0 -10
  579. package/govgr/Footer/Copyright.d.ts +0 -8
  580. package/govgr/Footer/Copyright.js +0 -52
  581. package/govgr/Footer/HellenicRepublicLogo.js +0 -19
  582. package/govgr/Footer/LicenseCCSA.d.ts +0 -3
  583. package/govgr/Footer/LicenseCCSA.js +0 -33
  584. package/govgr/Footer/index.d.ts +0 -13
  585. package/govgr/Footer/index.js +0 -39
  586. package/govgr/Footer/index.mdx +0 -97
  587. package/govgr/Footer/logo.d.ts +0 -2
  588. package/govgr/Footer/logo.js +0 -8
  589. package/govgr/Footer/logos/logo-el.d.ts +0 -2
  590. package/govgr/Footer/logos/logo-el.js +0 -8
  591. package/govgr/Footer/logos/logo-en.d.ts +0 -2
  592. package/govgr/Footer/logos/logo-en.js +0 -8
  593. package/govgr/Logo/govgr-logo.svg +0 -1
  594. package/govgr/Logo/index.js +0 -19
  595. package/govgr/Logo/logo.d.ts +0 -2
  596. package/govgr/Logo/logo.js +0 -8
  597. package/govgr/index.js +0 -57
  598. package/hooks/useDebounce.d.ts +0 -3
  599. package/hooks/useDebounce.js +0 -63
  600. package/hooks/useLatest.d.ts +0 -3
  601. package/hooks/useLatest.js +0 -26
  602. package/hooks/useOutdatedBrowserCheck.d.ts +0 -2
  603. package/hooks/useOutdatedBrowserCheck.js +0 -60
  604. package/hooks/useSearch.d.ts +0 -4
  605. package/hooks/useSearch.js +0 -40
  606. package/hooks/useTogglableSections.d.ts +0 -18
  607. package/hooks/useTogglableSections.js +0 -108
  608. package/index.js +0 -70
  609. package/layouts/Basic/Bottom/index.js +0 -19
  610. package/layouts/Basic/Bottom/index.mdx +0 -37
  611. package/layouts/Basic/Content/index.d.ts +0 -5
  612. package/layouts/Basic/Content/index.js +0 -31
  613. package/layouts/Basic/Content/index.mdx +0 -64
  614. package/layouts/Basic/Main/index.js +0 -19
  615. package/layouts/Basic/Main/index.mdx +0 -64
  616. package/layouts/Basic/Masthead/index.js +0 -27
  617. package/layouts/Basic/Masthead/index.mdx +0 -74
  618. package/layouts/Basic/Side/index.d.ts +0 -3
  619. package/layouts/Basic/Side/index.js +0 -20
  620. package/layouts/Basic/Side/index.mdx +0 -71
  621. package/layouts/Basic/Top/index.d.ts +0 -3
  622. package/layouts/Basic/Top/index.js +0 -24
  623. package/layouts/Basic/Top/index.mdx +0 -74
  624. package/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -54
  625. package/layouts/Basic/index.js +0 -97
  626. package/layouts/Basic/index.mdx +0 -62
  627. package/layouts/Basic/index.spec.d.ts +0 -1
  628. package/layouts/Basic/index.spec.js +0 -20
  629. package/layouts/Grid/index.js +0 -18
  630. package/layouts/index.js +0 -34
  631. package/locales/el.d.ts +0 -46
  632. package/locales/el.js +0 -52
  633. package/locales/en.d.ts +0 -46
  634. package/locales/en.js +0 -52
  635. package/router/index.d.ts +0 -9
  636. package/router/index.js +0 -37
  637. package/router/index.mdx +0 -40
  638. package/test-utils/delay.d.ts +0 -2
  639. package/test-utils/delay.js +0 -45
  640. package/test-utils/mountWithTheme.d.ts +0 -3
  641. package/test-utils/mountWithTheme.js +0 -43
  642. package/themes/govgr.d.ts +0 -3
  643. package/themes/govgr.js +0 -89
  644. package/themes/grnet.d.ts +0 -2
  645. package/themes/grnet.js +0 -128
  646. package/themes/index.d.ts +0 -32
  647. package/themes/index.js +0 -19
  648. package/typography/Caption.d.ts +0 -7
  649. package/typography/Caption.js +0 -20
  650. package/typography/NormalText.d.ts +0 -5
  651. package/typography/NormalText.js +0 -19
  652. package/typography/Paragraph.d.ts +0 -6
  653. package/typography/Paragraph.js +0 -13
  654. package/typography/Title.d.ts +0 -9
  655. package/typography/Title.js +0 -63
  656. package/typography/index.js +0 -97
  657. package/typography/index.mdx +0 -32
  658. package/utils/evaluateBrowserVersion.d.ts +0 -15
  659. package/utils/evaluateBrowserVersion.js +0 -216
  660. package/utils/withDeprecation.d.ts +0 -16
  661. package/utils/withDeprecation.js +0 -116
@@ -1,546 +0,0 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
- import _extends from "@babel/runtime/helpers/extends";
5
-
6
- /* eslint-disable @typescript-eslint/explicit-function-return-type */
7
- import React, { Suspense, useEffect } from 'react';
8
- import { render, fireEvent } from '@testing-library/react';
9
- import fetchMock from 'fetch-mock';
10
- import { APIProvider, useResource, useResourceAction, useResourceMany, APIErrors } from '@digigov/ui/api/index';
11
- import delay from '@digigov/ui/test-utils/delay';
12
- import fetchAPI from '@digigov/ui/api/fetchAPI';
13
- import 'whatwg-fetch';
14
-
15
- var _ref2 = /*#__PURE__*/React.createElement("span", null, "something went wrong");
16
-
17
- var HandleError = function HandleError(_ref) {
18
- var error = _ref.error;
19
-
20
- if (error.name === 'APIError') {
21
- error = error.error;
22
-
23
- if (error.status === 404) {
24
- return /*#__PURE__*/React.createElement(React.Fragment, null, "Not found");
25
- }
26
- } // TODO: render the <SomethingWentWrong /> page here
27
-
28
-
29
- return _ref2;
30
- };
31
-
32
- var makeWrapper = function makeWrapper(_ref3) {
33
- var config = _ref3.config,
34
- token = _ref3.token;
35
- return function (_ref4) {
36
- var children = _ref4.children;
37
- return /*#__PURE__*/React.createElement(Suspense, {
38
- fallback: 'Loading'
39
- }, /*#__PURE__*/React.createElement(APIErrors, {
40
- fallback: HandleError
41
- }, /*#__PURE__*/React.createElement(APIProvider, {
42
- config: config,
43
- token: token
44
- }, children)));
45
- };
46
- };
47
-
48
- var BASE_URL = 'http://test/api';
49
- var TOKEN = 'mytoken';
50
- var DELAY = 100;
51
-
52
- var buildMockOptions = function buildMockOptions(_ref5) {
53
- var resource = _ref5.resource,
54
- _ref5$method = _ref5.method,
55
- method = _ref5$method === void 0 ? 'GET' : _ref5$method,
56
- _ref5$authenticated = _ref5.authenticated,
57
- authenticated = _ref5$authenticated === void 0 ? true : _ref5$authenticated,
58
- _ref5$query = _ref5.query,
59
- query = _ref5$query === void 0 ? {} : _ref5$query,
60
- response = _ref5.response,
61
- _ref5$delay = _ref5.delay,
62
- delay = _ref5$delay === void 0 ? DELAY / 2 : _ref5$delay;
63
- var headers = {
64
- 'content-type': 'application/json'
65
- };
66
- var options = {
67
- delay: delay
68
- };
69
-
70
- if (authenticated) {
71
- headers.Authorization = "Token ".concat(TOKEN);
72
- }
73
-
74
- var params = new URLSearchParams(query).toString();
75
- return ["".concat(BASE_URL, "/").concat(resource).concat(params && "?".concat(params)), response, _extends({
76
- headers: headers,
77
- method: method
78
- }, options)];
79
- };
80
-
81
- var getAPI = function getAPI() {
82
- return {
83
- config: {
84
- baseURL: BASE_URL
85
- },
86
- token: TOKEN
87
- };
88
- };
89
-
90
- var wrapper = makeWrapper(getAPI());
91
- describe('fetchAPI', function () {
92
- fetchMock.config.overwriteRoutes = true;
93
- afterAll(function () {
94
- fetchMock.restore();
95
- });
96
- beforeEach(fetchMock.resetBehavior);
97
- beforeEach(fetchMock.resetHistory);
98
- it('fetchAPI gets', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
99
- var resource, path, _yield$fetchAPI, data;
100
-
101
- return _regeneratorRuntime.wrap(function _callee$(_context) {
102
- while (1) {
103
- switch (_context.prev = _context.next) {
104
- case 0:
105
- resource = 'resource';
106
- path = 'some_id';
107
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
108
- resource: "".concat(resource, "/").concat(path, "/"),
109
- response: {
110
- value: 'SWR'
111
- }
112
- })));
113
- _context.next = 5;
114
- return fetchAPI(resource, {
115
- path: path
116
- }, getAPI());
117
-
118
- case 5:
119
- _yield$fetchAPI = _context.sent;
120
- data = _yield$fetchAPI.data;
121
- expect(data.value).toBe('SWR');
122
- expect(fetchMock.calls()).toHaveLength(1);
123
-
124
- case 9:
125
- case "end":
126
- return _context.stop();
127
- }
128
- }
129
- }, _callee);
130
- })));
131
- });
132
- describe('useResource', function () {
133
- fetchMock.config.overwriteRoutes = true;
134
- afterAll(function () {
135
- fetchMock.restore();
136
- });
137
- beforeEach(fetchMock.resetBehavior);
138
- beforeEach(fetchMock.resetHistory);
139
- it('useResource should return data', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
140
- var resource, Page, _render, container, _container$firstChild, _container$firstChild2;
141
-
142
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
143
- while (1) {
144
- switch (_context2.prev = _context2.next) {
145
- case 0:
146
- Page = function _Page() {
147
- var _useResource = useResource(resource),
148
- data = _useResource.data;
149
-
150
- return /*#__PURE__*/React.createElement("div", null, "hello, ", data === null || data === void 0 ? void 0 : data.value);
151
- };
152
-
153
- resource = 'resource';
154
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
155
- resource: resource,
156
- response: {
157
- value: 'SWR'
158
- }
159
- })));
160
- _render = render( /*#__PURE__*/React.createElement(Page, null), {
161
- wrapper: wrapper
162
- }), container = _render.container;
163
- expect(container.firstChild).not.toBe(null);
164
-
165
- if (!container.firstChild) {
166
- _context2.next = 10;
167
- break;
168
- }
169
-
170
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild = container.firstChild) === null || _container$firstChild === void 0 ? void 0 : _container$firstChild.textContent).toMatchInlineSnapshot("\"hello, \"");
171
- _context2.next = 9;
172
- return delay(DELAY);
173
-
174
- case 9:
175
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild2 = container.firstChild) === null || _container$firstChild2 === void 0 ? void 0 : _container$firstChild2.textContent).toMatchInlineSnapshot("\"hello, SWR\"");
176
-
177
- case 10:
178
- expect(fetchMock.calls()).toHaveLength(1);
179
-
180
- case 11:
181
- case "end":
182
- return _context2.stop();
183
- }
184
- }
185
- }, _callee2);
186
- })));
187
- it('should run duplicate request once', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
188
- var _container$firstChild3, _container$firstChild4;
189
-
190
- var resource, Page, _render2, container;
191
-
192
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
193
- while (1) {
194
- switch (_context3.prev = _context3.next) {
195
- case 0:
196
- Page = function _Page2() {
197
- useResource(resource);
198
-
199
- var _useResource2 = useResource(resource),
200
- duplData = _useResource2.data;
201
-
202
- return /*#__PURE__*/React.createElement("div", null, "hello, ", duplData === null || duplData === void 0 ? void 0 : duplData.value);
203
- };
204
-
205
- resource = 'dupliresource';
206
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
207
- resource: resource,
208
- response: {
209
- value: 'myvalue'
210
- }
211
- })));
212
- _render2 = render( /*#__PURE__*/React.createElement(Page, null), {
213
- wrapper: wrapper
214
- }), container = _render2.container;
215
- expect(container.firstChild).not.toBe(null);
216
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild3 = container.firstChild) === null || _container$firstChild3 === void 0 ? void 0 : _container$firstChild3.textContent).toMatchInlineSnapshot("\"hello, \"");
217
- _context3.next = 8;
218
- return delay(DELAY);
219
-
220
- case 8:
221
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild4 = container.firstChild) === null || _container$firstChild4 === void 0 ? void 0 : _container$firstChild4.textContent).toMatchInlineSnapshot("\"hello, myvalue\"");
222
- expect(fetchMock.calls()).toHaveLength(1);
223
-
224
- case 10:
225
- case "end":
226
- return _context3.stop();
227
- }
228
- }
229
- }, _callee3);
230
- })));
231
- });
232
- describe('useResourceAction', function () {
233
- fetchMock.config.overwriteRoutes = true;
234
- afterAll(function () {
235
- fetchMock.restore();
236
- });
237
- beforeEach(fetchMock.resetBehavior);
238
- beforeEach(fetchMock.resetHistory);
239
- it('useResourceAction should return result ', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
240
- var _container$firstChild5, _container$firstChild6;
241
-
242
- var resource, Page, _render3, container;
243
-
244
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
245
- while (1) {
246
- switch (_context4.prev = _context4.next) {
247
- case 0:
248
- Page = function _Page3() {
249
- var _useResourceAction = useResourceAction(resource, undefined, 'POST', {
250
- some: 'data'
251
- }, undefined),
252
- data = _useResourceAction.data,
253
- fetch = _useResourceAction.fetch;
254
-
255
- useEffect(function () {
256
- fetch();
257
- }, []);
258
- return /*#__PURE__*/React.createElement("div", null, "hello, ", data && data.value);
259
- };
260
-
261
- resource = 'resourceaction';
262
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
263
- resource: resource,
264
- response: {
265
- value: 'myvalue'
266
- },
267
- method: 'POST'
268
- })));
269
- _render3 = render( /*#__PURE__*/React.createElement(Page, null), {
270
- wrapper: wrapper
271
- }), container = _render3.container;
272
- expect(container.firstChild).not.toBe(null);
273
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild5 = container.firstChild) === null || _container$firstChild5 === void 0 ? void 0 : _container$firstChild5.textContent).toMatchInlineSnapshot("\"hello, \"");
274
- _context4.next = 8;
275
- return delay(DELAY * 2);
276
-
277
- case 8:
278
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild6 = container.firstChild) === null || _container$firstChild6 === void 0 ? void 0 : _container$firstChild6.textContent).toMatchInlineSnapshot("\"hello, myvalue\"");
279
- expect(fetchMock.calls()).toHaveLength(1);
280
-
281
- case 10:
282
- case "end":
283
- return _context4.stop();
284
- }
285
- }
286
- }, _callee4);
287
- })));
288
- it('useResourceAction should be invalidated and run twice', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
289
- var _container$firstChild7, _container$firstChild8, _container$firstChild9, _container$firstChild10;
290
-
291
- var resource, Page, _render4, container;
292
-
293
- return _regeneratorRuntime.wrap(function _callee5$(_context5) {
294
- while (1) {
295
- switch (_context5.prev = _context5.next) {
296
- case 0:
297
- Page = function _Page4() {
298
- var _useResourceAction2 = useResourceAction(resource, undefined, 'POST', {
299
- some: 'data'
300
- }, undefined),
301
- data = _useResourceAction2.data,
302
- fetch = _useResourceAction2.fetch,
303
- invalidate = _useResourceAction2.invalidate;
304
-
305
- useEffect(function () {
306
- fetch();
307
- }, []);
308
- useEffect(function () {
309
- setTimeout(function () {
310
- invalidate();
311
- }, DELAY * 2);
312
- setTimeout(function () {
313
- fetch();
314
- }, DELAY * 3);
315
- }, []);
316
- return /*#__PURE__*/React.createElement("div", null, "hello, ", data && data.value);
317
- };
318
-
319
- resource = 'resourceactiondouble';
320
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
321
- resource: resource,
322
- response: {
323
- value: 'myvalue'
324
- },
325
- method: 'POST'
326
- })));
327
- _render4 = render( /*#__PURE__*/React.createElement(Page, null), {
328
- wrapper: wrapper
329
- }), container = _render4.container;
330
- expect(container.firstChild).not.toBe(null);
331
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild7 = container.firstChild) === null || _container$firstChild7 === void 0 ? void 0 : _container$firstChild7.textContent).toMatchInlineSnapshot("\"hello, \"");
332
- _context5.next = 8;
333
- return delay(DELAY);
334
-
335
- case 8:
336
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild8 = container.firstChild) === null || _container$firstChild8 === void 0 ? void 0 : _container$firstChild8.textContent).toMatchInlineSnapshot("\"hello, myvalue\"");
337
- _context5.next = 11;
338
- return delay(DELAY);
339
-
340
- case 11:
341
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild9 = container.firstChild) === null || _container$firstChild9 === void 0 ? void 0 : _container$firstChild9.textContent).toMatchInlineSnapshot("\"hello, \"");
342
- _context5.next = 14;
343
- return delay(DELAY * 2);
344
-
345
- case 14:
346
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild10 = container.firstChild) === null || _container$firstChild10 === void 0 ? void 0 : _container$firstChild10.textContent).toMatchInlineSnapshot("\"hello, myvalue\"");
347
- expect(fetchMock.calls()).toHaveLength(2);
348
-
349
- case 16:
350
- case "end":
351
- return _context5.stop();
352
- }
353
- }
354
- }, _callee5);
355
- })));
356
- });
357
- describe('useResourceMany', function () {
358
- fetchMock.config.overwriteRoutes = true;
359
- afterAll(function () {
360
- fetchMock.restore();
361
- });
362
- beforeEach(fetchMock.resetBehavior);
363
- beforeEach(fetchMock.resetHistory); //check this test again (loading/hello)
364
-
365
- it('useResourceMany should return data', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
366
- var _container$firstChild11, _container$firstChild12;
367
-
368
- var resource, Page, _render5, container;
369
-
370
- return _regeneratorRuntime.wrap(function _callee6$(_context6) {
371
- while (1) {
372
- switch (_context6.prev = _context6.next) {
373
- case 0:
374
- Page = function _Page5() {
375
- var _useResourceMany = useResourceMany(resource),
376
- data = _useResourceMany.data;
377
-
378
- return /*#__PURE__*/React.createElement("div", null, "hello, ", data && data.join(''));
379
- };
380
-
381
- resource = 'resourceMany';
382
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
383
- resource: resource,
384
- query: {
385
- offset: 0,
386
- limit: 30
387
- },
388
- response: {
389
- data: ['S', 'W', 'R'],
390
- meta: {
391
- total: 1,
392
- count: 3
393
- }
394
- }
395
- })));
396
- _render5 = render( /*#__PURE__*/React.createElement(Page, null), {
397
- wrapper: wrapper
398
- }), container = _render5.container;
399
- expect(container.firstChild).not.toBe(null);
400
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild11 = container.firstChild) === null || _container$firstChild11 === void 0 ? void 0 : _container$firstChild11.textContent).toMatchInlineSnapshot("\"Loading\"");
401
- _context6.next = 8;
402
- return delay(DELAY * 2);
403
-
404
- case 8:
405
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild12 = container.firstChild) === null || _container$firstChild12 === void 0 ? void 0 : _container$firstChild12.textContent).toMatchInlineSnapshot("\"hello, SWR\"");
406
- expect(fetchMock.calls()).toHaveLength(1);
407
-
408
- case 10:
409
- case "end":
410
- return _context6.stop();
411
- }
412
- }
413
- }, _callee6);
414
- })));
415
- it('useResourceMany should handle hasNext, hasPrevious', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
416
- var _container$firstChild13, _container$firstChild14;
417
-
418
- var resource, Page, _render6, container;
419
-
420
- return _regeneratorRuntime.wrap(function _callee7$(_context7) {
421
- while (1) {
422
- switch (_context7.prev = _context7.next) {
423
- case 0:
424
- Page = function _Page6() {
425
- var _useResourceMany2 = useResourceMany(resource),
426
- hasNext = _useResourceMany2.hasNext,
427
- hasPrevious = _useResourceMany2.hasPrevious;
428
-
429
- return /*#__PURE__*/React.createElement("div", null, hasNext ? '' : 'no', " next,", hasPrevious ? '' : 'no', " previous");
430
- };
431
-
432
- resource = 'resourceManyhasNext';
433
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
434
- resource: resource,
435
- query: {
436
- offset: 0,
437
- limit: 30
438
- },
439
- response: {
440
- data: ['S', 'W', 'R'],
441
- meta: {
442
- total: 1,
443
- count: 3
444
- }
445
- }
446
- })));
447
- _render6 = render( /*#__PURE__*/React.createElement(Page, null), {
448
- wrapper: wrapper
449
- }), container = _render6.container;
450
- expect(container.firstChild).not.toBe(null);
451
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild13 = container.firstChild) === null || _container$firstChild13 === void 0 ? void 0 : _container$firstChild13.textContent).toMatchInlineSnapshot("\"Loading\"");
452
- _context7.next = 8;
453
- return delay(DELAY);
454
-
455
- case 8:
456
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild14 = container.firstChild) === null || _container$firstChild14 === void 0 ? void 0 : _container$firstChild14.textContent).toMatchInlineSnapshot("\"no next,no previous\"");
457
- expect(fetchMock.calls()).toHaveLength(1);
458
-
459
- case 10:
460
- case "end":
461
- return _context7.stop();
462
- }
463
- }
464
- }, _callee7);
465
- })));
466
- it('useResourceMany should handle setPage with custom limit option', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
467
- var _container$firstChild15, _container$firstChild16, _container$firstChild17;
468
-
469
- var resource, Page, _render7, container, getByText;
470
-
471
- return _regeneratorRuntime.wrap(function _callee8$(_context8) {
472
- while (1) {
473
- switch (_context8.prev = _context8.next) {
474
- case 0:
475
- Page = function _Page7() {
476
- var _useResourceMany3 = useResourceMany(resource, {
477
- limit: 10
478
- }),
479
- data = _useResourceMany3.data,
480
- setPage = _useResourceMany3.setPage,
481
- page = _useResourceMany3.page;
482
-
483
- var nextPage = function nextPage() {
484
- setPage(page + 1);
485
- };
486
-
487
- return /*#__PURE__*/React.createElement("div", null, "hello, ", data.join(''), /*#__PURE__*/React.createElement("button", {
488
- onClick: nextPage
489
- }, "next"));
490
- };
491
-
492
- resource = 'resourceManysetpage';
493
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
494
- resource: resource,
495
- query: {
496
- offset: 0,
497
- limit: 10
498
- },
499
- response: {
500
- data: ['S', 'W', 'R'],
501
- meta: {
502
- total: 3,
503
- count: 100
504
- }
505
- }
506
- })));
507
- fetchMock.mock.apply(fetchMock, _toConsumableArray(buildMockOptions({
508
- resource: resource,
509
- query: {
510
- offset: 10,
511
- limit: 10
512
- },
513
- response: {
514
- data: ['R', 'W', 'S'],
515
- meta: {
516
- total: 3,
517
- count: 100
518
- }
519
- }
520
- })));
521
- _render7 = render( /*#__PURE__*/React.createElement(Page, null), {
522
- wrapper: wrapper
523
- }), container = _render7.container, getByText = _render7.getByText;
524
- expect(container.firstChild).not.toBe(null);
525
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild15 = container.firstChild) === null || _container$firstChild15 === void 0 ? void 0 : _container$firstChild15.textContent).toMatchInlineSnapshot("\"Loading\"");
526
- _context8.next = 9;
527
- return delay(DELAY);
528
-
529
- case 9:
530
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild16 = container.firstChild) === null || _container$firstChild16 === void 0 ? void 0 : _container$firstChild16.textContent).toMatchInlineSnapshot("\"hello, SWRnext\"");
531
- fireEvent.click(getByText('next'));
532
- _context8.next = 13;
533
- return delay(DELAY * 2);
534
-
535
- case 13:
536
- expect(container === null || container === void 0 ? void 0 : (_container$firstChild17 = container.firstChild) === null || _container$firstChild17 === void 0 ? void 0 : _container$firstChild17.textContent).toMatchInlineSnapshot("\"hello, RWSnext\"");
537
- expect(fetchMock.calls()).toHaveLength(2);
538
-
539
- case 15:
540
- case "end":
541
- return _context8.stop();
542
- }
543
- }
544
- }, _callee8);
545
- })));
546
- });
@@ -1,6 +0,0 @@
1
- ---
2
- title: DigiGOV API client
3
- order: 0
4
- ---
5
-
6
- # DigiGOV API client
@@ -1,128 +0,0 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- import { getQueryKey, processResponse } from '@digigov/ui/api/utils';
5
- import { useQuery, queryCache } from 'react-query';
6
- import { useAPI } from '@digigov/ui/api';
7
- import { useState } from 'react';
8
- export function useResource(resource, id, query, options, suspense) {
9
- var _useAPI = useAPI(),
10
- baseURL = _useAPI.config.baseURL,
11
- token = _useAPI.token;
12
-
13
- var _useState = useState({
14
- url: '',
15
- dataSet: false
16
- }),
17
- _useState2 = _slicedToArray(_useState, 2),
18
- _useState2$ = _useState2[0],
19
- url = _useState2$.url,
20
- dataSet = _useState2$.dataSet,
21
- setFetchOpts = _useState2[1];
22
-
23
- function customFetcher(_x, _x2) {
24
- return _customFetcher.apply(this, arguments);
25
- }
26
-
27
- function _customFetcher() {
28
- _customFetcher = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fetchUrl, options) {
29
- var response, _yield$processRespons, _data, _error;
30
-
31
- return _regeneratorRuntime.wrap(function _callee$(_context) {
32
- while (1) {
33
- switch (_context.prev = _context.next) {
34
- case 0:
35
- setFetchOpts({
36
- url: fetchUrl,
37
- dataSet: false
38
- });
39
- _context.next = 3;
40
- return fetch(fetchUrl, options);
41
-
42
- case 3:
43
- response = _context.sent;
44
- _context.prev = 4;
45
- _context.next = 7;
46
- return processResponse(response);
47
-
48
- case 7:
49
- _yield$processRespons = _context.sent;
50
- _data = _yield$processRespons.data;
51
- _error = _yield$processRespons.error;
52
-
53
- if (!_error) {
54
- _context.next = 12;
55
- break;
56
- }
57
-
58
- return _context.abrupt("return", Promise.reject(_error));
59
-
60
- case 12:
61
- if (!_data) {
62
- _context.next = 14;
63
- break;
64
- }
65
-
66
- return _context.abrupt("return", Promise.resolve(_data));
67
-
68
- case 14:
69
- _context.next = 19;
70
- break;
71
-
72
- case 16:
73
- _context.prev = 16;
74
- _context.t0 = _context["catch"](4);
75
- return _context.abrupt("return", Promise.reject(_context.t0.error));
76
-
77
- case 19:
78
- case "end":
79
- return _context.stop();
80
- }
81
- }
82
- }, _callee, null, [[4, 16]]);
83
- }));
84
- return _customFetcher.apply(this, arguments);
85
- }
86
-
87
- var queryKey = getQueryKey(resource, id, query, null, options, 'GET', baseURL, token);
88
- var enabled = true;
89
- var resolvedQueryKey;
90
-
91
- if (typeof queryKey === 'function') {
92
- try {
93
- resolvedQueryKey = queryKey();
94
- } catch (err) {
95
- enabled = false;
96
- }
97
- }
98
-
99
- var _useQuery = useQuery(resolvedQueryKey || queryKey, customFetcher, {
100
- enabled: enabled,
101
- refetchOnWindowFocus: false,
102
- refetchOnMount: false,
103
- suspense: suspense || false,
104
- cacheTime: 300000,
105
- staleTime: 20000,
106
- retry: false,
107
- useErrorBoundary: false // falls back to suspense
108
-
109
- }),
110
- status = _useQuery.status,
111
- data = _useQuery.data,
112
- error = _useQuery.error,
113
- isFetching = _useQuery.isFetching,
114
- refetch = _useQuery.refetch;
115
-
116
- return {
117
- data: data,
118
- loading: isFetching,
119
- loaded: ['error', 'success'].includes(status),
120
- error: error,
121
- invalidate: function invalidate() {
122
- queryCache.invalidateQueries(resolvedQueryKey || queryKey);
123
- },
124
- fetch: refetch,
125
- dataSet: dataSet,
126
- url: url
127
- };
128
- }