@scottish-government/designsystem-react 0.13.0 → 1.0.1
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/.storybook/sgdsArgTypes.ts +23 -0
- package/CHANGELOG.md +23 -0
- package/LICENSE.txt +21 -0
- package/README.md +4 -5
- package/dist/common/AbstractNotificationBanner/AbstractNotificationBanner.d.ts +3 -2
- package/dist/common/AbstractNotificationBanner/AbstractNotificationBanner.jsx +8 -7
- package/dist/common/AbstractNotificationBanner/types.d.ts +13 -0
- package/dist/common/AbstractNotificationBanner/types.js +2 -0
- package/dist/common/ActionLink/ActionLink.d.ts +2 -1
- package/dist/common/ActionLink/types.d.ts +7 -0
- package/dist/common/ActionLink/types.js +2 -0
- package/dist/common/ConditionalWrapper/ConditionalWrapper.d.ts +2 -1
- package/dist/common/ConditionalWrapper/ConditionalWrapper.jsx +4 -2
- package/dist/common/ConditionalWrapper/types.d.ts +4 -0
- package/dist/common/ConditionalWrapper/types.js +2 -0
- package/dist/common/FileIcon/FileIcon.d.ts +2 -1
- package/dist/common/FileIcon/types.d.ts +6 -0
- package/dist/common/FileIcon/types.js +2 -0
- package/dist/common/HintText/HintText.d.ts +2 -1
- package/dist/common/HintText/HintText.jsx +3 -3
- package/dist/common/HintText/types.d.ts +4 -0
- package/dist/common/HintText/types.js +2 -0
- package/dist/common/Icon/Icon.d.ts +2 -1
- package/dist/common/Icon/Icon.jsx +3 -2
- package/dist/common/Icon/types.d.ts +8 -0
- package/dist/common/Icon/types.js +2 -0
- package/dist/common/ScreenReaderText/ScreenReaderText.d.ts +1 -1
- package/dist/common/WrapperTag/WrapperTag.d.ts +385 -1
- package/dist/common/WrapperTag/WrapperTag.jsx +5 -2
- package/dist/common/WrapperTag/types.d.ts +3 -0
- package/dist/common/WrapperTag/types.js +2 -0
- package/dist/components/Accordion/Accordion.d.ts +3 -2
- package/dist/components/Accordion/Accordion.jsx +12 -11
- package/dist/components/Accordion/types.d.ts +11 -0
- package/dist/components/Accordion/types.js +2 -0
- package/dist/components/AspectBox/AspectBox.d.ts +2 -1
- package/dist/components/AspectBox/AspectBox.jsx +3 -9
- package/dist/components/AspectBox/types.d.ts +3 -0
- package/dist/components/AspectBox/types.js +2 -0
- package/dist/components/BackToTop/BackToTop.d.ts +2 -1
- package/dist/components/BackToTop/BackToTop.jsx +4 -3
- package/dist/components/BackToTop/types.d.ts +3 -0
- package/dist/components/BackToTop/types.js +2 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +3 -2
- package/dist/components/Breadcrumbs/Breadcrumbs.jsx +6 -2
- package/dist/components/Breadcrumbs/types.d.ts +5 -0
- package/dist/components/Breadcrumbs/types.js +2 -0
- package/dist/components/Button/Button.d.ts +2 -1
- package/dist/components/Button/Button.jsx +4 -3
- package/dist/components/Button/ButtonGroup.d.ts +2 -1
- package/dist/components/Button/ButtonGroup.jsx +9 -4
- package/dist/components/Button/types.d.ts +20 -0
- package/dist/components/Button/types.js +2 -0
- package/dist/components/Card/Card.d.ts +34 -0
- package/dist/components/Card/Card.jsx +118 -0
- package/dist/components/Card/index.d.ts +1 -0
- package/dist/components/Card/index.js +8 -0
- package/dist/components/Card/types.d.ts +26 -0
- package/dist/components/Card/types.js +2 -0
- package/dist/components/CategoryItem/CategoryItem.d.ts +2 -1
- package/dist/components/CategoryItem/CategoryItem.jsx +8 -5
- package/dist/components/CategoryItem/types.d.ts +9 -0
- package/dist/components/CategoryItem/types.js +2 -0
- package/dist/components/CategoryList/CategoryList.d.ts +2 -1
- package/dist/components/CategoryList/CategoryList.jsx +3 -2
- package/dist/components/CategoryList/types.d.ts +5 -0
- package/dist/components/CategoryList/types.js +2 -0
- package/dist/components/Checkbox/Checkbox.d.ts +2 -1
- package/dist/components/Checkbox/Checkbox.jsx +4 -3
- package/dist/components/Checkbox/CheckboxGroup.d.ts +2 -1
- package/dist/components/Checkbox/CheckboxGroup.jsx +5 -4
- package/dist/components/Checkbox/types.d.ts +7 -0
- package/dist/components/Checkbox/types.js +2 -0
- package/dist/components/ConfirmationMessage/ConfirmationMessage.d.ts +2 -1
- package/dist/components/ConfirmationMessage/ConfirmationMessage.jsx +3 -2
- package/dist/components/ConfirmationMessage/types.d.ts +6 -0
- package/dist/components/ConfirmationMessage/types.js +2 -0
- package/dist/components/ContentsNav/ContentsNav.d.ts +3 -2
- package/dist/components/ContentsNav/ContentsNav.jsx +7 -5
- package/dist/components/ContentsNav/types.d.ts +9 -0
- package/dist/components/ContentsNav/types.js +2 -0
- package/dist/components/CookieBanner/CookieBanner.d.ts +3 -2
- package/dist/components/CookieBanner/CookieBanner.jsx +13 -3
- package/dist/components/DatePicker/DatePicker.d.ts +2 -1
- package/dist/components/DatePicker/DatePicker.jsx +7 -7
- package/dist/components/DatePicker/types.d.ts +18 -0
- package/dist/components/DatePicker/types.js +2 -0
- package/dist/components/Details/Details.d.ts +2 -1
- package/dist/components/Details/Details.jsx +6 -2
- package/dist/components/Details/types.d.ts +4 -0
- package/dist/components/Details/types.js +2 -0
- package/dist/components/ErrorMessage/ErrorMessage.d.ts +2 -1
- package/dist/components/ErrorMessage/ErrorMessage.jsx +6 -2
- package/dist/components/ErrorMessage/types.d.ts +3 -0
- package/dist/components/ErrorMessage/types.js +2 -0
- package/dist/components/ErrorSummary/ErrorSummary.d.ts +3 -2
- package/dist/components/ErrorSummary/ErrorSummary.jsx +6 -2
- package/dist/components/ErrorSummary/types.d.ts +8 -0
- package/dist/components/ErrorSummary/types.js +2 -0
- package/dist/components/FeatureHeader/FeatureHeader.d.ts +7 -5
- package/dist/components/FeatureHeader/FeatureHeader.jsx +87 -50
- package/dist/components/FeatureHeader/types.d.ts +12 -0
- package/dist/components/FeatureHeader/types.js +2 -0
- package/dist/components/FileDownload/FileDownload.d.ts +2 -1
- package/dist/components/FileDownload/FileDownload.jsx +4 -3
- package/dist/components/FileDownload/types.d.ts +10 -0
- package/dist/components/FileDownload/types.js +2 -0
- package/dist/components/HideThisPage/HideThisPage.d.ts +2 -1
- package/dist/components/HideThisPage/HideThisPage.jsx +5 -4
- package/dist/components/HideThisPage/types.d.ts +3 -0
- package/dist/components/HideThisPage/types.js +2 -0
- package/dist/components/InsetText/InsetText.d.ts +1 -1
- package/dist/components/InsetText/InsetText.jsx +6 -2
- package/dist/components/NotificationBanner/NotificationBanner.d.ts +3 -2
- package/dist/components/NotificationBanner/NotificationBanner.jsx +5 -4
- package/dist/components/NotificationPanel/NotificationPanel.d.ts +2 -1
- package/dist/components/NotificationPanel/NotificationPanel.jsx +3 -2
- package/dist/components/NotificationPanel/types.d.ts +6 -0
- package/dist/components/NotificationPanel/types.js +2 -0
- package/dist/components/NotificationTag/NotificationTag.d.ts +6 -0
- package/dist/components/NotificationTag/NotificationTag.jsx +20 -0
- package/dist/components/NotificationTag/index.d.ts +1 -0
- package/dist/components/NotificationTag/index.js +8 -0
- package/dist/components/NotificationTag/types.d.ts +5 -0
- package/dist/components/NotificationTag/types.js +2 -0
- package/dist/components/PageHeader/PageHeader.d.ts +2 -1
- package/dist/components/PageHeader/PageHeader.jsx +6 -2
- package/dist/components/PageHeader/types.d.ts +5 -0
- package/dist/components/PageHeader/types.js +2 -0
- package/dist/components/PageMetadata/PageMetadata.d.ts +3 -2
- package/dist/components/PageMetadata/PageMetadata.jsx +8 -4
- package/dist/components/PageMetadata/types.d.ts +6 -0
- package/dist/components/PageMetadata/types.js +2 -0
- package/dist/components/Pagination/Pagination.d.ts +3 -2
- package/dist/components/Pagination/Pagination.jsx +7 -5
- package/dist/components/Pagination/types.d.ts +18 -0
- package/dist/components/Pagination/types.js +2 -0
- package/dist/components/PhaseBanner/PhaseBanner.d.ts +2 -1
- package/dist/components/PhaseBanner/PhaseBanner.jsx +3 -2
- package/dist/components/PhaseBanner/types.d.ts +3 -0
- package/dist/components/PhaseBanner/types.js +2 -0
- package/dist/components/Question/Question.d.ts +2 -1
- package/dist/components/Question/Question.jsx +4 -3
- package/dist/components/Question/types.d.ts +9 -0
- package/dist/components/Question/types.js +2 -0
- package/dist/components/RadioButton/RadioButton.d.ts +2 -1
- package/dist/components/RadioButton/RadioButton.jsx +4 -3
- package/dist/components/RadioButton/RadioGroup.d.ts +2 -1
- package/dist/components/RadioButton/RadioGroup.jsx +3 -2
- package/dist/components/RadioButton/types.d.ts +10 -0
- package/dist/components/RadioButton/types.js +2 -0
- package/dist/components/SearchFacets/SearchFacets.d.ts +4 -3
- package/dist/components/SearchFacets/SearchFacets.jsx +3 -2
- package/dist/components/SearchFacets/types.d.ts +12 -0
- package/dist/components/SearchFacets/types.js +2 -0
- package/dist/components/SearchFilters/SearchFilters.d.ts +5 -4
- package/dist/components/SearchFilters/types.d.ts +12 -0
- package/dist/components/SearchFilters/types.js +2 -0
- package/dist/components/SearchResult/SearchResult.d.ts +8 -11
- package/dist/components/SearchResult/SearchResult.jsx +6 -7
- package/dist/components/SearchResult/types.d.ts +11 -0
- package/dist/components/SearchResult/types.js +2 -0
- package/dist/components/SearchSort/SearchSort.d.ts +2 -1
- package/dist/components/SearchSort/SearchSort.jsx +3 -2
- package/dist/components/SearchSort/types.d.ts +7 -0
- package/dist/components/SearchSort/types.js +2 -0
- package/dist/components/Select/Select.d.ts +2 -1
- package/dist/components/Select/Select.jsx +4 -3
- package/dist/components/Select/types.d.ts +6 -0
- package/dist/components/Select/types.js +2 -0
- package/dist/components/SequentialNavigation/SequentialNavigation.d.ts +4 -3
- package/dist/components/SequentialNavigation/SequentialNavigation.jsx +10 -6
- package/dist/components/SequentialNavigation/types.d.ts +10 -0
- package/dist/components/SequentialNavigation/types.js +2 -0
- package/dist/components/SideNavigation/SideNavigation.d.ts +4 -3
- package/dist/components/SideNavigation/SideNavigation.jsx +10 -7
- package/dist/components/SideNavigation/types.d.ts +13 -0
- package/dist/components/SideNavigation/types.js +2 -0
- package/dist/components/SiteFooter/SiteFooter.d.ts +6 -5
- package/dist/components/SiteFooter/SiteFooter.jsx +4 -3
- package/dist/components/SiteFooter/types.d.ts +16 -0
- package/dist/components/SiteFooter/types.js +2 -0
- package/dist/components/SiteHeader/SiteHeader.d.ts +6 -5
- package/dist/components/SiteHeader/SiteHeader.jsx +1 -1
- package/dist/components/SiteHeader/types.d.ts +20 -0
- package/dist/components/SiteHeader/types.js +2 -0
- package/dist/components/SiteNavigation/SiteNavigation.d.ts +3 -2
- package/dist/components/SiteNavigation/SiteNavigation.jsx +12 -4
- package/dist/components/SiteNavigation/types.d.ts +9 -0
- package/dist/components/SiteNavigation/types.js +2 -0
- package/dist/components/SiteSearch/SiteSearch.d.ts +2 -1
- package/dist/components/SiteSearch/SiteSearch.jsx +12 -11
- package/dist/components/SiteSearch/types.d.ts +17 -0
- package/dist/components/SiteSearch/types.js +2 -0
- package/dist/components/SkipLinks/SkipLinks.d.ts +3 -2
- package/dist/components/SkipLinks/SkipLinks.jsx +4 -4
- package/dist/components/SkipLinks/types.d.ts +8 -0
- package/dist/components/SkipLinks/types.js +2 -0
- package/dist/components/SummaryCard/SummaryCard.d.ts +4 -2
- package/dist/components/SummaryCard/SummaryCard.jsx +5 -4
- package/dist/components/SummaryCard/types.d.ts +5 -0
- package/dist/components/SummaryCard/types.js +2 -0
- package/dist/components/SummaryList/SummaryList.d.ts +6 -4
- package/dist/components/SummaryList/SummaryList.jsx +5 -4
- package/dist/components/SummaryList/types.d.ts +6 -0
- package/dist/components/SummaryList/types.js +2 -0
- package/dist/components/Table/Table.d.ts +2 -1
- package/dist/components/Table/Table.jsx +5 -4
- package/dist/components/Table/types.d.ts +6 -0
- package/dist/components/Table/types.js +2 -0
- package/dist/components/Tabs/Tabs.d.ts +3 -2
- package/dist/components/Tabs/Tabs.jsx +6 -5
- package/dist/components/Tabs/types.d.ts +16 -0
- package/dist/components/Tabs/types.js +2 -0
- package/dist/components/Tag/Tag.d.ts +2 -1
- package/dist/components/Tag/Tag.jsx +7 -3
- package/dist/components/Tag/types.d.ts +4 -0
- package/dist/components/Tag/types.js +2 -0
- package/dist/components/TaskList/TaskList.d.ts +4 -3
- package/dist/components/TaskList/TaskList.jsx +11 -8
- package/dist/components/TaskList/types.d.ts +17 -0
- package/dist/components/TaskList/types.js +2 -0
- package/dist/components/TextInput/TextInput.d.ts +2 -1
- package/dist/components/TextInput/TextInput.jsx +10 -9
- package/dist/components/TextInput/types.d.ts +11 -0
- package/dist/components/TextInput/types.js +2 -0
- package/dist/components/Textarea/Textarea.d.ts +2 -1
- package/dist/components/Textarea/Textarea.jsx +6 -5
- package/dist/components/WarningText/WarningText.d.ts +1 -1
- package/dist/components/WarningText/WarningText.jsx +6 -2
- package/dist/hooks/useTracking/useTracking.js +0 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +40 -0
- package/dist/shared-types.d.ts +35 -0
- package/dist/shared-types.js +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +5 -3
- package/src/common/AbstractNotificationBanner/AbstractNotificationBanner.tsx +8 -6
- package/src/common/Icon/Icon.tsx +3 -2
- package/src/components/Accordion/Accordion.test.tsx +11 -0
- package/src/components/Accordion/Accordion.tsx +11 -10
- package/src/components/AspectBox/AspectBox.tsx +4 -11
- package/src/components/BackToTop/BackToTop.test.tsx +21 -1
- package/src/components/BackToTop/BackToTop.tsx +4 -3
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +3 -2
- package/src/components/Button/Button.tsx +4 -3
- package/src/components/Button/ButtonGroup.stories.tsx +22 -0
- package/src/components/Button/ButtonGroup.test.tsx +21 -0
- package/src/components/Button/ButtonGroup.tsx +6 -3
- package/src/components/Button/types.ts +1 -0
- package/src/components/Card/Card.stories.tsx +446 -0
- package/src/components/Card/Card.test.tsx +282 -0
- package/src/components/Card/Card.tsx +208 -0
- package/src/components/Card/index.ts +1 -0
- package/src/components/Card/types.ts +30 -0
- package/src/components/CategoryItem/CategoryItem.tsx +3 -2
- package/src/components/CategoryList/CategoryList.tsx +3 -2
- package/src/components/Checkbox/Checkbox.test.tsx +30 -0
- package/src/components/Checkbox/Checkbox.tsx +3 -3
- package/src/components/Checkbox/CheckboxGroup.test.tsx +10 -0
- package/src/components/Checkbox/CheckboxGroup.tsx +5 -4
- package/src/components/ConfirmationMessage/ConfirmationMessage.tsx +3 -2
- package/src/components/ContentsNav/ContentsNav.tsx +8 -5
- package/src/components/CookieBanner/CookieBanner.test.tsx +18 -1
- package/src/components/CookieBanner/CookieBanner.tsx +5 -4
- package/src/components/DatePicker/DatePicker.test.tsx +52 -14
- package/src/components/DatePicker/DatePicker.tsx +6 -7
- package/src/components/DatePicker/types.ts +2 -3
- package/src/components/Details/Details.tsx +3 -2
- package/src/components/ErrorMessage/ErrorMessage.tsx +3 -2
- package/src/components/ErrorSummary/ErrorSummary.tsx +3 -2
- package/src/components/FeatureHeader/FeatureHeader.stories.tsx +223 -0
- package/src/components/FeatureHeader/FeatureHeader.test.tsx +298 -0
- package/src/components/FeatureHeader/FeatureHeader.tsx +119 -0
- package/src/components/FeatureHeader/index.ts +1 -0
- package/src/components/FeatureHeader/types.ts +13 -0
- package/src/components/FileDownload/FileDownload.test.tsx +1 -5
- package/src/components/FileDownload/FileDownload.tsx +4 -3
- package/src/components/HideThisPage/HideThisPage.test.tsx +12 -1
- package/src/components/HideThisPage/HideThisPage.tsx +5 -4
- package/src/components/InsetText/InsetText.tsx +4 -2
- package/src/components/NotificationBanner/NotificationBanner.test.tsx +10 -0
- package/src/components/NotificationBanner/NotificationBanner.tsx +4 -3
- package/src/components/NotificationPanel/NotificationPanel.tsx +3 -2
- package/src/components/NotificationTag/NotificationTag.stories.tsx +68 -0
- package/src/components/NotificationTag/NotificationTag.test.tsx +70 -0
- package/src/components/NotificationTag/NotificationTag.tsx +32 -0
- package/src/components/NotificationTag/index.ts +1 -0
- package/src/components/NotificationTag/types.ts +5 -0
- package/src/components/PageHeader/PageHeader.tsx +3 -2
- package/src/components/PageMetadata/PageMetadata.tsx +5 -4
- package/src/components/Pagination/Pagination.test.tsx +20 -0
- package/src/components/Pagination/Pagination.tsx +7 -5
- package/src/components/PhaseBanner/PhaseBanner.tsx +3 -2
- package/src/components/Question/Question.tsx +3 -2
- package/src/components/Question/types.ts +2 -2
- package/src/components/RadioButton/RadioButton.test.tsx +30 -0
- package/src/components/RadioButton/RadioButton.tsx +3 -3
- package/src/components/RadioButton/RadioGroup.tsx +3 -2
- package/src/components/SearchFacets/SearchFacets.stories.tsx +1 -1
- package/src/components/SearchFacets/SearchFacets.tsx +3 -2
- package/src/components/SearchResult/SearchResult.stories.tsx +14 -13
- package/src/components/SearchResult/SearchResult.test.tsx +5 -4
- package/src/components/SearchResult/SearchResult.tsx +6 -7
- package/src/components/SearchSort/SearchSort.tsx +3 -2
- package/src/components/Select/Select.test.tsx +42 -0
- package/src/components/Select/Select.tsx +3 -2
- package/src/components/SequentialNavigation/SequentialNavigation.tsx +7 -6
- package/src/components/SideNavigation/SideNavigation.test.tsx +24 -0
- package/src/components/SideNavigation/SideNavigation.tsx +10 -7
- package/src/components/SiteFooter/SiteFooter.tsx +3 -2
- package/src/components/SiteHeader/SiteHeader.test.tsx +29 -16
- package/src/components/SiteHeader/SiteHeader.tsx +1 -1
- package/src/components/SiteNavigation/SiteNavigation.test.tsx +16 -1
- package/src/components/SiteNavigation/SiteNavigation.tsx +9 -4
- package/src/components/SiteSearch/SiteSearch.test.tsx +22 -0
- package/src/components/SiteSearch/SiteSearch.tsx +10 -9
- package/src/components/SiteSearch/types.ts +7 -1
- package/src/components/SkipLinks/SkipLinks.tsx +4 -4
- package/src/components/SummaryCard/SummaryCard.tsx +3 -2
- package/src/components/SummaryList/SummaryList.tsx +4 -4
- package/src/components/Table/Table.test.tsx +36 -0
- package/src/components/Table/Table.tsx +5 -4
- package/src/components/Tabs/Tabs.test.tsx +14 -0
- package/src/components/Tabs/Tabs.tsx +6 -5
- package/src/components/Tag/Tag.tsx +4 -3
- package/src/components/TaskList/TaskList.tsx +5 -4
- package/src/components/TextInput/TextInput.test.tsx +53 -1
- package/src/components/TextInput/TextInput.tsx +12 -7
- package/src/components/Textarea/Textarea.test.tsx +53 -1
- package/src/components/Textarea/Textarea.tsx +5 -4
- package/src/components/WarningText/WarningText.tsx +4 -2
- package/src/hooks/useTracking/useTracking.ts +0 -1
- package/src/images/icons/arrow_upward.tsx +10 -10
- package/src/images/icons/calendar_today.tsx +10 -10
- package/src/images/icons/cancel.tsx +8 -8
- package/src/images/icons/check_circle.tsx +10 -10
- package/src/images/icons/chevron_left.tsx +10 -10
- package/src/images/icons/chevron_right.tsx +10 -10
- package/src/images/icons/close.tsx +10 -10
- package/src/images/icons/description.tsx +10 -10
- package/src/images/icons/double_chevron_left.tsx +8 -8
- package/src/images/icons/double_chevron_right.tsx +8 -8
- package/src/images/icons/error.tsx +10 -10
- package/src/images/icons/expand_less.tsx +10 -10
- package/src/images/icons/expand_more.tsx +10 -10
- package/src/images/icons/list.tsx +13 -13
- package/src/images/icons/menu.tsx +10 -10
- package/src/images/icons/priority_high.tsx +11 -11
- package/src/images/icons/search.tsx +10 -10
- package/src/shared-types.ts +3 -3
- package/static/images/illustration.svg +502 -0
- package/tsconfig.json +0 -3
- package/vite.config.ts +4 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { SequentialNavigationLinkProps, SequentialNavigationProps } from "./types";
|
|
1
2
|
declare const SequentialNavigation: {
|
|
2
|
-
({ ariaLabel, children, className, ...props }:
|
|
3
|
+
({ ariaLabel, children, className, ...props }: SequentialNavigationProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
Next: {
|
|
5
|
-
({ children, href, linkComponent, textLabel }:
|
|
6
|
+
({ children, href, linkComponent, textLabel }: SequentialNavigationLinkProps): import("react").JSX.Element;
|
|
6
7
|
displayName: string;
|
|
7
8
|
};
|
|
8
9
|
Previous: {
|
|
9
|
-
({ children, href, linkComponent, textLabel }:
|
|
10
|
+
({ children, href, linkComponent, textLabel }: SequentialNavigationLinkProps): import("react").JSX.Element;
|
|
10
11
|
displayName: string;
|
|
11
12
|
};
|
|
12
13
|
};
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
3
7
|
const SeqNavLink = ({ children, href, isPrev, linkComponent, textLabel }) => {
|
|
4
|
-
const LINK_CLASSES = [
|
|
8
|
+
const LINK_CLASSES = (0, clsx_1.default)([
|
|
5
9
|
'ds_sequential-nav__button',
|
|
6
10
|
isPrev ? 'ds_sequential-nav__button--left' : 'ds_sequential-nav__button--right'
|
|
7
|
-
]
|
|
8
|
-
const ITEM_CLASSES = [
|
|
11
|
+
]);
|
|
12
|
+
const ITEM_CLASSES = (0, clsx_1.default)([
|
|
9
13
|
'ds_sequential-nav__item',
|
|
10
14
|
isPrev ? 'ds_sequential-nav__item--prev' : 'ds_sequential-nav__item--next'
|
|
11
|
-
]
|
|
15
|
+
]);
|
|
12
16
|
function processChildren(children) {
|
|
13
17
|
const linkInner = <span className="ds_sequential-nav__text" data-label={textLabel}>{children}</span>;
|
|
14
18
|
if (linkComponent) {
|
|
@@ -29,10 +33,10 @@ const PreviousLink = ({ children, href, linkComponent, textLabel = 'Previous' })
|
|
|
29
33
|
return <SeqNavLink href={href} linkComponent={linkComponent} textLabel={textLabel} isPrev>{children}</SeqNavLink>;
|
|
30
34
|
};
|
|
31
35
|
const SequentialNavigation = ({ ariaLabel = 'Article navigation', children, className, ...props }) => {
|
|
32
|
-
return (<nav className={[
|
|
36
|
+
return (<nav className={(0, clsx_1.default)([
|
|
33
37
|
'ds_sequential-nav',
|
|
34
38
|
className
|
|
35
|
-
]
|
|
39
|
+
])} aria-label={ariaLabel} {...props}>
|
|
36
40
|
{children}
|
|
37
41
|
</nav>);
|
|
38
42
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LinkComponent } from "../../shared-types";
|
|
2
|
+
export interface SequentialNavigationLinkProps extends React.AllHTMLAttributes<HTMLDivElement> {
|
|
3
|
+
href: string;
|
|
4
|
+
isPrev?: boolean;
|
|
5
|
+
linkComponent?: LinkComponent;
|
|
6
|
+
textLabel?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SequentialNavigationProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
9
|
+
ariaLabel?: React.AriaAttributes['aria-label'];
|
|
10
|
+
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { SideNavigationItemProps, SideNavigationListProps, SideNavigationProps } from './types';
|
|
1
2
|
declare const SideNavigation: {
|
|
2
|
-
({ ariaLabel, children, className, ...props }:
|
|
3
|
+
({ ariaLabel, children, className, ...props }: SideNavigationProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
Item: {
|
|
5
|
-
({ children, href, isCurrent, linkComponent, title }:
|
|
6
|
+
({ children, href, isCurrent, linkComponent, title }: SideNavigationItemProps): import("react").JSX.Element;
|
|
6
7
|
displayName: string;
|
|
7
8
|
};
|
|
8
9
|
List: {
|
|
9
|
-
({ children, isRoot }:
|
|
10
|
+
({ children, isRoot }: SideNavigationListProps): import("react").JSX.Element;
|
|
10
11
|
displayName: string;
|
|
11
12
|
};
|
|
12
13
|
};
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = require("react");
|
|
7
|
-
// @ts-ignore
|
|
8
7
|
const side_navigation_1 = __importDefault(require("@scottish-government/design-system/src/components/side-navigation/side-navigation"));
|
|
8
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
9
9
|
const SideNavigationList = function ({ children, isRoot }) {
|
|
10
10
|
return (<ul className="ds_side-navigation__list" id={isRoot ? 'side-navigation-root' : undefined}>
|
|
11
11
|
{children}
|
|
@@ -13,10 +13,10 @@ const SideNavigationList = function ({ children, isRoot }) {
|
|
|
13
13
|
};
|
|
14
14
|
const SideNavigationItem = function ({ children, href, isCurrent = false, linkComponent, title }) {
|
|
15
15
|
const LINK_CLASS = 'ds_side-navigation__link';
|
|
16
|
-
return (<li className={[
|
|
16
|
+
return (<li className={(0, clsx_1.default)([
|
|
17
17
|
'ds_side-navigation__item',
|
|
18
18
|
children && 'ds_side-navigation__item--has-children'
|
|
19
|
-
]
|
|
19
|
+
])}>
|
|
20
20
|
{isCurrent ?
|
|
21
21
|
<span className={LINK_CLASS + ' ds_current'}>{title}</span> :
|
|
22
22
|
linkComponent ? linkComponent({ className: LINK_CLASS, href, children: title }) :
|
|
@@ -28,14 +28,17 @@ const SideNavigationItem = function ({ children, href, isCurrent = false, linkCo
|
|
|
28
28
|
const SideNavigation = function ({ ariaLabel = 'Sections', children, className, ...props }) {
|
|
29
29
|
const ref = (0, react_1.useRef)(null);
|
|
30
30
|
(0, react_1.useEffect)(() => {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
/* istanbul ignore else */
|
|
32
|
+
if (ref.current) {
|
|
33
|
+
if (children) {
|
|
34
|
+
new side_navigation_1.default(ref.current).init();
|
|
35
|
+
}
|
|
33
36
|
}
|
|
34
37
|
}, [ref]);
|
|
35
|
-
return (<nav aria-label={ariaLabel} className={[
|
|
38
|
+
return (<nav aria-label={ariaLabel} className={(0, clsx_1.default)([
|
|
36
39
|
'ds_side-navigation',
|
|
37
40
|
className
|
|
38
|
-
]
|
|
41
|
+
])} data-module="ds-side-navigation" ref={ref} {...props}>
|
|
39
42
|
<input type="checkbox" className="fully-hidden js-toggle-side-navigation" id="show-side-navigation" aria-controls="side-navigation-root"/>
|
|
40
43
|
<label className="ds_side-navigation__expand ds_link" htmlFor="show-side-navigation">
|
|
41
44
|
<span className="visually-hidden">Show all</span> Pages in this section
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LinkComponent } from "../../shared-types";
|
|
2
|
+
export interface SideNavigationListProps extends React.AllHTMLAttributes<HTMLUListElement> {
|
|
3
|
+
isRoot?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface SideNavigationItemProps extends React.AllHTMLAttributes<HTMLLIElement> {
|
|
6
|
+
isCurrent?: boolean;
|
|
7
|
+
href: string;
|
|
8
|
+
linkComponent?: LinkComponent;
|
|
9
|
+
title: string;
|
|
10
|
+
}
|
|
11
|
+
export interface SideNavigationProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
12
|
+
ariaLabel?: string;
|
|
13
|
+
}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { SiteFooterLicenseProps, SiteFooterLinkProps, SiteFooterOrgProps, SiteFooterProps } from './types';
|
|
2
3
|
declare const SiteFooter: {
|
|
3
|
-
({ children, className, ...props }:
|
|
4
|
+
({ children, className, ...props }: SiteFooterProps): React.JSX.Element;
|
|
4
5
|
Links: {
|
|
5
|
-
({ children, ...props }:
|
|
6
|
+
({ children, ...props }: React.AllHTMLAttributes<HTMLUListElement>): React.JSX.Element;
|
|
6
7
|
displayName: string;
|
|
7
8
|
};
|
|
8
9
|
Link: {
|
|
9
|
-
({ children, href, linkComponent, ...props }:
|
|
10
|
+
({ children, href, linkComponent, ...props }: SiteFooterLinkProps): React.JSX.Element;
|
|
10
11
|
displayName: string;
|
|
11
12
|
};
|
|
12
13
|
License: {
|
|
13
|
-
({ children, ...props }:
|
|
14
|
+
({ children, ...props }: SiteFooterLicenseProps): React.JSX.Element;
|
|
14
15
|
displayName: string;
|
|
15
16
|
};
|
|
16
17
|
Org: {
|
|
17
|
-
({ href, title, children, ...props }:
|
|
18
|
+
({ href, title, children, ...props }: SiteFooterOrgProps): React.JSX.Element;
|
|
18
19
|
displayName: string;
|
|
19
20
|
};
|
|
20
21
|
displayName: string;
|
|
@@ -38,6 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
40
|
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
41
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
41
42
|
const License = ({ children, ...props }) => {
|
|
42
43
|
return (<div className="ds_site-footer__copyright" {...props}>
|
|
43
44
|
{children}
|
|
@@ -66,7 +67,7 @@ const Link = ({ children, href, linkComponent, ...props }) => {
|
|
|
66
67
|
};
|
|
67
68
|
const Org = ({ href, title, children, ...props }) => {
|
|
68
69
|
children = react_1.Children.map(children, child => {
|
|
69
|
-
|
|
70
|
+
const thisChild = child;
|
|
70
71
|
if (thisChild && ['img', 'svg', 'picture'].includes(thisChild.type)) {
|
|
71
72
|
return react_1.default.cloneElement(thisChild, { className: 'ds_site-footer__org-logo' });
|
|
72
73
|
}
|
|
@@ -81,10 +82,10 @@ const Org = ({ href, title, children, ...props }) => {
|
|
|
81
82
|
</div>);
|
|
82
83
|
};
|
|
83
84
|
const SiteFooter = ({ children, className, ...props }) => {
|
|
84
|
-
return (<footer className={[
|
|
85
|
+
return (<footer className={(0, clsx_1.default)([
|
|
85
86
|
"ds_site-footer",
|
|
86
87
|
className
|
|
87
|
-
]
|
|
88
|
+
])} {...props}>
|
|
88
89
|
<div className="ds_wrapper">
|
|
89
90
|
<div className="ds_site-footer__content">
|
|
90
91
|
{children}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LinkComponent } from "../../shared-types";
|
|
2
|
+
export interface SiteFooterLinkProps extends React.AllHTMLAttributes<HTMLLIElement> {
|
|
3
|
+
href?: string;
|
|
4
|
+
linkComponent?: LinkComponent;
|
|
5
|
+
}
|
|
6
|
+
export interface SiteFooterLicenseProps extends React.AllHTMLAttributes<HTMLDivElement> {
|
|
7
|
+
href?: string;
|
|
8
|
+
logoSrc?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface SiteFooterOrgProps extends React.AllHTMLAttributes<HTMLDivElement> {
|
|
11
|
+
href?: string;
|
|
12
|
+
title: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SiteFooterProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { SiteHeaderBrandProps, SiteHeaderProps } from './types';
|
|
2
3
|
declare const SiteHeader: {
|
|
3
|
-
({ children, ...props }:
|
|
4
|
+
({ children, ...props }: SiteHeaderProps): React.JSX.Element;
|
|
4
5
|
Brand: {
|
|
5
|
-
({ children, homeUrl, linkComponent, siteTitle }:
|
|
6
|
+
({ children, homeUrl, linkComponent, siteTitle }: SiteHeaderBrandProps): React.JSX.Element;
|
|
6
7
|
displayName: string;
|
|
7
8
|
};
|
|
8
9
|
Navigation: {
|
|
9
|
-
({ children }:
|
|
10
|
+
({ children }: React.AllHTMLAttributes<HTMLElement>): React.ReactNode;
|
|
10
11
|
displayName: string;
|
|
11
12
|
};
|
|
12
13
|
Phase: {
|
|
13
|
-
({ children }:
|
|
14
|
+
({ children }: React.AllHTMLAttributes<HTMLElement>): React.ReactNode;
|
|
14
15
|
displayName: string;
|
|
15
16
|
};
|
|
16
17
|
Search: {
|
|
17
|
-
({ children }:
|
|
18
|
+
({ children }: React.AllHTMLAttributes<HTMLElement>): React.ReactNode;
|
|
18
19
|
displayName: string;
|
|
19
20
|
};
|
|
20
21
|
displayName: string;
|
|
@@ -39,7 +39,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
40
|
const Icon_1 = __importDefault(require("../../common/Icon"));
|
|
41
41
|
const SiteNavigation_1 = __importDefault(require("../SiteNavigation"));
|
|
42
|
-
// @ts-ignore
|
|
43
42
|
const site_navigation_1 = __importDefault(require("@scottish-government/design-system/src/components/site-navigation/site-navigation"));
|
|
44
43
|
const Brand = ({ children, homeUrl = '/', linkComponent, siteTitle }) => {
|
|
45
44
|
function processChildren(children) {
|
|
@@ -96,6 +95,7 @@ const SiteHeader = ({ children, ...props }) => {
|
|
|
96
95
|
}
|
|
97
96
|
});
|
|
98
97
|
(0, react_1.useEffect)(() => {
|
|
98
|
+
/* istanbul ignore else */
|
|
99
99
|
if (mobileMenuRef.current) {
|
|
100
100
|
new site_navigation_1.default(mobileMenuRef.current).init();
|
|
101
101
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LinkComponent } from "../../shared-types";
|
|
2
|
+
import { PhaseBannerProps } from "../PhaseBanner/types";
|
|
3
|
+
import { SiteNavigationItemProps } from "../SiteNavigation/types";
|
|
4
|
+
import { SiteSearchProps } from "../SiteSearch/types";
|
|
5
|
+
export interface SiteHeaderBrandProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
6
|
+
homeUrl: string;
|
|
7
|
+
linkComponent?: LinkComponent;
|
|
8
|
+
siteTitle?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface SiteHeaderProps extends React.AllHTMLAttributes<HTMLHeadingElement> {
|
|
11
|
+
logo?: {
|
|
12
|
+
alt?: string;
|
|
13
|
+
href?: string;
|
|
14
|
+
src?: string;
|
|
15
|
+
};
|
|
16
|
+
navigationItems?: SiteNavigationItemProps[];
|
|
17
|
+
phaseBanner?: PhaseBannerProps;
|
|
18
|
+
siteSearch?: SiteSearchProps;
|
|
19
|
+
siteTitle?: string;
|
|
20
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { SiteNavigationItemProps, SiteNavigationProps } from "./types";
|
|
1
2
|
declare const SiteNavigation: {
|
|
2
|
-
({ children, className, ...props }:
|
|
3
|
+
({ children, className, ...props }: SiteNavigationProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
Item: {
|
|
5
|
-
({ children, isCurrent, href, linkComponent }:
|
|
6
|
+
({ children, isCurrent, href, linkComponent }: SiteNavigationItemProps): import("react").JSX.Element;
|
|
6
7
|
displayName: string;
|
|
7
8
|
};
|
|
8
9
|
};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
3
7
|
const Item = ({ children, isCurrent = false, href, linkComponent }) => {
|
|
4
8
|
const classNames = ['ds_site-navigation__link'];
|
|
5
9
|
let ariaCurrent;
|
|
@@ -7,12 +11,16 @@ const Item = ({ children, isCurrent = false, href, linkComponent }) => {
|
|
|
7
11
|
classNames.push('ds_current');
|
|
8
12
|
ariaCurrent = 'page';
|
|
9
13
|
}
|
|
14
|
+
const classNamesString = (0, clsx_1.default)(classNames);
|
|
10
15
|
function processChildren(children) {
|
|
11
16
|
if (linkComponent) {
|
|
12
|
-
return linkComponent({ className:
|
|
17
|
+
return linkComponent({ className: classNamesString, href, children });
|
|
13
18
|
}
|
|
14
19
|
else if (href) {
|
|
15
|
-
return <a href={href} aria-current={ariaCurrent ? ariaCurrent : undefined} className={
|
|
20
|
+
return <a href={href} aria-current={ariaCurrent ? ariaCurrent : undefined} className={classNamesString}>{children}</a>;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return <span className={classNamesString}>{children}</span>;
|
|
16
24
|
}
|
|
17
25
|
}
|
|
18
26
|
return (<li className="ds_site-navigation__item">
|
|
@@ -20,10 +28,10 @@ const Item = ({ children, isCurrent = false, href, linkComponent }) => {
|
|
|
20
28
|
</li>);
|
|
21
29
|
};
|
|
22
30
|
const SiteNavigation = ({ children, className, ...props }) => {
|
|
23
|
-
return (<nav className={[
|
|
31
|
+
return (<nav className={(0, clsx_1.default)([
|
|
24
32
|
'ds_site-navigation',
|
|
25
33
|
className
|
|
26
|
-
]
|
|
34
|
+
])} {...props}>
|
|
27
35
|
<ul className="ds_site-navigation__list">
|
|
28
36
|
{children}
|
|
29
37
|
</ul>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LinkComponent } from '../../shared-types';
|
|
2
|
+
export interface SiteNavigationItemProps extends React.AllHTMLAttributes<HTMLLIElement> {
|
|
3
|
+
isCurrent?: boolean;
|
|
4
|
+
href: string;
|
|
5
|
+
linkComponent?: LinkComponent;
|
|
6
|
+
}
|
|
7
|
+
export interface SiteNavigationProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
8
|
+
ref?: React.RefObject<null>;
|
|
9
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { SiteSearchProps } from './types';
|
|
1
2
|
declare const SiteSearch: {
|
|
2
|
-
({ action, autocompleteEndpoint, autocompleteSuggestionMappingFunction, className, id, method, minLength, name, placeholder, ...props }:
|
|
3
|
+
({ action, autocompleteEndpoint, autocompleteSuggestionMappingFunction, className, id, method, minLength, name, placeholder, ...props }: SiteSearchProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
};
|
|
5
6
|
export default SiteSearch;
|
|
@@ -4,15 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = require("react");
|
|
7
|
-
// @ts-ignore
|
|
8
7
|
const autocomplete_1 = __importDefault(require("@scottish-government/design-system/src/components/autocomplete/autocomplete"));
|
|
9
8
|
const Button_1 = __importDefault(require("../Button"));
|
|
9
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
10
10
|
const SiteSearch = function ({ action = '/search', autocompleteEndpoint, autocompleteSuggestionMappingFunction, className, id = 'site-search', method = 'GET', minLength = 3, name = 'q', placeholder = 'Search', ...props }) {
|
|
11
11
|
const ref = (0, react_1.useRef)(null);
|
|
12
12
|
const hasAutocomplete = !!autocompleteEndpoint;
|
|
13
|
-
|
|
13
|
+
const autocompleteId = hasAutocomplete ? id + '-autocomplete' : '';
|
|
14
14
|
(0, react_1.useEffect)(() => {
|
|
15
|
-
|
|
15
|
+
const autocompleteElement = document.getElementById(autocompleteId);
|
|
16
|
+
if (hasAutocomplete && autocompleteElement && ref.current) {
|
|
16
17
|
const options = {};
|
|
17
18
|
if (minLength) {
|
|
18
19
|
options.minLength = minLength;
|
|
@@ -20,15 +21,15 @@ const SiteSearch = function ({ action = '/search', autocompleteEndpoint, autocom
|
|
|
20
21
|
if (autocompleteSuggestionMappingFunction) {
|
|
21
22
|
options.suggestionMappingFunction = autocompleteSuggestionMappingFunction;
|
|
22
23
|
}
|
|
23
|
-
const autocomplete = new autocomplete_1.default(
|
|
24
|
+
const autocomplete = new autocomplete_1.default(autocompleteElement, autocompleteEndpoint, options);
|
|
24
25
|
autocomplete.init();
|
|
25
26
|
}
|
|
26
27
|
}, [ref, autocompleteEndpoint, autocompleteId, hasAutocomplete, minLength, autocompleteSuggestionMappingFunction]);
|
|
27
|
-
return (<div className={[
|
|
28
|
-
'ds_site-search',
|
|
28
|
+
return (<div className={(0, clsx_1.default)([
|
|
29
|
+
'ds_site-search',
|
|
29
30
|
className,
|
|
30
|
-
hasAutocomplete
|
|
31
|
-
]
|
|
31
|
+
hasAutocomplete && 'ds_autocomplete'
|
|
32
|
+
])} id={autocompleteId ? autocompleteId : undefined} ref={ref} {...props}>
|
|
32
33
|
|
|
33
34
|
<form role="search" className="ds_site-search__form" method={method} action={action}>
|
|
34
35
|
<label className="ds_label visually-hidden" htmlFor={id} id={id + '-label'}>Search</label>
|
|
@@ -36,11 +37,11 @@ const SiteSearch = function ({ action = '/search', autocompleteEndpoint, autocom
|
|
|
36
37
|
{hasAutocomplete && (<div role="status" aria-live="polite" id="autocomplete-status" className="visually-hidden"></div>)}
|
|
37
38
|
|
|
38
39
|
<div className="ds_input__wrapper ds_input__wrapper--has-icon">
|
|
39
|
-
<input aria-autocomplete={hasAutocomplete ? 'list' : undefined} aria-owns={hasAutocomplete ? 'autocomplete-suggestions' : undefined} autoComplete={hasAutocomplete ? 'off' : undefined} className={[
|
|
40
|
+
<input aria-autocomplete={hasAutocomplete ? 'list' : undefined} aria-owns={hasAutocomplete ? 'autocomplete-suggestions' : undefined} autoComplete={hasAutocomplete ? 'off' : undefined} className={(0, clsx_1.default)([
|
|
40
41
|
'ds_input',
|
|
41
42
|
'ds_site-search__input',
|
|
42
|
-
hasAutocomplete
|
|
43
|
-
]
|
|
43
|
+
hasAutocomplete && 'js-autocomplete-input'
|
|
44
|
+
])} id={id} name={name} placeholder={placeholder} required spellCheck="false" type="search"/>
|
|
44
45
|
|
|
45
46
|
<Button_1.default type="submit" icon="Search" isIconOnly>Search</Button_1.default>
|
|
46
47
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type FormMethods = 'GET' | 'POST';
|
|
2
|
+
export type Suggestion = {
|
|
3
|
+
displayText: string;
|
|
4
|
+
isActive: boolean;
|
|
5
|
+
};
|
|
6
|
+
export type SuggestionMappingFunctionProps = (suggestions: object[]) => Suggestion[];
|
|
7
|
+
export interface SiteSearchProps extends React.AllHTMLAttributes<HTMLInputElement> {
|
|
8
|
+
action?: string;
|
|
9
|
+
autocompleteEndpoint?: string;
|
|
10
|
+
autocompleteSuggestionMappingFunction?: SuggestionMappingFunctionProps;
|
|
11
|
+
id: string;
|
|
12
|
+
method?: FormMethods;
|
|
13
|
+
minLength?: number;
|
|
14
|
+
name?: string;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { SkipLinksLinkProps, SkipLinksProps } from './types';
|
|
2
3
|
declare const SkipLinks: {
|
|
3
|
-
({ children, mainContentId, mainLinkText, isStatic, ...props }:
|
|
4
|
+
({ children, mainContentId, mainLinkText, isStatic, ...props }: SkipLinksProps): React.JSX.Element;
|
|
4
5
|
displayName: string;
|
|
5
6
|
Link: {
|
|
6
|
-
({ children, fragmentId }:
|
|
7
|
+
({ children, fragmentId }: SkipLinksLinkProps): React.JSX.Element;
|
|
7
8
|
displayName: string;
|
|
8
9
|
};
|
|
9
10
|
};
|
|
@@ -37,8 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
|
-
// @ts-ignore
|
|
41
40
|
const skip_links_1 = __importDefault(require("@scottish-government/design-system/src/components/skip-links/skip-links"));
|
|
41
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
42
42
|
const Link = ({ children, fragmentId }) => {
|
|
43
43
|
return (<li className="ds_skip-links__item">
|
|
44
44
|
<a href={`#${fragmentId}`} className="ds_skip-links__link">{children}</a>
|
|
@@ -48,10 +48,10 @@ const SkipLinks = ({ children, mainContentId = 'main-content', mainLinkText = 'S
|
|
|
48
48
|
(0, react_1.useEffect)(() => {
|
|
49
49
|
skip_links_1.default.init();
|
|
50
50
|
});
|
|
51
|
-
return (<div className={[
|
|
51
|
+
return (<div className={(0, clsx_1.default)([
|
|
52
52
|
'ds_skip-links',
|
|
53
|
-
isStatic && 'ds_skip-links--static'
|
|
54
|
-
]
|
|
53
|
+
isStatic && 'ds_skip-links--static'
|
|
54
|
+
])} {...props}>
|
|
55
55
|
<ul className="ds_skip-links__list">
|
|
56
56
|
{children ? children : <Link fragmentId={mainContentId}>{mainLinkText}</Link>}
|
|
57
57
|
</ul>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface SkipLinksLinkProps extends React.AllHTMLAttributes<HTMLLIElement> {
|
|
2
|
+
fragmentId: string;
|
|
3
|
+
}
|
|
4
|
+
export interface SkipLinksProps extends React.AllHTMLAttributes<HTMLDivElement> {
|
|
5
|
+
mainContentId?: string;
|
|
6
|
+
mainLinkText?: string;
|
|
7
|
+
isStatic?: boolean;
|
|
8
|
+
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { SummaryCardProps } from './types';
|
|
3
|
+
import { ActionLinkProps } from '../../common/ActionLink/types';
|
|
2
4
|
declare const SummaryCard: {
|
|
3
|
-
({ children, className, headingLevel, title, ...props }:
|
|
5
|
+
({ children, className, headingLevel, title, ...props }: SummaryCardProps): React.JSX.Element;
|
|
4
6
|
displayName: string;
|
|
5
7
|
Action: {
|
|
6
|
-
({ children, describedby, href, linkComponent, onclick }:
|
|
8
|
+
({ children, describedby, href, linkComponent, onclick }: ActionLinkProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
|
|
7
9
|
displayName: string;
|
|
8
10
|
};
|
|
9
11
|
};
|
|
@@ -40,9 +40,10 @@ const react_1 = __importStar(require("react"));
|
|
|
40
40
|
const ActionLink_1 = __importDefault(require("../../common/ActionLink"));
|
|
41
41
|
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
42
42
|
const WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
|
|
43
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
43
44
|
const SummaryCard = ({ children, className, headingLevel = 'h3', title, ...props }) => {
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
const actions = [];
|
|
46
|
+
const remainingChildren = [];
|
|
46
47
|
const describedById = (0, react_1.useId)();
|
|
47
48
|
react_1.Children.forEach(children, (child) => {
|
|
48
49
|
const thisChild = child;
|
|
@@ -53,10 +54,10 @@ const SummaryCard = ({ children, className, headingLevel = 'h3', title, ...props
|
|
|
53
54
|
remainingChildren.push(thisChild);
|
|
54
55
|
}
|
|
55
56
|
});
|
|
56
|
-
return (<div className={[
|
|
57
|
+
return (<div className={(0, clsx_1.default)([
|
|
57
58
|
'ds_summary-card',
|
|
58
59
|
className
|
|
59
|
-
]
|
|
60
|
+
])} {...props}>
|
|
60
61
|
<div className="ds_summary-card__header">
|
|
61
62
|
<WrapperTag_1.default className="ds_summary-card__header-title" id={describedById} tagName={headingLevel}>{title}</WrapperTag_1.default>
|
|
62
63
|
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { SummaryListItemProps, SummaryListProps } from './types';
|
|
3
|
+
import { ActionLinkProps } from '../../common/ActionLink/types';
|
|
2
4
|
declare const SummaryList: {
|
|
3
|
-
({ children, className, isBorderless, ...props }:
|
|
5
|
+
({ children, className, isBorderless, ...props }: SummaryListProps): React.JSX.Element;
|
|
4
6
|
Action: {
|
|
5
|
-
({ children, describedby, href, linkComponent, onclick }:
|
|
7
|
+
({ children, describedby, href, linkComponent, onclick }: ActionLinkProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
|
|
6
8
|
displayName: string;
|
|
7
9
|
};
|
|
8
10
|
Item: {
|
|
9
|
-
({ children, title }:
|
|
11
|
+
({ children, title }: SummaryListItemProps): React.JSX.Element;
|
|
10
12
|
displayName: string;
|
|
11
13
|
};
|
|
12
14
|
Value: {
|
|
13
|
-
({ children }:
|
|
15
|
+
({ children }: React.AllHTMLAttributes<HTMLElement>): React.JSX.Element;
|
|
14
16
|
displayName: string;
|
|
15
17
|
};
|
|
16
18
|
displayName: string;
|
|
@@ -39,9 +39,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
40
|
const ActionLink_1 = __importDefault(require("../../common/ActionLink"));
|
|
41
41
|
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
42
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
42
43
|
const Item = ({ children, title }) => {
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
const values = [];
|
|
45
|
+
const actions = [];
|
|
45
46
|
const describedById = (0, react_1.useId)();
|
|
46
47
|
react_1.Children.forEach(children, (child) => {
|
|
47
48
|
const thisChild = child;
|
|
@@ -75,11 +76,11 @@ const Value = ({ children }) => {
|
|
|
75
76
|
return (<q className="ds_summary-list__answer">{children}</q>);
|
|
76
77
|
};
|
|
77
78
|
const SummaryList = ({ children, className, isBorderless, ...props }) => {
|
|
78
|
-
return (<ol className={[
|
|
79
|
+
return (<ol className={(0, clsx_1.default)([
|
|
79
80
|
'ds_summary-list',
|
|
80
81
|
isBorderless && 'ds_summary-list--no-border',
|
|
81
82
|
className
|
|
82
|
-
]
|
|
83
|
+
])} {...props}>
|
|
83
84
|
{children}
|
|
84
85
|
</ol>);
|
|
85
86
|
};
|