@digigov/ui 0.11.0 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (661) hide show
  1. package/.eslintrc.js +4 -0
  2. package/.prettierrc.js +3 -0
  3. package/.rush/temp/package-deps_build.json +176 -0
  4. package/.rush/temp/shrinkwrap-deps.json +278 -0
  5. package/CHANGELOG.json +796 -0
  6. package/CHANGELOG.md +22 -1
  7. package/docs/components.mdx +1 -0
  8. package/docs/create-a-new-service.mdx +93 -0
  9. package/docs/create-common-page-layout.mdx +205 -0
  10. package/docs/create-static-page.mdx +179 -0
  11. package/docs/edit-start-page.mdx +143 -0
  12. package/docs/index.mdx +66 -0
  13. package/docs/introduction.mdx +34 -0
  14. package/package.json +31 -8
  15. package/src/api/APIErrors.tsx +44 -0
  16. package/src/api/APIProvider.tsx +27 -0
  17. package/src/api/fetchAPI.ts +45 -0
  18. package/src/api/index.spec.tsx +419 -0
  19. package/{esm/api/index.js → src/api/index.tsx} +6 -3
  20. package/{api → src/api}/introduction.md +0 -0
  21. package/src/api/useResource.tsx +96 -0
  22. package/src/api/useResourceAction.tsx +80 -0
  23. package/src/api/useResourceQuery.tsx +177 -0
  24. package/src/api/utils.tsx +156 -0
  25. package/src/app/App.tsx +33 -0
  26. package/{app/Confirmation/index.d.ts → src/app/Confirmation/index.tsx} +0 -0
  27. package/{app/Footer/index.d.ts → src/app/Footer/index.tsx} +0 -0
  28. package/{es/app/Header/HeaderLogo.js → src/app/Header/HeaderLogo.tsx} +9 -7
  29. package/src/app/Header/HeaderSection.tsx +13 -0
  30. package/src/app/Header/HeaderTitle.tsx +24 -0
  31. package/{app → src/app}/Header/__snapshots__/index.spec.tsx.snap +0 -0
  32. package/{app → src/app}/Header/index.mdx +0 -0
  33. package/src/app/Header/index.spec.tsx +32 -0
  34. package/{esm/app/Header/index.js → src/app/Header/index.tsx} +10 -4
  35. package/src/app/NotFound/index.tsx +21 -0
  36. package/src/app/OutdatedBrowserBanner.tsx +37 -0
  37. package/src/app/PageTitle.tsx +70 -0
  38. package/{app → src/app}/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -0
  39. package/{app → src/app}/QrCodeScanner/index.mdx +0 -0
  40. package/src/app/QrCodeScanner/index.spec.tsx +19 -0
  41. package/src/app/QrCodeScanner/index.tsx +90 -0
  42. package/src/app/i18n.tsx +44 -0
  43. package/{app/index.d.ts → src/app/index.ts} +0 -0
  44. package/{core → src/core}/Accordion/__snapshots__/index.spec.tsx.snap +0 -0
  45. package/{core → src/core}/Accordion/index.mdx +0 -0
  46. package/src/core/Accordion/index.spec.tsx +30 -0
  47. package/src/core/Accordion/index.tsx +86 -0
  48. package/{core → src/core}/Blockquote/__snapshots__/index.spec.tsx.snap +0 -0
  49. package/{core → src/core}/Blockquote/index.mdx +0 -0
  50. package/src/core/Blockquote/index.spec.tsx +10 -0
  51. package/{esm/core/Blockquote/index.js → src/core/Blockquote/index.tsx} +9 -7
  52. package/{core/Breadcrumbs/index.d.ts → src/core/Breadcrumbs/index.tsx} +0 -0
  53. package/{esm/core/Button/BackButton.js → src/core/Button/BackButton.tsx} +10 -8
  54. package/src/core/Button/ButtonLink.tsx +20 -0
  55. package/src/core/Button/CallToAction.tsx +31 -0
  56. package/src/core/Button/Icon.tsx +9 -0
  57. package/{core → src/core}/Button/__snapshots__/index.spec.tsx.snap +0 -0
  58. package/{core → src/core}/Button/index.mdx +0 -0
  59. package/src/core/Button/index.spec.tsx +8 -0
  60. package/src/core/Button/index.tsx +46 -0
  61. package/{core/Card/index.d.ts → src/core/Card/index.tsx} +0 -0
  62. package/{core → src/core}/Details/__snapshots__/index.spec.tsx.snap +0 -0
  63. package/{core → src/core}/Details/index.mdx +0 -0
  64. package/src/core/Details/index.spec.tsx +38 -0
  65. package/{core/Details/index.d.ts → src/core/Details/index.tsx} +2 -0
  66. package/src/core/Divider/index.tsx +13 -0
  67. package/{core → src/core}/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -0
  68. package/{core → src/core}/ErrorSummary/index.mdx +0 -0
  69. package/src/core/ErrorSummary/index.spec.tsx +10 -0
  70. package/{core/ErrorSummary/index.d.ts → src/core/ErrorSummary/index.tsx} +1 -0
  71. package/{core/Hidden/index.d.ts → src/core/Hidden/index.tsx} +0 -0
  72. package/{core → src/core}/Link/__snapshots__/index.spec.tsx.snap +0 -0
  73. package/src/core/Link/index.spec.tsx +22 -0
  74. package/src/core/Link/index.tsx +41 -0
  75. package/{core/List/List.d.ts → src/core/List/List.tsx} +2 -0
  76. package/{core/List/ListItem.d.ts → src/core/List/ListItem.tsx} +2 -0
  77. package/src/core/List/ListItemContent.tsx +32 -0
  78. package/src/core/List/ListItemIcon.tsx +31 -0
  79. package/src/core/List/ListItemText.tsx +23 -0
  80. package/src/core/List/ListItemTitle.tsx +37 -0
  81. package/{core → src/core}/List/__snapshots__/index.spec.tsx.snap +0 -0
  82. package/{core → src/core}/List/index.mdx +0 -0
  83. package/src/core/List/index.spec.tsx +10 -0
  84. package/{core/List/index.d.ts → src/core/List/index.tsx} +0 -0
  85. package/src/core/NavList/NavList.tsx +103 -0
  86. package/src/core/NavList/NavListContext.tsx +85 -0
  87. package/src/core/NavList/NavListItem.tsx +143 -0
  88. package/src/core/NavList/NavListItemBase.tsx +146 -0
  89. package/src/core/NavList/NavListSubMenu.tsx +33 -0
  90. package/{core → src/core}/NavList/__snapshots__/index.spec.tsx.snap +0 -0
  91. package/{core → src/core}/NavList/index.mdx +0 -0
  92. package/src/core/NavList/index.spec.tsx +10 -0
  93. package/{core/NavList/index.d.ts → src/core/NavList/index.tsx} +0 -0
  94. package/{core → src/core}/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -0
  95. package/{core → src/core}/NotificationBanner/index.mdx +0 -0
  96. package/src/core/NotificationBanner/index.spec.tsx +27 -0
  97. package/src/core/NotificationBanner/index.tsx +52 -0
  98. package/{core → src/core}/ServiceBadge/ServiceBadge.mdx +0 -0
  99. package/{core → src/core}/ServiceBadge/index.mdx +0 -0
  100. package/src/core/ServiceBadge/index.tsx +35 -0
  101. package/{core → src/core}/SummaryList/__snapshots__/index.spec.tsx.snap +0 -0
  102. package/{core → src/core}/SummaryList/index.mdx +0 -0
  103. package/src/core/SummaryList/index.spec.tsx +28 -0
  104. package/{core/SummaryList/index.d.ts → src/core/SummaryList/index.tsx} +2 -0
  105. package/{core/Table/index.d.ts → src/core/Table/index.tsx} +0 -0
  106. package/{core → src/core}/Tabs/index.mdx +0 -0
  107. package/src/core/Tabs/index.tsx +36 -0
  108. package/{core/VisuallyHidden/index.d.ts → src/core/VisuallyHidden/index.tsx} +0 -0
  109. package/{core → src/core}/WarningText/__snapshots__/index.spec.tsx.snap +0 -0
  110. package/{core → src/core}/WarningText/index.mdx +0 -0
  111. package/src/core/WarningText/index.spec.tsx +10 -0
  112. package/{core/WarningText/index.d.ts → src/core/WarningText/index.tsx} +1 -0
  113. package/{core/index.d.ts → src/core/index.ts} +3 -0
  114. package/src/custom.d.ts +8 -0
  115. package/{es → src}/form/inputs/Input/index.mdx +0 -0
  116. package/src/govgr/Footer/Copyright.tsx +64 -0
  117. package/{govgr/Footer/HellenicRepublicLogo.d.ts → src/govgr/Footer/HellenicRepublicLogo.tsx} +1 -0
  118. package/src/govgr/Footer/LicenseCCSA.tsx +24 -0
  119. package/{es → src}/govgr/Footer/index.mdx +0 -0
  120. package/src/govgr/Footer/index.tsx +49 -0
  121. package/{esm/govgr/Footer/logo.js → src/govgr/Footer/logo.ts} +1 -1
  122. package/{esm/govgr/Footer/logos/logo-el.js → src/govgr/Footer/logos/logo-el.ts} +1 -1
  123. package/{esm/govgr/Footer/logos/logo-en.js → src/govgr/Footer/logos/logo-en.ts} +1 -1
  124. package/{es → src}/govgr/Logo/govgr-logo.svg +0 -0
  125. package/{govgr/Logo/index.d.ts → src/govgr/Logo/index.tsx} +2 -0
  126. package/{es/govgr/Logo/logo.js → src/govgr/Logo/logo.ts} +1 -1
  127. package/{govgr/index.d.ts → src/govgr/index.ts} +0 -0
  128. package/src/hooks/useDebounce.ts +50 -0
  129. package/src/hooks/useLatest.ts +12 -0
  130. package/{esm/hooks/useOutdatedBrowserCheck.js → src/hooks/useOutdatedBrowserCheck.ts} +16 -15
  131. package/src/hooks/useSearch.ts +47 -0
  132. package/src/hooks/useTogglableSections.tsx +102 -0
  133. package/{index.d.ts → src/index.ts} +0 -0
  134. package/{es → src}/layouts/Basic/Bottom/index.mdx +0 -0
  135. package/{layouts/Basic/Bottom/index.d.ts → src/layouts/Basic/Bottom/index.tsx} +1 -0
  136. package/{es → src}/layouts/Basic/Content/index.mdx +0 -0
  137. package/src/layouts/Basic/Content/index.tsx +24 -0
  138. package/{es → src}/layouts/Basic/Main/index.mdx +0 -0
  139. package/{layouts/Basic/Main/index.d.ts → src/layouts/Basic/Main/index.tsx} +1 -0
  140. package/{es → src}/layouts/Basic/Masthead/index.mdx +0 -0
  141. package/{layouts/Basic/Masthead/index.d.ts → src/layouts/Basic/Masthead/index.tsx} +2 -0
  142. package/{es → src}/layouts/Basic/Side/index.mdx +0 -0
  143. package/{esm/layouts/Basic/Side/index.js → src/layouts/Basic/Side/index.tsx} +5 -3
  144. package/{es → src}/layouts/Basic/Top/index.mdx +0 -0
  145. package/{es/layouts/Basic/Top/index.js → src/layouts/Basic/Top/index.tsx} +7 -5
  146. package/{es → src}/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -0
  147. package/{es → src}/layouts/Basic/index.mdx +0 -0
  148. package/src/layouts/Basic/index.spec.tsx +24 -0
  149. package/{layouts/Basic/index.d.ts → src/layouts/Basic/index.tsx} +2 -0
  150. package/{layouts/Grid/index.d.ts → src/layouts/Grid/index.tsx} +0 -0
  151. package/{layouts/index.d.ts → src/layouts/index.ts} +0 -0
  152. package/src/locales/el.ts +60 -0
  153. package/{esm/locales/en.js → src/locales/en.ts} +25 -11
  154. package/{es → src}/router/index.mdx +0 -0
  155. package/src/router/index.tsx +28 -0
  156. package/src/test-utils/delay.ts +9 -0
  157. package/src/test-utils/mountWithTheme.tsx +33 -0
  158. package/{es → src}/themes/govgr.js +33 -29
  159. package/src/themes/grnet.js +109 -0
  160. package/src/themes/index.tsx +38 -0
  161. package/src/typography/Caption.tsx +15 -0
  162. package/src/typography/NormalText.tsx +7 -0
  163. package/src/typography/Paragraph.tsx +9 -0
  164. package/src/typography/Title.tsx +51 -0
  165. package/{es → src}/typography/index.mdx +0 -0
  166. package/{typography/index.d.ts → src/typography/index.ts} +0 -0
  167. package/src/utils/evaluateBrowserVersion.ts +346 -0
  168. package/src/utils/withDeprecation.tsx +97 -0
  169. package/tsconfig.json +18 -0
  170. package/tsconfig.production.json +27 -0
  171. package/ui.build.log +17 -0
  172. package/LICENSE +0 -0
  173. package/api/APIErrors.d.ts +0 -22
  174. package/api/APIErrors.js +0 -117
  175. package/api/APIProvider.d.ts +0 -15
  176. package/api/APIProvider.js +0 -43
  177. package/api/fetchAPI.d.ts +0 -18
  178. package/api/fetchAPI.js +0 -64
  179. package/api/index.d.ts +0 -9
  180. package/api/index.js +0 -104
  181. package/api/index.spec.d.ts +0 -1
  182. package/api/index.spec.js +0 -584
  183. package/api/useResource.d.ts +0 -11
  184. package/api/useResource.js +0 -144
  185. package/api/useResourceAction.d.ts +0 -2
  186. package/api/useResourceAction.js +0 -157
  187. package/api/useResourceQuery.d.ts +0 -18
  188. package/api/useResourceQuery.js +0 -229
  189. package/api/utils.d.ts +0 -6
  190. package/api/utils.js +0 -250
  191. package/app/App.d.ts +0 -14
  192. package/app/App.js +0 -49
  193. package/app/Confirmation/index.js +0 -44
  194. package/app/Footer/index.js +0 -200
  195. package/app/Header/HeaderLogo.d.ts +0 -3
  196. package/app/Header/HeaderLogo.js +0 -30
  197. package/app/Header/HeaderSection.d.ts +0 -5
  198. package/app/Header/HeaderSection.js +0 -20
  199. package/app/Header/HeaderTitle.d.ts +0 -5
  200. package/app/Header/HeaderTitle.js +0 -30
  201. package/app/Header/index.d.ts +0 -11
  202. package/app/Header/index.js +0 -106
  203. package/app/Header/index.spec.d.ts +0 -1
  204. package/app/Header/index.spec.js +0 -45
  205. package/app/NotFound/index.d.ts +0 -3
  206. package/app/NotFound/index.js +0 -29
  207. package/app/OutdatedBrowserBanner.d.ts +0 -2
  208. package/app/OutdatedBrowserBanner.js +0 -41
  209. package/app/PageTitle.d.ts +0 -10
  210. package/app/PageTitle.js +0 -76
  211. package/app/QrCodeScanner/index.d.ts +0 -29
  212. package/app/QrCodeScanner/index.js +0 -85
  213. package/app/QrCodeScanner/index.spec.d.ts +0 -1
  214. package/app/QrCodeScanner/index.spec.js +0 -26
  215. package/app/i18n.d.ts +0 -10
  216. package/app/i18n.js +0 -57
  217. package/app/index.js +0 -70
  218. package/core/Accordion/index.d.ts +0 -21
  219. package/core/Accordion/index.js +0 -127
  220. package/core/Accordion/index.spec.d.ts +0 -1
  221. package/core/Accordion/index.spec.js +0 -19
  222. package/core/Blockquote/index.d.ts +0 -3
  223. package/core/Blockquote/index.js +0 -29
  224. package/core/Blockquote/index.spec.d.ts +0 -1
  225. package/core/Blockquote/index.spec.js +0 -21
  226. package/core/Breadcrumbs/index.js +0 -44
  227. package/core/Button/BackButton.d.ts +0 -3
  228. package/core/Button/BackButton.js +0 -34
  229. package/core/Button/ButtonLink.d.ts +0 -4
  230. package/core/Button/ButtonLink.js +0 -28
  231. package/core/Button/CallToAction.d.ts +0 -7
  232. package/core/Button/CallToAction.js +0 -41
  233. package/core/Button/Icon.d.ts +0 -2
  234. package/core/Button/Icon.js +0 -19
  235. package/core/Button/index.d.ts +0 -15
  236. package/core/Button/index.js +0 -121
  237. package/core/Button/index.spec.d.ts +0 -1
  238. package/core/Button/index.spec.js +0 -21
  239. package/core/Card/index.js +0 -57
  240. package/core/Details/index.js +0 -35
  241. package/core/Details/index.spec.d.ts +0 -1
  242. package/core/Details/index.spec.js +0 -27
  243. package/core/Divider/index.d.ts +0 -5
  244. package/core/Divider/index.js +0 -20
  245. package/core/ErrorSummary/index.js +0 -19
  246. package/core/ErrorSummary/index.spec.d.ts +0 -1
  247. package/core/ErrorSummary/index.spec.js +0 -21
  248. package/core/Hidden/index.js +0 -18
  249. package/core/Link/index.d.ts +0 -12
  250. package/core/Link/index.js +0 -50
  251. package/core/Link/index.spec.d.ts +0 -1
  252. package/core/Link/index.spec.js +0 -31
  253. package/core/List/List.js +0 -19
  254. package/core/List/ListItem.js +0 -19
  255. package/core/List/ListItemContent.d.ts +0 -7
  256. package/core/List/ListItemContent.js +0 -45
  257. package/core/List/ListItemIcon.d.ts +0 -7
  258. package/core/List/ListItemIcon.js +0 -48
  259. package/core/List/ListItemText.d.ts +0 -8
  260. package/core/List/ListItemText.js +0 -36
  261. package/core/List/ListItemTitle.d.ts +0 -10
  262. package/core/List/ListItemTitle.js +0 -44
  263. package/core/List/index.js +0 -96
  264. package/core/List/index.spec.d.ts +0 -1
  265. package/core/List/index.spec.js +0 -21
  266. package/core/NavList/NavList.d.ts +0 -17
  267. package/core/NavList/NavList.js +0 -99
  268. package/core/NavList/NavListContext.d.ts +0 -20
  269. package/core/NavList/NavListContext.js +0 -102
  270. package/core/NavList/NavListItem.d.ts +0 -13
  271. package/core/NavList/NavListItem.js +0 -171
  272. package/core/NavList/NavListItemBase.d.ts +0 -16
  273. package/core/NavList/NavListItemBase.js +0 -161
  274. package/core/NavList/NavListSubMenu.d.ts +0 -8
  275. package/core/NavList/NavListSubMenu.js +0 -52
  276. package/core/NavList/index.js +0 -68
  277. package/core/NavList/index.spec.d.ts +0 -1
  278. package/core/NavList/index.spec.js +0 -21
  279. package/core/NotificationBanner/index.d.ts +0 -18
  280. package/core/NotificationBanner/index.js +0 -78
  281. package/core/NotificationBanner/index.spec.d.ts +0 -1
  282. package/core/NotificationBanner/index.spec.js +0 -32
  283. package/core/ServiceBadge/index.d.ts +0 -9
  284. package/core/ServiceBadge/index.js +0 -36
  285. package/core/SummaryList/index.js +0 -79
  286. package/core/SummaryList/index.spec.d.ts +0 -1
  287. package/core/SummaryList/index.spec.js +0 -19
  288. package/core/Table/index.js +0 -96
  289. package/core/Tabs/index.d.ts +0 -16
  290. package/core/Tabs/index.js +0 -88
  291. package/core/VisuallyHidden/index.js +0 -18
  292. package/core/WarningText/index.js +0 -19
  293. package/core/WarningText/index.spec.d.ts +0 -1
  294. package/core/WarningText/index.spec.js +0 -21
  295. package/core/index.js +0 -199
  296. package/custom.d.js +0 -1
  297. package/es/api/APIErrors.js +0 -96
  298. package/es/api/APIProvider.js +0 -25
  299. package/es/api/fetchAPI.js +0 -49
  300. package/es/api/index.js +0 -13
  301. package/es/api/index.spec.js +0 -546
  302. package/es/api/introduction.md +0 -6
  303. package/es/api/useResource.js +0 -128
  304. package/es/api/useResourceAction.js +0 -141
  305. package/es/api/useResourceQuery.js +0 -208
  306. package/es/api/utils.js +0 -233
  307. package/es/app/App.js +0 -27
  308. package/es/app/Confirmation/index.js +0 -3
  309. package/es/app/Footer/index.js +0 -15
  310. package/es/app/Header/HeaderSection.js +0 -7
  311. package/es/app/Header/HeaderTitle.js +0 -17
  312. package/es/app/Header/__snapshots__/index.spec.tsx.snap +0 -393
  313. package/es/app/Header/index.js +0 -13
  314. package/es/app/Header/index.mdx +0 -50
  315. package/es/app/Header/index.spec.js +0 -32
  316. package/es/app/NotFound/index.js +0 -12
  317. package/es/app/OutdatedBrowserBanner.js +0 -24
  318. package/es/app/PageTitle.js +0 -57
  319. package/es/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -22
  320. package/es/app/QrCodeScanner/index.js +0 -64
  321. package/es/app/QrCodeScanner/index.mdx +0 -22
  322. package/es/app/QrCodeScanner/index.spec.js +0 -13
  323. package/es/app/i18n.js +0 -36
  324. package/es/app/index.js +0 -5
  325. package/es/core/Accordion/__snapshots__/index.spec.tsx.snap +0 -78
  326. package/es/core/Accordion/index.js +0 -67
  327. package/es/core/Accordion/index.mdx +0 -104
  328. package/es/core/Accordion/index.spec.js +0 -9
  329. package/es/core/Blockquote/__snapshots__/index.spec.tsx.snap +0 -13
  330. package/es/core/Blockquote/index.js +0 -16
  331. package/es/core/Blockquote/index.mdx +0 -61
  332. package/es/core/Blockquote/index.spec.js +0 -9
  333. package/es/core/Breadcrumbs/index.js +0 -3
  334. package/es/core/Button/BackButton.js +0 -21
  335. package/es/core/Button/ButtonLink.js +0 -16
  336. package/es/core/Button/CallToAction.js +0 -27
  337. package/es/core/Button/Icon.js +0 -7
  338. package/es/core/Button/__snapshots__/index.spec.tsx.snap +0 -13
  339. package/es/core/Button/index.js +0 -36
  340. package/es/core/Button/index.mdx +0 -65
  341. package/es/core/Button/index.spec.js +0 -9
  342. package/es/core/Card/index.js +0 -4
  343. package/es/core/Details/__snapshots__/index.spec.tsx.snap +0 -50
  344. package/es/core/Details/index.js +0 -5
  345. package/es/core/Details/index.mdx +0 -34
  346. package/es/core/Details/index.spec.js +0 -17
  347. package/es/core/Divider/index.js +0 -7
  348. package/es/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -322
  349. package/es/core/ErrorSummary/index.js +0 -3
  350. package/es/core/ErrorSummary/index.mdx +0 -61
  351. package/es/core/ErrorSummary/index.spec.js +0 -9
  352. package/es/core/Hidden/index.js +0 -1
  353. package/es/core/Link/__snapshots__/index.spec.tsx.snap +0 -31
  354. package/es/core/Link/index.js +0 -26
  355. package/es/core/Link/index.spec.js +0 -21
  356. package/es/core/List/List.js +0 -3
  357. package/es/core/List/ListItem.js +0 -3
  358. package/es/core/List/ListItemContent.js +0 -27
  359. package/es/core/List/ListItemIcon.js +0 -29
  360. package/es/core/List/ListItemText.js +0 -19
  361. package/es/core/List/ListItemTitle.js +0 -25
  362. package/es/core/List/__snapshots__/index.spec.tsx.snap +0 -322
  363. package/es/core/List/index.js +0 -7
  364. package/es/core/List/index.mdx +0 -40
  365. package/es/core/List/index.spec.js +0 -9
  366. package/es/core/NavList/NavList.js +0 -78
  367. package/es/core/NavList/NavListContext.js +0 -80
  368. package/es/core/NavList/NavListItem.js +0 -141
  369. package/es/core/NavList/NavListItemBase.js +0 -133
  370. package/es/core/NavList/NavListSubMenu.js +0 -27
  371. package/es/core/NavList/__snapshots__/index.spec.tsx.snap +0 -334
  372. package/es/core/NavList/index.js +0 -5
  373. package/es/core/NavList/index.mdx +0 -185
  374. package/es/core/NavList/index.spec.js +0 -9
  375. package/es/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -737
  376. package/es/core/NotificationBanner/index.js +0 -35
  377. package/es/core/NotificationBanner/index.mdx +0 -77
  378. package/es/core/NotificationBanner/index.spec.js +0 -20
  379. package/es/core/ServiceBadge/ServiceBadge.mdx +0 -0
  380. package/es/core/ServiceBadge/index.js +0 -20
  381. package/es/core/ServiceBadge/index.mdx +0 -42
  382. package/es/core/SummaryList/__snapshots__/index.spec.tsx.snap +0 -57
  383. package/es/core/SummaryList/index.js +0 -7
  384. package/es/core/SummaryList/index.mdx +0 -82
  385. package/es/core/SummaryList/index.spec.js +0 -9
  386. package/es/core/Table/index.js +0 -7
  387. package/es/core/Tabs/index.js +0 -37
  388. package/es/core/Tabs/index.mdx +0 -54
  389. package/es/core/VisuallyHidden/index.js +0 -1
  390. package/es/core/WarningText/__snapshots__/index.spec.tsx.snap +0 -336
  391. package/es/core/WarningText/index.js +0 -3
  392. package/es/core/WarningText/index.mdx +0 -46
  393. package/es/core/WarningText/index.spec.js +0 -9
  394. package/es/core/index.js +0 -14
  395. package/es/custom.d.js +0 -0
  396. package/es/govgr/Footer/Copyright.js +0 -37
  397. package/es/govgr/Footer/HellenicRepublicLogo.js +0 -3
  398. package/es/govgr/Footer/LicenseCCSA.js +0 -18
  399. package/es/govgr/Footer/index.js +0 -21
  400. package/es/govgr/Footer/logo.js +0 -1
  401. package/es/govgr/Footer/logos/logo-el.js +0 -1
  402. package/es/govgr/Footer/logos/logo-en.js +0 -1
  403. package/es/govgr/Logo/index.js +0 -3
  404. package/es/govgr/index.js +0 -4
  405. package/es/hooks/useDebounce.js +0 -41
  406. package/es/hooks/useLatest.js +0 -12
  407. package/es/hooks/useOutdatedBrowserCheck.js +0 -46
  408. package/es/hooks/useSearch.js +0 -25
  409. package/es/hooks/useTogglableSections.js +0 -96
  410. package/es/index.js +0 -5
  411. package/es/layouts/Basic/Bottom/index.js +0 -3
  412. package/es/layouts/Basic/Content/index.js +0 -18
  413. package/es/layouts/Basic/Main/index.js +0 -3
  414. package/es/layouts/Basic/Masthead/index.js +0 -4
  415. package/es/layouts/Basic/Side/index.js +0 -7
  416. package/es/layouts/Basic/index.js +0 -8
  417. package/es/layouts/Basic/index.spec.js +0 -10
  418. package/es/layouts/Grid/index.js +0 -1
  419. package/es/layouts/index.js +0 -2
  420. package/es/locales/el.js +0 -45
  421. package/es/locales/en.js +0 -45
  422. package/es/router/index.js +0 -15
  423. package/es/test-utils/delay.js +0 -31
  424. package/es/test-utils/mountWithTheme.js +0 -30
  425. package/es/themes/grnet.js +0 -110
  426. package/es/themes/index.js +0 -2
  427. package/es/typography/Caption.js +0 -7
  428. package/es/typography/NormalText.js +0 -3
  429. package/es/typography/Paragraph.js +0 -2
  430. package/es/typography/Title.js +0 -48
  431. package/es/typography/index.js +0 -8
  432. package/es/utils/evaluateBrowserVersion.js +0 -201
  433. package/es/utils/withDeprecation.js +0 -103
  434. package/esm/api/APIErrors.js +0 -96
  435. package/esm/api/APIProvider.js +0 -25
  436. package/esm/api/fetchAPI.js +0 -49
  437. package/esm/api/index.spec.js +0 -546
  438. package/esm/api/introduction.md +0 -6
  439. package/esm/api/useResource.js +0 -128
  440. package/esm/api/useResourceAction.js +0 -141
  441. package/esm/api/useResourceQuery.js +0 -208
  442. package/esm/api/utils.js +0 -233
  443. package/esm/app/App.js +0 -27
  444. package/esm/app/Confirmation/index.js +0 -3
  445. package/esm/app/Footer/index.js +0 -15
  446. package/esm/app/Header/HeaderLogo.js +0 -17
  447. package/esm/app/Header/HeaderSection.js +0 -7
  448. package/esm/app/Header/HeaderTitle.js +0 -17
  449. package/esm/app/Header/__snapshots__/index.spec.tsx.snap +0 -393
  450. package/esm/app/Header/index.mdx +0 -50
  451. package/esm/app/Header/index.spec.js +0 -32
  452. package/esm/app/NotFound/index.js +0 -12
  453. package/esm/app/OutdatedBrowserBanner.js +0 -24
  454. package/esm/app/PageTitle.js +0 -57
  455. package/esm/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -22
  456. package/esm/app/QrCodeScanner/index.js +0 -64
  457. package/esm/app/QrCodeScanner/index.mdx +0 -22
  458. package/esm/app/QrCodeScanner/index.spec.js +0 -13
  459. package/esm/app/i18n.js +0 -36
  460. package/esm/app/index.js +0 -5
  461. package/esm/core/Accordion/__snapshots__/index.spec.tsx.snap +0 -78
  462. package/esm/core/Accordion/index.js +0 -67
  463. package/esm/core/Accordion/index.mdx +0 -104
  464. package/esm/core/Accordion/index.spec.js +0 -9
  465. package/esm/core/Blockquote/__snapshots__/index.spec.tsx.snap +0 -13
  466. package/esm/core/Blockquote/index.mdx +0 -61
  467. package/esm/core/Blockquote/index.spec.js +0 -9
  468. package/esm/core/Breadcrumbs/index.js +0 -3
  469. package/esm/core/Button/ButtonLink.js +0 -16
  470. package/esm/core/Button/CallToAction.js +0 -27
  471. package/esm/core/Button/Icon.js +0 -7
  472. package/esm/core/Button/__snapshots__/index.spec.tsx.snap +0 -13
  473. package/esm/core/Button/index.js +0 -36
  474. package/esm/core/Button/index.mdx +0 -65
  475. package/esm/core/Button/index.spec.js +0 -9
  476. package/esm/core/Card/index.js +0 -4
  477. package/esm/core/Details/__snapshots__/index.spec.tsx.snap +0 -50
  478. package/esm/core/Details/index.js +0 -5
  479. package/esm/core/Details/index.mdx +0 -34
  480. package/esm/core/Details/index.spec.js +0 -17
  481. package/esm/core/Divider/index.js +0 -7
  482. package/esm/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -322
  483. package/esm/core/ErrorSummary/index.js +0 -3
  484. package/esm/core/ErrorSummary/index.mdx +0 -61
  485. package/esm/core/ErrorSummary/index.spec.js +0 -9
  486. package/esm/core/Hidden/index.js +0 -1
  487. package/esm/core/Link/__snapshots__/index.spec.tsx.snap +0 -31
  488. package/esm/core/Link/index.js +0 -26
  489. package/esm/core/Link/index.spec.js +0 -21
  490. package/esm/core/List/List.js +0 -3
  491. package/esm/core/List/ListItem.js +0 -3
  492. package/esm/core/List/ListItemContent.js +0 -27
  493. package/esm/core/List/ListItemIcon.js +0 -29
  494. package/esm/core/List/ListItemText.js +0 -19
  495. package/esm/core/List/ListItemTitle.js +0 -25
  496. package/esm/core/List/__snapshots__/index.spec.tsx.snap +0 -322
  497. package/esm/core/List/index.js +0 -7
  498. package/esm/core/List/index.mdx +0 -40
  499. package/esm/core/List/index.spec.js +0 -9
  500. package/esm/core/NavList/NavList.js +0 -78
  501. package/esm/core/NavList/NavListContext.js +0 -80
  502. package/esm/core/NavList/NavListItem.js +0 -141
  503. package/esm/core/NavList/NavListItemBase.js +0 -133
  504. package/esm/core/NavList/NavListSubMenu.js +0 -27
  505. package/esm/core/NavList/__snapshots__/index.spec.tsx.snap +0 -334
  506. package/esm/core/NavList/index.js +0 -5
  507. package/esm/core/NavList/index.mdx +0 -185
  508. package/esm/core/NavList/index.spec.js +0 -9
  509. package/esm/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -737
  510. package/esm/core/NotificationBanner/index.js +0 -35
  511. package/esm/core/NotificationBanner/index.mdx +0 -77
  512. package/esm/core/NotificationBanner/index.spec.js +0 -20
  513. package/esm/core/ServiceBadge/ServiceBadge.mdx +0 -0
  514. package/esm/core/ServiceBadge/index.js +0 -20
  515. package/esm/core/ServiceBadge/index.mdx +0 -42
  516. package/esm/core/SummaryList/__snapshots__/index.spec.tsx.snap +0 -57
  517. package/esm/core/SummaryList/index.js +0 -7
  518. package/esm/core/SummaryList/index.mdx +0 -82
  519. package/esm/core/SummaryList/index.spec.js +0 -9
  520. package/esm/core/Table/index.js +0 -7
  521. package/esm/core/Tabs/index.js +0 -37
  522. package/esm/core/Tabs/index.mdx +0 -54
  523. package/esm/core/VisuallyHidden/index.js +0 -1
  524. package/esm/core/WarningText/__snapshots__/index.spec.tsx.snap +0 -336
  525. package/esm/core/WarningText/index.js +0 -3
  526. package/esm/core/WarningText/index.mdx +0 -46
  527. package/esm/core/WarningText/index.spec.js +0 -9
  528. package/esm/core/index.js +0 -14
  529. package/esm/custom.d.js +0 -0
  530. package/esm/form/inputs/Input/index.mdx +0 -10
  531. package/esm/govgr/Footer/Copyright.js +0 -37
  532. package/esm/govgr/Footer/HellenicRepublicLogo.js +0 -3
  533. package/esm/govgr/Footer/LicenseCCSA.js +0 -18
  534. package/esm/govgr/Footer/index.js +0 -21
  535. package/esm/govgr/Footer/index.mdx +0 -97
  536. package/esm/govgr/Logo/govgr-logo.svg +0 -1
  537. package/esm/govgr/Logo/index.js +0 -3
  538. package/esm/govgr/Logo/logo.js +0 -1
  539. package/esm/govgr/index.js +0 -4
  540. package/esm/hooks/useDebounce.js +0 -41
  541. package/esm/hooks/useLatest.js +0 -12
  542. package/esm/hooks/useSearch.js +0 -25
  543. package/esm/hooks/useTogglableSections.js +0 -96
  544. package/esm/index.js +0 -10
  545. package/esm/layouts/Basic/Bottom/index.js +0 -3
  546. package/esm/layouts/Basic/Bottom/index.mdx +0 -37
  547. package/esm/layouts/Basic/Content/index.js +0 -18
  548. package/esm/layouts/Basic/Content/index.mdx +0 -64
  549. package/esm/layouts/Basic/Main/index.js +0 -3
  550. package/esm/layouts/Basic/Main/index.mdx +0 -64
  551. package/esm/layouts/Basic/Masthead/index.js +0 -4
  552. package/esm/layouts/Basic/Masthead/index.mdx +0 -74
  553. package/esm/layouts/Basic/Side/index.mdx +0 -71
  554. package/esm/layouts/Basic/Top/index.js +0 -11
  555. package/esm/layouts/Basic/Top/index.mdx +0 -74
  556. package/esm/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -54
  557. package/esm/layouts/Basic/index.js +0 -8
  558. package/esm/layouts/Basic/index.mdx +0 -62
  559. package/esm/layouts/Basic/index.spec.js +0 -10
  560. package/esm/layouts/Grid/index.js +0 -1
  561. package/esm/layouts/index.js +0 -2
  562. package/esm/locales/el.js +0 -45
  563. package/esm/router/index.js +0 -15
  564. package/esm/router/index.mdx +0 -40
  565. package/esm/test-utils/delay.js +0 -31
  566. package/esm/test-utils/mountWithTheme.js +0 -30
  567. package/esm/themes/govgr.js +0 -79
  568. package/esm/themes/grnet.js +0 -110
  569. package/esm/themes/index.js +0 -2
  570. package/esm/typography/Caption.js +0 -7
  571. package/esm/typography/NormalText.js +0 -3
  572. package/esm/typography/Paragraph.js +0 -2
  573. package/esm/typography/Title.js +0 -48
  574. package/esm/typography/index.js +0 -8
  575. package/esm/typography/index.mdx +0 -32
  576. package/esm/utils/evaluateBrowserVersion.js +0 -201
  577. package/esm/utils/withDeprecation.js +0 -103
  578. package/form/inputs/Input/index.mdx +0 -10
  579. package/govgr/Footer/Copyright.d.ts +0 -8
  580. package/govgr/Footer/Copyright.js +0 -52
  581. package/govgr/Footer/HellenicRepublicLogo.js +0 -19
  582. package/govgr/Footer/LicenseCCSA.d.ts +0 -3
  583. package/govgr/Footer/LicenseCCSA.js +0 -33
  584. package/govgr/Footer/index.d.ts +0 -13
  585. package/govgr/Footer/index.js +0 -39
  586. package/govgr/Footer/index.mdx +0 -97
  587. package/govgr/Footer/logo.d.ts +0 -2
  588. package/govgr/Footer/logo.js +0 -8
  589. package/govgr/Footer/logos/logo-el.d.ts +0 -2
  590. package/govgr/Footer/logos/logo-el.js +0 -8
  591. package/govgr/Footer/logos/logo-en.d.ts +0 -2
  592. package/govgr/Footer/logos/logo-en.js +0 -8
  593. package/govgr/Logo/govgr-logo.svg +0 -1
  594. package/govgr/Logo/index.js +0 -19
  595. package/govgr/Logo/logo.d.ts +0 -2
  596. package/govgr/Logo/logo.js +0 -8
  597. package/govgr/index.js +0 -57
  598. package/hooks/useDebounce.d.ts +0 -3
  599. package/hooks/useDebounce.js +0 -63
  600. package/hooks/useLatest.d.ts +0 -3
  601. package/hooks/useLatest.js +0 -26
  602. package/hooks/useOutdatedBrowserCheck.d.ts +0 -2
  603. package/hooks/useOutdatedBrowserCheck.js +0 -60
  604. package/hooks/useSearch.d.ts +0 -4
  605. package/hooks/useSearch.js +0 -40
  606. package/hooks/useTogglableSections.d.ts +0 -18
  607. package/hooks/useTogglableSections.js +0 -108
  608. package/index.js +0 -70
  609. package/layouts/Basic/Bottom/index.js +0 -19
  610. package/layouts/Basic/Bottom/index.mdx +0 -37
  611. package/layouts/Basic/Content/index.d.ts +0 -5
  612. package/layouts/Basic/Content/index.js +0 -31
  613. package/layouts/Basic/Content/index.mdx +0 -64
  614. package/layouts/Basic/Main/index.js +0 -19
  615. package/layouts/Basic/Main/index.mdx +0 -64
  616. package/layouts/Basic/Masthead/index.js +0 -27
  617. package/layouts/Basic/Masthead/index.mdx +0 -74
  618. package/layouts/Basic/Side/index.d.ts +0 -3
  619. package/layouts/Basic/Side/index.js +0 -20
  620. package/layouts/Basic/Side/index.mdx +0 -71
  621. package/layouts/Basic/Top/index.d.ts +0 -3
  622. package/layouts/Basic/Top/index.js +0 -24
  623. package/layouts/Basic/Top/index.mdx +0 -74
  624. package/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -54
  625. package/layouts/Basic/index.js +0 -97
  626. package/layouts/Basic/index.mdx +0 -62
  627. package/layouts/Basic/index.spec.d.ts +0 -1
  628. package/layouts/Basic/index.spec.js +0 -20
  629. package/layouts/Grid/index.js +0 -18
  630. package/layouts/index.js +0 -34
  631. package/locales/el.d.ts +0 -46
  632. package/locales/el.js +0 -52
  633. package/locales/en.d.ts +0 -46
  634. package/locales/en.js +0 -52
  635. package/router/index.d.ts +0 -9
  636. package/router/index.js +0 -37
  637. package/router/index.mdx +0 -40
  638. package/test-utils/delay.d.ts +0 -2
  639. package/test-utils/delay.js +0 -45
  640. package/test-utils/mountWithTheme.d.ts +0 -3
  641. package/test-utils/mountWithTheme.js +0 -43
  642. package/themes/govgr.d.ts +0 -3
  643. package/themes/govgr.js +0 -89
  644. package/themes/grnet.d.ts +0 -2
  645. package/themes/grnet.js +0 -128
  646. package/themes/index.d.ts +0 -32
  647. package/themes/index.js +0 -19
  648. package/typography/Caption.d.ts +0 -7
  649. package/typography/Caption.js +0 -20
  650. package/typography/NormalText.d.ts +0 -5
  651. package/typography/NormalText.js +0 -19
  652. package/typography/Paragraph.d.ts +0 -6
  653. package/typography/Paragraph.js +0 -13
  654. package/typography/Title.d.ts +0 -9
  655. package/typography/Title.js +0 -63
  656. package/typography/index.js +0 -97
  657. package/typography/index.mdx +0 -32
  658. package/utils/evaluateBrowserVersion.d.ts +0 -15
  659. package/utils/evaluateBrowserVersion.js +0 -216
  660. package/utils/withDeprecation.d.ts +0 -16
  661. package/utils/withDeprecation.js +0 -116
@@ -0,0 +1,146 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import clsx from 'clsx';
3
+ import { makeStyles } from '@material-ui/core/styles';
4
+ import ExpandMore from '@material-ui/icons/ExpandMore';
5
+ import Link from '@digigov/ui/core/Link';
6
+ import { useRouter } from '@digigov/ui/router';
7
+
8
+ const TRAILING_SLASH = /\/$/gm;
9
+ export const useNavListItemBaseStyles = makeStyles(
10
+ (theme) => {
11
+ const transition = {
12
+ duration: theme.transitions.duration.shortest,
13
+ };
14
+ return {
15
+ root: {
16
+ position: 'relative',
17
+ listStyle: 'none',
18
+ boxSizing: 'border-box',
19
+ textAlign: 'left',
20
+ margin: theme.spacing(0),
21
+ ...theme.typography.body1,
22
+ '&$horizontal': {
23
+ flexDirection: 'column',
24
+ },
25
+ },
26
+ link: {
27
+ display: 'flex',
28
+ flexGrow: 1,
29
+ padding: theme.spacing(1),
30
+ textDecoration: 'none',
31
+ '&:hover': {
32
+ textDecoration: 'underline',
33
+ },
34
+ },
35
+ selected: {
36
+ fontWeight: 'bolder',
37
+ '&$horizontal': {
38
+ borderStyle: 'solid',
39
+ borderColor: theme.palette.secondary.main,
40
+ borderTop: 0,
41
+ borderLeft: 0,
42
+ borderRight: 0,
43
+ },
44
+ '&$vertical': {
45
+ border: 0,
46
+ },
47
+ },
48
+ // Pseudoclasses - do not remove //
49
+ horizontal: {},
50
+ vertical: {},
51
+ // End Pseudoclasses //
52
+ label: {
53
+ display: 'flex',
54
+ alignItems: 'center',
55
+ flex: 'auto',
56
+ },
57
+ icon: {
58
+ display: 'flex',
59
+ alignItems: 'center',
60
+ transform: 'rotate(0deg)',
61
+ transition: theme.transitions.create('transform', transition),
62
+ '&$open': {
63
+ transform: 'rotate(180deg)',
64
+ },
65
+ },
66
+ submenu: {
67
+ display: 'flex',
68
+ },
69
+ /* Pseudo-class applied to the Expand icon if `open={true}`. */
70
+ open: {},
71
+ };
72
+ },
73
+ { name: 'MuiNavListItemBase' }
74
+ );
75
+ export interface NavListItemBaseProps {
76
+ children?: React.ReactNode;
77
+ href?: string;
78
+ label?: React.ReactNode;
79
+ className?: string;
80
+ expandOn?: 'hover' | 'click';
81
+ selected?: boolean;
82
+ isNested?: boolean;
83
+ horizontal?: boolean;
84
+ open?: boolean;
85
+ onClick?: (e: any) => void;
86
+ }
87
+
88
+ export const NavListItemBase = React.forwardRef<
89
+ HTMLLIElement,
90
+ NavListItemBaseProps
91
+ >(function NavListItemBase(
92
+ {
93
+ href = '#',
94
+ label,
95
+ children,
96
+ className,
97
+ open = false,
98
+ horizontal = false,
99
+ selected = false,
100
+ isNested,
101
+ expandOn,
102
+ onClick,
103
+ ...props
104
+ },
105
+ ref
106
+ ) {
107
+ const classes = useNavListItemBaseStyles();
108
+ const [privateSelected, setPrivateSelected] = useState<boolean>(selected);
109
+ const { router } = useRouter();
110
+
111
+ useEffect(() => {
112
+ const asPath = router?.asPath.split('?').shift();
113
+ const isSelected =
114
+ asPath?.replace(TRAILING_SLASH, '') === href.replace(TRAILING_SLASH, '');
115
+ if (isSelected !== privateSelected) {
116
+ setPrivateSelected(isSelected);
117
+ }
118
+ }, [href, router?.asPath, selected, privateSelected]);
119
+ return (
120
+ <li
121
+ ref={ref}
122
+ className={clsx(
123
+ className,
124
+ classes.root,
125
+ horizontal && classes.horizontal
126
+ )}
127
+ onClick={onClick}
128
+ >
129
+ <div
130
+ className={clsx(
131
+ horizontal ? classes.horizontal : classes.vertical,
132
+ (selected || privateSelected) && classes.selected
133
+ )}
134
+ >
135
+ <Link href={href} className={classes.link} {...props}>
136
+ <span className={classes.label}>{label}</span>
137
+ <span className={clsx(classes.icon, open && classes.open)}>
138
+ {isNested && <ExpandMore />}
139
+ </span>
140
+ </Link>
141
+ </div>
142
+ <div className={classes.submenu}>{children}</div>
143
+ </li>
144
+ );
145
+ });
146
+ export default NavListItemBase;
@@ -0,0 +1,33 @@
1
+ import React, { useContext } from 'react';
2
+ import { NavListBase, NavListProps } from '@digigov/ui/core/NavList';
3
+ import NavListItemBase from '@digigov/ui/core/NavList/NavListItemBase';
4
+ import NavListContext, {
5
+ NavLinkInterface,
6
+ } from '@digigov/ui/core/NavList/NavListContext';
7
+
8
+ export interface NavListSubMenuProps extends NavListProps {
9
+ links: NavLinkInterface[];
10
+ }
11
+
12
+ export const NavListSubMenu: React.FC<NavListSubMenuProps> = ({
13
+ links,
14
+ ...props
15
+ }) => {
16
+ const { horizontal } = useContext(NavListContext);
17
+ return (
18
+ <NavListBase subMenu floating={horizontal} {...props}>
19
+ {links &&
20
+ links.map((subMenuLink, key) => {
21
+ return (
22
+ <NavListItemBase
23
+ expandOn="hover"
24
+ key={key}
25
+ href={subMenuLink.href}
26
+ label={subMenuLink.label}
27
+ />
28
+ );
29
+ })}
30
+ </NavListBase>
31
+ );
32
+ };
33
+ export default NavListSubMenu;
File without changes
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import mountWithTheme from '@digigov/ui/test-utils/mountWithTheme';
3
+
4
+ import Component from '@digigov/ui/core/NavList';
5
+
6
+ it('renders the ErrorSummary with sample data', () => {
7
+ expect(
8
+ mountWithTheme(<Component>this is some random warning text</Component>)
9
+ ).toMatchSnapshot();
10
+ });
File without changes
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ import mountWithTheme from '@digigov/ui/test-utils/mountWithTheme';
3
+
4
+ import NotificationBanner from '@digigov/ui/core/NotificationBanner';
5
+
6
+ it('renders the notification banner', () => {
7
+ expect(
8
+ mountWithTheme(
9
+ <NotificationBanner title="Notification Banner Example">
10
+ this is a notification
11
+ </NotificationBanner>
12
+ )
13
+ ).toMatchSnapshot();
14
+ });
15
+
16
+ it('renders the notification banner with title and link', () => {
17
+ expect(
18
+ mountWithTheme(
19
+ <NotificationBanner
20
+ title="Notification Banner Example"
21
+ link={{ url: '/', label: 'This is a label' }}
22
+ >
23
+ this is a notification
24
+ </NotificationBanner>
25
+ )
26
+ ).toMatchSnapshot();
27
+ });
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import withDeprecation from '@digigov/ui/utils/withDeprecation';
3
+ import CoreNotificationBanner, {
4
+ NotificationBannerProps as CoreNotificationBannerProps,
5
+ } from '@digigov/react-core/NotificationBanner';
6
+ import NotificationBannerHeader from '@digigov/react-core/NotificationBannerHeader';
7
+ import NotificationBannerHeading from '@digigov/react-core/NotificationBannerHeading';
8
+ import NotificationBannerContent from '@digigov/react-core/NotificationBannerContent';
9
+ import NotificationBannerLink from '@digigov/react-core/NotificationBannerLink';
10
+
11
+ export interface NotificationBannerProps extends CoreNotificationBannerProps {
12
+ variant?: 'important' | 'success';
13
+ title?: string;
14
+ link?: { url: string; label: string };
15
+ ref?: React.Ref<HTMLDivElement>;
16
+ }
17
+
18
+ export const NotificationBanner: React.FC<NotificationBannerProps> = withDeprecation(
19
+ ({ variant = 'important', title, link, children, ...props }) => {
20
+ const success = variant === 'success';
21
+ title = title ? title : success ? 'Success' : 'Important';
22
+ return (
23
+ <CoreNotificationBanner success={success} {...props}>
24
+ <NotificationBannerHeader>{title}</NotificationBannerHeader>
25
+ <NotificationBannerContent>
26
+ <NotificationBannerHeading>{children}</NotificationBannerHeading>
27
+ {link && (
28
+ <NotificationBannerLink href={link.url}>
29
+ {link.label}
30
+ </NotificationBannerLink>
31
+ )}
32
+ </NotificationBannerContent>
33
+ </CoreNotificationBanner>
34
+ );
35
+ },
36
+ {
37
+ name: 'NotificationBanner',
38
+ props: {
39
+ variant: {
40
+ warning: 'variant prop will be deprecated. Use success:boolean instead',
41
+ },
42
+ },
43
+ }
44
+ );
45
+
46
+ export {
47
+ NotificationBannerHeader,
48
+ NotificationBannerContent,
49
+ NotificationBannerHeading,
50
+ NotificationBannerLink,
51
+ };
52
+ export default NotificationBanner;
File without changes
File without changes
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import withDeprecation from '@digigov/ui/utils/withDeprecation';
3
+ import PhaseBanner, { PhaseBannerProps } from '@digigov/react-core/PhaseBanner';
4
+ import PhaseBannerTag from '@digigov/react-core/PhaseBannerTag';
5
+ import PhaseBannerText from '@digigov/react-core/PhaseBannerText';
6
+ interface ServiceBadgeProps extends PhaseBannerProps {
7
+ // badge text, defaults to 'BETA'
8
+ label?: string;
9
+ ref?: React.Ref<HTMLDivElement>;
10
+ text?: string;
11
+ }
12
+
13
+ export const ServiceBadge: React.FC<ServiceBadgeProps> = withDeprecation(
14
+ ({ label = 'BETA', text, children, ...props }) => {
15
+ return (
16
+ <PhaseBanner {...props}>
17
+ {children ? (
18
+ children
19
+ ) : (
20
+ <>
21
+ <PhaseBannerTag>{label}</PhaseBannerTag>
22
+ {text && <PhaseBannerText>{text}</PhaseBannerText>}
23
+ </>
24
+ )}
25
+ ;
26
+ </PhaseBanner>
27
+ );
28
+ },
29
+ {
30
+ name: 'ServiceBadge',
31
+ rename: 'PhaseBanner',
32
+ }
33
+ );
34
+
35
+ export default ServiceBadge;
File without changes
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import { mount } from 'enzyme';
3
+
4
+ import {
5
+ SummaryList,
6
+ SummaryListItem,
7
+ SummaryListItemKey,
8
+ SummaryListItemValue,
9
+ SummaryListItemAction,
10
+ } from '@digigov/ui/core/SummaryList';
11
+
12
+ it('renders the SummaryList with sample data', () => {
13
+ expect(
14
+ mount(
15
+ <SummaryList>
16
+ <SummaryListItem>
17
+ <SummaryListItemKey>Όνομα</SummaryListItemKey>
18
+ <SummaryListItemValue> Μάριος</SummaryListItemValue>
19
+ <SummaryListItemAction> Αλλαγή</SummaryListItemAction>
20
+ </SummaryListItem>
21
+ <SummaryListItem>
22
+ <SummaryListItemKey>Επώνυμο</SummaryListItemKey>
23
+ <SummaryListItemValue>Μενεξές</SummaryListItemValue>
24
+ </SummaryListItem>
25
+ </SummaryList>
26
+ )
27
+ ).toMatchSnapshot();
28
+ });
@@ -1,7 +1,9 @@
1
1
  import { SummaryList } from '@digigov/react-core/SummaryList';
2
+
2
3
  export * from '@digigov/react-core/SummaryList';
3
4
  export * from '@digigov/react-core/SummaryListItemAction';
4
5
  export * from '@digigov/react-core/SummaryListItem';
5
6
  export * from '@digigov/react-core/SummaryListItemKey';
6
7
  export * from '@digigov/react-core/SummaryListItemValue';
8
+
7
9
  export default SummaryList;
File without changes
@@ -0,0 +1,36 @@
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;
File without changes
@@ -0,0 +1,10 @@
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
+ });
@@ -1,3 +1,4 @@
1
1
  import WarningText from '@digigov/react-core/WarningText';
2
+
2
3
  export { WarningText };
3
4
  export default WarningText;
@@ -12,3 +12,6 @@ export * from '@digigov/ui/core/ServiceBadge';
12
12
  export * from '@digigov/ui/core/SummaryList';
13
13
  export * from '@digigov/ui/core/Tabs';
14
14
  export * from '@digigov/ui/core/NotificationBanner';
15
+ export * from '@digigov/ui/core/Table';
16
+ export * from '@digigov/ui/core/Button';
17
+ export * from '@digigov/ui/core/Divider';
@@ -0,0 +1,8 @@
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
+ }
File without changes
@@ -0,0 +1,64 @@
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,3 +1,4 @@
1
1
  import HellenicRepublicLogo from '@digigov/react-core/HellenicRepublicLogo';
2
+
2
3
  export { HellenicRepublicLogo };
3
4
  export default HellenicRepublicLogo;
@@ -0,0 +1,24 @@
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;
File without changes
@@ -0,0 +1,49 @@
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;