@digigov/ui 2.0.0-d57821ba → 2.0.0-daaf7bdf
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/app/Loader/Loader.stories/index.js +2 -0
- package/app/Loader/Loader.stories.d.ts +1 -0
- package/app/Loader/Loader.stories.js.map +2 -2
- package/app/Loader/__stories__/FullPageLoader/index.js +13 -0
- package/app/Loader/__stories__/FullPageLoader/package.json +6 -0
- package/app/Loader/__stories__/FullPageLoader.d.ts +2 -0
- package/app/Loader/__stories__/FullPageLoader.js.map +7 -0
- package/app/Modal/__stories__/Auto/index.js +5 -3
- package/app/Modal/__stories__/Auto.js.map +2 -2
- package/app/Modal/index.d.ts +0 -1
- package/app/Modal/index.js +0 -1
- package/app/Modal/index.js.map +2 -2
- package/app/OutdatedBrowserBanner/index.d.ts +0 -1
- package/cjs/app/Loader/Loader.stories/index.js +4 -1
- package/cjs/app/Loader/Loader.stories.js.map +2 -2
- package/cjs/{patterns/FilteredResults/FilterFields → app/Loader/__stories__/FullPageLoader}/index.js +9 -11
- package/cjs/app/Loader/__stories__/FullPageLoader.js.map +7 -0
- package/cjs/app/Modal/__stories__/Auto/index.js +2 -1
- package/cjs/app/Modal/__stories__/Auto.js.map +2 -2
- package/cjs/app/Modal/index.js +0 -2
- package/cjs/app/Modal/index.js.map +2 -2
- package/cjs/content/Accordion/__stories__/Auto/index.js +2 -1
- package/cjs/content/Accordion/__stories__/Auto.js.map +2 -2
- package/cjs/content/Accordion/index.js +1 -3
- package/cjs/content/Accordion/index.js.map +2 -2
- package/cjs/{patterns/FilteredResults/FilteredResults.stories → content/Markdown/Markdown.stories}/index.js +12 -11
- package/cjs/content/Markdown/Markdown.stories.js.map +7 -0
- package/cjs/content/Markdown/__stories__/Default/index.js +63 -0
- package/cjs/content/Markdown/__stories__/Default.js.map +7 -0
- package/cjs/content/SafeHTML/SafeHTML.stories/index.js +46 -0
- package/cjs/content/SafeHTML/SafeHTML.stories.js.map +7 -0
- package/cjs/content/SafeHTML/__stories__/Default/index.js +61 -0
- package/cjs/content/SafeHTML/__stories__/Default.js.map +7 -0
- package/cjs/content/StepNav/__stories__/Auto/index.js +3 -2
- package/cjs/content/StepNav/__stories__/Auto.js.map +2 -2
- package/cjs/content/StepNav/index.js +0 -2
- package/cjs/content/StepNav/index.js.map +2 -2
- package/cjs/content/SummaryList/SummaryList.stories/index.js +19 -35
- package/cjs/content/SummaryList/SummaryList.stories.js.map +3 -3
- package/cjs/content/SummaryList/__stories__/SummaryListExample/index.js +70 -0
- package/cjs/content/SummaryList/__stories__/SummaryListExample.js.map +7 -0
- package/cjs/feedback/WarningText/index.js +3 -0
- package/cjs/feedback/WarningText/index.js.map +2 -2
- package/cjs/form/AutoComplete/index.js +3 -1
- package/cjs/form/AutoComplete/index.js.map +2 -2
- package/cjs/form/AutoComplete/utils/index.js +1 -1
- package/cjs/form/AutoComplete/utils.js.map +2 -2
- package/cjs/form/Checkbox/index.js +2 -0
- package/cjs/form/Checkbox/index.js.map +2 -2
- package/cjs/i18n/index.js +1 -1
- package/cjs/i18n/index.js.map +2 -2
- package/cjs/i18n/locales/el/index.js +1 -1
- package/cjs/i18n/locales/el.js.map +1 -1
- package/cjs/index.js +0 -2
- package/cjs/index.js.map +2 -2
- package/cjs/lazy/index.js +1640 -332
- package/cjs/lazy.js.map +2 -2
- package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +6 -0
- package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
- package/cjs/navigation/Breadcrumbs/__stories__/Auto/index.js +187 -0
- package/cjs/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/__stories__/WithHook/index.js +194 -0
- package/cjs/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/auto/index.js +73 -0
- package/cjs/navigation/Breadcrumbs/auto.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/hooks/index.js +63 -0
- package/cjs/navigation/Breadcrumbs/hooks.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/index.js +3 -1
- package/cjs/navigation/Breadcrumbs/index.js.map +2 -2
- package/cjs/navigation/Breadcrumbs/slug/index.js +120 -0
- package/cjs/navigation/Breadcrumbs/slug.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/utils/index.js +52 -0
- package/cjs/navigation/Breadcrumbs/utils.js.map +7 -0
- package/cjs/navigation/Drawer/__stories__/Auto/index.js +4 -4
- package/cjs/navigation/Drawer/__stories__/Auto.js.map +2 -2
- package/cjs/navigation/Drawer/index.js +1 -3
- package/cjs/navigation/Drawer/index.js.map +2 -2
- package/cjs/navigation/Pagination/__stories__/Auto/index.js +4 -3
- package/cjs/navigation/Pagination/__stories__/Auto.js.map +2 -2
- package/cjs/navigation/Pagination/index.js +1 -3
- package/cjs/navigation/Pagination/index.js.map +2 -2
- package/cjs/navigation/Tabs/__stories__/Auto/index.js +2 -1
- package/cjs/navigation/Tabs/__stories__/Auto.js.map +2 -2
- package/cjs/navigation/Tabs/__stories__/Default/index.js +2 -1
- package/cjs/navigation/Tabs/__stories__/Default.js.map +2 -2
- package/cjs/navigation/Tabs/__stories__/Dense/index.js +2 -1
- package/cjs/navigation/Tabs/__stories__/Dense.js.map +2 -2
- package/cjs/navigation/Tabs/__stories__/UsingAccordion/index.js +2 -1
- package/cjs/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
- package/cjs/navigation/Tabs/index.js +1 -3
- package/cjs/navigation/Tabs/index.js.map +2 -2
- package/cjs/registry/index.js +12 -14
- package/cjs/registry.js.map +2 -2
- package/cjs/typography/CodeBlock/CodeBlock.stories/index.js +10 -1
- package/cjs/typography/CodeBlock/CodeBlock.stories.js.map +2 -2
- package/cjs/typography/CodeBlock/__stories__/Default/index.js +14 -93
- package/cjs/typography/CodeBlock/__stories__/Default.js.map +3 -3
- package/cjs/typography/CodeBlock/__stories__/Highlighted/index.js +57 -0
- package/cjs/typography/CodeBlock/__stories__/Highlighted.js.map +7 -0
- package/cjs/{patterns/FilteredResults/DataTable → typography/CodeBlock/__stories__/WithCopyToClipboard}/index.js +25 -10
- package/cjs/typography/CodeBlock/__stories__/WithCopyToClipboard.js.map +7 -0
- package/cjs/typography/CodeBlock/__stories__/WithPhaseBanner/index.js +66 -0
- package/cjs/typography/CodeBlock/__stories__/WithPhaseBanner.js.map +7 -0
- package/cjs/typography/CodeBlock/index.js +16 -10
- package/cjs/typography/CodeBlock/index.js.map +3 -3
- package/cjs/utils/Base/index.js +3 -0
- package/cjs/utils/Base/index.js.map +2 -2
- package/content/Accordion/__stories__/Auto/index.js +6 -4
- package/content/Accordion/__stories__/Auto.js.map +2 -2
- package/content/Accordion/auto.d.ts +2 -2
- package/content/Accordion/index.d.ts +0 -1
- package/content/Accordion/index.js +0 -1
- package/content/Accordion/index.js.map +2 -2
- package/content/Card/interaction.test.d.ts +1 -0
- package/content/Markdown/Markdown.stories/index.js +13 -0
- package/{patterns/FilteredResults/DataTable → content/Markdown/Markdown.stories}/package.json +1 -1
- package/content/Markdown/Markdown.stories.d.ts +9 -0
- package/content/Markdown/Markdown.stories.js.map +7 -0
- package/content/Markdown/__stories__/Default/index.js +30 -0
- package/{patterns/FilteredResults/FilterChips → content/Markdown/__stories__/Default}/package.json +1 -1
- package/{patterns/FilteredResults → content/Markdown}/__stories__/Default.d.ts +1 -0
- package/content/Markdown/__stories__/Default.js.map +7 -0
- package/content/Markdown/index.d.ts +1 -1
- package/content/Markdown/index.test.d.ts +1 -0
- package/content/SafeHTML/SafeHTML.stories/index.js +13 -0
- package/content/SafeHTML/SafeHTML.stories/package.json +6 -0
- package/content/SafeHTML/SafeHTML.stories.d.ts +9 -0
- package/content/SafeHTML/SafeHTML.stories.js.map +7 -0
- package/content/SafeHTML/__stories__/Default/index.js +28 -0
- package/{patterns/FilteredResults/FilterFields → content/SafeHTML/__stories__/Default}/package.json +1 -1
- package/content/SafeHTML/__stories__/Default.d.ts +3 -0
- package/content/SafeHTML/__stories__/Default.js.map +7 -0
- package/content/SafeHTML/index.test.d.ts +1 -0
- package/content/StepNav/__stories__/Auto/index.js +4 -2
- package/content/StepNav/__stories__/Auto.js.map +2 -2
- package/content/StepNav/auto.d.ts +2 -2
- package/content/StepNav/index.d.ts +0 -1
- package/content/StepNav/index.js +0 -1
- package/content/StepNav/index.js.map +2 -2
- package/content/SummaryList/SummaryList.stories/index.js +17 -17
- package/content/SummaryList/SummaryList.stories.d.ts +15 -9
- package/content/SummaryList/SummaryList.stories.js.map +2 -2
- package/content/SummaryList/__stories__/SummaryListExample/index.js +43 -0
- package/content/SummaryList/__stories__/SummaryListExample/package.json +6 -0
- package/content/SummaryList/__stories__/SummaryListExample.d.ts +14 -0
- package/content/SummaryList/__stories__/SummaryListExample.js.map +7 -0
- package/feedback/ErrorSummary/interaction.test.d.ts +1 -0
- package/feedback/WarningText/index.d.ts +1 -0
- package/feedback/WarningText/index.js +2 -0
- package/feedback/WarningText/index.js.map +2 -2
- package/form/AutoComplete/index.js +3 -1
- package/form/AutoComplete/index.js.map +2 -2
- package/form/AutoComplete/utils/index.js +1 -1
- package/form/AutoComplete/utils.js.map +2 -2
- package/form/Checkbox/index.d.ts +1 -0
- package/form/Checkbox/index.js +1 -0
- package/form/Checkbox/index.js.map +2 -2
- package/i18n/index.js +1 -1
- package/i18n/index.js.map +2 -2
- package/i18n/locales/el/index.js +1 -1
- package/i18n/locales/el.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.js +1 -2
- package/index.js.map +2 -2
- package/lazy/index.js +1640 -332
- package/lazy.d.ts +98 -109
- package/lazy.js.map +2 -2
- package/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +4 -0
- package/navigation/Breadcrumbs/Breadcrumbs.stories.d.ts +2 -0
- package/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
- package/navigation/Breadcrumbs/__stories__/Auto/index.js +158 -0
- package/navigation/Breadcrumbs/__stories__/Auto/package.json +6 -0
- package/navigation/Breadcrumbs/__stories__/Auto.d.ts +3 -0
- package/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
- package/navigation/Breadcrumbs/__stories__/WithHook/index.js +165 -0
- package/navigation/Breadcrumbs/__stories__/WithHook/package.json +6 -0
- package/navigation/Breadcrumbs/__stories__/WithHook.d.ts +3 -0
- package/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
- package/navigation/Breadcrumbs/auto/index.js +37 -0
- package/{patterns → navigation/Breadcrumbs/auto}/package.json +1 -1
- package/navigation/Breadcrumbs/auto.d.ts +16 -0
- package/navigation/Breadcrumbs/auto.js.map +7 -0
- package/navigation/Breadcrumbs/hooks/index.js +40 -0
- package/{patterns/FilteredResults → navigation/Breadcrumbs}/hooks/package.json +1 -1
- package/navigation/Breadcrumbs/hooks.d.ts +26 -0
- package/navigation/Breadcrumbs/hooks.js.map +7 -0
- package/navigation/Breadcrumbs/index.d.ts +1 -0
- package/navigation/Breadcrumbs/index.js +1 -0
- package/navigation/Breadcrumbs/index.js.map +2 -2
- package/navigation/Breadcrumbs/slug/index.js +97 -0
- package/{patterns/FilteredResults → navigation/Breadcrumbs/slug}/package.json +1 -1
- package/navigation/Breadcrumbs/slug.d.ts +1 -0
- package/navigation/Breadcrumbs/slug.js.map +7 -0
- package/navigation/Breadcrumbs/utils/index.js +29 -0
- package/navigation/Breadcrumbs/utils/package.json +6 -0
- package/navigation/Breadcrumbs/utils.d.ts +1 -0
- package/navigation/Breadcrumbs/utils.js.map +7 -0
- package/navigation/Drawer/__stories__/Auto/index.js +1 -1
- package/navigation/Drawer/__stories__/Auto.js.map +1 -1
- package/navigation/Drawer/index.d.ts +0 -1
- package/navigation/Drawer/index.js +0 -1
- package/navigation/Drawer/index.js.map +2 -2
- package/navigation/NavList/interaction.test.d.ts +1 -0
- package/navigation/Pagination/__stories__/Auto/index.js +4 -2
- package/navigation/Pagination/__stories__/Auto.js.map +2 -2
- package/navigation/Pagination/auto.d.ts +2 -2
- package/navigation/Pagination/index.d.ts +0 -1
- package/navigation/Pagination/index.js +0 -1
- package/navigation/Pagination/index.js.map +2 -2
- package/navigation/Tabs/__stories__/Auto/index.js +5 -3
- package/navigation/Tabs/__stories__/Auto.js.map +2 -2
- package/navigation/Tabs/__stories__/Default/index.js +4 -2
- package/navigation/Tabs/__stories__/Default.js.map +2 -2
- package/navigation/Tabs/__stories__/Dense/index.js +4 -2
- package/navigation/Tabs/__stories__/Dense.js.map +2 -2
- package/navigation/Tabs/__stories__/UsingAccordion/index.js +4 -2
- package/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
- package/navigation/Tabs/index.d.ts +0 -1
- package/navigation/Tabs/index.js +0 -1
- package/navigation/Tabs/index.js.map +2 -2
- package/package.json +7 -8
- package/registry/index.js +12 -14
- package/registry.d.ts +8 -8
- package/registry.js.map +2 -2
- package/src/app/Header/interaction.test.tsx +31 -0
- package/src/app/Loader/Loader.stories.js +1 -0
- package/src/app/Loader/__stories__/FullPageLoader.tsx +16 -0
- package/src/app/Loader/index.test.tsx +4 -0
- package/src/app/Modal/__stories__/Auto.tsx +4 -2
- package/src/app/Modal/index.tsx +0 -1
- package/src/content/Accordion/__stories__/Auto.tsx +5 -3
- package/src/content/Accordion/index.tsx +0 -1
- package/src/content/Card/interaction.test.tsx +15 -0
- package/src/content/Markdown/Markdown.stories.js +9 -0
- package/src/content/Markdown/__stories__/Default.tsx +41 -0
- package/src/content/Markdown/index.test.tsx +20 -0
- package/src/content/SafeHTML/SafeHTML.stories.js +9 -0
- package/src/content/SafeHTML/__stories__/Default.tsx +41 -0
- package/src/content/SafeHTML/index.test.tsx +20 -0
- package/src/content/StepNav/__stories__/Auto.tsx +4 -1
- package/src/content/StepNav/index.tsx +0 -1
- package/src/content/SummaryList/SummaryList.stories.js +17 -10
- package/src/content/SummaryList/__stories__/SummaryListExample.tsx +75 -0
- package/src/content/SummaryList/index.test.tsx +4 -0
- package/src/content/Table/interaction.test.tsx +14 -0
- package/src/feedback/ErrorSummary/interaction.test.tsx +17 -0
- package/src/feedback/WarningText/index.tsx +1 -0
- package/src/form/AutoComplete/index.tsx +3 -3
- package/src/form/AutoComplete/utils.ts +2 -2
- package/src/form/Button/interaction.test.tsx +15 -0
- package/src/form/Checkbox/index.tsx +1 -0
- package/src/form/DateInputContainer/interaction.test.tsx +28 -7
- package/src/form/TextArea/interaction.test.tsx +24 -13
- package/src/form/TextInput/interaction.test.tsx +22 -7
- package/src/i18n/index.tsx +2 -2
- package/src/i18n/locales/el.ts +1 -1
- package/src/index.ts +0 -1
- package/src/lazy.js +1642 -335
- package/src/navigation/Breadcrumbs/Breadcrumbs.stories.js +3 -0
- package/src/navigation/Breadcrumbs/__stories__/Auto.tsx +185 -0
- package/src/navigation/Breadcrumbs/__stories__/WithHook.tsx +195 -0
- package/src/navigation/Breadcrumbs/auto.tsx +55 -0
- package/src/navigation/Breadcrumbs/hooks.ts +75 -0
- package/src/navigation/Breadcrumbs/index.test.tsx +8 -0
- package/src/navigation/Breadcrumbs/index.tsx +3 -0
- package/src/navigation/Breadcrumbs/interaction.test.tsx +28 -4
- package/src/navigation/Breadcrumbs/slug.ts +141 -0
- package/src/navigation/Breadcrumbs/utils.ts +39 -0
- package/src/navigation/Drawer/__stories__/Auto.tsx +1 -1
- package/src/navigation/Drawer/index.tsx +0 -1
- package/src/navigation/NavList/interaction.test.tsx +45 -0
- package/src/navigation/Pagination/__stories__/Auto.tsx +3 -1
- package/src/navigation/Pagination/index.tsx +0 -1
- package/src/navigation/Tabs/__stories__/Auto.tsx +5 -3
- package/src/navigation/Tabs/__stories__/Default.tsx +4 -2
- package/src/navigation/Tabs/__stories__/Dense.tsx +4 -3
- package/src/navigation/Tabs/__stories__/UsingAccordion.tsx +4 -2
- package/src/navigation/Tabs/index.tsx +0 -1
- package/src/registry.js +18 -21
- package/src/typography/CodeBlock/CodeBlock.stories.js +3 -0
- package/src/typography/CodeBlock/__stories__/Default.tsx +14 -99
- package/src/typography/CodeBlock/__stories__/Highlighted.tsx +27 -0
- package/src/typography/CodeBlock/__stories__/WithCopyToClipboard.tsx +27 -0
- package/src/typography/CodeBlock/__stories__/WithPhaseBanner.tsx +32 -0
- package/src/typography/CodeBlock/index.test.tsx +32 -0
- package/src/typography/CodeBlock/index.tsx +24 -19
- package/src/utils/Base/index.tsx +1 -0
- package/typography/CodeBlock/CodeBlock.stories/index.js +6 -0
- package/typography/CodeBlock/CodeBlock.stories.d.ts +3 -0
- package/typography/CodeBlock/CodeBlock.stories.js.map +2 -2
- package/typography/CodeBlock/__stories__/Default/index.js +14 -93
- package/typography/CodeBlock/__stories__/Default.js.map +2 -2
- package/typography/CodeBlock/__stories__/Highlighted/index.js +24 -0
- package/typography/CodeBlock/__stories__/Highlighted/package.json +6 -0
- package/typography/CodeBlock/__stories__/Highlighted.d.ts +3 -0
- package/typography/CodeBlock/__stories__/Highlighted.js.map +7 -0
- package/typography/CodeBlock/__stories__/WithCopyToClipboard/index.js +24 -0
- package/typography/CodeBlock/__stories__/WithCopyToClipboard/package.json +6 -0
- package/typography/CodeBlock/__stories__/WithCopyToClipboard.d.ts +3 -0
- package/typography/CodeBlock/__stories__/WithCopyToClipboard.js.map +7 -0
- package/typography/CodeBlock/__stories__/WithPhaseBanner/index.js +33 -0
- package/typography/CodeBlock/__stories__/WithPhaseBanner/package.json +6 -0
- package/typography/CodeBlock/__stories__/WithPhaseBanner.d.ts +3 -0
- package/typography/CodeBlock/__stories__/WithPhaseBanner.js.map +7 -0
- package/typography/CodeBlock/index.d.ts +4 -5
- package/typography/CodeBlock/index.js +21 -15
- package/typography/CodeBlock/index.js.map +2 -2
- package/typography/CodeBlock/index.test.d.ts +1 -0
- package/utils/Base/index.d.ts +1 -0
- package/utils/Base/index.js +2 -0
- package/utils/Base/index.js.map +2 -2
- package/utils/hooks/useDebounce.d.ts +1 -1
- package/utils/hooks/useKeypress.d.ts +1 -1
- package/cjs/patterns/FilteredResults/DataTable.js.map +0 -7
- package/cjs/patterns/FilteredResults/FilterChips/index.js +0 -82
- package/cjs/patterns/FilteredResults/FilterChips.js.map +0 -7
- package/cjs/patterns/FilteredResults/FilterFields.js.map +0 -7
- package/cjs/patterns/FilteredResults/FilteredResults.stories.js.map +0 -7
- package/cjs/patterns/FilteredResults/__stories__/Default/index.js +0 -250
- package/cjs/patterns/FilteredResults/__stories__/Default.js.map +0 -7
- package/cjs/patterns/FilteredResults/hooks/index.js +0 -132
- package/cjs/patterns/FilteredResults/hooks.js.map +0 -7
- package/cjs/patterns/FilteredResults/index.js +0 -155
- package/cjs/patterns/FilteredResults/index.js.map +0 -7
- package/cjs/patterns/index.js +0 -22
- package/cjs/patterns/index.js.map +0 -7
- package/patterns/FilteredResults/DataTable/index.js +0 -18
- package/patterns/FilteredResults/DataTable.d.ts +0 -5
- package/patterns/FilteredResults/DataTable.js.map +0 -7
- package/patterns/FilteredResults/FilterChips/index.js +0 -52
- package/patterns/FilteredResults/FilterChips.d.ts +0 -3
- package/patterns/FilteredResults/FilterChips.js.map +0 -7
- package/patterns/FilteredResults/FilterFields/index.js +0 -11
- package/patterns/FilteredResults/FilterFields.d.ts +0 -5
- package/patterns/FilteredResults/FilterFields.js.map +0 -7
- package/patterns/FilteredResults/FilteredResults.stories/index.js +0 -12
- package/patterns/FilteredResults/FilteredResults.stories/package.json +0 -6
- package/patterns/FilteredResults/FilteredResults.stories.d.ts +0 -8
- package/patterns/FilteredResults/FilteredResults.stories.js.map +0 -7
- package/patterns/FilteredResults/__stories__/Default/index.js +0 -220
- package/patterns/FilteredResults/__stories__/Default/package.json +0 -6
- package/patterns/FilteredResults/__stories__/Default.js.map +0 -7
- package/patterns/FilteredResults/hooks/index.js +0 -105
- package/patterns/FilteredResults/hooks.d.ts +0 -22
- package/patterns/FilteredResults/hooks.js.map +0 -7
- package/patterns/FilteredResults/index.d.ts +0 -25
- package/patterns/FilteredResults/index.js +0 -122
- package/patterns/FilteredResults/index.js.map +0 -7
- package/patterns/index.d.ts +0 -1
- package/patterns/index.js +0 -2
- package/patterns/index.js.map +0 -7
- package/src/app/Footer/Footer.stories.playwright.json +0 -27
- package/src/app/Header/Header.stories.playwright.json +0 -49
- package/src/app/Masthead/Masthead.stories.playwright.json +0 -21
- package/src/app/Modal/Modal.stories.playwright.json +0 -53
- package/src/content/Accordion/Accordion.stories.playwright.json +0 -21
- package/src/content/Card/Card.stories.playwright.json +0 -21
- package/src/content/Details/Details.stories.playwright.json +0 -21
- package/src/content/StepNav/StepNav.stories.playwright.json +0 -33
- package/src/content/SummaryList/SummaryList.stories.playwright.json +0 -27
- package/src/content/Table/Table.stories.playwright.json +0 -37
- package/src/feedback/CopyToClipboard/CopyToClipboard.stories.playwright.json +0 -53
- package/src/feedback/ErrorSummary/ErrorSummary.stories.playwright.json +0 -27
- package/src/feedback/NotificationBanner/NotificationBanner.stories.playwright.json +0 -49
- package/src/feedback/PhaseBanner/PhaseBanner.stories.playwright.json +0 -21
- package/src/form/AutoComplete/AutoComplete.stories.playwright.json +0 -33
- package/src/form/Button/Button.stories.playwright.json +0 -109
- package/src/form/Checkbox/Checkbox.stories.playwright.json +0 -55
- package/src/form/DateInputContainer/DateInputContainer.stories.playwright.json +0 -61
- package/src/form/RadioContainer/RadioContainer.stories.playwright.json +0 -49
- package/src/form/SelectContainer/SelectContainer.stories.playwright.json +0 -21
- package/src/form/TextArea/TextArea.stories.playwright.json +0 -59
- package/src/form/TextInput/TextInput.stories.playwright.json +0 -43
- package/src/navigation/BackLink/BackLink.stories.playwright.json +0 -21
- package/src/navigation/Breadcrumbs/Breadcrumbs.stories.playwright.json +0 -33
- package/src/navigation/Dropdown/Dropdown.stories.playwright.json +0 -85
- package/src/navigation/Link/Link.stories.playwright.json +0 -65
- package/src/navigation/NavList/NavList.stories.playwright.json +0 -53
- package/src/navigation/NavList/__stories__/NavLinksOneLevel.json +0 -17
- package/src/navigation/NavList/__stories__/NavLinksWithSubmenu.json +0 -36
- package/src/navigation/Pagination/Pagination.stories.playwright.json +0 -27
- package/src/navigation/Tabs/Tabs.stories.playwright.json +0 -27
- package/src/patterns/FilteredResults/DataTable.tsx +0 -47
- package/src/patterns/FilteredResults/FilterChips.tsx +0 -54
- package/src/patterns/FilteredResults/FilterFields.tsx +0 -15
- package/src/patterns/FilteredResults/FilteredResults.stories.js +0 -7
- package/src/patterns/FilteredResults/__stories__/Default.tsx +0 -243
- package/src/patterns/FilteredResults/hooks.ts +0 -131
- package/src/patterns/FilteredResults/index.test.tsx +0 -21
- package/src/patterns/FilteredResults/index.tsx +0 -180
- package/src/patterns/index.tsx +0 -1
- /package/{patterns/FilteredResults/index.test.d.ts → app/Header/interaction.test.d.ts} +0 -0
|
@@ -9,3 +9,6 @@ export default {
|
|
|
9
9
|
};
|
|
10
10
|
export { Default } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Default';
|
|
11
11
|
export { WithoutCurrentPage } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithoutCurrentPage';
|
|
12
|
+
export { WithHook } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithHook';
|
|
13
|
+
export { Auto } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Auto';
|
|
14
|
+
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { List, ListItem } from '@digigov/ui/content/List';
|
|
3
|
+
import {
|
|
4
|
+
BreadcrumbsAuto,
|
|
5
|
+
BreadcrumbsListAuto,
|
|
6
|
+
useBreadcrumbsContext,
|
|
7
|
+
} from '@digigov/ui/navigation/Breadcrumbs/auto';
|
|
8
|
+
import { Heading } from '@digigov/ui/typography';
|
|
9
|
+
import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
|
|
10
|
+
import { Button } from '@digigov/ui/form/Button/';
|
|
11
|
+
import { ConfigData, } from '@digigov/ui/navigation/Breadcrumbs/hooks';
|
|
12
|
+
|
|
13
|
+
const items: ConfigData[] = [
|
|
14
|
+
{
|
|
15
|
+
title: 'Νομοθεσία Πυροπροστασίας',
|
|
16
|
+
children: [
|
|
17
|
+
{ title: 'Εγχειρίδια Νομοθεσίας Πυρασφάλειας', pdf: '#' },
|
|
18
|
+
{ title: 'Διάγραμμα Ισχύουσας Νομοθεσίας' },
|
|
19
|
+
{ title: 'Οδηγίες Επί Προτύπων Πυροπροστασίας' },
|
|
20
|
+
{ title: 'Απλουστεύσεις Διαδικασιών' },
|
|
21
|
+
{ title: 'Χρήσιμα Έγγραφα' },
|
|
22
|
+
{
|
|
23
|
+
title: 'Νομοθεσία Πυρασφάλειας',
|
|
24
|
+
children: [
|
|
25
|
+
{
|
|
26
|
+
title: 'Λοιπές Δραστηριότητες Εγκαταστάσεις',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
title:
|
|
30
|
+
'Εγκαταστάσεις Πετρελαιοειδών Προϊόντων – Υγραερίου – Φυσικού Αερίου',
|
|
31
|
+
},
|
|
32
|
+
{ title: 'Διατάξεις Προληπτικής Πυροπροστασίας' },
|
|
33
|
+
{ title: 'Συνδρομητική Νομοθεσία Πυροπροστασίας' },
|
|
34
|
+
{
|
|
35
|
+
title:
|
|
36
|
+
'Δραστηριότητες – Εγκαταστάσεις που δεν υπάγονται σε Νομοθετικό Πλαίσιο',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
title: 'Κανονισμοί Πυροπροστασίας Κτιρίων',
|
|
40
|
+
// href: '/kanonismoi-pyroprostasias',
|
|
41
|
+
children: [
|
|
42
|
+
{
|
|
43
|
+
title: 'Κατοικίες',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
title: 'Εγκαταστάσεις Κεντρικής Θέρμανσης',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
title: 'Προσωρινή Διαμονή (Ξεν/χεία-Κατ/σεις)',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
title: 'Εκπαιδευτήρια',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
title: 'Γραφεία',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
title: 'Εμπόριο (Καταστήματα)',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
title: 'Συνάθροιση Κοινού',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
title: 'Υγεία & Κοινωνική Πρόνοια',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
title: 'Σωφρονισμός',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
title: 'Στάθμευση Αυτοκινήτων',
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
{
|
|
74
|
+
title: 'Λοιπές Βιομηχανικές Εγκαταστάσεις',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
title: 'Αποθήκευση',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
title: 'Συνεργεία, ΙΚτέο, Εμπ.Σταθμοί, Κτελ, Πλυντ.-Λιπαντ.',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
title: 'Πρατήρια Υγρών Καυσίμων',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
title: 'Πρατήρια Αερίων Καυσίμων',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
title: 'Μεταποιητικές & Συναφείς Εγκαταστάσεις',
|
|
90
|
+
// href: '/metapoiitikes-egkatastaseis',
|
|
91
|
+
children: [
|
|
92
|
+
{
|
|
93
|
+
title: 'ΠΔ 41/2018 & ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
title: 'ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
title: 'ΠΔ 71/1988 ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
|
|
100
|
+
children: [
|
|
101
|
+
{ title: 'Γενικές Διατάξεις ΠΔ 41/2018' },
|
|
102
|
+
{ title: 'ΚΥΑ ΑΠ-136860-1673-Φ15-2018' },
|
|
103
|
+
{
|
|
104
|
+
title: 'Γενικές Διατάξεις ΠΔ 71/2018',
|
|
105
|
+
children: [
|
|
106
|
+
{
|
|
107
|
+
title: 'Άρθρο 1: Ορισμοί – Ταξινόμηση Κτιρίων',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
title: 'Άρθρο 2: Οδεύσεις Διαφυγής',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: 'Άρθρο 3: Δομική Προστασία',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
title: 'Άρθρο 4: Ενεργητικά Μέτρα Πυροπροστασίας',
|
|
117
|
+
pdf: '#pdf',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
title:
|
|
121
|
+
'Άρθρο 14: Παράρτημα Α - Δείκτες Πυραντίστασης',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
title:
|
|
125
|
+
'Άρθρο 14: Παράρτημα Β – Εσωτερικά Τελειώματα',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
title: 'Άρθρο 15: Εφαρμογή ΠΔ 71/1988',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
title:
|
|
132
|
+
'Άρθρο 23-24: Έναρξη Εφαρμογής – Καταργούμενες Διατάξεις',
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
];
|
|
147
|
+
|
|
148
|
+
const getListChild = (item, setActive) => {
|
|
149
|
+
return item.children ? (
|
|
150
|
+
<List listStyle="number">
|
|
151
|
+
<ListItem>
|
|
152
|
+
<Heading size="md">{item.title}</Heading>
|
|
153
|
+
{item.children?.map((subMenu, key) => (
|
|
154
|
+
<ListItem key={key}>{getListChild(subMenu, setActive)}</ListItem>
|
|
155
|
+
))}
|
|
156
|
+
</ListItem>
|
|
157
|
+
</List>
|
|
158
|
+
) : (
|
|
159
|
+
<Button variant='link' role="menuitem" id={item.title} onClick={(e) => { e.preventDefault(), setActive(item) }}>
|
|
160
|
+
{item.title}
|
|
161
|
+
</Button>
|
|
162
|
+
);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export const Auto = () => {
|
|
166
|
+
return (
|
|
167
|
+
<BreadcrumbsAuto items={items} hrefGenerator={(item) => { return item.href ? item.href : slug(item.title, 100) }}>
|
|
168
|
+
<BreadcrumbsListAuto />
|
|
169
|
+
<ContentRoutes />
|
|
170
|
+
</BreadcrumbsAuto>
|
|
171
|
+
);
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
const ContentRoutes = () => {
|
|
175
|
+
const { active, setActive } = useBreadcrumbsContext();
|
|
176
|
+
|
|
177
|
+
return <>
|
|
178
|
+
<Heading size="xl">
|
|
179
|
+
{active?.title}
|
|
180
|
+
</Heading>
|
|
181
|
+
{items.map((item) => getListChild(item, setActive))}
|
|
182
|
+
</>;
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
export default Auto;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { List, ListItem } from '@digigov/ui/content/List';
|
|
3
|
+
import {
|
|
4
|
+
Breadcrumbs,
|
|
5
|
+
BreadcrumbsList,
|
|
6
|
+
BreadcrumbsListItem,
|
|
7
|
+
} from '@digigov/ui/navigation/Breadcrumbs';
|
|
8
|
+
import { Button } from '@digigov/ui/form/Button';
|
|
9
|
+
import { Heading } from '@digigov/ui/typography';
|
|
10
|
+
import { useBreadcrumbs } from '@digigov/ui/navigation/Breadcrumbs/hooks';
|
|
11
|
+
import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
|
|
12
|
+
import { ConfigData, } from '@digigov/ui/navigation/Breadcrumbs/hooks';
|
|
13
|
+
|
|
14
|
+
const items: ConfigData[] = [
|
|
15
|
+
{
|
|
16
|
+
title: 'Νομοθεσία Πυροπροστασίας',
|
|
17
|
+
children: [
|
|
18
|
+
{ title: 'Εγχειρίδια Νομοθεσίας Πυρασφάλειας', pdf: '#', href: "echiridia-nomothesia-pyroprostasias" },
|
|
19
|
+
{ title: 'Διάγραμμα Ισχύουσας Νομοθεσίας' },
|
|
20
|
+
{ title: 'Οδηγίες Επί Προτύπων Πυροπροστασίας' },
|
|
21
|
+
{ title: 'Απλουστεύσεις Διαδικασιών' },
|
|
22
|
+
{ title: 'Χρήσιμα Έγγραφα' },
|
|
23
|
+
{
|
|
24
|
+
title: 'Νομοθεσία Πυρασφάλειας',
|
|
25
|
+
children: [
|
|
26
|
+
{
|
|
27
|
+
title: 'Λοιπές Δραστηριότητες Εγκαταστάσεις',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
title:
|
|
31
|
+
'Εγκαταστάσεις Πετρελαιοειδών Προϊόντων – Υγραερίου – Φυσικού Αερίου',
|
|
32
|
+
},
|
|
33
|
+
{ title: 'Διατάξεις Προληπτικής Πυροπροστασίας' },
|
|
34
|
+
{ title: 'Συνδρομητική Νομοθεσία Πυροπροστασίας' },
|
|
35
|
+
{
|
|
36
|
+
title:
|
|
37
|
+
'Δραστηριότητες – Εγκαταστάσεις που δεν υπάγονται σε Νομοθετικό Πλαίσιο',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
title: 'Κανονισμοί Πυροπροστασίας Κτιρίων',
|
|
41
|
+
// href: '/kanonismoi-pyroprostasias',
|
|
42
|
+
children: [
|
|
43
|
+
{
|
|
44
|
+
title: 'Κατοικίες',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
title: 'Εγκαταστάσεις Κεντρικής Θέρμανσης',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
title: 'Προσωρινή Διαμονή (Ξεν/χεία-Κατ/σεις)',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
title: 'Εκπαιδευτήρια',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
title: 'Γραφεία',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
title: 'Εμπόριο (Καταστήματα)',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
title: 'Συνάθροιση Κοινού',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
title: 'Υγεία & Κοινωνική Πρόνοια',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
title: 'Σωφρονισμός',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
title: 'Στάθμευση Αυτοκινήτων',
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
{
|
|
75
|
+
title: 'Λοιπές Βιομηχανικές Εγκαταστάσεις',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
title: 'Αποθήκευση',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
title: 'Συνεργεία, ΙΚτέο, Εμπ.Σταθμοί, Κτελ, Πλυντ.-Λιπαντ.',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
title: 'Πρατήρια Υγρών Καυσίμων',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
title: 'Πρατήρια Αερίων Καυσίμων',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: 'Μεταποιητικές & Συναφείς Εγκαταστάσεις',
|
|
91
|
+
// href: '/metapoiitikes-egkatastaseis',
|
|
92
|
+
children: [
|
|
93
|
+
{
|
|
94
|
+
title: 'ΠΔ 41/2018 & ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
title: 'ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
title: 'ΠΔ 71/1988 ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
|
|
101
|
+
children: [
|
|
102
|
+
{ title: 'Γενικές Διατάξεις ΠΔ 41/2018' },
|
|
103
|
+
{ title: 'ΚΥΑ ΑΠ-136860-1673-Φ15-2018' },
|
|
104
|
+
{
|
|
105
|
+
title: 'Γενικές Διατάξεις ΠΔ 71/2018',
|
|
106
|
+
children: [
|
|
107
|
+
{
|
|
108
|
+
title: 'Άρθρο 1: Ορισμοί – Ταξινόμηση Κτιρίων',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
title: 'Άρθρο 2: Οδεύσεις Διαφυγής',
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
title: 'Άρθρο 3: Δομική Προστασία',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
title: 'Άρθρο 4: Ενεργητικά Μέτρα Πυροπροστασίας',
|
|
118
|
+
pdf: '#pdf',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
title:
|
|
122
|
+
'Άρθρο 14: Παράρτημα Α - Δείκτες Πυραντίστασης',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
title:
|
|
126
|
+
'Άρθρο 14: Παράρτημα Β – Εσωτερικά Τελειώματα',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
title: 'Άρθρο 15: Εφαρμογή ΠΔ 71/1988',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
title:
|
|
133
|
+
'Άρθρο 23-24: Έναρξη Εφαρμογής – Καταργούμενες Διατάξεις',
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
];
|
|
148
|
+
// creates the ol>li lists for the items data
|
|
149
|
+
const getListChild = (item, setActive) => {
|
|
150
|
+
return item.children ? (
|
|
151
|
+
<List listStyle="number">
|
|
152
|
+
<ListItem>
|
|
153
|
+
<Heading size="md">{item.title}</Heading>
|
|
154
|
+
{item.children?.map((subMenu, key) => (
|
|
155
|
+
<ListItem key={key}>{getListChild(subMenu, setActive)}</ListItem>
|
|
156
|
+
))}
|
|
157
|
+
</ListItem>
|
|
158
|
+
</List>
|
|
159
|
+
) : (
|
|
160
|
+
<Button variant="link" role="menuitem" id={item.title} onClick={(e) => { e.preventDefault(); setActive(item) }}>
|
|
161
|
+
{item.title}
|
|
162
|
+
</Button>
|
|
163
|
+
);
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
export const WithHook = () => {
|
|
167
|
+
const { breadcrumbs, setActive } = useBreadcrumbs(items, (item) => { return item.href ? item.href : slug(item.title, 100) });
|
|
168
|
+
return (
|
|
169
|
+
<>
|
|
170
|
+
{breadcrumbs.length > 0 && (
|
|
171
|
+
<Breadcrumbs marginBottom={8}>
|
|
172
|
+
<BreadcrumbsList>
|
|
173
|
+
{breadcrumbs.map((breadcrumb, index) => (
|
|
174
|
+
<BreadcrumbsListItem
|
|
175
|
+
key={index}
|
|
176
|
+
href={breadcrumb.href}
|
|
177
|
+
aria-current={breadcrumb.active ? "page" : undefined}
|
|
178
|
+
>
|
|
179
|
+
{breadcrumb.title}
|
|
180
|
+
</BreadcrumbsListItem>
|
|
181
|
+
))}
|
|
182
|
+
</BreadcrumbsList>
|
|
183
|
+
</Breadcrumbs>
|
|
184
|
+
)}
|
|
185
|
+
{breadcrumbs.length > 0 && (
|
|
186
|
+
<Heading size="xl">
|
|
187
|
+
{breadcrumbs[breadcrumbs.length - 1]?.title}
|
|
188
|
+
</Heading>
|
|
189
|
+
)}
|
|
190
|
+
{items.map((item) => getListChild(item, setActive))}
|
|
191
|
+
</>
|
|
192
|
+
);
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
export default WithHook;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React, { createContext, useContext, ReactNode } from 'react';
|
|
2
|
+
import { Breadcrumbs, BreadcrumbsList, BreadcrumbsListItem, BreadcrumbsProps } from '@digigov/ui/navigation/Breadcrumbs';
|
|
3
|
+
import { useBreadcrumbs, UseBreadcrumbsReturn, ConfigData, ChildrenData } from '@digigov/ui/navigation/Breadcrumbs/hooks';
|
|
4
|
+
|
|
5
|
+
export interface BreadcrumbsListAutoProps extends BreadcrumbsProps { }
|
|
6
|
+
export interface BreadcrumbsAutoProps extends BreadcrumbsProps { }
|
|
7
|
+
export interface BreadcrumbsAutoProps {
|
|
8
|
+
items: ConfigData[];
|
|
9
|
+
hrefGenerator: (value: ChildrenData) => string;
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
};
|
|
12
|
+
export const BreadcrumbsContext = createContext<UseBreadcrumbsReturn | null>(null);
|
|
13
|
+
|
|
14
|
+
export const BreadcrumbsAuto = ({ items, hrefGenerator, children }: BreadcrumbsAutoProps) => {
|
|
15
|
+
const breadcrumbs = useBreadcrumbs(items, hrefGenerator);
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<BreadcrumbsContext.Provider value={breadcrumbs}>
|
|
19
|
+
{children}
|
|
20
|
+
</BreadcrumbsContext.Provider>
|
|
21
|
+
);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const useBreadcrumbsContext = (): UseBreadcrumbsReturn => {
|
|
25
|
+
const context = useContext(BreadcrumbsContext);
|
|
26
|
+
if (!context) {
|
|
27
|
+
throw new Error(
|
|
28
|
+
'BreadcrumbsContext must be used within an BreadcrumbsProvider'
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
return context;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export const BreadcrumbsListAuto = React.forwardRef<
|
|
35
|
+
HTMLDivElement,
|
|
36
|
+
BreadcrumbsListAutoProps
|
|
37
|
+
>(function (props, ref) {
|
|
38
|
+
const { breadcrumbs } = useBreadcrumbsContext();
|
|
39
|
+
return (
|
|
40
|
+
<Breadcrumbs ref={ref} role="navigation" {...props}>
|
|
41
|
+
<BreadcrumbsList>
|
|
42
|
+
{breadcrumbs.map((item, index) => (
|
|
43
|
+
<BreadcrumbsListItem
|
|
44
|
+
key={index}
|
|
45
|
+
href={item.href}
|
|
46
|
+
aria-current={item.active ? "page" : undefined}
|
|
47
|
+
>
|
|
48
|
+
{item.title}
|
|
49
|
+
</BreadcrumbsListItem>
|
|
50
|
+
))}
|
|
51
|
+
</BreadcrumbsList>
|
|
52
|
+
|
|
53
|
+
</Breadcrumbs>
|
|
54
|
+
);
|
|
55
|
+
});
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { useCallback, useMemo, useState, } from 'react';
|
|
2
|
+
import { flattenRoutes } from '@digigov/ui/navigation/Breadcrumbs/utils';
|
|
3
|
+
|
|
4
|
+
export interface ChildrenData {
|
|
5
|
+
title: string;
|
|
6
|
+
href?: string;
|
|
7
|
+
pdf?: string;
|
|
8
|
+
children?: ChildrenData[];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ConfigData {
|
|
12
|
+
title: string;
|
|
13
|
+
children?: ChildrenData[];
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface BreadcrumbItem {
|
|
18
|
+
title: string;
|
|
19
|
+
href?: string;
|
|
20
|
+
active?: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface CurrentItem {
|
|
24
|
+
title: string;
|
|
25
|
+
children: CurrentItem[];
|
|
26
|
+
parents: string[];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface UseBreadcrumbsReturn {
|
|
30
|
+
breadcrumbs: Array<BreadcrumbItem>;
|
|
31
|
+
active: CurrentItem;
|
|
32
|
+
setActive: (item: string) => void;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const useBreadcrumbs = (
|
|
36
|
+
items: ConfigData[],
|
|
37
|
+
hrefGenerator: (value: ChildrenData) => string,
|
|
38
|
+
): UseBreadcrumbsReturn => {
|
|
39
|
+
const routes = useMemo(() => flattenRoutes(items, 100), [items]);
|
|
40
|
+
const [currentPath, setCurrentPath] = useState('');
|
|
41
|
+
|
|
42
|
+
const setActive = useCallback((item) => {
|
|
43
|
+
const itemHref = item.href ?? hrefGenerator(item)
|
|
44
|
+
setCurrentPath(() => {
|
|
45
|
+
const newRoute = Object.keys(routes).find((route) =>
|
|
46
|
+
route.endsWith(itemHref)
|
|
47
|
+
);
|
|
48
|
+
return newRoute || '/';
|
|
49
|
+
});
|
|
50
|
+
}, [routes]);
|
|
51
|
+
|
|
52
|
+
const getParentPath = useCallback((parent: string): string => {
|
|
53
|
+
return Object.keys(routes).find(
|
|
54
|
+
(path) => routes[path].title === parent
|
|
55
|
+
) || '#';
|
|
56
|
+
}, [currentPath]);
|
|
57
|
+
|
|
58
|
+
const active = routes[currentPath.replace(/\/$/, '')];
|
|
59
|
+
const breadcrumbs = active?.parents.map((parent) => ({
|
|
60
|
+
title: parent,
|
|
61
|
+
href: `#${getParentPath(parent)}`
|
|
62
|
+
})) || [];
|
|
63
|
+
if (active?.title) {
|
|
64
|
+
breadcrumbs.push({
|
|
65
|
+
title: active.title,
|
|
66
|
+
active: true,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
breadcrumbs,
|
|
72
|
+
active,
|
|
73
|
+
setActive,
|
|
74
|
+
};
|
|
75
|
+
};
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { test, expect } from '@playwright/experimental-ct-react';
|
|
3
3
|
import TestVariant from '@digigov/ui/utils/TestVariant'
|
|
4
|
+
import { Auto } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Auto';
|
|
4
5
|
import { Default } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Default';
|
|
6
|
+
import { WithHook } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithHook';
|
|
5
7
|
import { WithoutCurrentPage } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithoutCurrentPage';
|
|
6
8
|
|
|
7
9
|
test('renders the All Breadcrumbs variants', async ({ mount, page }) => {
|
|
8
10
|
await mount(
|
|
9
11
|
|
|
10
12
|
<div>
|
|
13
|
+
<TestVariant title="Auto">
|
|
14
|
+
<Auto />
|
|
15
|
+
</TestVariant>
|
|
11
16
|
<TestVariant title="Default">
|
|
12
17
|
<Default />
|
|
13
18
|
</TestVariant>
|
|
19
|
+
<TestVariant title="WithHook">
|
|
20
|
+
<WithHook />
|
|
21
|
+
</TestVariant>
|
|
14
22
|
<TestVariant title="WithoutCurrentPage">
|
|
15
23
|
<WithoutCurrentPage />
|
|
16
24
|
</TestVariant>
|
|
@@ -2,4 +2,7 @@ export * from '@digigov/react-core/Breadcrumbs';
|
|
|
2
2
|
export * from '@digigov/react-core/BreadcrumbsList';
|
|
3
3
|
export * from '@digigov/react-core/BreadcrumbsListItem';
|
|
4
4
|
import Breadcrumbs from '@digigov/react-core/Breadcrumbs';
|
|
5
|
+
|
|
6
|
+
export * from '@digigov/ui/navigation/Breadcrumbs/utils';
|
|
7
|
+
|
|
5
8
|
export default Breadcrumbs;
|
|
@@ -2,17 +2,41 @@ import React from 'react';
|
|
|
2
2
|
import { test, expect } from '@playwright/experimental-ct-react';
|
|
3
3
|
|
|
4
4
|
import { Default } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Default';
|
|
5
|
+
import { WithHook } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithHook';
|
|
6
|
+
import { Auto } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Auto';
|
|
5
7
|
|
|
6
8
|
test('renders the Default Hover and click', async ({ mount, page }) => {
|
|
7
9
|
await mount(
|
|
8
10
|
<Default />
|
|
9
11
|
)
|
|
10
12
|
await page.evaluate(() => document.fonts.ready);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
await page.locator("#root>nav>ol>li:nth-child(1)>a").hover();
|
|
14
|
+
await page.locator("#root>nav>ol>li:nth-child(1)>a").click();
|
|
15
|
+
await page.keyboard.press("Tab");
|
|
14
16
|
|
|
15
17
|
const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
|
|
16
18
|
expect(screenshot).toMatchSnapshot();
|
|
17
19
|
});
|
|
18
|
-
|
|
20
|
+
|
|
21
|
+
test('renders the WithHook click', async ({ mount, page }) => {
|
|
22
|
+
await mount(
|
|
23
|
+
<WithHook />
|
|
24
|
+
)
|
|
25
|
+
await page.evaluate(() => document.fonts.ready);
|
|
26
|
+
await page.click("[id='Εγχειρίδια Νομοθεσίας Πυρασφάλειας']");
|
|
27
|
+
|
|
28
|
+
const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
|
|
29
|
+
expect(screenshot).toMatchSnapshot();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('renders the Auto click', async ({ mount, page }) => {
|
|
33
|
+
await mount(
|
|
34
|
+
<Auto />
|
|
35
|
+
)
|
|
36
|
+
await page.evaluate(() => document.fonts.ready);
|
|
37
|
+
await page.click("[id='Εγχειρίδια Νομοθεσίας Πυρασφάλειας']");
|
|
38
|
+
|
|
39
|
+
const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
|
|
40
|
+
expect(screenshot).toMatchSnapshot();
|
|
41
|
+
});
|
|
42
|
+
|