@digigov/ui 0.12.2 → 0.14.0

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