@digigov/ui 2.0.0-6c42d5eb → 2.0.0-6e3977bc
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/Header/interaction.test.d.ts +1 -0
- 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/app/Loader/__stories__/FullPageLoader/index.js +42 -0
- 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/content/Markdown/Markdown.stories/index.js +46 -0
- 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/lazy/index.js +28 -29
- 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 +201 -0
- package/cjs/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/__stories__/WithHook/index.js +208 -0
- package/cjs/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/auto/index.js +79 -0
- package/cjs/navigation/Breadcrumbs/auto.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/hooks/index.js +74 -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 -0
- package/cjs/registry.js.map +2 -2
- package/cjs/typography/CodeBlock/index.js +1 -1
- package/cjs/typography/CodeBlock/index.js.map +2 -2
- 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/content/Markdown/Markdown.stories/package.json +6 -0
- 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/content/Markdown/__stories__/Default/package.json +6 -0
- package/content/Markdown/__stories__/Default.d.ts +3 -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/content/SafeHTML/__stories__/Default/package.json +6 -0
- 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.js +1 -1
- package/lazy/index.js +28 -29
- package/lazy.d.ts +62 -63
- 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 +172 -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 +179 -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 +49 -0
- package/navigation/Breadcrumbs/auto/package.json +6 -0
- package/navigation/Breadcrumbs/auto.d.ts +16 -0
- package/navigation/Breadcrumbs/auto.js.map +7 -0
- package/navigation/Breadcrumbs/hooks/index.js +51 -0
- package/navigation/Breadcrumbs/hooks/package.json +6 -0
- package/navigation/Breadcrumbs/hooks.d.ts +11 -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/navigation/Breadcrumbs/slug/package.json +6 -0
- 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 -0
- package/registry.d.ts +8 -0
- 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/lazy.js +28 -29
- package/src/navigation/Breadcrumbs/Breadcrumbs.stories.js +3 -0
- package/src/navigation/Breadcrumbs/__stories__/Auto.tsx +200 -0
- package/src/navigation/Breadcrumbs/__stories__/WithHook.tsx +217 -0
- package/src/navigation/Breadcrumbs/auto.tsx +72 -0
- package/src/navigation/Breadcrumbs/hooks.ts +66 -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 +12 -0
- package/src/typography/CodeBlock/index.tsx +4 -4
- package/src/utils/Base/index.tsx +1 -0
- package/typography/CodeBlock/index.d.ts +3 -3
- package/typography/CodeBlock/index.js +1 -1
- package/typography/CodeBlock/index.js.map +2 -2
- 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/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
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React, { createContext, useContext, ReactNode } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Breadcrumbs,
|
|
4
|
+
BreadcrumbsList,
|
|
5
|
+
BreadcrumbsListItem,
|
|
6
|
+
BreadcrumbsProps,
|
|
7
|
+
} from '@digigov/ui/navigation/Breadcrumbs';
|
|
8
|
+
import {
|
|
9
|
+
useBreadcrumbs,
|
|
10
|
+
UseBreadcrumbsReturn,
|
|
11
|
+
BreadcrumbItem,
|
|
12
|
+
} from '@digigov/ui/navigation/Breadcrumbs/hooks';
|
|
13
|
+
|
|
14
|
+
export interface BreadcrumbsListAutoProps extends BreadcrumbsProps {}
|
|
15
|
+
export interface BreadcrumbsAutoProps extends BreadcrumbsProps {}
|
|
16
|
+
export interface BreadcrumbsAutoProps {
|
|
17
|
+
items: BreadcrumbItem[];
|
|
18
|
+
initialUrlRoute?: string;
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export const BreadcrumbsContext = createContext<UseBreadcrumbsReturn | null>(
|
|
22
|
+
null
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
export const BreadcrumbsAuto = ({
|
|
26
|
+
items,
|
|
27
|
+
initialUrlRoute,
|
|
28
|
+
children,
|
|
29
|
+
}: BreadcrumbsAutoProps) => {
|
|
30
|
+
const breadcrumbs = useBreadcrumbs(items, initialUrlRoute);
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<BreadcrumbsContext.Provider value={breadcrumbs}>
|
|
34
|
+
{children}
|
|
35
|
+
</BreadcrumbsContext.Provider>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const useBreadcrumbsContext = (): UseBreadcrumbsReturn => {
|
|
40
|
+
const context = useContext(BreadcrumbsContext);
|
|
41
|
+
if (!context) {
|
|
42
|
+
throw new Error(
|
|
43
|
+
'BreadcrumbsContext must be used within an BreadcrumbsProvider'
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
return context;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const BreadcrumbsListAuto = React.forwardRef<
|
|
50
|
+
HTMLDivElement,
|
|
51
|
+
BreadcrumbsListAutoProps
|
|
52
|
+
>(function BreadcrumbsListAuto(props, ref) {
|
|
53
|
+
const { breadcrumbs, setActiveItem } = useBreadcrumbsContext();
|
|
54
|
+
return (
|
|
55
|
+
<Breadcrumbs ref={ref} role="navigation" {...props}>
|
|
56
|
+
<BreadcrumbsList>
|
|
57
|
+
{breadcrumbs.map((breadcrumb, index) => (
|
|
58
|
+
<BreadcrumbsListItem
|
|
59
|
+
key={index}
|
|
60
|
+
href={
|
|
61
|
+
breadcrumbs.length - 1 === index ? undefined : breadcrumb.href
|
|
62
|
+
}
|
|
63
|
+
onClick={() => setActiveItem(breadcrumb)}
|
|
64
|
+
aria-current={breadcrumbs.length - 1 === index ? 'page' : undefined}
|
|
65
|
+
>
|
|
66
|
+
{breadcrumb.title}
|
|
67
|
+
</BreadcrumbsListItem>
|
|
68
|
+
))}
|
|
69
|
+
</BreadcrumbsList>
|
|
70
|
+
</Breadcrumbs>
|
|
71
|
+
);
|
|
72
|
+
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
2
|
+
import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
|
|
3
|
+
import { flattenRoutes } from '@digigov/ui/navigation/Breadcrumbs/utils';
|
|
4
|
+
|
|
5
|
+
export interface BreadcrumbItem {
|
|
6
|
+
title: string;
|
|
7
|
+
href?: string;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface UseBreadcrumbsReturn {
|
|
12
|
+
breadcrumbs: BreadcrumbItem[];
|
|
13
|
+
currentRoute: string;
|
|
14
|
+
setActiveItem: (item: BreadcrumbItem) => void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const useBreadcrumbs = (
|
|
18
|
+
items: BreadcrumbItem[],
|
|
19
|
+
initialUrlRoute?: string
|
|
20
|
+
): UseBreadcrumbsReturn => {
|
|
21
|
+
const routes = useMemo(() => flattenRoutes(items, 100), [items]);
|
|
22
|
+
const [currentRoute, setCurrentRoute] = useState(initialUrlRoute || '');
|
|
23
|
+
|
|
24
|
+
const setActiveItem = useCallback(
|
|
25
|
+
(item) => {
|
|
26
|
+
const itemHref = item.href ?? slug(item.title, 100);
|
|
27
|
+
setCurrentRoute(() => {
|
|
28
|
+
const selectedRoute = Object.keys(routes).find((route) =>
|
|
29
|
+
route.endsWith(itemHref)
|
|
30
|
+
);
|
|
31
|
+
return selectedRoute || '/';
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
[routes]
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const constructBreadcrumbs = useCallback(
|
|
38
|
+
(routes): BreadcrumbItem[] => {
|
|
39
|
+
if (currentRoute) {
|
|
40
|
+
const selectedBreadcrumb = routes[currentRoute];
|
|
41
|
+
return [
|
|
42
|
+
...(selectedBreadcrumb?.parents?.map((parent) => {
|
|
43
|
+
return {
|
|
44
|
+
title: parent,
|
|
45
|
+
href: Object.keys(routes).find((route) => {
|
|
46
|
+
return routes[route].title === parent;
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
}) || []),
|
|
50
|
+
{
|
|
51
|
+
title: selectedBreadcrumb?.title,
|
|
52
|
+
href: currentRoute,
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
return [];
|
|
57
|
+
},
|
|
58
|
+
[currentRoute]
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
breadcrumbs: constructBreadcrumbs(routes),
|
|
63
|
+
currentRoute,
|
|
64
|
+
setActiveItem,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -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
|
+
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
export function slug(text: string, maxWidth = 50): string {
|
|
2
|
+
// Greek to Latin character mapping
|
|
3
|
+
const greekToLatinMap: { [key: string]: string } = {
|
|
4
|
+
α: 'a',
|
|
5
|
+
β: 'b',
|
|
6
|
+
γ: 'g',
|
|
7
|
+
δ: 'd',
|
|
8
|
+
ε: 'e',
|
|
9
|
+
ζ: 'z',
|
|
10
|
+
η: 'i',
|
|
11
|
+
θ: 'th',
|
|
12
|
+
ι: 'i',
|
|
13
|
+
κ: 'k',
|
|
14
|
+
λ: 'l',
|
|
15
|
+
μ: 'm',
|
|
16
|
+
ν: 'n',
|
|
17
|
+
ξ: 'x',
|
|
18
|
+
ο: 'o',
|
|
19
|
+
π: 'p',
|
|
20
|
+
ρ: 'r',
|
|
21
|
+
σ: 's',
|
|
22
|
+
τ: 't',
|
|
23
|
+
υ: 'y',
|
|
24
|
+
φ: 'f',
|
|
25
|
+
χ: 'ch',
|
|
26
|
+
ψ: 'ps',
|
|
27
|
+
ω: 'o',
|
|
28
|
+
ά: 'a',
|
|
29
|
+
έ: 'e',
|
|
30
|
+
ί: 'i',
|
|
31
|
+
ό: 'o',
|
|
32
|
+
ύ: 'y',
|
|
33
|
+
ή: 'i',
|
|
34
|
+
ώ: 'o',
|
|
35
|
+
ς: 's',
|
|
36
|
+
ϊ: 'i',
|
|
37
|
+
ΰ: 'y',
|
|
38
|
+
ϋ: 'y',
|
|
39
|
+
ΐ: 'i',
|
|
40
|
+
Α: 'A',
|
|
41
|
+
Β: 'B',
|
|
42
|
+
Γ: 'G',
|
|
43
|
+
Δ: 'D',
|
|
44
|
+
Ε: 'E',
|
|
45
|
+
Ζ: 'Z',
|
|
46
|
+
Η: 'I',
|
|
47
|
+
Θ: 'TH',
|
|
48
|
+
Ι: 'I',
|
|
49
|
+
Κ: 'K',
|
|
50
|
+
Λ: 'L',
|
|
51
|
+
Μ: 'M',
|
|
52
|
+
Ν: 'N',
|
|
53
|
+
Ξ: 'X',
|
|
54
|
+
Ο: 'O',
|
|
55
|
+
Π: 'P',
|
|
56
|
+
Ρ: 'R',
|
|
57
|
+
Σ: 'S',
|
|
58
|
+
Τ: 'T',
|
|
59
|
+
Υ: 'Y',
|
|
60
|
+
Φ: 'F',
|
|
61
|
+
Χ: 'CH',
|
|
62
|
+
Ψ: 'PS',
|
|
63
|
+
Ω: 'O',
|
|
64
|
+
Ά: 'A',
|
|
65
|
+
Έ: 'E',
|
|
66
|
+
Ί: 'I',
|
|
67
|
+
Ό: 'O',
|
|
68
|
+
Ύ: 'Y',
|
|
69
|
+
Ή: 'I',
|
|
70
|
+
Ώ: 'O',
|
|
71
|
+
Ϊ: 'I',
|
|
72
|
+
Ϋ: 'Y',
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
// Convert Greek characters to Latin
|
|
76
|
+
const latinText = text
|
|
77
|
+
.split('')
|
|
78
|
+
.map((char) => greekToLatinMap[char] || char)
|
|
79
|
+
.join('');
|
|
80
|
+
|
|
81
|
+
// Convert to lowercase, replace spaces with hyphens, remove special characters
|
|
82
|
+
const processedText = latinText
|
|
83
|
+
.toLowerCase()
|
|
84
|
+
.replace(/\s+/g, '-')
|
|
85
|
+
.replace(/[^\w\-]+/g, '')
|
|
86
|
+
.replace(/\-\-+/g, '-')
|
|
87
|
+
.replace(/^-+/, '')
|
|
88
|
+
.replace(/-+$/, '');
|
|
89
|
+
|
|
90
|
+
// Calculate the available width for the slug (subtracting 1 for the hyphen and at least 8 for the ID)
|
|
91
|
+
// const availableWidth = Math.max(0, maxWidth - 9);
|
|
92
|
+
|
|
93
|
+
// Split the processed text into slug and remaining text for ID
|
|
94
|
+
let slug = processedText.substring(0, maxWidth);
|
|
95
|
+
const remainingText = processedText.substring(maxWidth);
|
|
96
|
+
|
|
97
|
+
// Remove trailing hyphens from the slug
|
|
98
|
+
slug = slug.replace(/-+$/, '');
|
|
99
|
+
|
|
100
|
+
// Generate ID from the remaining text
|
|
101
|
+
const id = generateIDFromText(remainingText);
|
|
102
|
+
|
|
103
|
+
// Combine the slug and ID
|
|
104
|
+
return `${slug}${id && '-'}${id}`;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function generateIDFromText(text: string): string {
|
|
108
|
+
// If text is empty or maxLength is 0 or less, return a default ID
|
|
109
|
+
if (!text) return '';
|
|
110
|
+
|
|
111
|
+
// Remove hyphens and take only alphanumeric characters
|
|
112
|
+
let processedText = text.replace(/-/g, '').replace(/[^a-z0-9]/g, '');
|
|
113
|
+
|
|
114
|
+
// If processed text is empty, use a default base
|
|
115
|
+
if (!processedText) processedText = 'default';
|
|
116
|
+
|
|
117
|
+
// Calculate a simple hash of the processed text
|
|
118
|
+
let hash = 0;
|
|
119
|
+
for (let i = 0; i < processedText.length; i++) {
|
|
120
|
+
const char = processedText.charCodeAt(i);
|
|
121
|
+
hash = (hash << 5) - hash + char;
|
|
122
|
+
hash = hash & hash; // Convert to 32-bit integer
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Convert hash to a positive number and then to base 36 (0-9 and a-z)
|
|
126
|
+
const id = Math.abs(hash).toString(36);
|
|
127
|
+
|
|
128
|
+
// Ensure the ID is at least 8 characters long, padding with '0' if necessary
|
|
129
|
+
return id;
|
|
130
|
+
// return id.padEnd(8, '0').substring(0, maxLength);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Test the function
|
|
134
|
+
// console.log(createSlugWithID('Καλημέρα κόσμε! Hello world!', 10));
|
|
135
|
+
// console.log(createSlugWithID('Ελληνικά και English mixed', 80));
|
|
136
|
+
// console.log(
|
|
137
|
+
// createSlugWithID(
|
|
138
|
+
// 'Αυτό είναι ένα πολύ μεγάλο κείμενο για να δοκιμάσουμε το όριο πλάτους',
|
|
139
|
+
// 90
|
|
140
|
+
// )
|
|
141
|
+
// );
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// utility.ts
|
|
2
|
+
import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
|
|
3
|
+
export const flattenRoutes = (
|
|
4
|
+
items,
|
|
5
|
+
maxLength: number = 15,
|
|
6
|
+
prepend: string = '',
|
|
7
|
+
parents: string[] = []
|
|
8
|
+
) => {
|
|
9
|
+
let flattened = {};
|
|
10
|
+
|
|
11
|
+
items.forEach((value) => {
|
|
12
|
+
const { title, href, children, ...rest } = value;
|
|
13
|
+
|
|
14
|
+
const route = [prepend, href || slug(title, maxLength)].join('/');
|
|
15
|
+
|
|
16
|
+
const routeChildren = children
|
|
17
|
+
? children.map((child) => ({
|
|
18
|
+
href: child.href || slug(child.title, maxLength),
|
|
19
|
+
...child,
|
|
20
|
+
}))
|
|
21
|
+
: [];
|
|
22
|
+
|
|
23
|
+
flattened[route] = {
|
|
24
|
+
...rest,
|
|
25
|
+
title,
|
|
26
|
+
children: routeChildren,
|
|
27
|
+
parents,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
if (children) {
|
|
31
|
+
flattened = {
|
|
32
|
+
...flattened,
|
|
33
|
+
...flattenRoutes(children, maxLength, route, [...parents, title]),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
return flattened;
|
|
39
|
+
};
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
DrawerAuto,
|
|
17
17
|
DrawerHeadingAuto,
|
|
18
18
|
DrawerButtonAuto,
|
|
19
|
-
} from '@digigov/ui/navigation/Drawer';
|
|
19
|
+
} from '@digigov/ui/navigation/Drawer/auto';
|
|
20
20
|
import { NavListAuto } from '@digigov/ui/navigation/NavList';
|
|
21
21
|
import { Heading } from '@digigov/ui/typography/Heading';
|
|
22
22
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { test, expect } from '@playwright/experimental-ct-react';
|
|
3
|
+
|
|
4
|
+
import { HorizontalWithoutDrawer } from '@digigov/ui/navigation/NavList/__stories__/HorizontalWithoutDrawer';
|
|
5
|
+
import { UsingHeaderButton } from '@digigov/ui/navigation/NavList/__stories__/UsingHeaderButton';
|
|
6
|
+
import { VerticalWithoutDrawer } from '@digigov/ui/navigation/NavList/__stories__/VerticalWithoutDrawer';
|
|
7
|
+
|
|
8
|
+
test('renders the HorizontalWithoutDrawer Open submenu', async ({
|
|
9
|
+
mount,
|
|
10
|
+
page,
|
|
11
|
+
}) => {
|
|
12
|
+
await mount(<HorizontalWithoutDrawer />);
|
|
13
|
+
await page.evaluate(() => document.fonts.ready);
|
|
14
|
+
await page.locator('#root>nav>ul>li:nth-child(2)>button').click();
|
|
15
|
+
const screenshot = await page.screenshot({
|
|
16
|
+
fullPage: true,
|
|
17
|
+
animations: 'disabled',
|
|
18
|
+
});
|
|
19
|
+
expect(screenshot).toMatchSnapshot();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
test('renders the VerticalWithoutDrawer Open submenu', async ({
|
|
23
|
+
mount,
|
|
24
|
+
page,
|
|
25
|
+
}) => {
|
|
26
|
+
await mount(<VerticalWithoutDrawer />);
|
|
27
|
+
await page.evaluate(() => document.fonts.ready);
|
|
28
|
+
await page.locator('#root>nav>ul>li:nth-child(2)>button').click();
|
|
29
|
+
const screenshot = await page.screenshot({
|
|
30
|
+
fullPage: true,
|
|
31
|
+
animations: 'disabled',
|
|
32
|
+
});
|
|
33
|
+
expect(screenshot).toMatchSnapshot();
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test('renders the UsingHeaderButton menu', async ({ mount, page }) => {
|
|
37
|
+
await mount(<UsingHeaderButton />);
|
|
38
|
+
await page.evaluate(() => document.fonts.ready);
|
|
39
|
+
await page.locator('button:text("Επιλογές")').click();
|
|
40
|
+
const screenshot = await page.screenshot({
|
|
41
|
+
fullPage: true,
|
|
42
|
+
animations: 'disabled',
|
|
43
|
+
});
|
|
44
|
+
expect(screenshot).toMatchSnapshot();
|
|
45
|
+
});
|
|
@@ -5,12 +5,14 @@ import Main from '@digigov/ui/layouts/Basic';
|
|
|
5
5
|
import Grid from '@digigov/ui/layouts/Grid';
|
|
6
6
|
import {
|
|
7
7
|
Pagination,
|
|
8
|
+
} from '@digigov/ui/navigation/Pagination';
|
|
9
|
+
import {
|
|
8
10
|
PaginationContextAuto,
|
|
9
11
|
PaginationLabelAuto,
|
|
10
12
|
PaginationListAuto,
|
|
11
13
|
PaginationResultsPerPageSelectAuto,
|
|
12
14
|
usePaginationContext,
|
|
13
|
-
} from '@digigov/ui/navigation/Pagination';
|
|
15
|
+
} from '@digigov/ui/navigation/Pagination/auto';
|
|
14
16
|
|
|
15
17
|
const fetchedData: { id: number }[] = [];
|
|
16
18
|
|
|
@@ -6,5 +6,4 @@ export * from '@digigov/react-core/Pagination';
|
|
|
6
6
|
export * from '@digigov/react-core/PaginationList';
|
|
7
7
|
export * from '@digigov/react-core/PaginationListItem';
|
|
8
8
|
export * from '@digigov/ui/navigation/Pagination/hooks';
|
|
9
|
-
export * from '@digigov/ui/navigation/Pagination/auto';
|
|
10
9
|
export { PaginationLabelContainer } from '@digigov/react-core/PaginationLabelContainer';
|
|
@@ -9,13 +9,15 @@ import {
|
|
|
9
9
|
} from '@digigov/ui/content/SummaryList';
|
|
10
10
|
import { Link } from '@digigov/ui/navigation/Link';
|
|
11
11
|
import {
|
|
12
|
-
TabsAuto,
|
|
13
12
|
TabsHeading,
|
|
14
13
|
TabsList,
|
|
14
|
+
|
|
15
|
+
} from '@digigov/ui/navigation/Tabs';
|
|
16
|
+
import {
|
|
17
|
+
TabsAuto,
|
|
15
18
|
TabsListItem,
|
|
16
19
|
TabsPanel,
|
|
17
|
-
} from '@digigov/ui/navigation/Tabs';
|
|
18
|
-
|
|
20
|
+
} from '@digigov/ui/navigation/Tabs/auto';
|
|
19
21
|
import { Heading } from '@digigov/ui/typography/Heading';
|
|
20
22
|
import { VisuallyHidden } from '@digigov/ui/utils/VisuallyHidden';
|
|
21
23
|
|
|
@@ -11,10 +11,12 @@ import {
|
|
|
11
11
|
Tabs,
|
|
12
12
|
TabsHeading,
|
|
13
13
|
TabsList,
|
|
14
|
-
TabsListItem,
|
|
15
|
-
TabsPanel,
|
|
16
14
|
useTabs,
|
|
17
15
|
} from '@digigov/ui/navigation/Tabs';
|
|
16
|
+
import {
|
|
17
|
+
TabsListItem,
|
|
18
|
+
TabsPanel,
|
|
19
|
+
} from '@digigov/ui/navigation/Tabs/auto';
|
|
18
20
|
import { Heading } from '@digigov/ui/typography/Heading';
|
|
19
21
|
import { Paragraph } from '@digigov/ui/typography/Paragraph';
|
|
20
22
|
import { VisuallyHidden } from '@digigov/ui/utils/VisuallyHidden';
|
|
@@ -12,11 +12,12 @@ import {
|
|
|
12
12
|
Tabs,
|
|
13
13
|
TabsHeading,
|
|
14
14
|
TabsList,
|
|
15
|
-
TabsListItem,
|
|
16
|
-
TabsPanel,
|
|
17
15
|
useTabs,
|
|
18
16
|
} from '@digigov/ui/navigation/Tabs';
|
|
19
|
-
|
|
17
|
+
import {
|
|
18
|
+
TabsListItem,
|
|
19
|
+
TabsPanel,
|
|
20
|
+
} from '@digigov/ui/navigation/Tabs/auto';
|
|
20
21
|
import { Heading } from '@digigov/ui/typography/Heading';
|
|
21
22
|
import { VisuallyHidden } from '@digigov/ui/utils/VisuallyHidden';
|
|
22
23
|
|
|
@@ -11,10 +11,12 @@ import {
|
|
|
11
11
|
Tabs,
|
|
12
12
|
TabsHeading,
|
|
13
13
|
TabsList,
|
|
14
|
-
TabsListItem,
|
|
15
|
-
TabsPanel,
|
|
16
14
|
useTabs,
|
|
17
15
|
} from '@digigov/ui/navigation/Tabs';
|
|
16
|
+
import {
|
|
17
|
+
TabsListItem,
|
|
18
|
+
TabsPanel,
|
|
19
|
+
} from '@digigov/ui/navigation/Tabs/auto';
|
|
18
20
|
import { Heading } from '@digigov/ui/typography/Heading';
|
|
19
21
|
import { Paragraph } from '@digigov/ui/typography/Paragraph';
|
|
20
22
|
import { VisuallyHidden } from '@digigov/ui/utils/VisuallyHidden';
|
|
@@ -6,6 +6,5 @@ export * from '@digigov/react-core/TabsList';
|
|
|
6
6
|
export * from '@digigov/react-core/TabsListItemBase';
|
|
7
7
|
export * from '@digigov/react-core/TabsPanelBase';
|
|
8
8
|
export * from '@digigov/react-core/TabsHeading';
|
|
9
|
-
export * from '@digigov/ui/navigation/Tabs/auto';
|
|
10
9
|
|
|
11
10
|
export default Tabs;
|
package/src/registry.js
CHANGED
|
@@ -140,7 +140,11 @@ import * as _digigov_ui_layouts_SectionBreak from '@digigov/ui/layouts/SectionBr
|
|
|
140
140
|
import * as _digigov_ui_layouts_Stack from '@digigov/ui/layouts/Stack';
|
|
141
141
|
import * as _digigov_ui_navigation_BackLink from '@digigov/ui/navigation/BackLink';
|
|
142
142
|
import * as _digigov_ui_navigation_BackToTopLink from '@digigov/ui/navigation/BackToTopLink';
|
|
143
|
+
import * as _digigov_ui_navigation_Breadcrumbs_auto from '@digigov/ui/navigation/Breadcrumbs/auto';
|
|
144
|
+
import * as _digigov_ui_navigation_Breadcrumbs_hooks from '@digigov/ui/navigation/Breadcrumbs/hooks';
|
|
143
145
|
import * as _digigov_ui_navigation_Breadcrumbs from '@digigov/ui/navigation/Breadcrumbs';
|
|
146
|
+
import * as _digigov_ui_navigation_Breadcrumbs_slug from '@digigov/ui/navigation/Breadcrumbs/slug';
|
|
147
|
+
import * as _digigov_ui_navigation_Breadcrumbs_utils from '@digigov/ui/navigation/Breadcrumbs/utils';
|
|
144
148
|
import * as _digigov_ui_navigation_Drawer_auto from '@digigov/ui/navigation/Drawer/auto';
|
|
145
149
|
import * as _digigov_ui_navigation_Drawer_hooks from '@digigov/ui/navigation/Drawer/hooks';
|
|
146
150
|
import * as _digigov_ui_navigation_Drawer from '@digigov/ui/navigation/Drawer';
|
|
@@ -346,7 +350,11 @@ export default {
|
|
|
346
350
|
'@digigov/ui/layouts/Stack': lazyImport(_digigov_ui_layouts_Stack),
|
|
347
351
|
'@digigov/ui/navigation/BackLink': lazyImport(_digigov_ui_navigation_BackLink),
|
|
348
352
|
'@digigov/ui/navigation/BackToTopLink': lazyImport(_digigov_ui_navigation_BackToTopLink),
|
|
353
|
+
'@digigov/ui/navigation/Breadcrumbs/auto': lazyImport(_digigov_ui_navigation_Breadcrumbs_auto),
|
|
354
|
+
'@digigov/ui/navigation/Breadcrumbs/hooks': lazyImport(_digigov_ui_navigation_Breadcrumbs_hooks),
|
|
349
355
|
'@digigov/ui/navigation/Breadcrumbs': lazyImport(_digigov_ui_navigation_Breadcrumbs),
|
|
356
|
+
'@digigov/ui/navigation/Breadcrumbs/slug': lazyImport(_digigov_ui_navigation_Breadcrumbs_slug),
|
|
357
|
+
'@digigov/ui/navigation/Breadcrumbs/utils': lazyImport(_digigov_ui_navigation_Breadcrumbs_utils),
|
|
350
358
|
'@digigov/ui/navigation/Drawer/auto': lazyImport(_digigov_ui_navigation_Drawer_auto),
|
|
351
359
|
'@digigov/ui/navigation/Drawer/hooks': lazyImport(_digigov_ui_navigation_Drawer_hooks),
|
|
352
360
|
'@digigov/ui/navigation/Drawer': lazyImport(_digigov_ui_navigation_Drawer),
|
|
@@ -410,6 +418,8 @@ import * as _digigov_ui_content_Card_Card_stories from '@digigov/ui/content/Card
|
|
|
410
418
|
import * as _digigov_ui_content_Chip_Chip_stories from '@digigov/ui/content/Chip/Chip.stories';
|
|
411
419
|
import * as _digigov_ui_content_Details_Details_stories from '@digigov/ui/content/Details/Details.stories';
|
|
412
420
|
import * as _digigov_ui_content_List_List_stories from '@digigov/ui/content/List/List.stories';
|
|
421
|
+
import * as _digigov_ui_content_Markdown_Markdown_stories from '@digigov/ui/content/Markdown/Markdown.stories';
|
|
422
|
+
import * as _digigov_ui_content_SafeHTML_SafeHTML_stories from '@digigov/ui/content/SafeHTML/SafeHTML.stories';
|
|
413
423
|
import * as _digigov_ui_content_StepNav_StepNav_stories from '@digigov/ui/content/StepNav/StepNav.stories';
|
|
414
424
|
import * as _digigov_ui_content_SummaryList_SummaryList_stories from '@digigov/ui/content/SummaryList/SummaryList.stories';
|
|
415
425
|
import * as _digigov_ui_content_Table_Table_stories from '@digigov/ui/content/Table/Table.stories';
|
|
@@ -472,6 +482,8 @@ import * as _digigov_ui_utils_VisuallyHidden_VisuallyHidden_stories from '@digig
|
|
|
472
482
|
'@digigov/ui/content/Chip/Chip.stories': _digigov_ui_content_Chip_Chip_stories,
|
|
473
483
|
'@digigov/ui/content/Details/Details.stories': _digigov_ui_content_Details_Details_stories,
|
|
474
484
|
'@digigov/ui/content/List/List.stories': _digigov_ui_content_List_List_stories,
|
|
485
|
+
'@digigov/ui/content/Markdown/Markdown.stories': _digigov_ui_content_Markdown_Markdown_stories,
|
|
486
|
+
'@digigov/ui/content/SafeHTML/SafeHTML.stories': _digigov_ui_content_SafeHTML_SafeHTML_stories,
|
|
475
487
|
'@digigov/ui/content/StepNav/StepNav.stories': _digigov_ui_content_StepNav_StepNav_stories,
|
|
476
488
|
'@digigov/ui/content/SummaryList/SummaryList.stories': _digigov_ui_content_SummaryList_SummaryList_stories,
|
|
477
489
|
'@digigov/ui/content/Table/Table.stories': _digigov_ui_content_Table_Table_stories,
|
|
@@ -17,9 +17,9 @@ import { Button } from '@digigov/ui/form/Button';
|
|
|
17
17
|
|
|
18
18
|
export interface CodeBlockProps extends BaseProps<'div'> {
|
|
19
19
|
language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';
|
|
20
|
-
copyToClipboard?:
|
|
21
|
-
highlighted?:
|
|
22
|
-
showLineNumbers?:
|
|
20
|
+
copyToClipboard?: boolean;
|
|
21
|
+
highlighted?: boolean;
|
|
22
|
+
showLineNumbers?: boolean;
|
|
23
23
|
phaseBannerTagName?: string;
|
|
24
24
|
highlightLines?: number[];
|
|
25
25
|
}
|
|
@@ -82,7 +82,7 @@ export const CodeBlock: React.FC<CodeBlockProps> = React.forwardRef(
|
|
|
82
82
|
<CodeBlockContainer ref={ref} {...props}>
|
|
83
83
|
<CodeBlockHeader
|
|
84
84
|
justify={
|
|
85
|
-
phaseBannerTagName && copyToClipboard ? '
|
|
85
|
+
phaseBannerTagName && copyToClipboard ? 'space-between' : 'end'
|
|
86
86
|
}
|
|
87
87
|
>
|
|
88
88
|
{phaseBannerTagName && (
|
package/src/utils/Base/index.tsx
CHANGED
|
@@ -2,9 +2,9 @@ import React from 'react';
|
|
|
2
2
|
import { BaseProps } from '@digigov/react-core/Base';
|
|
3
3
|
export interface CodeBlockProps extends BaseProps<'div'> {
|
|
4
4
|
language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';
|
|
5
|
-
copyToClipboard?:
|
|
6
|
-
highlighted?:
|
|
7
|
-
showLineNumbers?:
|
|
5
|
+
copyToClipboard?: boolean;
|
|
6
|
+
highlighted?: boolean;
|
|
7
|
+
showLineNumbers?: boolean;
|
|
8
8
|
phaseBannerTagName?: string;
|
|
9
9
|
highlightLines?: number[];
|
|
10
10
|
}
|
|
@@ -60,7 +60,7 @@ const CodeBlock = React.forwardRef(
|
|
|
60
60
|
return /* @__PURE__ */ React.createElement(CodeBlockContainer, { ref, ...props }, /* @__PURE__ */ React.createElement(
|
|
61
61
|
CodeBlockHeader,
|
|
62
62
|
{
|
|
63
|
-
justify: phaseBannerTagName && copyToClipboard ? "
|
|
63
|
+
justify: phaseBannerTagName && copyToClipboard ? "space-between" : "end"
|
|
64
64
|
},
|
|
65
65
|
phaseBannerTagName && /* @__PURE__ */ React.createElement(PhaseBannerTag, null, phaseBannerTagName),
|
|
66
66
|
copyToClipboard && /* @__PURE__ */ React.createElement(
|