@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,90 +0,0 @@
1
- import React from 'react';
2
-
3
- const QrReader = React.lazy(() => import('react-qr-reader'));
4
-
5
- export interface QrCodeScannerProps {
6
- className?: string;
7
- dataType?: 'url' | 'text';
8
- children?: React.ReactNode;
9
- legacyMode?: boolean;
10
- validate?: (...args) => boolean;
11
- onScan: (...args) => void;
12
- onError: (err: any) => void;
13
- }
14
-
15
- /**
16
- * QRCodeScanner assumes that the data provided inside the QR code image,
17
- * are a HTTP link, thus it uses the `encodeURI` function to escape
18
- * all scanned data that will be forwarded to the `onScan` function
19
- *
20
- * When a QR code is scanned, before we run the `onScan` callback function,
21
- * we do the following:
22
- *
23
- * 1. Run a validator function provided in the props of QrCodeScanner component
24
- * that receives the *raw* scanned data and returns a boolean type. (eg. check
25
- * if it's a gov.gr subdomain, or that it matches the current domain)
26
- * 2. If the validator returns `true`, then construct a URL object from the data provided
27
- * and check if the protocol is `https` and the `origin` is the same as the origin of this page
28
- * 2. Automatically fallback to the `onError` callback function, if the validation or url check fail
29
- * 3. Finally, run `onScan` callback function with the scanned data encoded as a URI.
30
- *
31
- */
32
-
33
- export const QrCodeScanner: React.FC<QrCodeScannerProps> = ({
34
- className,
35
- children,
36
- validate,
37
- onScan,
38
- onError,
39
- dataType = 'url',
40
- legacyMode = false,
41
- }) => {
42
- if (dataType === 'text') {
43
- console.warn(
44
- `Security Warning! The \`text\` dataType could be used to inject XSS code to your application database or user DOM.
45
-
46
- In order to be safe, you can:
47
- 1. Use a sanitizer function inside the \`onScan\` callback function that makes sure the data is not posing a threat to your app
48
- 2. Contact @digigov-ui for any further details and feature requests.
49
- 3. Read more about xss https://owasp.org/www-community/attacks/xss/
50
- `
51
- );
52
- }
53
- const handleOnScan = (data) => {
54
- if (data) {
55
- if (dataType === 'url') {
56
- if (
57
- !data.match(
58
- /^https?:\/\/([a-z0-9-]*\.?)*(:?)(([a-z0-9-]*)\/)*([a-z0-9-]*)$/gi
59
- )
60
- ) {
61
- return onError(
62
- new Error(
63
- '@digigov-ui XSS Validation failed: qr code payload should follow the pattern `https://example.com/data/:id`'
64
- )
65
- );
66
- }
67
- }
68
- // run a validator function provided by the application code
69
- if (validate && !validate(data)) {
70
- return onError(new Error('Custom QR Code payload validation failed'));
71
- }
72
- // proceed with application defined callback function
73
- onScan(data);
74
- }
75
- };
76
- return (
77
- <>
78
- <QrReader
79
- className={className}
80
- delay={100}
81
- onError={onError}
82
- onScan={handleOnScan}
83
- legacyMode={legacyMode}
84
- />
85
- {children}
86
- </>
87
- );
88
- };
89
-
90
- export default QrCodeScanner;
package/src/app/i18n.tsx DELETED
@@ -1,44 +0,0 @@
1
- import React from 'react';
2
- import el from '@digigov/ui/locales/el';
3
- export interface I18NContextProps {
4
- t: (str: string) => string;
5
- children?: React.ReactNode;
6
- i18n?: any;
7
- }
8
- const defaultTranslate = (key) => {
9
- try {
10
- if (key.split('.').length > 0) {
11
- return key.split('.').reduce((locale, path) => {
12
- return locale[path] ? locale[path] : key;
13
- }, el);
14
- } else if (el[key]) {
15
- return el[key];
16
- } else {
17
- return key;
18
- }
19
- } catch (err) {
20
- console.error(`Translation key \`${key}\` not found`);
21
- return key;
22
- }
23
- };
24
- export const I18NContext = React.createContext<I18NContextProps>({
25
- t: defaultTranslate,
26
- });
27
-
28
- export const I18NProvider: React.FC<I18NContextProps> = ({
29
- t = defaultTranslate,
30
- children,
31
- ...props
32
- }: I18NContextProps) => {
33
- return (
34
- <I18NContext.Provider value={{ t, ...props }}>
35
- {children}
36
- </I18NContext.Provider>
37
- );
38
- };
39
-
40
- export const useTranslation = (): I18NContextProps => {
41
- return React.useContext(I18NContext);
42
- };
43
-
44
- export default I18NProvider;
@@ -1,30 +0,0 @@
1
- import * as React from 'react';
2
- import { mount } from 'enzyme';
3
-
4
- import {
5
- Accordion,
6
- AccordionItem,
7
- AccordionItemDetails,
8
- AccordionItemSummary,
9
- } from '@digigov/ui/core/Accordion';
10
-
11
- it('renders the Accordion', () => {
12
- expect(
13
- mount(
14
- <Accordion>
15
- <AccordionItem>
16
- <AccordionItemSummary>Βασικες Ρυθμισεις</AccordionItemSummary>
17
- <AccordionItemDetails>
18
- Περιεχομενο Βασικων Ρυθμισεων
19
- </AccordionItemDetails>
20
- </AccordionItem>
21
- <AccordionItem>
22
- <AccordionItemSummary>Υπολοιπες Ρυθμισεις</AccordionItemSummary>
23
- <AccordionItemDetails>
24
- Περιεχομενο Υπολοιπων Ρυθμισεων
25
- </AccordionItemDetails>
26
- </AccordionItem>
27
- </Accordion>
28
- )
29
- ).toMatchSnapshot();
30
- });
@@ -1,86 +0,0 @@
1
- /* eslint-disable react-hooks/exhaustive-deps */
2
- import Accordion from '@digigov/react-core/Accordion';
3
- import AccordionSection from '@digigov/react-core/AccordionSection';
4
- import AccordionSectionContent from '@digigov/react-core/AccordionSectionContent';
5
- import AccordionSectionHeader from '@digigov/react-core/AccordionSectionHeader';
6
- import AccordionControls from '@digigov/react-core/AccordionControls';
7
- import withDeprecation from '@digigov/ui/utils/withDeprecation';
8
- import {
9
- useTogglableSections,
10
- UseTogglableSectionsReturn,
11
- } from '@digigov/ui/hooks/useTogglableSections';
12
- import React, { useCallback, useMemo } from 'react';
13
-
14
- export const AccordionItemDetails = withDeprecation(AccordionSectionContent, {
15
- name: 'AccordionItemDetails',
16
- rename: 'AccordionSectionContent',
17
- });
18
-
19
- export const AccordionItemSummary = withDeprecation(AccordionSectionHeader, {
20
- name: 'AccordionItemSummary',
21
- rename: 'AccordionSectionHeader',
22
- });
23
-
24
- export const AccordionItem = withDeprecation(
25
- React.memo(AccordionSection, (prev, next) => prev.open === next.open),
26
- {
27
- name: 'AccordionItem',
28
- rename: 'AccordionSection',
29
- }
30
- );
31
- export interface UseAccordionProps {
32
- singleOpen?: boolean;
33
- }
34
- export interface UseAccordionReturn extends UseTogglableSectionsReturn {
35
- isOpenAll: boolean;
36
- openAll: () => void;
37
- closeAll: () => void;
38
- }
39
- const useAccordion = (props: UseAccordionProps): UseAccordionReturn => {
40
- const {
41
- register,
42
- setOpened,
43
- opened,
44
- registered,
45
- ...rest
46
- } = useTogglableSections({
47
- toggleProperty: 'open',
48
- onToggleProperty: 'onClick',
49
- singleOpen: props && !!props.singleOpen,
50
- });
51
- const keys = useMemo(() => Object.keys(registered.current), [
52
- registered.current.length,
53
- ]);
54
- const openAll = useCallback(() => {
55
- setOpened(
56
- keys.reduce(
57
- (newOpened, key) => ({
58
- ...newOpened,
59
- [key]: true,
60
- }),
61
- {}
62
- )
63
- );
64
- }, [keys]);
65
- const closeAll = useCallback(() => setOpened({}), []);
66
-
67
- return {
68
- register,
69
- openAll,
70
- closeAll,
71
- isOpenAll: keys.length ? keys.every((v) => opened[v]) : false,
72
- setOpened,
73
- opened,
74
- registered,
75
- ...rest,
76
- };
77
- };
78
- export {
79
- Accordion,
80
- AccordionControls,
81
- AccordionSection,
82
- AccordionSectionContent,
83
- AccordionSectionHeader,
84
- useAccordion,
85
- };
86
- export default Accordion;
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
- import { mount } from 'enzyme';
3
-
4
- import Component from '@digigov/ui/core/Blockquote';
5
-
6
- it('renders the Blockquote with sample data', () => {
7
- expect(
8
- mount(<Component>this is some random data</Component>)
9
- ).toMatchSnapshot();
10
- });
@@ -1,20 +0,0 @@
1
- import CoreButtonLink, {
2
- ButtonLinkProps as CoreButtonLinkProps,
3
- } from '@digigov/react-core/ButtonLink';
4
- import withDeprecation from '@digigov/ui/utils/withDeprecation';
5
-
6
- export type ButtonLinkProps = CoreButtonLinkProps;
7
- export const ButtonLink = withDeprecation(CoreButtonLink, {
8
- name: 'ButtonLink',
9
- props: {
10
- variant: {
11
- error: true,
12
- },
13
- size: {
14
- error: true,
15
- },
16
- xsFullWidth: {
17
- error: true,
18
- },
19
- },
20
- });
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
- import CoreCallToAction, {
3
- CallToActionProps as CoreCallToActionProps,
4
- } from '@digigov/react-core/CallToAction';
5
- import withDeprecation from '@digigov/ui/utils/withDeprecation';
6
-
7
- export interface CallToActionProps extends CoreCallToActionProps {
8
- label?: string;
9
- }
10
-
11
- export const CallToAction: React.FC<CallToActionProps> = withDeprecation(
12
- ({ label = 'Start here', children, ...props }) => {
13
- return <CoreCallToAction {...props}>{children || label}</CoreCallToAction>;
14
- },
15
- {
16
- name: 'CallToAction',
17
- props: {
18
- variant: {
19
- error: true,
20
- },
21
- size: {
22
- error: true,
23
- },
24
- xsFullWidth: {
25
- error: true,
26
- },
27
- },
28
- }
29
- );
30
-
31
- export default CallToAction;
@@ -1,9 +0,0 @@
1
- import withDeprecation from '@digigov/ui/utils/withDeprecation';
2
-
3
- // eslint-disable-next-line @typescript-eslint/no-empty-function
4
- export const ButtonIcon = withDeprecation(() => {}, {
5
- name: 'ButtonIcon',
6
- error: true,
7
- });
8
-
9
- export default ButtonIcon;
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import { mount } from 'enzyme';
3
-
4
- import Component from '@digigov/ui/core/Button';
5
-
6
- it('renders the button', () => {
7
- expect(mount(<Component>hello</Component>)).toMatchSnapshot();
8
- });
@@ -1,46 +0,0 @@
1
- import React from 'react';
2
- import CoreButton, {
3
- ButtonProps as CoreButtonProps,
4
- } from '@digigov/react-core/Button';
5
- import withDeprecation from '@digigov/ui/utils/withDeprecation';
6
-
7
- export type ButtonProps = CoreButtonProps;
8
-
9
- export const Button = withDeprecation(CoreButton, {
10
- name: 'Button',
11
- props: {
12
- href: {
13
- error: 'To use a button with a link import ButtonLink instead',
14
- },
15
- /* variant: {
16
- error: true,
17
- }, */
18
- size: {
19
- error: true,
20
- },
21
- xsFullWidth: {
22
- error: true,
23
- },
24
- },
25
- });
26
-
27
- export default Button;
28
-
29
- export interface ContinueButtonProps extends ButtonProps {
30
- label?: string;
31
- ref?: React.Ref<HTMLButtonElement>;
32
- }
33
-
34
- export const ContinueButton: React.FC<ContinueButtonProps> = ({
35
- label = 'Continue',
36
- children,
37
- ...props
38
- }) => {
39
- return <Button {...props}>{label || children}</Button>;
40
- };
41
-
42
- export * from '@digigov/ui/core/Button/BackButton';
43
- export * from '@digigov/ui/core/Button/CallToAction';
44
- export * from '@digigov/ui/core/Button/ButtonLink';
45
- export * from '@digigov/ui/core/Button/Icon';
46
- export * from '@digigov/react-core/ButtonGroup';
@@ -1,38 +0,0 @@
1
- import * as React from 'react';
2
- import { mount } from 'enzyme';
3
-
4
- import {
5
- Details,
6
- DetailsContent,
7
- DetailsSummary,
8
- } from '@digigov/ui/core/Details';
9
-
10
- it('renders the closed Details component', () => {
11
- expect(
12
- mount(
13
- <Details>
14
- <DetailsSummary>Help with nationality</DetailsSummary>
15
- <DetailsContent>
16
- We need to know your nationality so we can work out which elections
17
- you’re entitled to vote in. If you cannot provide your nationality,
18
- you’ll have to send copies of identity documents through the post.
19
- </DetailsContent>
20
- </Details>
21
- )
22
- ).toMatchSnapshot();
23
- });
24
-
25
- it('renders the open Details component', () => {
26
- expect(
27
- mount(
28
- <Details open>
29
- <DetailsSummary>Help with nationality</DetailsSummary>
30
- <DetailsContent>
31
- We need to know your nationality so we can work out which elections
32
- you’re entitled to vote in. If you cannot provide your nationality,
33
- you’ll have to send copies of identity documents through the post.
34
- </DetailsContent>
35
- </Details>
36
- )
37
- ).toMatchSnapshot();
38
- });
@@ -1,13 +0,0 @@
1
- import CoreSectionBreak, {
2
- SectionBreakProps as CoreSectionBreakProps,
3
- } from '@digigov/react-core/SectionBreak';
4
- import withDeprecation from '@digigov/ui/utils/withDeprecation';
5
-
6
- export type SectionBreakProps = CoreSectionBreakProps;
7
-
8
- export const SectionBreak = withDeprecation(CoreSectionBreak, {
9
- name: 'Divider',
10
- rename: 'SectionBreak',
11
- });
12
-
13
- export default SectionBreak;
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
- import mountWithTheme from '@digigov/ui/test-utils/mountWithTheme';
3
-
4
- import Component from '.';
5
-
6
- it('renders the ErrorSummary with sample data', () => {
7
- expect(
8
- mountWithTheme(<Component>this is some random warning text</Component>)
9
- ).toMatchSnapshot();
10
- });
@@ -1,22 +0,0 @@
1
- import * as React from 'react';
2
- import { mount } from 'enzyme';
3
-
4
- import Component, { LinkProvider } from '@digigov/ui/core/Link';
5
-
6
- const CustomLink: React.FC<{}> = (props) => {
7
- return <div>{props.children}</div>;
8
- };
9
-
10
- it('renders the Link', () => {
11
- expect(mount(<Component>hello</Component>)).toMatchSnapshot();
12
- });
13
-
14
- it('Provider', () => {
15
- expect(
16
- mount(
17
- <LinkProvider component={CustomLink}>
18
- <Component>hello</Component>
19
- </LinkProvider>
20
- )
21
- ).toMatchSnapshot();
22
- });
@@ -1,41 +0,0 @@
1
- import * as React from 'react';
2
- import { LinkProps as CoreLinkProps } from '@digigov/react-core/Link';
3
-
4
- export interface LinkComponentContextProps {
5
- component: React.ElementType<LinkProps>;
6
- }
7
-
8
- export const CommonLink: React.FC<LinkProps> = (props) => (
9
- <a {...props}>{props.children}</a>
10
- );
11
-
12
- const LinkComponentContext = React.createContext<React.ElementType<LinkProps>>(
13
- CommonLink
14
- );
15
- export const LinkProvider: React.FC<LinkComponentContextProps> = (props) => {
16
- return (
17
- <LinkComponentContext.Provider value={props.component}>
18
- {props.children}
19
- </LinkComponentContext.Provider>
20
- );
21
- };
22
-
23
- export interface LinkProps extends CoreLinkProps {
24
- ref?: React.Ref<HTMLAnchorElement>;
25
- }
26
-
27
- const Link: React.ExoticComponent<LinkProps> = React.forwardRef(
28
- function WrappedLink(
29
- { children, href = '', ...props },
30
- ref: React.Ref<HTMLAnchorElement>
31
- ) {
32
- const LinkComponent = React.useContext(LinkComponentContext);
33
- return (
34
- <LinkComponent ref={ref} href={href} {...props}>
35
- {children}
36
- </LinkComponent>
37
- );
38
- }
39
- );
40
-
41
- export default Link;
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import clsx from 'clsx';
3
- import { makeStyles } from '@material-ui/core/styles';
4
-
5
- export const useListItemContenttyles = makeStyles(
6
- (theme) => ({
7
- root: {
8
- flexGrow: 1,
9
- padding: theme.spacing(0, 2),
10
- },
11
- }),
12
- { name: 'MuiListItemContent' }
13
- );
14
-
15
- export interface ListItemContentProps {
16
- className?: string;
17
- }
18
-
19
- export const ListItemContent: React.FC<ListItemContentProps> = ({
20
- className,
21
- children,
22
- ...props
23
- }) => {
24
- const classes = useListItemContenttyles();
25
- return (
26
- <div className={clsx(className, classes.root)} {...props}>
27
- {children}
28
- </div>
29
- );
30
- };
31
-
32
- export default ListItemContent;
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
- import clsx from 'clsx';
3
- import { makeStyles } from '@material-ui/core/styles';
4
- import Avatar, { AvatarProps } from '@material-ui/core/Avatar';
5
-
6
- export const useListItemIconStyles = makeStyles(
7
- () => ({
8
- root: {},
9
- }),
10
- { name: 'MuiListItemIcon' }
11
- );
12
-
13
- export interface ListItemIconProps extends AvatarProps {}
14
-
15
- export const ListItemIcon: React.FC<ListItemIconProps> = ({
16
- className,
17
- children,
18
- style,
19
- ...props
20
- }) => {
21
- const classes = useListItemIconStyles();
22
- return (
23
- <div style={style} className={clsx(className, classes.root)}>
24
- <Avatar variant="rounded" {...props}>
25
- {children}
26
- </Avatar>
27
- </div>
28
- );
29
- };
30
-
31
- export default ListItemIcon;
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { makeStyles } from '@material-ui/core/styles';
3
- import NormalText, { NormalTextProps } from '@digigov/ui/typography/NormalText';
4
-
5
- export const useListItemTextStyles = makeStyles(
6
- () => ({
7
- root: {},
8
- }),
9
- { name: 'MuiListItemText' }
10
- );
11
-
12
- export interface ListItemTextProps extends NormalTextProps {
13
- ref?: React.Ref<HTMLSpanElement>;
14
- }
15
-
16
- export const ListItemText: React.FC<ListItemTextProps> = ({
17
- children,
18
- ...props
19
- }) => {
20
- return <NormalText {...props}>{children}</NormalText>;
21
- };
22
-
23
- export default ListItemText;
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import { makeStyles } from '@material-ui/core/styles';
3
- import Title, { TitleProps } from '@digigov/ui/typography/Title';
4
- import Link, { LinkProps } from '@digigov/ui/core/Link';
5
-
6
- export const useListItemTitleStyles = makeStyles(
7
- () => ({
8
- root: {},
9
- }),
10
- { name: 'MuiListItemTitle' }
11
- );
12
-
13
- export interface ListItemTitleProps extends TitleProps {
14
- href?: string;
15
- linkProps?: Omit<LinkProps, 'href'>;
16
- }
17
-
18
- export const ListItemTitle: React.FC<ListItemTitleProps> = ({
19
- href,
20
- linkProps,
21
- children,
22
- ...props
23
- }) => {
24
- return (
25
- <Title {...props}>
26
- {href ? (
27
- <Link href={href} {...linkProps}>
28
- {children}
29
- </Link>
30
- ) : (
31
- children
32
- )}
33
- </Title>
34
- );
35
- };
36
-
37
- export default ListItemTitle;
@@ -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/List';
5
-
6
- it('renders the ErrorSummary with sample data', () => {
7
- expect(
8
- mountWithTheme(<Component>this is some random warning text</Component>)
9
- ).toMatchSnapshot();
10
- });