@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.
- package/.eslintrc.js +4 -0
- package/.prettierrc.js +3 -0
- package/.rush/temp/package-deps_build.json +176 -0
- package/.rush/temp/shrinkwrap-deps.json +278 -0
- package/CHANGELOG.json +796 -0
- package/CHANGELOG.md +22 -1
- package/docs/components.mdx +1 -0
- package/docs/create-a-new-service.mdx +93 -0
- package/docs/create-common-page-layout.mdx +205 -0
- package/docs/create-static-page.mdx +179 -0
- package/docs/edit-start-page.mdx +143 -0
- package/docs/index.mdx +66 -0
- package/docs/introduction.mdx +34 -0
- package/package.json +31 -8
- package/src/api/APIErrors.tsx +44 -0
- package/src/api/APIProvider.tsx +27 -0
- package/src/api/fetchAPI.ts +45 -0
- package/src/api/index.spec.tsx +419 -0
- package/{esm/api/index.js → src/api/index.tsx} +6 -3
- package/{api → src/api}/introduction.md +0 -0
- package/src/api/useResource.tsx +96 -0
- package/src/api/useResourceAction.tsx +80 -0
- package/src/api/useResourceQuery.tsx +177 -0
- package/src/api/utils.tsx +156 -0
- package/src/app/App.tsx +33 -0
- package/{app/Confirmation/index.d.ts → src/app/Confirmation/index.tsx} +0 -0
- package/{app/Footer/index.d.ts → src/app/Footer/index.tsx} +0 -0
- package/{es/app/Header/HeaderLogo.js → src/app/Header/HeaderLogo.tsx} +9 -7
- package/src/app/Header/HeaderSection.tsx +13 -0
- package/src/app/Header/HeaderTitle.tsx +24 -0
- package/{app → src/app}/Header/__snapshots__/index.spec.tsx.snap +0 -0
- package/{app → src/app}/Header/index.mdx +0 -0
- package/src/app/Header/index.spec.tsx +32 -0
- package/{esm/app/Header/index.js → src/app/Header/index.tsx} +10 -4
- package/src/app/NotFound/index.tsx +21 -0
- package/src/app/OutdatedBrowserBanner.tsx +37 -0
- package/src/app/PageTitle.tsx +70 -0
- package/{app → src/app}/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -0
- package/{app → src/app}/QrCodeScanner/index.mdx +0 -0
- package/src/app/QrCodeScanner/index.spec.tsx +19 -0
- package/src/app/QrCodeScanner/index.tsx +90 -0
- package/src/app/i18n.tsx +44 -0
- package/{app/index.d.ts → src/app/index.ts} +0 -0
- package/{core → src/core}/Accordion/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/Accordion/index.mdx +0 -0
- package/src/core/Accordion/index.spec.tsx +30 -0
- package/src/core/Accordion/index.tsx +86 -0
- package/{core → src/core}/Blockquote/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/Blockquote/index.mdx +0 -0
- package/src/core/Blockquote/index.spec.tsx +10 -0
- package/{esm/core/Blockquote/index.js → src/core/Blockquote/index.tsx} +9 -7
- package/{core/Breadcrumbs/index.d.ts → src/core/Breadcrumbs/index.tsx} +0 -0
- package/{esm/core/Button/BackButton.js → src/core/Button/BackButton.tsx} +10 -8
- package/src/core/Button/ButtonLink.tsx +20 -0
- package/src/core/Button/CallToAction.tsx +31 -0
- package/src/core/Button/Icon.tsx +9 -0
- package/{core → src/core}/Button/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/Button/index.mdx +0 -0
- package/src/core/Button/index.spec.tsx +8 -0
- package/src/core/Button/index.tsx +46 -0
- package/{core/Card/index.d.ts → src/core/Card/index.tsx} +0 -0
- package/{core → src/core}/Details/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/Details/index.mdx +0 -0
- package/src/core/Details/index.spec.tsx +38 -0
- package/{core/Details/index.d.ts → src/core/Details/index.tsx} +2 -0
- package/src/core/Divider/index.tsx +13 -0
- package/{core → src/core}/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/ErrorSummary/index.mdx +0 -0
- package/src/core/ErrorSummary/index.spec.tsx +10 -0
- package/{core/ErrorSummary/index.d.ts → src/core/ErrorSummary/index.tsx} +1 -0
- package/{core/Hidden/index.d.ts → src/core/Hidden/index.tsx} +0 -0
- package/{core → src/core}/Link/__snapshots__/index.spec.tsx.snap +0 -0
- package/src/core/Link/index.spec.tsx +22 -0
- package/src/core/Link/index.tsx +41 -0
- package/{core/List/List.d.ts → src/core/List/List.tsx} +2 -0
- package/{core/List/ListItem.d.ts → src/core/List/ListItem.tsx} +2 -0
- package/src/core/List/ListItemContent.tsx +32 -0
- package/src/core/List/ListItemIcon.tsx +31 -0
- package/src/core/List/ListItemText.tsx +23 -0
- package/src/core/List/ListItemTitle.tsx +37 -0
- package/{core → src/core}/List/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/List/index.mdx +0 -0
- package/src/core/List/index.spec.tsx +10 -0
- package/{core/List/index.d.ts → src/core/List/index.tsx} +0 -0
- package/src/core/NavList/NavList.tsx +103 -0
- package/src/core/NavList/NavListContext.tsx +85 -0
- package/src/core/NavList/NavListItem.tsx +143 -0
- package/src/core/NavList/NavListItemBase.tsx +146 -0
- package/src/core/NavList/NavListSubMenu.tsx +33 -0
- package/{core → src/core}/NavList/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/NavList/index.mdx +0 -0
- package/src/core/NavList/index.spec.tsx +10 -0
- package/{core/NavList/index.d.ts → src/core/NavList/index.tsx} +0 -0
- package/{core → src/core}/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/NotificationBanner/index.mdx +0 -0
- package/src/core/NotificationBanner/index.spec.tsx +27 -0
- package/src/core/NotificationBanner/index.tsx +52 -0
- package/{core → src/core}/ServiceBadge/ServiceBadge.mdx +0 -0
- package/{core → src/core}/ServiceBadge/index.mdx +0 -0
- package/src/core/ServiceBadge/index.tsx +35 -0
- package/{core → src/core}/SummaryList/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/SummaryList/index.mdx +0 -0
- package/src/core/SummaryList/index.spec.tsx +28 -0
- package/{core/SummaryList/index.d.ts → src/core/SummaryList/index.tsx} +2 -0
- package/{core/Table/index.d.ts → src/core/Table/index.tsx} +0 -0
- package/{core → src/core}/Tabs/index.mdx +0 -0
- package/src/core/Tabs/index.tsx +36 -0
- package/{core/VisuallyHidden/index.d.ts → src/core/VisuallyHidden/index.tsx} +0 -0
- package/{core → src/core}/WarningText/__snapshots__/index.spec.tsx.snap +0 -0
- package/{core → src/core}/WarningText/index.mdx +0 -0
- package/src/core/WarningText/index.spec.tsx +10 -0
- package/{core/WarningText/index.d.ts → src/core/WarningText/index.tsx} +1 -0
- package/{core/index.d.ts → src/core/index.ts} +3 -0
- package/src/custom.d.ts +8 -0
- package/{es → src}/form/inputs/Input/index.mdx +0 -0
- package/src/govgr/Footer/Copyright.tsx +64 -0
- package/{govgr/Footer/HellenicRepublicLogo.d.ts → src/govgr/Footer/HellenicRepublicLogo.tsx} +1 -0
- package/src/govgr/Footer/LicenseCCSA.tsx +24 -0
- package/{es → src}/govgr/Footer/index.mdx +0 -0
- package/src/govgr/Footer/index.tsx +49 -0
- package/{esm/govgr/Footer/logo.js → src/govgr/Footer/logo.ts} +1 -1
- package/{esm/govgr/Footer/logos/logo-el.js → src/govgr/Footer/logos/logo-el.ts} +1 -1
- package/{esm/govgr/Footer/logos/logo-en.js → src/govgr/Footer/logos/logo-en.ts} +1 -1
- package/{es → src}/govgr/Logo/govgr-logo.svg +0 -0
- package/{govgr/Logo/index.d.ts → src/govgr/Logo/index.tsx} +2 -0
- package/{es/govgr/Logo/logo.js → src/govgr/Logo/logo.ts} +1 -1
- package/{govgr/index.d.ts → src/govgr/index.ts} +0 -0
- package/src/hooks/useDebounce.ts +50 -0
- package/src/hooks/useLatest.ts +12 -0
- package/{esm/hooks/useOutdatedBrowserCheck.js → src/hooks/useOutdatedBrowserCheck.ts} +16 -15
- package/src/hooks/useSearch.ts +47 -0
- package/src/hooks/useTogglableSections.tsx +102 -0
- package/{index.d.ts → src/index.ts} +0 -0
- package/{es → src}/layouts/Basic/Bottom/index.mdx +0 -0
- package/{layouts/Basic/Bottom/index.d.ts → src/layouts/Basic/Bottom/index.tsx} +1 -0
- package/{es → src}/layouts/Basic/Content/index.mdx +0 -0
- package/src/layouts/Basic/Content/index.tsx +24 -0
- package/{es → src}/layouts/Basic/Main/index.mdx +0 -0
- package/{layouts/Basic/Main/index.d.ts → src/layouts/Basic/Main/index.tsx} +1 -0
- package/{es → src}/layouts/Basic/Masthead/index.mdx +0 -0
- package/{layouts/Basic/Masthead/index.d.ts → src/layouts/Basic/Masthead/index.tsx} +2 -0
- package/{es → src}/layouts/Basic/Side/index.mdx +0 -0
- package/{esm/layouts/Basic/Side/index.js → src/layouts/Basic/Side/index.tsx} +5 -3
- package/{es → src}/layouts/Basic/Top/index.mdx +0 -0
- package/{es/layouts/Basic/Top/index.js → src/layouts/Basic/Top/index.tsx} +7 -5
- package/{es → src}/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -0
- package/{es → src}/layouts/Basic/index.mdx +0 -0
- package/src/layouts/Basic/index.spec.tsx +24 -0
- package/{layouts/Basic/index.d.ts → src/layouts/Basic/index.tsx} +2 -0
- package/{layouts/Grid/index.d.ts → src/layouts/Grid/index.tsx} +0 -0
- package/{layouts/index.d.ts → src/layouts/index.ts} +0 -0
- package/src/locales/el.ts +60 -0
- package/{esm/locales/en.js → src/locales/en.ts} +25 -11
- package/{es → src}/router/index.mdx +0 -0
- package/src/router/index.tsx +28 -0
- package/src/test-utils/delay.ts +9 -0
- package/src/test-utils/mountWithTheme.tsx +33 -0
- package/{es → src}/themes/govgr.js +33 -29
- package/src/themes/grnet.js +109 -0
- package/src/themes/index.tsx +38 -0
- package/src/typography/Caption.tsx +15 -0
- package/src/typography/NormalText.tsx +7 -0
- package/src/typography/Paragraph.tsx +9 -0
- package/src/typography/Title.tsx +51 -0
- package/{es → src}/typography/index.mdx +0 -0
- package/{typography/index.d.ts → src/typography/index.ts} +0 -0
- package/src/utils/evaluateBrowserVersion.ts +346 -0
- package/src/utils/withDeprecation.tsx +97 -0
- package/tsconfig.json +18 -0
- package/tsconfig.production.json +27 -0
- package/ui.build.log +17 -0
- package/LICENSE +0 -0
- package/api/APIErrors.d.ts +0 -22
- package/api/APIErrors.js +0 -117
- package/api/APIProvider.d.ts +0 -15
- package/api/APIProvider.js +0 -43
- package/api/fetchAPI.d.ts +0 -18
- package/api/fetchAPI.js +0 -64
- package/api/index.d.ts +0 -9
- package/api/index.js +0 -104
- package/api/index.spec.d.ts +0 -1
- package/api/index.spec.js +0 -584
- package/api/useResource.d.ts +0 -11
- package/api/useResource.js +0 -144
- package/api/useResourceAction.d.ts +0 -2
- package/api/useResourceAction.js +0 -157
- package/api/useResourceQuery.d.ts +0 -18
- package/api/useResourceQuery.js +0 -229
- package/api/utils.d.ts +0 -6
- package/api/utils.js +0 -250
- package/app/App.d.ts +0 -14
- package/app/App.js +0 -49
- package/app/Confirmation/index.js +0 -44
- package/app/Footer/index.js +0 -200
- package/app/Header/HeaderLogo.d.ts +0 -3
- package/app/Header/HeaderLogo.js +0 -30
- package/app/Header/HeaderSection.d.ts +0 -5
- package/app/Header/HeaderSection.js +0 -20
- package/app/Header/HeaderTitle.d.ts +0 -5
- package/app/Header/HeaderTitle.js +0 -30
- package/app/Header/index.d.ts +0 -11
- package/app/Header/index.js +0 -106
- package/app/Header/index.spec.d.ts +0 -1
- package/app/Header/index.spec.js +0 -45
- package/app/NotFound/index.d.ts +0 -3
- package/app/NotFound/index.js +0 -29
- package/app/OutdatedBrowserBanner.d.ts +0 -2
- package/app/OutdatedBrowserBanner.js +0 -41
- package/app/PageTitle.d.ts +0 -10
- package/app/PageTitle.js +0 -76
- package/app/QrCodeScanner/index.d.ts +0 -29
- package/app/QrCodeScanner/index.js +0 -85
- package/app/QrCodeScanner/index.spec.d.ts +0 -1
- package/app/QrCodeScanner/index.spec.js +0 -26
- package/app/i18n.d.ts +0 -10
- package/app/i18n.js +0 -57
- package/app/index.js +0 -70
- package/core/Accordion/index.d.ts +0 -21
- package/core/Accordion/index.js +0 -127
- package/core/Accordion/index.spec.d.ts +0 -1
- package/core/Accordion/index.spec.js +0 -19
- package/core/Blockquote/index.d.ts +0 -3
- package/core/Blockquote/index.js +0 -29
- package/core/Blockquote/index.spec.d.ts +0 -1
- package/core/Blockquote/index.spec.js +0 -21
- package/core/Breadcrumbs/index.js +0 -44
- package/core/Button/BackButton.d.ts +0 -3
- package/core/Button/BackButton.js +0 -34
- package/core/Button/ButtonLink.d.ts +0 -4
- package/core/Button/ButtonLink.js +0 -28
- package/core/Button/CallToAction.d.ts +0 -7
- package/core/Button/CallToAction.js +0 -41
- package/core/Button/Icon.d.ts +0 -2
- package/core/Button/Icon.js +0 -19
- package/core/Button/index.d.ts +0 -15
- package/core/Button/index.js +0 -121
- package/core/Button/index.spec.d.ts +0 -1
- package/core/Button/index.spec.js +0 -21
- package/core/Card/index.js +0 -57
- package/core/Details/index.js +0 -35
- package/core/Details/index.spec.d.ts +0 -1
- package/core/Details/index.spec.js +0 -27
- package/core/Divider/index.d.ts +0 -5
- package/core/Divider/index.js +0 -20
- package/core/ErrorSummary/index.js +0 -19
- package/core/ErrorSummary/index.spec.d.ts +0 -1
- package/core/ErrorSummary/index.spec.js +0 -21
- package/core/Hidden/index.js +0 -18
- package/core/Link/index.d.ts +0 -12
- package/core/Link/index.js +0 -50
- package/core/Link/index.spec.d.ts +0 -1
- package/core/Link/index.spec.js +0 -31
- package/core/List/List.js +0 -19
- package/core/List/ListItem.js +0 -19
- package/core/List/ListItemContent.d.ts +0 -7
- package/core/List/ListItemContent.js +0 -45
- package/core/List/ListItemIcon.d.ts +0 -7
- package/core/List/ListItemIcon.js +0 -48
- package/core/List/ListItemText.d.ts +0 -8
- package/core/List/ListItemText.js +0 -36
- package/core/List/ListItemTitle.d.ts +0 -10
- package/core/List/ListItemTitle.js +0 -44
- package/core/List/index.js +0 -96
- package/core/List/index.spec.d.ts +0 -1
- package/core/List/index.spec.js +0 -21
- package/core/NavList/NavList.d.ts +0 -17
- package/core/NavList/NavList.js +0 -99
- package/core/NavList/NavListContext.d.ts +0 -20
- package/core/NavList/NavListContext.js +0 -102
- package/core/NavList/NavListItem.d.ts +0 -13
- package/core/NavList/NavListItem.js +0 -171
- package/core/NavList/NavListItemBase.d.ts +0 -16
- package/core/NavList/NavListItemBase.js +0 -161
- package/core/NavList/NavListSubMenu.d.ts +0 -8
- package/core/NavList/NavListSubMenu.js +0 -52
- package/core/NavList/index.js +0 -68
- package/core/NavList/index.spec.d.ts +0 -1
- package/core/NavList/index.spec.js +0 -21
- package/core/NotificationBanner/index.d.ts +0 -18
- package/core/NotificationBanner/index.js +0 -78
- package/core/NotificationBanner/index.spec.d.ts +0 -1
- package/core/NotificationBanner/index.spec.js +0 -32
- package/core/ServiceBadge/index.d.ts +0 -9
- package/core/ServiceBadge/index.js +0 -36
- package/core/SummaryList/index.js +0 -79
- package/core/SummaryList/index.spec.d.ts +0 -1
- package/core/SummaryList/index.spec.js +0 -19
- package/core/Table/index.js +0 -96
- package/core/Tabs/index.d.ts +0 -16
- package/core/Tabs/index.js +0 -88
- package/core/VisuallyHidden/index.js +0 -18
- package/core/WarningText/index.js +0 -19
- package/core/WarningText/index.spec.d.ts +0 -1
- package/core/WarningText/index.spec.js +0 -21
- package/core/index.js +0 -199
- package/custom.d.js +0 -1
- package/es/api/APIErrors.js +0 -96
- package/es/api/APIProvider.js +0 -25
- package/es/api/fetchAPI.js +0 -49
- package/es/api/index.js +0 -13
- package/es/api/index.spec.js +0 -546
- package/es/api/introduction.md +0 -6
- package/es/api/useResource.js +0 -128
- package/es/api/useResourceAction.js +0 -141
- package/es/api/useResourceQuery.js +0 -208
- package/es/api/utils.js +0 -233
- package/es/app/App.js +0 -27
- package/es/app/Confirmation/index.js +0 -3
- package/es/app/Footer/index.js +0 -15
- package/es/app/Header/HeaderSection.js +0 -7
- package/es/app/Header/HeaderTitle.js +0 -17
- package/es/app/Header/__snapshots__/index.spec.tsx.snap +0 -393
- package/es/app/Header/index.js +0 -13
- package/es/app/Header/index.mdx +0 -50
- package/es/app/Header/index.spec.js +0 -32
- package/es/app/NotFound/index.js +0 -12
- package/es/app/OutdatedBrowserBanner.js +0 -24
- package/es/app/PageTitle.js +0 -57
- package/es/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -22
- package/es/app/QrCodeScanner/index.js +0 -64
- package/es/app/QrCodeScanner/index.mdx +0 -22
- package/es/app/QrCodeScanner/index.spec.js +0 -13
- package/es/app/i18n.js +0 -36
- package/es/app/index.js +0 -5
- package/es/core/Accordion/__snapshots__/index.spec.tsx.snap +0 -78
- package/es/core/Accordion/index.js +0 -67
- package/es/core/Accordion/index.mdx +0 -104
- package/es/core/Accordion/index.spec.js +0 -9
- package/es/core/Blockquote/__snapshots__/index.spec.tsx.snap +0 -13
- package/es/core/Blockquote/index.js +0 -16
- package/es/core/Blockquote/index.mdx +0 -61
- package/es/core/Blockquote/index.spec.js +0 -9
- package/es/core/Breadcrumbs/index.js +0 -3
- package/es/core/Button/BackButton.js +0 -21
- package/es/core/Button/ButtonLink.js +0 -16
- package/es/core/Button/CallToAction.js +0 -27
- package/es/core/Button/Icon.js +0 -7
- package/es/core/Button/__snapshots__/index.spec.tsx.snap +0 -13
- package/es/core/Button/index.js +0 -36
- package/es/core/Button/index.mdx +0 -65
- package/es/core/Button/index.spec.js +0 -9
- package/es/core/Card/index.js +0 -4
- package/es/core/Details/__snapshots__/index.spec.tsx.snap +0 -50
- package/es/core/Details/index.js +0 -5
- package/es/core/Details/index.mdx +0 -34
- package/es/core/Details/index.spec.js +0 -17
- package/es/core/Divider/index.js +0 -7
- package/es/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -322
- package/es/core/ErrorSummary/index.js +0 -3
- package/es/core/ErrorSummary/index.mdx +0 -61
- package/es/core/ErrorSummary/index.spec.js +0 -9
- package/es/core/Hidden/index.js +0 -1
- package/es/core/Link/__snapshots__/index.spec.tsx.snap +0 -31
- package/es/core/Link/index.js +0 -26
- package/es/core/Link/index.spec.js +0 -21
- package/es/core/List/List.js +0 -3
- package/es/core/List/ListItem.js +0 -3
- package/es/core/List/ListItemContent.js +0 -27
- package/es/core/List/ListItemIcon.js +0 -29
- package/es/core/List/ListItemText.js +0 -19
- package/es/core/List/ListItemTitle.js +0 -25
- package/es/core/List/__snapshots__/index.spec.tsx.snap +0 -322
- package/es/core/List/index.js +0 -7
- package/es/core/List/index.mdx +0 -40
- package/es/core/List/index.spec.js +0 -9
- package/es/core/NavList/NavList.js +0 -78
- package/es/core/NavList/NavListContext.js +0 -80
- package/es/core/NavList/NavListItem.js +0 -141
- package/es/core/NavList/NavListItemBase.js +0 -133
- package/es/core/NavList/NavListSubMenu.js +0 -27
- package/es/core/NavList/__snapshots__/index.spec.tsx.snap +0 -334
- package/es/core/NavList/index.js +0 -5
- package/es/core/NavList/index.mdx +0 -185
- package/es/core/NavList/index.spec.js +0 -9
- package/es/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -737
- package/es/core/NotificationBanner/index.js +0 -35
- package/es/core/NotificationBanner/index.mdx +0 -77
- package/es/core/NotificationBanner/index.spec.js +0 -20
- package/es/core/ServiceBadge/ServiceBadge.mdx +0 -0
- package/es/core/ServiceBadge/index.js +0 -20
- package/es/core/ServiceBadge/index.mdx +0 -42
- package/es/core/SummaryList/__snapshots__/index.spec.tsx.snap +0 -57
- package/es/core/SummaryList/index.js +0 -7
- package/es/core/SummaryList/index.mdx +0 -82
- package/es/core/SummaryList/index.spec.js +0 -9
- package/es/core/Table/index.js +0 -7
- package/es/core/Tabs/index.js +0 -37
- package/es/core/Tabs/index.mdx +0 -54
- package/es/core/VisuallyHidden/index.js +0 -1
- package/es/core/WarningText/__snapshots__/index.spec.tsx.snap +0 -336
- package/es/core/WarningText/index.js +0 -3
- package/es/core/WarningText/index.mdx +0 -46
- package/es/core/WarningText/index.spec.js +0 -9
- package/es/core/index.js +0 -14
- package/es/custom.d.js +0 -0
- package/es/govgr/Footer/Copyright.js +0 -37
- package/es/govgr/Footer/HellenicRepublicLogo.js +0 -3
- package/es/govgr/Footer/LicenseCCSA.js +0 -18
- package/es/govgr/Footer/index.js +0 -21
- package/es/govgr/Footer/logo.js +0 -1
- package/es/govgr/Footer/logos/logo-el.js +0 -1
- package/es/govgr/Footer/logos/logo-en.js +0 -1
- package/es/govgr/Logo/index.js +0 -3
- package/es/govgr/index.js +0 -4
- package/es/hooks/useDebounce.js +0 -41
- package/es/hooks/useLatest.js +0 -12
- package/es/hooks/useOutdatedBrowserCheck.js +0 -46
- package/es/hooks/useSearch.js +0 -25
- package/es/hooks/useTogglableSections.js +0 -96
- package/es/index.js +0 -5
- package/es/layouts/Basic/Bottom/index.js +0 -3
- package/es/layouts/Basic/Content/index.js +0 -18
- package/es/layouts/Basic/Main/index.js +0 -3
- package/es/layouts/Basic/Masthead/index.js +0 -4
- package/es/layouts/Basic/Side/index.js +0 -7
- package/es/layouts/Basic/index.js +0 -8
- package/es/layouts/Basic/index.spec.js +0 -10
- package/es/layouts/Grid/index.js +0 -1
- package/es/layouts/index.js +0 -2
- package/es/locales/el.js +0 -45
- package/es/locales/en.js +0 -45
- package/es/router/index.js +0 -15
- package/es/test-utils/delay.js +0 -31
- package/es/test-utils/mountWithTheme.js +0 -30
- package/es/themes/grnet.js +0 -110
- package/es/themes/index.js +0 -2
- package/es/typography/Caption.js +0 -7
- package/es/typography/NormalText.js +0 -3
- package/es/typography/Paragraph.js +0 -2
- package/es/typography/Title.js +0 -48
- package/es/typography/index.js +0 -8
- package/es/utils/evaluateBrowserVersion.js +0 -201
- package/es/utils/withDeprecation.js +0 -103
- package/esm/api/APIErrors.js +0 -96
- package/esm/api/APIProvider.js +0 -25
- package/esm/api/fetchAPI.js +0 -49
- package/esm/api/index.spec.js +0 -546
- package/esm/api/introduction.md +0 -6
- package/esm/api/useResource.js +0 -128
- package/esm/api/useResourceAction.js +0 -141
- package/esm/api/useResourceQuery.js +0 -208
- package/esm/api/utils.js +0 -233
- package/esm/app/App.js +0 -27
- package/esm/app/Confirmation/index.js +0 -3
- package/esm/app/Footer/index.js +0 -15
- package/esm/app/Header/HeaderLogo.js +0 -17
- package/esm/app/Header/HeaderSection.js +0 -7
- package/esm/app/Header/HeaderTitle.js +0 -17
- package/esm/app/Header/__snapshots__/index.spec.tsx.snap +0 -393
- package/esm/app/Header/index.mdx +0 -50
- package/esm/app/Header/index.spec.js +0 -32
- package/esm/app/NotFound/index.js +0 -12
- package/esm/app/OutdatedBrowserBanner.js +0 -24
- package/esm/app/PageTitle.js +0 -57
- package/esm/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +0 -22
- package/esm/app/QrCodeScanner/index.js +0 -64
- package/esm/app/QrCodeScanner/index.mdx +0 -22
- package/esm/app/QrCodeScanner/index.spec.js +0 -13
- package/esm/app/i18n.js +0 -36
- package/esm/app/index.js +0 -5
- package/esm/core/Accordion/__snapshots__/index.spec.tsx.snap +0 -78
- package/esm/core/Accordion/index.js +0 -67
- package/esm/core/Accordion/index.mdx +0 -104
- package/esm/core/Accordion/index.spec.js +0 -9
- package/esm/core/Blockquote/__snapshots__/index.spec.tsx.snap +0 -13
- package/esm/core/Blockquote/index.mdx +0 -61
- package/esm/core/Blockquote/index.spec.js +0 -9
- package/esm/core/Breadcrumbs/index.js +0 -3
- package/esm/core/Button/ButtonLink.js +0 -16
- package/esm/core/Button/CallToAction.js +0 -27
- package/esm/core/Button/Icon.js +0 -7
- package/esm/core/Button/__snapshots__/index.spec.tsx.snap +0 -13
- package/esm/core/Button/index.js +0 -36
- package/esm/core/Button/index.mdx +0 -65
- package/esm/core/Button/index.spec.js +0 -9
- package/esm/core/Card/index.js +0 -4
- package/esm/core/Details/__snapshots__/index.spec.tsx.snap +0 -50
- package/esm/core/Details/index.js +0 -5
- package/esm/core/Details/index.mdx +0 -34
- package/esm/core/Details/index.spec.js +0 -17
- package/esm/core/Divider/index.js +0 -7
- package/esm/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +0 -322
- package/esm/core/ErrorSummary/index.js +0 -3
- package/esm/core/ErrorSummary/index.mdx +0 -61
- package/esm/core/ErrorSummary/index.spec.js +0 -9
- package/esm/core/Hidden/index.js +0 -1
- package/esm/core/Link/__snapshots__/index.spec.tsx.snap +0 -31
- package/esm/core/Link/index.js +0 -26
- package/esm/core/Link/index.spec.js +0 -21
- package/esm/core/List/List.js +0 -3
- package/esm/core/List/ListItem.js +0 -3
- package/esm/core/List/ListItemContent.js +0 -27
- package/esm/core/List/ListItemIcon.js +0 -29
- package/esm/core/List/ListItemText.js +0 -19
- package/esm/core/List/ListItemTitle.js +0 -25
- package/esm/core/List/__snapshots__/index.spec.tsx.snap +0 -322
- package/esm/core/List/index.js +0 -7
- package/esm/core/List/index.mdx +0 -40
- package/esm/core/List/index.spec.js +0 -9
- package/esm/core/NavList/NavList.js +0 -78
- package/esm/core/NavList/NavListContext.js +0 -80
- package/esm/core/NavList/NavListItem.js +0 -141
- package/esm/core/NavList/NavListItemBase.js +0 -133
- package/esm/core/NavList/NavListSubMenu.js +0 -27
- package/esm/core/NavList/__snapshots__/index.spec.tsx.snap +0 -334
- package/esm/core/NavList/index.js +0 -5
- package/esm/core/NavList/index.mdx +0 -185
- package/esm/core/NavList/index.spec.js +0 -9
- package/esm/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +0 -737
- package/esm/core/NotificationBanner/index.js +0 -35
- package/esm/core/NotificationBanner/index.mdx +0 -77
- package/esm/core/NotificationBanner/index.spec.js +0 -20
- package/esm/core/ServiceBadge/ServiceBadge.mdx +0 -0
- package/esm/core/ServiceBadge/index.js +0 -20
- package/esm/core/ServiceBadge/index.mdx +0 -42
- package/esm/core/SummaryList/__snapshots__/index.spec.tsx.snap +0 -57
- package/esm/core/SummaryList/index.js +0 -7
- package/esm/core/SummaryList/index.mdx +0 -82
- package/esm/core/SummaryList/index.spec.js +0 -9
- package/esm/core/Table/index.js +0 -7
- package/esm/core/Tabs/index.js +0 -37
- package/esm/core/Tabs/index.mdx +0 -54
- package/esm/core/VisuallyHidden/index.js +0 -1
- package/esm/core/WarningText/__snapshots__/index.spec.tsx.snap +0 -336
- package/esm/core/WarningText/index.js +0 -3
- package/esm/core/WarningText/index.mdx +0 -46
- package/esm/core/WarningText/index.spec.js +0 -9
- package/esm/core/index.js +0 -14
- package/esm/custom.d.js +0 -0
- package/esm/form/inputs/Input/index.mdx +0 -10
- package/esm/govgr/Footer/Copyright.js +0 -37
- package/esm/govgr/Footer/HellenicRepublicLogo.js +0 -3
- package/esm/govgr/Footer/LicenseCCSA.js +0 -18
- package/esm/govgr/Footer/index.js +0 -21
- package/esm/govgr/Footer/index.mdx +0 -97
- package/esm/govgr/Logo/govgr-logo.svg +0 -1
- package/esm/govgr/Logo/index.js +0 -3
- package/esm/govgr/Logo/logo.js +0 -1
- package/esm/govgr/index.js +0 -4
- package/esm/hooks/useDebounce.js +0 -41
- package/esm/hooks/useLatest.js +0 -12
- package/esm/hooks/useSearch.js +0 -25
- package/esm/hooks/useTogglableSections.js +0 -96
- package/esm/index.js +0 -10
- package/esm/layouts/Basic/Bottom/index.js +0 -3
- package/esm/layouts/Basic/Bottom/index.mdx +0 -37
- package/esm/layouts/Basic/Content/index.js +0 -18
- package/esm/layouts/Basic/Content/index.mdx +0 -64
- package/esm/layouts/Basic/Main/index.js +0 -3
- package/esm/layouts/Basic/Main/index.mdx +0 -64
- package/esm/layouts/Basic/Masthead/index.js +0 -4
- package/esm/layouts/Basic/Masthead/index.mdx +0 -74
- package/esm/layouts/Basic/Side/index.mdx +0 -71
- package/esm/layouts/Basic/Top/index.js +0 -11
- package/esm/layouts/Basic/Top/index.mdx +0 -74
- package/esm/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -54
- package/esm/layouts/Basic/index.js +0 -8
- package/esm/layouts/Basic/index.mdx +0 -62
- package/esm/layouts/Basic/index.spec.js +0 -10
- package/esm/layouts/Grid/index.js +0 -1
- package/esm/layouts/index.js +0 -2
- package/esm/locales/el.js +0 -45
- package/esm/router/index.js +0 -15
- package/esm/router/index.mdx +0 -40
- package/esm/test-utils/delay.js +0 -31
- package/esm/test-utils/mountWithTheme.js +0 -30
- package/esm/themes/govgr.js +0 -79
- package/esm/themes/grnet.js +0 -110
- package/esm/themes/index.js +0 -2
- package/esm/typography/Caption.js +0 -7
- package/esm/typography/NormalText.js +0 -3
- package/esm/typography/Paragraph.js +0 -2
- package/esm/typography/Title.js +0 -48
- package/esm/typography/index.js +0 -8
- package/esm/typography/index.mdx +0 -32
- package/esm/utils/evaluateBrowserVersion.js +0 -201
- package/esm/utils/withDeprecation.js +0 -103
- package/form/inputs/Input/index.mdx +0 -10
- package/govgr/Footer/Copyright.d.ts +0 -8
- package/govgr/Footer/Copyright.js +0 -52
- package/govgr/Footer/HellenicRepublicLogo.js +0 -19
- package/govgr/Footer/LicenseCCSA.d.ts +0 -3
- package/govgr/Footer/LicenseCCSA.js +0 -33
- package/govgr/Footer/index.d.ts +0 -13
- package/govgr/Footer/index.js +0 -39
- package/govgr/Footer/index.mdx +0 -97
- package/govgr/Footer/logo.d.ts +0 -2
- package/govgr/Footer/logo.js +0 -8
- package/govgr/Footer/logos/logo-el.d.ts +0 -2
- package/govgr/Footer/logos/logo-el.js +0 -8
- package/govgr/Footer/logos/logo-en.d.ts +0 -2
- package/govgr/Footer/logos/logo-en.js +0 -8
- package/govgr/Logo/govgr-logo.svg +0 -1
- package/govgr/Logo/index.js +0 -19
- package/govgr/Logo/logo.d.ts +0 -2
- package/govgr/Logo/logo.js +0 -8
- package/govgr/index.js +0 -57
- package/hooks/useDebounce.d.ts +0 -3
- package/hooks/useDebounce.js +0 -63
- package/hooks/useLatest.d.ts +0 -3
- package/hooks/useLatest.js +0 -26
- package/hooks/useOutdatedBrowserCheck.d.ts +0 -2
- package/hooks/useOutdatedBrowserCheck.js +0 -60
- package/hooks/useSearch.d.ts +0 -4
- package/hooks/useSearch.js +0 -40
- package/hooks/useTogglableSections.d.ts +0 -18
- package/hooks/useTogglableSections.js +0 -108
- package/index.js +0 -70
- package/layouts/Basic/Bottom/index.js +0 -19
- package/layouts/Basic/Bottom/index.mdx +0 -37
- package/layouts/Basic/Content/index.d.ts +0 -5
- package/layouts/Basic/Content/index.js +0 -31
- package/layouts/Basic/Content/index.mdx +0 -64
- package/layouts/Basic/Main/index.js +0 -19
- package/layouts/Basic/Main/index.mdx +0 -64
- package/layouts/Basic/Masthead/index.js +0 -27
- package/layouts/Basic/Masthead/index.mdx +0 -74
- package/layouts/Basic/Side/index.d.ts +0 -3
- package/layouts/Basic/Side/index.js +0 -20
- package/layouts/Basic/Side/index.mdx +0 -71
- package/layouts/Basic/Top/index.d.ts +0 -3
- package/layouts/Basic/Top/index.js +0 -24
- package/layouts/Basic/Top/index.mdx +0 -74
- package/layouts/Basic/__snapshots__/index.spec.tsx.snap +0 -54
- package/layouts/Basic/index.js +0 -97
- package/layouts/Basic/index.mdx +0 -62
- package/layouts/Basic/index.spec.d.ts +0 -1
- package/layouts/Basic/index.spec.js +0 -20
- package/layouts/Grid/index.js +0 -18
- package/layouts/index.js +0 -34
- package/locales/el.d.ts +0 -46
- package/locales/el.js +0 -52
- package/locales/en.d.ts +0 -46
- package/locales/en.js +0 -52
- package/router/index.d.ts +0 -9
- package/router/index.js +0 -37
- package/router/index.mdx +0 -40
- package/test-utils/delay.d.ts +0 -2
- package/test-utils/delay.js +0 -45
- package/test-utils/mountWithTheme.d.ts +0 -3
- package/test-utils/mountWithTheme.js +0 -43
- package/themes/govgr.d.ts +0 -3
- package/themes/govgr.js +0 -89
- package/themes/grnet.d.ts +0 -2
- package/themes/grnet.js +0 -128
- package/themes/index.d.ts +0 -32
- package/themes/index.js +0 -19
- package/typography/Caption.d.ts +0 -7
- package/typography/Caption.js +0 -20
- package/typography/NormalText.d.ts +0 -5
- package/typography/NormalText.js +0 -19
- package/typography/Paragraph.d.ts +0 -6
- package/typography/Paragraph.js +0 -13
- package/typography/Title.d.ts +0 -9
- package/typography/Title.js +0 -63
- package/typography/index.js +0 -97
- package/typography/index.mdx +0 -32
- package/utils/evaluateBrowserVersion.d.ts +0 -15
- package/utils/evaluateBrowserVersion.js +0 -216
- package/utils/withDeprecation.d.ts +0 -16
- 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
|
|
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
|
|
File without changes
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
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
|
+
});
|
|
@@ -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';
|
package/src/custom.d.ts
ADDED
|
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;
|
|
@@ -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;
|