@digigov/ui 0.12.2 → 0.13.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 (660) hide show
  1. package/CHANGELOG.md +8 -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/HeaderLogo.d.ts +3 -0
  29. package/app/Header/HeaderLogo.js +30 -0
  30. package/app/Header/HeaderSection.d.ts +5 -0
  31. package/app/Header/HeaderSection.js +20 -0
  32. package/app/Header/HeaderTitle.d.ts +5 -0
  33. package/app/Header/HeaderTitle.js +30 -0
  34. package/{src/app → app}/Header/__snapshots__/index.spec.tsx.snap +0 -0
  35. package/app/Header/index.d.ts +11 -0
  36. package/app/Header/index.js +106 -0
  37. package/{src/app → app}/Header/index.mdx +0 -0
  38. package/app/Header/index.spec.d.ts +1 -0
  39. package/app/Header/index.spec.js +45 -0
  40. package/app/NotFound/index.d.ts +3 -0
  41. package/app/NotFound/index.js +29 -0
  42. package/app/OutdatedBrowserBanner.d.ts +2 -0
  43. package/app/OutdatedBrowserBanner.js +41 -0
  44. package/app/PageTitle.d.ts +10 -0
  45. package/app/PageTitle.js +76 -0
  46. package/{src/app → app}/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -0
  47. package/app/QrCodeScanner/index.d.ts +29 -0
  48. package/app/QrCodeScanner/index.js +85 -0
  49. package/{src/app → app}/QrCodeScanner/index.mdx +0 -0
  50. package/app/QrCodeScanner/index.spec.d.ts +1 -0
  51. package/app/QrCodeScanner/index.spec.js +26 -0
  52. package/app/i18n.d.ts +10 -0
  53. package/app/i18n.js +63 -0
  54. package/{src/app/index.ts → app/index.d.ts} +0 -0
  55. package/app/index.js +70 -0
  56. package/{src/core → core}/Accordion/__snapshots__/index.spec.tsx.snap +0 -0
  57. package/core/Accordion/index.d.ts +21 -0
  58. package/core/Accordion/index.js +127 -0
  59. package/{src/core → core}/Accordion/index.mdx +0 -0
  60. package/core/Accordion/index.spec.d.ts +1 -0
  61. package/core/Accordion/index.spec.js +19 -0
  62. package/{src/core → core}/Blockquote/__snapshots__/index.spec.tsx.snap +0 -0
  63. package/core/Blockquote/index.d.ts +3 -0
  64. package/core/Blockquote/index.js +29 -0
  65. package/{src/core → core}/Blockquote/index.mdx +0 -0
  66. package/core/Blockquote/index.spec.d.ts +1 -0
  67. package/core/Blockquote/index.spec.js +21 -0
  68. package/{src/core/Breadcrumbs/index.tsx → core/Breadcrumbs/index.d.ts} +0 -0
  69. package/core/Breadcrumbs/index.js +44 -0
  70. package/core/Button/BackButton.d.ts +3 -0
  71. package/core/Button/BackButton.js +34 -0
  72. package/core/Button/ButtonLink.d.ts +4 -0
  73. package/core/Button/ButtonLink.js +28 -0
  74. package/core/Button/CallToAction.d.ts +7 -0
  75. package/core/Button/CallToAction.js +41 -0
  76. package/core/Button/Icon.d.ts +2 -0
  77. package/core/Button/Icon.js +19 -0
  78. package/{src/core → core}/Button/__snapshots__/index.spec.tsx.snap +0 -0
  79. package/core/Button/index.d.ts +15 -0
  80. package/core/Button/index.js +122 -0
  81. package/{src/core → core}/Button/index.mdx +0 -0
  82. package/core/Button/index.spec.d.ts +1 -0
  83. package/core/Button/index.spec.js +21 -0
  84. package/{src/core/Card/index.tsx → core/Card/index.d.ts} +0 -0
  85. package/core/Card/index.js +57 -0
  86. package/{src/core → core}/Details/__snapshots__/index.spec.tsx.snap +0 -0
  87. package/{src/core/Details/index.tsx → core/Details/index.d.ts} +0 -2
  88. package/core/Details/index.js +35 -0
  89. package/{src/core → core}/Details/index.mdx +0 -0
  90. package/core/Details/index.spec.d.ts +1 -0
  91. package/core/Details/index.spec.js +27 -0
  92. package/core/Divider/index.d.ts +5 -0
  93. package/core/Divider/index.js +20 -0
  94. package/{src/core → core}/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -0
  95. package/{src/core/ErrorSummary/index.tsx → core/ErrorSummary/index.d.ts} +0 -1
  96. package/core/ErrorSummary/index.js +19 -0
  97. package/{src/core → core}/ErrorSummary/index.mdx +0 -0
  98. package/core/ErrorSummary/index.spec.d.ts +1 -0
  99. package/core/ErrorSummary/index.spec.js +21 -0
  100. package/{src/core/Hidden/index.tsx → core/Hidden/index.d.ts} +0 -0
  101. package/core/Hidden/index.js +18 -0
  102. package/{src/core → core}/Link/__snapshots__/index.spec.tsx.snap +0 -0
  103. package/core/Link/index.d.ts +12 -0
  104. package/core/Link/index.js +50 -0
  105. package/core/Link/index.spec.d.ts +1 -0
  106. package/core/Link/index.spec.js +31 -0
  107. package/{src/core/List/List.tsx → core/List/List.d.ts} +0 -2
  108. package/core/List/List.js +19 -0
  109. package/{src/core/List/ListItem.tsx → core/List/ListItem.d.ts} +0 -2
  110. package/core/List/ListItem.js +19 -0
  111. package/core/List/ListItemContent.d.ts +7 -0
  112. package/core/List/ListItemContent.js +45 -0
  113. package/core/List/ListItemIcon.d.ts +7 -0
  114. package/core/List/ListItemIcon.js +48 -0
  115. package/core/List/ListItemText.d.ts +8 -0
  116. package/core/List/ListItemText.js +36 -0
  117. package/core/List/ListItemTitle.d.ts +10 -0
  118. package/core/List/ListItemTitle.js +44 -0
  119. package/{src/core → core}/List/__snapshots__/index.spec.tsx.snap +0 -0
  120. package/{src/core/List/index.tsx → core/List/index.d.ts} +0 -0
  121. package/core/List/index.js +96 -0
  122. package/{src/core → core}/List/index.mdx +0 -0
  123. package/core/List/index.spec.d.ts +1 -0
  124. package/core/List/index.spec.js +21 -0
  125. package/core/NavList/NavList.d.ts +17 -0
  126. package/core/NavList/NavList.js +99 -0
  127. package/core/NavList/NavListContext.d.ts +20 -0
  128. package/core/NavList/NavListContext.js +102 -0
  129. package/core/NavList/NavListItem.d.ts +13 -0
  130. package/core/NavList/NavListItem.js +171 -0
  131. package/core/NavList/NavListItemBase.d.ts +16 -0
  132. package/core/NavList/NavListItemBase.js +161 -0
  133. package/core/NavList/NavListSubMenu.d.ts +8 -0
  134. package/core/NavList/NavListSubMenu.js +52 -0
  135. package/{src/core → core}/NavList/__snapshots__/index.spec.tsx.snap +0 -0
  136. package/{src/core/NavList/index.tsx → core/NavList/index.d.ts} +0 -0
  137. package/core/NavList/index.js +68 -0
  138. package/{src/core → core}/NavList/index.mdx +0 -0
  139. package/core/NavList/index.spec.d.ts +1 -0
  140. package/core/NavList/index.spec.js +21 -0
  141. package/{src/core → core}/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -0
  142. package/core/NotificationBanner/index.d.ts +18 -0
  143. package/core/NotificationBanner/index.js +78 -0
  144. package/{src/core → core}/NotificationBanner/index.mdx +0 -0
  145. package/core/NotificationBanner/index.spec.d.ts +1 -0
  146. package/core/NotificationBanner/index.spec.js +32 -0
  147. package/core/ServiceBadge/ServiceBadge.mdx +0 -0
  148. package/core/ServiceBadge/index.d.ts +9 -0
  149. package/core/ServiceBadge/index.js +36 -0
  150. package/{src/core → core}/ServiceBadge/index.mdx +0 -0
  151. package/{src/core → core}/SummaryList/__snapshots__/index.spec.tsx.snap +0 -0
  152. package/{src/core/SummaryList/index.tsx → core/SummaryList/index.d.ts} +0 -2
  153. package/core/SummaryList/index.js +79 -0
  154. package/{src/core → core}/SummaryList/index.mdx +0 -0
  155. package/core/SummaryList/index.spec.d.ts +1 -0
  156. package/core/SummaryList/index.spec.js +19 -0
  157. package/{src/core/Table/index.tsx → core/Table/index.d.ts} +0 -0
  158. package/core/Table/index.js +96 -0
  159. package/core/Tabs/index.d.ts +16 -0
  160. package/core/Tabs/index.js +88 -0
  161. package/{src/core → core}/Tabs/index.mdx +0 -0
  162. package/{src/core/VisuallyHidden/index.tsx → core/VisuallyHidden/index.d.ts} +0 -0
  163. package/core/VisuallyHidden/index.js +18 -0
  164. package/{src/core → core}/WarningText/__snapshots__/index.spec.tsx.snap +0 -0
  165. package/{src/core/WarningText/index.tsx → core/WarningText/index.d.ts} +0 -1
  166. package/core/WarningText/index.js +19 -0
  167. package/{src/core → core}/WarningText/index.mdx +0 -0
  168. package/core/WarningText/index.spec.d.ts +1 -0
  169. package/core/WarningText/index.spec.js +21 -0
  170. package/{src/core/index.ts → core/index.d.ts} +0 -0
  171. package/core/index.js +227 -0
  172. package/custom.d.js +1 -0
  173. package/es/api/APIErrors.js +96 -0
  174. package/es/api/APIProvider.js +25 -0
  175. package/es/api/fetchAPI.js +49 -0
  176. package/{src/api/index.tsx → es/api/index.js} +3 -6
  177. package/es/api/index.spec.js +546 -0
  178. package/es/api/introduction.md +6 -0
  179. package/es/api/useResource.js +128 -0
  180. package/es/api/useResourceAction.js +141 -0
  181. package/es/api/useResourceQuery.js +208 -0
  182. package/es/api/utils.js +233 -0
  183. package/es/app/App.js +27 -0
  184. package/es/app/Confirmation/index.js +3 -0
  185. package/es/app/Footer/index.js +15 -0
  186. package/{src/app/Header/HeaderLogo.tsx → es/app/Header/HeaderLogo.js} +7 -9
  187. package/es/app/Header/HeaderSection.js +7 -0
  188. package/es/app/Header/HeaderTitle.js +17 -0
  189. package/es/app/Header/__snapshots__/index.spec.tsx.snap +393 -0
  190. package/{src/app/Header/index.tsx → es/app/Header/index.js} +4 -10
  191. package/es/app/Header/index.mdx +50 -0
  192. package/es/app/Header/index.spec.js +32 -0
  193. package/es/app/NotFound/index.js +12 -0
  194. package/es/app/OutdatedBrowserBanner.js +24 -0
  195. package/es/app/PageTitle.js +57 -0
  196. package/es/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +22 -0
  197. package/es/app/QrCodeScanner/index.js +64 -0
  198. package/es/app/QrCodeScanner/index.mdx +22 -0
  199. package/es/app/QrCodeScanner/index.spec.js +13 -0
  200. package/es/app/i18n.js +42 -0
  201. package/es/app/index.js +5 -0
  202. package/es/core/Accordion/__snapshots__/index.spec.tsx.snap +78 -0
  203. package/es/core/Accordion/index.js +67 -0
  204. package/es/core/Accordion/index.mdx +104 -0
  205. package/es/core/Accordion/index.spec.js +9 -0
  206. package/es/core/Blockquote/__snapshots__/index.spec.tsx.snap +13 -0
  207. package/{src/core/Blockquote/index.tsx → es/core/Blockquote/index.js} +7 -9
  208. package/es/core/Blockquote/index.mdx +61 -0
  209. package/es/core/Blockquote/index.spec.js +9 -0
  210. package/es/core/Breadcrumbs/index.js +3 -0
  211. package/{src/core/Button/BackButton.tsx → es/core/Button/BackButton.js} +8 -10
  212. package/es/core/Button/ButtonLink.js +16 -0
  213. package/es/core/Button/CallToAction.js +27 -0
  214. package/es/core/Button/Icon.js +7 -0
  215. package/es/core/Button/__snapshots__/index.spec.tsx.snap +13 -0
  216. package/es/core/Button/index.js +37 -0
  217. package/es/core/Button/index.mdx +65 -0
  218. package/es/core/Button/index.spec.js +9 -0
  219. package/es/core/Card/index.js +4 -0
  220. package/es/core/Details/__snapshots__/index.spec.tsx.snap +50 -0
  221. package/es/core/Details/index.js +5 -0
  222. package/es/core/Details/index.mdx +34 -0
  223. package/es/core/Details/index.spec.js +17 -0
  224. package/es/core/Divider/index.js +7 -0
  225. package/es/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +322 -0
  226. package/es/core/ErrorSummary/index.js +3 -0
  227. package/es/core/ErrorSummary/index.mdx +61 -0
  228. package/es/core/ErrorSummary/index.spec.js +9 -0
  229. package/es/core/Hidden/index.js +1 -0
  230. package/es/core/Link/__snapshots__/index.spec.tsx.snap +31 -0
  231. package/es/core/Link/index.js +26 -0
  232. package/es/core/Link/index.spec.js +21 -0
  233. package/es/core/List/List.js +3 -0
  234. package/es/core/List/ListItem.js +3 -0
  235. package/es/core/List/ListItemContent.js +27 -0
  236. package/es/core/List/ListItemIcon.js +29 -0
  237. package/es/core/List/ListItemText.js +19 -0
  238. package/es/core/List/ListItemTitle.js +25 -0
  239. package/es/core/List/__snapshots__/index.spec.tsx.snap +322 -0
  240. package/es/core/List/index.js +7 -0
  241. package/es/core/List/index.mdx +40 -0
  242. package/es/core/List/index.spec.js +9 -0
  243. package/es/core/NavList/NavList.js +78 -0
  244. package/es/core/NavList/NavListContext.js +80 -0
  245. package/es/core/NavList/NavListItem.js +141 -0
  246. package/es/core/NavList/NavListItemBase.js +133 -0
  247. package/es/core/NavList/NavListSubMenu.js +27 -0
  248. package/es/core/NavList/__snapshots__/index.spec.tsx.snap +334 -0
  249. package/es/core/NavList/index.js +5 -0
  250. package/es/core/NavList/index.mdx +185 -0
  251. package/es/core/NavList/index.spec.js +9 -0
  252. package/es/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +737 -0
  253. package/es/core/NotificationBanner/index.js +35 -0
  254. package/es/core/NotificationBanner/index.mdx +77 -0
  255. package/es/core/NotificationBanner/index.spec.js +20 -0
  256. package/es/core/ServiceBadge/ServiceBadge.mdx +0 -0
  257. package/es/core/ServiceBadge/index.js +20 -0
  258. package/es/core/ServiceBadge/index.mdx +42 -0
  259. package/es/core/SummaryList/__snapshots__/index.spec.tsx.snap +57 -0
  260. package/es/core/SummaryList/index.js +7 -0
  261. package/es/core/SummaryList/index.mdx +82 -0
  262. package/es/core/SummaryList/index.spec.js +9 -0
  263. package/es/core/Table/index.js +7 -0
  264. package/es/core/Tabs/index.js +37 -0
  265. package/es/core/Tabs/index.mdx +54 -0
  266. package/es/core/VisuallyHidden/index.js +1 -0
  267. package/es/core/WarningText/__snapshots__/index.spec.tsx.snap +336 -0
  268. package/es/core/WarningText/index.js +3 -0
  269. package/es/core/WarningText/index.mdx +46 -0
  270. package/es/core/WarningText/index.spec.js +9 -0
  271. package/es/core/index.js +17 -0
  272. package/es/custom.d.js +0 -0
  273. package/{src → es}/form/inputs/Input/index.mdx +0 -0
  274. package/es/govgr/Footer/Copyright.js +37 -0
  275. package/es/govgr/Footer/HellenicRepublicLogo.js +3 -0
  276. package/es/govgr/Footer/LicenseCCSA.js +18 -0
  277. package/es/govgr/Footer/index.js +21 -0
  278. package/{src → es}/govgr/Footer/index.mdx +0 -0
  279. package/{src/govgr/Footer/logo.ts → es/govgr/Footer/logo.js} +1 -1
  280. package/{src/govgr/Footer/logos/logo-el.ts → es/govgr/Footer/logos/logo-el.js} +1 -1
  281. package/{src/govgr/Footer/logos/logo-en.ts → es/govgr/Footer/logos/logo-en.js} +1 -1
  282. package/{src → es}/govgr/Logo/govgr-logo.svg +0 -0
  283. package/es/govgr/Logo/index.js +3 -0
  284. package/{src/govgr/Logo/logo.ts → es/govgr/Logo/logo.js} +1 -1
  285. package/es/govgr/index.js +4 -0
  286. package/es/hooks/useDebounce.js +41 -0
  287. package/es/hooks/useLatest.js +12 -0
  288. package/{src/hooks/useOutdatedBrowserCheck.ts → es/hooks/useOutdatedBrowserCheck.js} +15 -16
  289. package/es/hooks/useSearch.js +25 -0
  290. package/es/hooks/useTogglableSections.js +96 -0
  291. package/es/index.js +5 -0
  292. package/es/layouts/Basic/Bottom/index.js +3 -0
  293. package/{src → es}/layouts/Basic/Bottom/index.mdx +0 -0
  294. package/es/layouts/Basic/Content/index.js +18 -0
  295. package/{src → es}/layouts/Basic/Content/index.mdx +0 -0
  296. package/es/layouts/Basic/Main/index.js +3 -0
  297. package/{src → es}/layouts/Basic/Main/index.mdx +0 -0
  298. package/es/layouts/Basic/Masthead/index.js +4 -0
  299. package/{src → es}/layouts/Basic/Masthead/index.mdx +0 -0
  300. package/{src/layouts/Basic/Side/index.tsx → es/layouts/Basic/Side/index.js} +3 -5
  301. package/{src → es}/layouts/Basic/Side/index.mdx +0 -0
  302. package/{src/layouts/Basic/Top/index.tsx → es/layouts/Basic/Top/index.js} +5 -7
  303. package/{src → es}/layouts/Basic/Top/index.mdx +0 -0
  304. package/{src → es}/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -0
  305. package/es/layouts/Basic/index.js +8 -0
  306. package/{src → es}/layouts/Basic/index.mdx +0 -0
  307. package/es/layouts/Basic/index.spec.js +10 -0
  308. package/es/layouts/Grid/index.js +1 -0
  309. package/es/layouts/index.js +2 -0
  310. package/{src/locales/el.ts → es/locales/el.js} +14 -19
  311. package/{src/locales/en.ts → es/locales/en.js} +13 -17
  312. package/es/router/index.js +15 -0
  313. package/{src → es}/router/index.mdx +0 -0
  314. package/es/test-utils/delay.js +31 -0
  315. package/es/test-utils/mountWithTheme.js +30 -0
  316. package/{src → es}/themes/govgr.js +29 -33
  317. package/es/themes/grnet.js +110 -0
  318. package/es/themes/index.js +2 -0
  319. package/es/typography/Caption.js +7 -0
  320. package/es/typography/NormalText.js +3 -0
  321. package/es/typography/Paragraph.js +2 -0
  322. package/es/typography/Title.js +48 -0
  323. package/es/typography/index.js +8 -0
  324. package/{src → es}/typography/index.mdx +0 -0
  325. package/es/utils/evaluateBrowserVersion.js +201 -0
  326. package/es/utils/withDeprecation.js +103 -0
  327. package/esm/api/APIErrors.js +96 -0
  328. package/esm/api/APIProvider.js +25 -0
  329. package/esm/api/fetchAPI.js +49 -0
  330. package/esm/api/index.js +13 -0
  331. package/esm/api/index.spec.js +546 -0
  332. package/esm/api/introduction.md +6 -0
  333. package/esm/api/useResource.js +128 -0
  334. package/esm/api/useResourceAction.js +141 -0
  335. package/esm/api/useResourceQuery.js +208 -0
  336. package/esm/api/utils.js +233 -0
  337. package/esm/app/App.js +27 -0
  338. package/esm/app/Confirmation/index.js +3 -0
  339. package/esm/app/Footer/index.js +15 -0
  340. package/esm/app/Header/HeaderLogo.js +17 -0
  341. package/esm/app/Header/HeaderSection.js +7 -0
  342. package/esm/app/Header/HeaderTitle.js +17 -0
  343. package/esm/app/Header/__snapshots__/index.spec.tsx.snap +393 -0
  344. package/esm/app/Header/index.js +13 -0
  345. package/esm/app/Header/index.mdx +50 -0
  346. package/esm/app/Header/index.spec.js +32 -0
  347. package/esm/app/NotFound/index.js +12 -0
  348. package/esm/app/OutdatedBrowserBanner.js +24 -0
  349. package/esm/app/PageTitle.js +57 -0
  350. package/esm/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +22 -0
  351. package/esm/app/QrCodeScanner/index.js +64 -0
  352. package/esm/app/QrCodeScanner/index.mdx +22 -0
  353. package/esm/app/QrCodeScanner/index.spec.js +13 -0
  354. package/esm/app/i18n.js +42 -0
  355. package/esm/app/index.js +5 -0
  356. package/esm/core/Accordion/__snapshots__/index.spec.tsx.snap +78 -0
  357. package/esm/core/Accordion/index.js +67 -0
  358. package/esm/core/Accordion/index.mdx +104 -0
  359. package/esm/core/Accordion/index.spec.js +9 -0
  360. package/esm/core/Blockquote/__snapshots__/index.spec.tsx.snap +13 -0
  361. package/esm/core/Blockquote/index.js +16 -0
  362. package/esm/core/Blockquote/index.mdx +61 -0
  363. package/esm/core/Blockquote/index.spec.js +9 -0
  364. package/esm/core/Breadcrumbs/index.js +3 -0
  365. package/esm/core/Button/BackButton.js +21 -0
  366. package/esm/core/Button/ButtonLink.js +16 -0
  367. package/esm/core/Button/CallToAction.js +27 -0
  368. package/esm/core/Button/Icon.js +7 -0
  369. package/esm/core/Button/__snapshots__/index.spec.tsx.snap +13 -0
  370. package/esm/core/Button/index.js +37 -0
  371. package/esm/core/Button/index.mdx +65 -0
  372. package/esm/core/Button/index.spec.js +9 -0
  373. package/esm/core/Card/index.js +4 -0
  374. package/esm/core/Details/__snapshots__/index.spec.tsx.snap +50 -0
  375. package/esm/core/Details/index.js +5 -0
  376. package/esm/core/Details/index.mdx +34 -0
  377. package/esm/core/Details/index.spec.js +17 -0
  378. package/esm/core/Divider/index.js +7 -0
  379. package/esm/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +322 -0
  380. package/esm/core/ErrorSummary/index.js +3 -0
  381. package/esm/core/ErrorSummary/index.mdx +61 -0
  382. package/esm/core/ErrorSummary/index.spec.js +9 -0
  383. package/esm/core/Hidden/index.js +1 -0
  384. package/esm/core/Link/__snapshots__/index.spec.tsx.snap +31 -0
  385. package/esm/core/Link/index.js +26 -0
  386. package/esm/core/Link/index.spec.js +21 -0
  387. package/esm/core/List/List.js +3 -0
  388. package/esm/core/List/ListItem.js +3 -0
  389. package/esm/core/List/ListItemContent.js +27 -0
  390. package/esm/core/List/ListItemIcon.js +29 -0
  391. package/esm/core/List/ListItemText.js +19 -0
  392. package/esm/core/List/ListItemTitle.js +25 -0
  393. package/esm/core/List/__snapshots__/index.spec.tsx.snap +322 -0
  394. package/esm/core/List/index.js +7 -0
  395. package/esm/core/List/index.mdx +40 -0
  396. package/esm/core/List/index.spec.js +9 -0
  397. package/esm/core/NavList/NavList.js +78 -0
  398. package/esm/core/NavList/NavListContext.js +80 -0
  399. package/esm/core/NavList/NavListItem.js +141 -0
  400. package/esm/core/NavList/NavListItemBase.js +133 -0
  401. package/esm/core/NavList/NavListSubMenu.js +27 -0
  402. package/esm/core/NavList/__snapshots__/index.spec.tsx.snap +334 -0
  403. package/esm/core/NavList/index.js +5 -0
  404. package/esm/core/NavList/index.mdx +185 -0
  405. package/esm/core/NavList/index.spec.js +9 -0
  406. package/esm/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +737 -0
  407. package/esm/core/NotificationBanner/index.js +35 -0
  408. package/esm/core/NotificationBanner/index.mdx +77 -0
  409. package/esm/core/NotificationBanner/index.spec.js +20 -0
  410. package/esm/core/ServiceBadge/ServiceBadge.mdx +0 -0
  411. package/esm/core/ServiceBadge/index.js +20 -0
  412. package/esm/core/ServiceBadge/index.mdx +42 -0
  413. package/esm/core/SummaryList/__snapshots__/index.spec.tsx.snap +57 -0
  414. package/esm/core/SummaryList/index.js +7 -0
  415. package/esm/core/SummaryList/index.mdx +82 -0
  416. package/esm/core/SummaryList/index.spec.js +9 -0
  417. package/esm/core/Table/index.js +7 -0
  418. package/esm/core/Tabs/index.js +37 -0
  419. package/esm/core/Tabs/index.mdx +54 -0
  420. package/esm/core/VisuallyHidden/index.js +1 -0
  421. package/esm/core/WarningText/__snapshots__/index.spec.tsx.snap +336 -0
  422. package/esm/core/WarningText/index.js +3 -0
  423. package/esm/core/WarningText/index.mdx +46 -0
  424. package/esm/core/WarningText/index.spec.js +9 -0
  425. package/esm/core/index.js +17 -0
  426. package/esm/custom.d.js +0 -0
  427. package/esm/form/inputs/Input/index.mdx +10 -0
  428. package/esm/govgr/Footer/Copyright.js +37 -0
  429. package/esm/govgr/Footer/HellenicRepublicLogo.js +3 -0
  430. package/esm/govgr/Footer/LicenseCCSA.js +18 -0
  431. package/esm/govgr/Footer/index.js +21 -0
  432. package/esm/govgr/Footer/index.mdx +97 -0
  433. package/esm/govgr/Footer/logo.js +1 -0
  434. package/esm/govgr/Footer/logos/logo-el.js +1 -0
  435. package/esm/govgr/Footer/logos/logo-en.js +1 -0
  436. package/esm/govgr/Logo/govgr-logo.svg +1 -0
  437. package/esm/govgr/Logo/index.js +3 -0
  438. package/esm/govgr/Logo/logo.js +1 -0
  439. package/esm/govgr/index.js +4 -0
  440. package/esm/hooks/useDebounce.js +41 -0
  441. package/esm/hooks/useLatest.js +12 -0
  442. package/esm/hooks/useOutdatedBrowserCheck.js +46 -0
  443. package/esm/hooks/useSearch.js +25 -0
  444. package/esm/hooks/useTogglableSections.js +96 -0
  445. package/esm/index.js +10 -0
  446. package/esm/layouts/Basic/Bottom/index.js +3 -0
  447. package/esm/layouts/Basic/Bottom/index.mdx +37 -0
  448. package/esm/layouts/Basic/Content/index.js +18 -0
  449. package/esm/layouts/Basic/Content/index.mdx +64 -0
  450. package/esm/layouts/Basic/Main/index.js +3 -0
  451. package/esm/layouts/Basic/Main/index.mdx +64 -0
  452. package/esm/layouts/Basic/Masthead/index.js +4 -0
  453. package/esm/layouts/Basic/Masthead/index.mdx +74 -0
  454. package/esm/layouts/Basic/Side/index.js +7 -0
  455. package/esm/layouts/Basic/Side/index.mdx +71 -0
  456. package/esm/layouts/Basic/Top/index.js +11 -0
  457. package/esm/layouts/Basic/Top/index.mdx +74 -0
  458. package/esm/layouts/Basic/__snapshots__/index.spec.tsx.snap +54 -0
  459. package/esm/layouts/Basic/index.js +8 -0
  460. package/esm/layouts/Basic/index.mdx +62 -0
  461. package/esm/layouts/Basic/index.spec.js +10 -0
  462. package/esm/layouts/Grid/index.js +1 -0
  463. package/esm/layouts/index.js +2 -0
  464. package/esm/locales/el.js +55 -0
  465. package/esm/locales/en.js +55 -0
  466. package/esm/router/index.js +15 -0
  467. package/esm/router/index.mdx +40 -0
  468. package/esm/test-utils/delay.js +31 -0
  469. package/esm/test-utils/mountWithTheme.js +30 -0
  470. package/esm/themes/govgr.js +79 -0
  471. package/esm/themes/grnet.js +110 -0
  472. package/esm/themes/index.js +2 -0
  473. package/esm/typography/Caption.js +7 -0
  474. package/esm/typography/NormalText.js +3 -0
  475. package/esm/typography/Paragraph.js +2 -0
  476. package/esm/typography/Title.js +48 -0
  477. package/esm/typography/index.js +8 -0
  478. package/esm/typography/index.mdx +32 -0
  479. package/esm/utils/evaluateBrowserVersion.js +201 -0
  480. package/esm/utils/withDeprecation.js +103 -0
  481. package/form/inputs/Input/index.mdx +10 -0
  482. package/govgr/Footer/Copyright.d.ts +8 -0
  483. package/govgr/Footer/Copyright.js +52 -0
  484. package/{src/govgr/Footer/HellenicRepublicLogo.tsx → govgr/Footer/HellenicRepublicLogo.d.ts} +0 -1
  485. package/govgr/Footer/HellenicRepublicLogo.js +19 -0
  486. package/govgr/Footer/LicenseCCSA.d.ts +3 -0
  487. package/govgr/Footer/LicenseCCSA.js +33 -0
  488. package/govgr/Footer/index.d.ts +13 -0
  489. package/govgr/Footer/index.js +39 -0
  490. package/govgr/Footer/index.mdx +97 -0
  491. package/govgr/Footer/logo.d.ts +2 -0
  492. package/govgr/Footer/logo.js +8 -0
  493. package/govgr/Footer/logos/logo-el.d.ts +2 -0
  494. package/govgr/Footer/logos/logo-el.js +8 -0
  495. package/govgr/Footer/logos/logo-en.d.ts +2 -0
  496. package/govgr/Footer/logos/logo-en.js +8 -0
  497. package/govgr/Logo/govgr-logo.svg +1 -0
  498. package/{src/govgr/Logo/index.tsx → govgr/Logo/index.d.ts} +0 -2
  499. package/govgr/Logo/index.js +19 -0
  500. package/govgr/Logo/logo.d.ts +2 -0
  501. package/govgr/Logo/logo.js +8 -0
  502. package/{src/govgr/index.ts → govgr/index.d.ts} +0 -0
  503. package/govgr/index.js +57 -0
  504. package/hooks/useDebounce.d.ts +3 -0
  505. package/hooks/useDebounce.js +63 -0
  506. package/hooks/useLatest.d.ts +3 -0
  507. package/hooks/useLatest.js +26 -0
  508. package/hooks/useOutdatedBrowserCheck.d.ts +2 -0
  509. package/hooks/useOutdatedBrowserCheck.js +60 -0
  510. package/hooks/useSearch.d.ts +4 -0
  511. package/hooks/useSearch.js +40 -0
  512. package/hooks/useTogglableSections.d.ts +18 -0
  513. package/hooks/useTogglableSections.js +108 -0
  514. package/{src/index.ts → index.d.ts} +0 -0
  515. package/index.js +70 -0
  516. package/{src/layouts/Basic/Bottom/index.tsx → layouts/Basic/Bottom/index.d.ts} +0 -1
  517. package/layouts/Basic/Bottom/index.js +19 -0
  518. package/layouts/Basic/Bottom/index.mdx +37 -0
  519. package/layouts/Basic/Content/index.d.ts +5 -0
  520. package/layouts/Basic/Content/index.js +31 -0
  521. package/layouts/Basic/Content/index.mdx +64 -0
  522. package/{src/layouts/Basic/Main/index.tsx → layouts/Basic/Main/index.d.ts} +0 -1
  523. package/layouts/Basic/Main/index.js +19 -0
  524. package/layouts/Basic/Main/index.mdx +64 -0
  525. package/{src/layouts/Basic/Masthead/index.tsx → layouts/Basic/Masthead/index.d.ts} +0 -2
  526. package/layouts/Basic/Masthead/index.js +27 -0
  527. package/layouts/Basic/Masthead/index.mdx +74 -0
  528. package/layouts/Basic/Side/index.d.ts +3 -0
  529. package/layouts/Basic/Side/index.js +20 -0
  530. package/layouts/Basic/Side/index.mdx +71 -0
  531. package/layouts/Basic/Top/index.d.ts +3 -0
  532. package/layouts/Basic/Top/index.js +24 -0
  533. package/layouts/Basic/Top/index.mdx +74 -0
  534. package/layouts/Basic/__snapshots__/index.spec.tsx.snap +54 -0
  535. package/{src/layouts/Basic/index.tsx → layouts/Basic/index.d.ts} +0 -2
  536. package/layouts/Basic/index.js +97 -0
  537. package/layouts/Basic/index.mdx +62 -0
  538. package/layouts/Basic/index.spec.d.ts +1 -0
  539. package/layouts/Basic/index.spec.js +20 -0
  540. package/{src/layouts/Grid/index.tsx → layouts/Grid/index.d.ts} +0 -0
  541. package/layouts/Grid/index.js +18 -0
  542. package/{src/layouts/index.ts → layouts/index.d.ts} +0 -0
  543. package/layouts/index.js +34 -0
  544. package/locales/el.d.ts +56 -0
  545. package/locales/el.js +62 -0
  546. package/locales/en.d.ts +56 -0
  547. package/locales/en.js +62 -0
  548. package/package.json +8 -31
  549. package/router/index.d.ts +9 -0
  550. package/router/index.js +37 -0
  551. package/router/index.mdx +40 -0
  552. package/test-utils/delay.d.ts +2 -0
  553. package/test-utils/delay.js +45 -0
  554. package/test-utils/mountWithTheme.d.ts +3 -0
  555. package/test-utils/mountWithTheme.js +43 -0
  556. package/themes/govgr.d.ts +3 -0
  557. package/themes/govgr.js +89 -0
  558. package/themes/grnet.d.ts +2 -0
  559. package/themes/grnet.js +128 -0
  560. package/themes/index.d.ts +32 -0
  561. package/themes/index.js +19 -0
  562. package/typography/Caption.d.ts +7 -0
  563. package/typography/Caption.js +20 -0
  564. package/typography/NormalText.d.ts +5 -0
  565. package/typography/NormalText.js +19 -0
  566. package/typography/Paragraph.d.ts +6 -0
  567. package/typography/Paragraph.js +13 -0
  568. package/typography/Title.d.ts +9 -0
  569. package/typography/Title.js +63 -0
  570. package/{src/typography/index.ts → typography/index.d.ts} +0 -0
  571. package/typography/index.js +97 -0
  572. package/typography/index.mdx +32 -0
  573. package/utils/evaluateBrowserVersion.d.ts +15 -0
  574. package/utils/evaluateBrowserVersion.js +216 -0
  575. package/utils/withDeprecation.d.ts +16 -0
  576. package/utils/withDeprecation.js +116 -0
  577. package/.eslintrc.js +0 -4
  578. package/.prettierrc.js +0 -3
  579. package/.rush/temp/package-deps_build.json +0 -176
  580. package/.rush/temp/shrinkwrap-deps.json +0 -278
  581. package/CHANGELOG.json +0 -796
  582. package/docs/components.mdx +0 -1
  583. package/docs/create-a-new-service.mdx +0 -93
  584. package/docs/create-common-page-layout.mdx +0 -205
  585. package/docs/create-static-page.mdx +0 -179
  586. package/docs/edit-start-page.mdx +0 -143
  587. package/docs/index.mdx +0 -66
  588. package/docs/introduction.mdx +0 -34
  589. package/src/api/APIErrors.tsx +0 -44
  590. package/src/api/APIProvider.tsx +0 -27
  591. package/src/api/fetchAPI.ts +0 -45
  592. package/src/api/index.spec.tsx +0 -419
  593. package/src/api/useResource.tsx +0 -96
  594. package/src/api/useResourceAction.tsx +0 -80
  595. package/src/api/useResourceQuery.tsx +0 -177
  596. package/src/api/utils.tsx +0 -156
  597. package/src/app/App.tsx +0 -33
  598. package/src/app/Header/HeaderSection.tsx +0 -13
  599. package/src/app/Header/HeaderTitle.tsx +0 -24
  600. package/src/app/Header/index.spec.tsx +0 -32
  601. package/src/app/NotFound/index.tsx +0 -21
  602. package/src/app/OutdatedBrowserBanner.tsx +0 -37
  603. package/src/app/PageTitle.tsx +0 -70
  604. package/src/app/QrCodeScanner/index.spec.tsx +0 -19
  605. package/src/app/QrCodeScanner/index.tsx +0 -90
  606. package/src/app/i18n.tsx +0 -44
  607. package/src/core/Accordion/index.spec.tsx +0 -30
  608. package/src/core/Accordion/index.tsx +0 -86
  609. package/src/core/Blockquote/index.spec.tsx +0 -10
  610. package/src/core/Button/ButtonLink.tsx +0 -20
  611. package/src/core/Button/CallToAction.tsx +0 -31
  612. package/src/core/Button/Icon.tsx +0 -9
  613. package/src/core/Button/index.spec.tsx +0 -8
  614. package/src/core/Button/index.tsx +0 -46
  615. package/src/core/Details/index.spec.tsx +0 -38
  616. package/src/core/Divider/index.tsx +0 -13
  617. package/src/core/ErrorSummary/index.spec.tsx +0 -10
  618. package/src/core/Link/index.spec.tsx +0 -22
  619. package/src/core/Link/index.tsx +0 -41
  620. package/src/core/List/ListItemContent.tsx +0 -32
  621. package/src/core/List/ListItemIcon.tsx +0 -31
  622. package/src/core/List/ListItemText.tsx +0 -23
  623. package/src/core/List/ListItemTitle.tsx +0 -37
  624. package/src/core/List/index.spec.tsx +0 -10
  625. package/src/core/NavList/NavList.tsx +0 -103
  626. package/src/core/NavList/NavListContext.tsx +0 -85
  627. package/src/core/NavList/NavListItem.tsx +0 -143
  628. package/src/core/NavList/NavListItemBase.tsx +0 -146
  629. package/src/core/NavList/NavListSubMenu.tsx +0 -33
  630. package/src/core/NavList/index.spec.tsx +0 -10
  631. package/src/core/NotificationBanner/index.spec.tsx +0 -27
  632. package/src/core/NotificationBanner/index.tsx +0 -52
  633. package/src/core/ServiceBadge/index.tsx +0 -35
  634. package/src/core/SummaryList/index.spec.tsx +0 -28
  635. package/src/core/Tabs/index.tsx +0 -36
  636. package/src/core/WarningText/index.spec.tsx +0 -10
  637. package/src/custom.d.ts +0 -8
  638. package/src/govgr/Footer/Copyright.tsx +0 -64
  639. package/src/govgr/Footer/LicenseCCSA.tsx +0 -24
  640. package/src/govgr/Footer/index.tsx +0 -49
  641. package/src/hooks/useDebounce.ts +0 -50
  642. package/src/hooks/useLatest.ts +0 -12
  643. package/src/hooks/useSearch.ts +0 -47
  644. package/src/hooks/useTogglableSections.tsx +0 -102
  645. package/src/layouts/Basic/Content/index.tsx +0 -24
  646. package/src/layouts/Basic/index.spec.tsx +0 -24
  647. package/src/router/index.tsx +0 -28
  648. package/src/test-utils/delay.ts +0 -9
  649. package/src/test-utils/mountWithTheme.tsx +0 -33
  650. package/src/themes/grnet.js +0 -109
  651. package/src/themes/index.tsx +0 -38
  652. package/src/typography/Caption.tsx +0 -15
  653. package/src/typography/NormalText.tsx +0 -7
  654. package/src/typography/Paragraph.tsx +0 -9
  655. package/src/typography/Title.tsx +0 -51
  656. package/src/utils/evaluateBrowserVersion.ts +0 -346
  657. package/src/utils/withDeprecation.tsx +0 -97
  658. package/tsconfig.json +0 -18
  659. package/tsconfig.production.json +0 -27
  660. package/ui.build.log +0 -17
@@ -1,36 +0,0 @@
1
- import { useCallback } from 'react';
2
- import Tabs from '@digigov/react-core/Tabs';
3
- import TabsList from '@digigov/react-core/TabsList';
4
- import TabsListItem from '@digigov/react-core/TabsListItem';
5
- import TabsPanel from '@digigov/react-core/TabsPanel';
6
- import TabsHeading from '@digigov/react-core/TabsHeading';
7
- import {
8
- useTogglableSections,
9
- UseTogglableSectionsReturn,
10
- } from '@digigov/ui/hooks/useTogglableSections';
11
-
12
- export interface UseTabsReturn extends UseTogglableSectionsReturn {
13
- panel: (key: string) => { active: boolean; tabIndex: number; id: string };
14
- }
15
- export { Tabs, TabsList, TabsListItem, TabsPanel, TabsHeading };
16
- export const useTabs = (): UseTabsReturn => {
17
- const { register, opened, ...rest } = useTogglableSections({
18
- singleOpen: true,
19
- toggleProperty: 'selected',
20
- onToggleProperty: 'onClick',
21
- firstOpen: true,
22
- ariaNavigation: true,
23
- });
24
- const panel = useCallback(
25
- (key: string) => {
26
- return {
27
- active: opened[key],
28
- id: key,
29
- tabIndex: opened[key] ? 1 : -1,
30
- };
31
- },
32
- [opened]
33
- );
34
- return { register, opened, panel, ...rest };
35
- };
36
- export default Tabs;
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
- import mountWithTheme from '@digigov/ui/test-utils/mountWithTheme';
3
-
4
- import Component from '@digigov/ui/core/WarningText';
5
-
6
- it('renders the WarningText with sample data', () => {
7
- expect(
8
- mountWithTheme(<Component>this is some random warning text</Component>)
9
- ).toMatchSnapshot();
10
- });
package/src/custom.d.ts DELETED
@@ -1,8 +0,0 @@
1
- declare module '*.svg' {
2
- const content: any;
3
- export default content;
4
- }
5
- declare module '*.png' {
6
- const content: any;
7
- export default content;
8
- }
@@ -1,64 +0,0 @@
1
- import React from 'react';
2
- import CoreCopyright from '@digigov/react-core/Copyright';
3
- import { useTranslation } from '@digigov/ui/app';
4
- import Link from '@digigov/ui/core/Link';
5
-
6
- const getCopyright = () => {
7
- const year = new Date().getFullYear();
8
- return `© Copyright ${year}`;
9
- };
10
-
11
- export interface CopyrightProps {
12
- copyright?: string;
13
- createdBy?: React.ReactNode;
14
- minDigitalCopyright?: boolean;
15
- }
16
- export const Copyright: React.FC<CopyrightProps> = ({
17
- copyright = getCopyright(),
18
- createdBy,
19
- minDigitalCopyright,
20
- }) => {
21
- const { t } = useTranslation();
22
- const copyrightInfo = minDigitalCopyright
23
- ? {
24
- url: 'https://mindigital.gr',
25
- label: t('footer.mindigital'),
26
- }
27
- : {
28
- url: 'https://grnet.gr',
29
- label: t('footer.grnet'),
30
- };
31
-
32
- return (
33
- <CoreCopyright>
34
- {copyright}
35
- {' - '}
36
- {createdBy || (
37
- <>
38
- {t('footer.created_by')}{' '}
39
- <Link
40
- href={copyrightInfo.url}
41
- target="_blank"
42
- rel="noopener noreferrer"
43
- >
44
- {copyrightInfo.label}
45
- </Link>{' '}
46
- {!minDigitalCopyright && (
47
- <>
48
- {t('footer.using')}{' '}
49
- <Link
50
- href="https://mathe.ellak.gr/"
51
- target="_blank"
52
- rel="noopener noreferrer"
53
- >
54
- {t('footer.open_source')}
55
- </Link>
56
- </>
57
- )}
58
- </>
59
- )}
60
- </CoreCopyright>
61
- );
62
- };
63
-
64
- export default Copyright;
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import NormalText from '@digigov/react-core/NormalText';
3
- import { useTranslation } from '@digigov/ui/app';
4
- import Link from '@digigov/ui/core/Link';
5
-
6
- export const LicenseCCSA: React.FC = () => {
7
- const { t } = useTranslation();
8
- return (
9
- <NormalText>
10
- <>
11
- {t('footer.creative_commons')}{' '}
12
- <Link
13
- href="https://creativecommons.org/licenses/by-sa/4.0/deed.el"
14
- target="_blank"
15
- rel="noopener noreferrer"
16
- >
17
- CC-BY-SA
18
- </Link>{' '}
19
- </>
20
- </NormalText>
21
- );
22
- };
23
-
24
- export default LicenseCCSA;
@@ -1,49 +0,0 @@
1
- import React from 'react';
2
- import Copyright from '@digigov/ui/govgr/Footer/Copyright';
3
- import HellenicRepublicLogo from '@digigov/ui/govgr/Footer/HellenicRepublicLogo';
4
- import Footer, { FooterProps } from '@digigov/react-core/Footer';
5
- import FooterContainer from '@digigov/react-core/FooterContainer';
6
- import FooterMeta from '@digigov/react-core/FooterMeta';
7
- import FooterMetaItem from '@digigov/react-core/FooterMetaItem';
8
-
9
- export interface GovGRFooterProps extends FooterProps {
10
- copyright?: React.ReactNode;
11
- minDigitalCopyright?: boolean;
12
- license?: string;
13
- openSource?: string;
14
- children?: React.ReactNode;
15
- createdBy?: React.ReactNode;
16
- className?: string;
17
- }
18
- export const GovGRFooter: React.FC<GovGRFooterProps> = ({
19
- copyright,
20
- children,
21
- createdBy,
22
- minDigitalCopyright,
23
- }: GovGRFooterProps) => {
24
- return (
25
- <Footer>
26
- <FooterContainer>
27
- {children || (
28
- <FooterMeta>
29
- <FooterMetaItem>
30
- {copyright ? (
31
- copyright
32
- ) : (
33
- <Copyright
34
- createdBy={createdBy}
35
- minDigitalCopyright={minDigitalCopyright}
36
- />
37
- )}
38
- </FooterMetaItem>
39
- <FooterMetaItem>
40
- <HellenicRepublicLogo />
41
- </FooterMetaItem>
42
- </FooterMeta>
43
- )}
44
- </FooterContainer>
45
- </Footer>
46
- );
47
- };
48
-
49
- export default GovGRFooter;
@@ -1,50 +0,0 @@
1
- import * as React from 'react';
2
- import useLatest from '@digigov/ui/hooks/useLatest';
3
-
4
- export const useDebounceCallback = <CallbackArgs extends any[]>(
5
- callback: (...args: CallbackArgs) => void,
6
- wait = 100,
7
- leading = false
8
- ): ((...args: CallbackArgs) => void) => {
9
- const storedCallback = useLatest(callback);
10
- const timeout = React.useRef<ReturnType<typeof setTimeout>>();
11
- const deps = [wait, leading, storedCallback];
12
- // Cleans up pending timeouts when the deps change
13
- React.useEffect(
14
- () => () => {
15
- timeout.current && clearTimeout(timeout.current);
16
- timeout.current = void 0;
17
- },
18
- deps
19
- );
20
-
21
- return React.useCallback(function () {
22
- // eslint-disable-next-line prefer-rest-params
23
- const args = arguments;
24
- const { current } = timeout;
25
- // Calls on leading edge
26
- if (current === void 0 && leading) {
27
- timeout.current = setTimeout(() => {
28
- timeout.current = void 0;
29
- }, wait);
30
- // eslint-disable-next-line prefer-spread
31
- return storedCallback.current.apply(null, args as any);
32
- }
33
- // Clear the timeout every call and start waiting again
34
- current && clearTimeout(current);
35
- // Waits for `wait` before invoking the callback
36
- timeout.current = setTimeout(() => {
37
- timeout.current = void 0;
38
- storedCallback.current.apply(null, args as any);
39
- }, wait);
40
- }, deps);
41
- };
42
-
43
- export const useDebounce = <State extends any>(
44
- initialState: State | (() => State),
45
- wait?: number,
46
- leading?: boolean
47
- ): [State, React.Dispatch<React.SetStateAction<State>>] => {
48
- const state = React.useState(initialState);
49
- return [state[0], useDebounceCallback(state[1], wait, leading)];
50
- };
@@ -1,12 +0,0 @@
1
- // copied from https://github.com/jaredLunde/react-hook/blob/master/packages/latest/src/index.tsx
2
- import * as React from 'react'
3
-
4
- const useLatest = <T extends any>(current: T) => {
5
- const storedValue = React.useRef(current)
6
- React.useEffect(() => {
7
- storedValue.current = current
8
- })
9
- return storedValue
10
- }
11
-
12
- export default useLatest
@@ -1,47 +0,0 @@
1
- import { useMemo } from 'react';
2
-
3
- export function normalizeGreek(text) {
4
- text = text
5
- .replace(/Ά|Α|ά/g, 'α')
6
- .replace(/Έ|Ε|έ/g, 'ε')
7
- .replace(/Ή|Η|ή/g, 'η')
8
- .replace(/Ί|Ϊ|Ι|ί|ΐ|ϊ/g, 'ι')
9
- .replace(/Ό|Ο|ό/g, 'ο')
10
- .replace(/Ύ|Ϋ|Υ|ύ|ΰ|ϋ/g, 'υ')
11
- .replace(/Ώ|Ω|ώ/g, 'ω')
12
- .replace(/Σ|ς/g, 'σ');
13
- return text;
14
- }
15
-
16
- export function fullTextSearch(data: Object, search: string): boolean {
17
- if (!search) {
18
- return true;
19
- }
20
- const q = normalizeGreek(
21
- search
22
- .normalize('NFC')
23
- .replace(/[\u0300-\u036f]/g, '')
24
- .toLowerCase()
25
- );
26
- const index = Object.keys(data)
27
- .map(k => {
28
- return data[k] ? data[k].toString().toLowerCase() : '';
29
- })
30
- .join('');
31
-
32
- return normalizeGreek(
33
- index.normalize('NFC').replace(/[\u0300-\u036f]/g, '')
34
- ).includes(q);
35
- }
36
-
37
- export function useSearch(
38
- data: Array<Object>,
39
- query?: string
40
- ) {
41
- if(!query) return data
42
- return useMemo(() => {
43
- return data.filter(t => fullTextSearch(t, query));
44
- }, [data, query]);
45
- }
46
-
47
- export default useSearch
@@ -1,102 +0,0 @@
1
- /* eslint-disable react-hooks/exhaustive-deps */
2
- import { useRef, useState, useCallback, useMemo } from 'react';
3
-
4
- export interface UseTogglableSectionsInterface {
5
- toggleProperty: string;
6
- singleOpen?: boolean;
7
- onToggleProperty: string;
8
- initial?: Record<string, boolean>;
9
- firstOpen?: boolean;
10
- ariaNavigation?: boolean;
11
- }
12
- export interface UseTogglableSectionsReturn {
13
- register: (el: HTMLElement) => void;
14
- registered: { current: Record<string, HTMLElement> };
15
- opened: Record<string, boolean>;
16
- toggle: (id: string) => void;
17
- setOpened: (
18
- opened:
19
- | ((curOpened: Record<string, boolean>) => Record<string, boolean>)
20
- | Record<string, boolean>
21
- ) => void;
22
- }
23
- export function useTogglableSections({
24
- toggleProperty,
25
- singleOpen,
26
- onToggleProperty,
27
- initial,
28
- firstOpen,
29
- ariaNavigation,
30
- }: UseTogglableSectionsInterface): UseTogglableSectionsReturn {
31
- const [opened, setOpened] = useState(initial || {});
32
- const registered = useRef<Record<string, HTMLElement>>({});
33
- const sectionsOrder = useRef<string[]>([]);
34
- const registerRef = useCallback((el) => {
35
- if (!el) return;
36
- const key = el.getAttribute('aria-controls') as string;
37
- if (registered.current[key]) return;
38
- registered.current[key] = el;
39
- sectionsOrder.current.push(key);
40
- if (firstOpen && sectionsOrder.current.length === 1) {
41
- setOpened({
42
- [key]: true,
43
- });
44
- }
45
- }, []);
46
- const toggle = useCallback((e) => {
47
- const key = e.currentTarget.getAttribute('aria-controls') as string;
48
- e.preventDefault();
49
- if (singleOpen) {
50
- setOpened({ [key]: true });
51
- } else {
52
- setOpened((prev) => ({ ...prev, [key]: !prev[key] }));
53
- }
54
- }, []);
55
- const onKeyDown = useCallback((e) => {
56
- const key = e.target.getAttribute('aria-controls');
57
- const currentIndex = sectionsOrder.current.findIndex((k) => k === key);
58
- const nextKey = sectionsOrder.current[currentIndex + 1];
59
- const previousKey = sectionsOrder.current[currentIndex - 1];
60
- switch (e.key) {
61
- case 'ArrowRight':
62
- case 'ArrowDown':
63
- if (nextKey) {
64
- registered.current[nextKey].focus();
65
- }
66
- break;
67
- case 'ArrowLeft':
68
- case 'ArrowUp':
69
- if (previousKey) {
70
- registered.current[previousKey].focus();
71
- }
72
- break;
73
- case ' ':
74
- case 'Enter':
75
- toggle(e);
76
- break;
77
- }
78
- }, []);
79
- const register = useCallback(
80
- (key) => {
81
- const isOpen = !!opened[key];
82
- return {
83
- ref: registerRef,
84
- [toggleProperty]: isOpen,
85
- [onToggleProperty]: toggle,
86
- 'aria-controls': `${key}`,
87
- ...(ariaNavigation && { onKeyDown, tabIndex: opened[key] ? 0 : -1 }),
88
- };
89
- },
90
- [opened]
91
- );
92
- return useMemo(
93
- () => ({
94
- register,
95
- registered,
96
- opened,
97
- toggle,
98
- setOpened,
99
- }),
100
- [opened]
101
- );
102
- }
@@ -1,24 +0,0 @@
1
- import CoreContainer, {
2
- ContainerProps as CoreContainerProps,
3
- } from '@digigov/react-core/Container';
4
- import withDeprecation from '@digigov/ui/utils/withDeprecation';
5
-
6
- export type ContainerProps = CoreContainerProps;
7
-
8
- export const Content = withDeprecation(CoreContainer, {
9
- name: 'Content',
10
- rename: 'Container',
11
- props: {
12
- maxWidth: {
13
- error: true,
14
- },
15
- flex: {
16
- error: true,
17
- },
18
- dense: {
19
- error: true,
20
- },
21
- },
22
- });
23
-
24
- export default Content;
@@ -1,24 +0,0 @@
1
- import * as React from 'react';
2
- import { mount } from 'enzyme';
3
-
4
- import BasicLayout, {
5
- Top,
6
- Side,
7
- Main,
8
- Content,
9
- Bottom,
10
- } from '@digigov/ui/layouts/Basic';
11
-
12
- it('renders the BasicLayout with Top, Content, Bottom, Main and Side children ', () => {
13
- const jsx = (
14
- <BasicLayout>
15
- <Top>Header content</Top>
16
- <Content>
17
- <Main>Main content</Main>
18
- <Side>Side content</Side>
19
- </Content>
20
- <Bottom>Bottom content</Bottom>
21
- </BasicLayout>
22
- );
23
- expect(mount(jsx)).toMatchSnapshot();
24
- });
@@ -1,28 +0,0 @@
1
- import React, { createContext, useContext } from 'react';
2
-
3
- export type RouterInterface = {
4
- children?: React.ReactNode;
5
- router?: any;
6
- };
7
- export const RouterContext = createContext<RouterInterface>({});
8
-
9
- export const useRouter = (): RouterInterface => {
10
- return useContext(RouterContext);
11
- };
12
-
13
- export const RouterProvider: React.FC<RouterInterface> = ({
14
- router,
15
- children,
16
- }) => {
17
- return (
18
- <RouterContext.Provider
19
- value={{
20
- router,
21
- }}
22
- >
23
- {children}
24
- </RouterContext.Provider>
25
- );
26
- };
27
-
28
- export default RouterContext;
@@ -1,9 +0,0 @@
1
- import { act } from '@testing-library/react';
2
-
3
- export async function delay(ms): Promise<void> {
4
- await act(
5
- (): Promise<void> => new Promise((resolve) => setTimeout(resolve, ms))
6
- ); // still suspending
7
- }
8
-
9
- export default delay;
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import { mount } from 'enzyme';
3
- import { ThemeProvider, createMuiTheme } from '@material-ui/core/styles';
4
-
5
- const mockTheme = createMuiTheme({
6
- header: {
7
- height: '',
8
- logo: {
9
- component: '',
10
- height: '',
11
- },
12
- border: {
13
- width: '',
14
- height: '',
15
- background: '',
16
- },
17
- },
18
- footer: {
19
- link: '',
20
- contrastText: '',
21
- main: '',
22
- },
23
- });
24
-
25
- const mountWithTheme = (tree: React.ReactNode): any => {
26
- return mount(
27
- <>
28
- <ThemeProvider theme={mockTheme}>{tree}</ThemeProvider>
29
- </>
30
- );
31
- };
32
-
33
- export default mountWithTheme;
@@ -1,109 +0,0 @@
1
- import React from 'react';
2
- import {
3
- createMuiTheme,
4
- responsiveFontSizes,
5
- makeStyles,
6
- } from '@material-ui/core/styles';
7
- import logo from '../govgr/Logo/govgr-logo.svg';
8
- import { useTranslation } from '@digigov/ui/app/i18n';
9
- import Title from '@digigov/ui/typography/Title';
10
- import Container from '@material-ui/core/Container';
11
- import Toolbar from '@material-ui/core/Toolbar';
12
- import Typography from '@material-ui/core/Typography';
13
- import Grid from '@digigov/react-core/Grid';
14
- import MuiAppBar from '@material-ui/core/AppBar';
15
-
16
- const useStyles = makeStyles((theme) => ({
17
- title: {
18
- lineHeight: '2em',
19
- marginBottom: 0,
20
- marginLeft: '5px',
21
- marginRight: theme.spacing(2),
22
- },
23
- appbar: {
24
- background: theme.palette.footer.main,
25
- color: theme.palette.footer.contrastText,
26
- },
27
- text: {
28
- flexGrow: 1,
29
- },
30
- }));
31
-
32
- const Logo = () => {
33
- const { t } = useTranslation();
34
- const styles = useStyles();
35
- return (
36
- <div style={{ display: 'flex' }}>
37
- <img
38
- src={logo}
39
- height={24}
40
- width={24}
41
- style={{ display: 'flex', marginTop: '6px' }}
42
- />
43
- <Title size="sm" className={styles.title}>
44
- {t('header_appbar.govgr_icon')}
45
- </Title>
46
- </div>
47
- );
48
- };
49
-
50
- const Footer = () => {
51
- const styles = useStyles();
52
- return (
53
- <MuiAppBar className={styles.appbar} position="static">
54
- <Grid container>
55
- <Container>
56
- <Toolbar variant="dense" disableGutters>
57
- <Typography variant="body2" className={styles.text}>
58
- Powered by open source software
59
- </Typography>
60
- </Toolbar>
61
- </Container>
62
- </Grid>
63
- </MuiAppBar>
64
- );
65
- };
66
-
67
- let theme = createMuiTheme({
68
- overrides: {
69
- MuiButton: {
70
- root: {
71
- borderRadius: 0,
72
- },
73
- },
74
- },
75
- palette: {
76
- primary: {
77
- main: '#283d70',
78
- },
79
- secondary: {
80
- main: '#ffffff',
81
- dark: '#f5f5f5',
82
- },
83
- footer: {
84
- main: '#e1e1e2',
85
- contrastText: '#000',
86
- },
87
- },
88
- typography: {
89
- htmlFontSize: 14,
90
- },
91
- header: {
92
- logo: {
93
- component: Logo,
94
- height: 45,
95
- },
96
- border: {
97
- width: '92%',
98
- height: '5px',
99
- },
100
- height: '45px',
101
- },
102
- footer: {
103
- component: Footer,
104
- },
105
- });
106
-
107
- theme = responsiveFontSizes(theme, ['sm', 'md', 'lg']);
108
-
109
- export default theme;
@@ -1,38 +0,0 @@
1
- import { ReactChild } from 'react';
2
- import { useTheme, makeStyles } from '@material-ui/core';
3
-
4
- interface Logo {
5
- component: ReactChild;
6
- height: string | number;
7
- }
8
-
9
- interface Footer {
10
- link: string;
11
- contrastText: string;
12
- main: string;
13
- component?: ReactChild;
14
- }
15
-
16
- interface Header {
17
- logo: Logo;
18
- border: {
19
- width: string | number;
20
- height: string | number;
21
- background: string;
22
- };
23
- height: string | number;
24
- }
25
-
26
- declare module '@material-ui/core/styles/createMuiTheme' {
27
- interface Theme {
28
- header: Header;
29
- footer: Footer;
30
- }
31
- // allow configuration using `createMuiTheme`
32
- interface ThemeOptions {
33
- header: Header;
34
- footer: Footer;
35
- }
36
- }
37
-
38
- export { useTheme, makeStyles };