@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,5 +1,6 @@
|
|
|
1
|
+
import { ButtonProps } from './types';
|
|
1
2
|
declare const Button: {
|
|
2
|
-
({ buttonStyle, children, className, icon, hasLinkStyle, href, isIconLeft, isIconOnly, isSmall, type, width, ...props }:
|
|
3
|
+
({ buttonStyle, children, className, icon, hasLinkStyle, href, isIconLeft, isIconOnly, isSmall, type, width, ...props }: ButtonProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
};
|
|
5
6
|
export default Button;
|
|
@@ -6,21 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const Icon_1 = __importDefault(require("../../common/Icon"));
|
|
7
7
|
const ScreenReaderText_1 = __importDefault(require("../../common/ScreenReaderText"));
|
|
8
8
|
const WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
|
|
9
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
9
10
|
const Button = ({ buttonStyle, children, className, icon, hasLinkStyle, href, isIconLeft, isIconOnly = false, isSmall, type = 'button', width, ...props }) => {
|
|
10
11
|
// determine which HTML tag to use
|
|
11
12
|
let tagName = 'button';
|
|
12
13
|
if (href) {
|
|
13
14
|
tagName = 'a';
|
|
14
15
|
}
|
|
15
|
-
return (<WrapperTag_1.default tagName={tagName} className={[
|
|
16
|
+
return (<WrapperTag_1.default tagName={tagName} className={(0, clsx_1.default)([
|
|
16
17
|
!hasLinkStyle ? 'ds_button' : 'ds_link',
|
|
17
18
|
width && `ds_button--${width}`,
|
|
18
19
|
buttonStyle && `ds_button--${buttonStyle}`,
|
|
19
20
|
isSmall && 'ds_button--small',
|
|
20
|
-
(icon && !isIconOnly)
|
|
21
|
+
(icon && !isIconOnly) && 'ds_button--has-icon',
|
|
21
22
|
isIconLeft && 'ds_button--has-icon--left',
|
|
22
23
|
className
|
|
23
|
-
]
|
|
24
|
+
])} href={href} {...(tagName === 'button' ? { type: type } : {})} {...props}>
|
|
24
25
|
{isIconOnly ? <ScreenReaderText_1.default>{children}</ScreenReaderText_1.default> : children}
|
|
25
26
|
|
|
26
27
|
{icon && <Icon_1.default icon={icon}/>}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ButtonGroupProps } from "./types";
|
|
1
2
|
declare const ButtonGroup: {
|
|
2
|
-
({ children, className, isInline, ...props }:
|
|
3
|
+
({ children, className, isInline, isWrap, ...props }: ButtonGroupProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
};
|
|
5
6
|
export default ButtonGroup;
|
|
@@ -1,11 +1,16 @@
|
|
|
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 });
|
|
3
|
-
const
|
|
4
|
-
|
|
6
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
7
|
+
const ButtonGroup = ({ children, className, isInline, isWrap, ...props }) => {
|
|
8
|
+
return (<div className={(0, clsx_1.default)([
|
|
5
9
|
"ds_button-group",
|
|
6
|
-
isInline
|
|
10
|
+
isInline && "ds_button-group--inline",
|
|
11
|
+
isWrap && "ds_button-group--wrap",
|
|
7
12
|
className
|
|
8
|
-
]
|
|
13
|
+
])} {...props}>
|
|
9
14
|
{children}
|
|
10
15
|
</div>);
|
|
11
16
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IconName } from '../../shared-types';
|
|
2
|
+
type ButtonStyle = 'primary' | 'secondary';
|
|
3
|
+
type ButtonType = 'submit' | 'reset' | 'button';
|
|
4
|
+
type ButtonWidth = 'fluid' | 'fixed' | 'max';
|
|
5
|
+
export interface ButtonProps extends React.AllHTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
hasLinkStyle?: boolean;
|
|
7
|
+
href?: string;
|
|
8
|
+
icon?: IconName;
|
|
9
|
+
isIconLeft?: boolean;
|
|
10
|
+
isIconOnly?: boolean;
|
|
11
|
+
isSmall?: boolean;
|
|
12
|
+
buttonStyle?: ButtonStyle;
|
|
13
|
+
type?: ButtonType;
|
|
14
|
+
width?: ButtonWidth;
|
|
15
|
+
}
|
|
16
|
+
export interface ButtonGroupProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
17
|
+
isInline?: boolean;
|
|
18
|
+
isWrap?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CardProps, CardHeaderProps, CardMediaProps, CardStatusTagProps } from "./types";
|
|
2
|
+
declare const Card: {
|
|
3
|
+
({ children, className, hasSecondaryBackground, headingLevel, href, isAdaptive, isHorizontal, isHorizontalSmall, linkComponent, tagName, ...props }: CardProps): import("react").JSX.Element;
|
|
4
|
+
Content: {
|
|
5
|
+
({ children }: React.AllHTMLAttributes<HTMLElement>): import("react").JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
};
|
|
8
|
+
ContentFooter: {
|
|
9
|
+
({ children }: React.AllHTMLAttributes<HTMLElement>): import("react").JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
ContentHeader: {
|
|
13
|
+
({ children, description, title }: CardHeaderProps): import("react").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
ContentMain: {
|
|
17
|
+
({ children }: React.AllHTMLAttributes<HTMLElement>): import("react").JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
Metadata: {
|
|
21
|
+
({ children }: React.AllHTMLAttributes<HTMLElement>): import("react").JSX.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
Media: {
|
|
25
|
+
({ children, isCover, mediaWidth, ratio, ...props }: CardMediaProps): import("react").JSX.Element;
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
StatusTag: {
|
|
29
|
+
({ children, colour, isHidden, ...props }: CardStatusTagProps): import("react").JSX.Element;
|
|
30
|
+
displayName: string;
|
|
31
|
+
};
|
|
32
|
+
displayName: string;
|
|
33
|
+
};
|
|
34
|
+
export default Card;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
8
|
+
const WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
|
|
9
|
+
const AspectBox_1 = __importDefault(require("../AspectBox"));
|
|
10
|
+
const PageMetadata_1 = __importDefault(require("../PageMetadata"));
|
|
11
|
+
const Tag_1 = __importDefault(require("../Tag"));
|
|
12
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
13
|
+
const CardSettingsContext = (0, react_1.createContext)({
|
|
14
|
+
headingLevel: 'h2',
|
|
15
|
+
href: undefined,
|
|
16
|
+
linkComponent: undefined
|
|
17
|
+
});
|
|
18
|
+
const CardContent = ({ children }) => {
|
|
19
|
+
return (<div className="ds_card__content">
|
|
20
|
+
{children}
|
|
21
|
+
</div>);
|
|
22
|
+
};
|
|
23
|
+
const CardContentHeader = ({ children, description, title }) => {
|
|
24
|
+
const headingLevel = (0, react_1.useContext)(CardSettingsContext).headingLevel;
|
|
25
|
+
const href = (0, react_1.useContext)(CardSettingsContext).href;
|
|
26
|
+
const linkComponent = (0, react_1.useContext)(CardSettingsContext).linkComponent;
|
|
27
|
+
const LINK_CLASS = 'ds_card__link ds_card__link--cover';
|
|
28
|
+
function getLinkElement(children) {
|
|
29
|
+
let linkElement;
|
|
30
|
+
if (linkComponent) {
|
|
31
|
+
linkElement = linkComponent({ className: LINK_CLASS, href, children });
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
linkElement = <a href={href} className={LINK_CLASS}>{children}</a>;
|
|
35
|
+
}
|
|
36
|
+
return linkElement;
|
|
37
|
+
}
|
|
38
|
+
return (<div className="ds_card__content-header">
|
|
39
|
+
{children}
|
|
40
|
+
<WrapperTag_1.default className="ds_card__title" tagName={headingLevel}>
|
|
41
|
+
<ConditionalWrapper_1.default condition={typeof href !== 'undefined'} wrapper={(children) => getLinkElement(children)}>
|
|
42
|
+
{title}
|
|
43
|
+
{description && <span className="visually-hidden">, {description}</span>}
|
|
44
|
+
</ConditionalWrapper_1.default>
|
|
45
|
+
</WrapperTag_1.default>
|
|
46
|
+
</div>);
|
|
47
|
+
};
|
|
48
|
+
const CardStatusTag = ({ children, colour, isHidden, ...props }) => {
|
|
49
|
+
return (<Tag_1.default aria-hidden={isHidden ? "true" : undefined} colour={colour} {...props}>
|
|
50
|
+
{children}
|
|
51
|
+
</Tag_1.default>);
|
|
52
|
+
};
|
|
53
|
+
const CardContentMain = ({ children }) => {
|
|
54
|
+
return (<div className="ds_card__content-main">
|
|
55
|
+
{children}
|
|
56
|
+
</div>);
|
|
57
|
+
};
|
|
58
|
+
const CardContentFooter = ({ children }) => {
|
|
59
|
+
return (<div className="ds_card__content-footer">
|
|
60
|
+
{children}
|
|
61
|
+
</div>);
|
|
62
|
+
};
|
|
63
|
+
const CardMetadata = ({ children }) => {
|
|
64
|
+
return (<PageMetadata_1.default isInline>
|
|
65
|
+
{children}
|
|
66
|
+
</PageMetadata_1.default>);
|
|
67
|
+
};
|
|
68
|
+
const CardMedia = ({ children, isCover, mediaWidth, ratio, ...props }) => {
|
|
69
|
+
return (<div className={(0, clsx_1.default)([
|
|
70
|
+
'ds_card__media',
|
|
71
|
+
isCover && ratio && 'ds_card__media--cover',
|
|
72
|
+
(mediaWidth && (mediaWidth === 'narrow' || mediaWidth === 'wide')) && 'ds_card__media--' + mediaWidth
|
|
73
|
+
])} {...props}>
|
|
74
|
+
<ConditionalWrapper_1.default condition={ratio !== undefined} wrapper={(children) => <AspectBox_1.default ratio={ratio}>
|
|
75
|
+
{children}
|
|
76
|
+
</AspectBox_1.default>}>
|
|
77
|
+
{children}
|
|
78
|
+
</ConditionalWrapper_1.default>
|
|
79
|
+
</div>);
|
|
80
|
+
};
|
|
81
|
+
const Card = ({ children, className, hasSecondaryBackground = false, headingLevel, href, isAdaptive = false, isHorizontal = false, isHorizontalSmall = false, linkComponent, tagName = 'div', ...props }) => {
|
|
82
|
+
return (<CardSettingsContext value={{
|
|
83
|
+
headingLevel: headingLevel || 'h2',
|
|
84
|
+
href: href,
|
|
85
|
+
linkComponent: linkComponent
|
|
86
|
+
}}>
|
|
87
|
+
<ConditionalWrapper_1.default condition={isAdaptive} wrapper={(children) => <div className="ds_card-container">
|
|
88
|
+
{children}
|
|
89
|
+
</div>}>
|
|
90
|
+
<WrapperTag_1.default tagName={tagName} className={(0, clsx_1.default)([
|
|
91
|
+
'ds_card',
|
|
92
|
+
href && 'ds_card--navigation',
|
|
93
|
+
hasSecondaryBackground && 'ds_card--background-secondary',
|
|
94
|
+
isHorizontal && 'ds_card--horizontal',
|
|
95
|
+
isHorizontalSmall && 'ds_card--horizontal-small',
|
|
96
|
+
className
|
|
97
|
+
])} {...props}>
|
|
98
|
+
{children}
|
|
99
|
+
</WrapperTag_1.default>
|
|
100
|
+
</ConditionalWrapper_1.default>
|
|
101
|
+
</CardSettingsContext>);
|
|
102
|
+
};
|
|
103
|
+
Card.Content = CardContent;
|
|
104
|
+
Card.ContentFooter = CardContentFooter;
|
|
105
|
+
Card.ContentHeader = CardContentHeader;
|
|
106
|
+
Card.ContentMain = CardContentMain;
|
|
107
|
+
Card.Metadata = CardMetadata;
|
|
108
|
+
Card.Media = CardMedia;
|
|
109
|
+
Card.StatusTag = CardStatusTag;
|
|
110
|
+
Card.displayName = 'Card';
|
|
111
|
+
CardContent.displayName = 'Card.Content';
|
|
112
|
+
CardContentFooter.displayName = 'Card.ContentFooter';
|
|
113
|
+
CardContentHeader.displayName = 'Card.ContentHeader';
|
|
114
|
+
CardContentMain.displayName = 'Card.ContentMain';
|
|
115
|
+
CardMetadata.displayName = 'Card.Metadata';
|
|
116
|
+
CardMedia.displayName = 'Card.Media';
|
|
117
|
+
CardStatusTag.displayName = 'Card.StatusTag';
|
|
118
|
+
exports.default = Card;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './Card';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var Card_1 = require("./Card");
|
|
8
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Card_1).default; } });
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { HeadingLevel, LinkComponent } from '../../shared-types';
|
|
2
|
+
import { TagProps } from '../Tag/types';
|
|
3
|
+
export interface CardProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
4
|
+
className?: string;
|
|
5
|
+
hasSecondaryBackground?: boolean;
|
|
6
|
+
headingLevel?: HeadingLevel;
|
|
7
|
+
href?: string;
|
|
8
|
+
isAdaptive?: boolean;
|
|
9
|
+
isHorizontal?: boolean;
|
|
10
|
+
isHorizontalSmall?: boolean;
|
|
11
|
+
linkComponent?: LinkComponent;
|
|
12
|
+
tagName?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CardHeaderProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
15
|
+
className?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
title: string;
|
|
18
|
+
}
|
|
19
|
+
export interface CardMediaProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
20
|
+
isCover?: boolean;
|
|
21
|
+
mediaWidth?: 'narrow' | 'wide';
|
|
22
|
+
ratio?: 'square' | '1:1' | '4:3' | '16:9' | '21:9';
|
|
23
|
+
}
|
|
24
|
+
export interface CardStatusTagProps extends TagProps {
|
|
25
|
+
isHidden?: boolean;
|
|
26
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { CategoryItemProps } from "./types";
|
|
1
2
|
declare const CategoryItem: {
|
|
2
|
-
({ children, className, headingLevel, href, linkComponent, tagName, title, ...props }:
|
|
3
|
+
({ children, className, headingLevel, href, linkComponent, tagName, title, ...props }: CategoryItemProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
};
|
|
5
6
|
export default CategoryItem;
|
|
@@ -5,20 +5,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const ConditionalWrapper_1 = __importDefault(require("../../common/ConditionalWrapper"));
|
|
7
7
|
const WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
|
|
8
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
8
9
|
const CategoryItem = ({ children, className, headingLevel = 'h2', href, linkComponent, tagName = 'div', title, ...props }) => {
|
|
9
10
|
const LINK_CLASS = 'ds_category-item__link';
|
|
10
11
|
function getLinkElement(children) {
|
|
12
|
+
let linkElement;
|
|
11
13
|
if (linkComponent) {
|
|
12
|
-
|
|
14
|
+
linkElement = linkComponent({ className: LINK_CLASS, href, children });
|
|
13
15
|
}
|
|
14
|
-
else
|
|
15
|
-
|
|
16
|
+
else {
|
|
17
|
+
linkElement = <a href={href} className={LINK_CLASS}>{children}</a>;
|
|
16
18
|
}
|
|
19
|
+
return linkElement;
|
|
17
20
|
}
|
|
18
|
-
return (<WrapperTag_1.default tagName={tagName} className={[
|
|
21
|
+
return (<WrapperTag_1.default tagName={tagName} className={(0, clsx_1.default)([
|
|
19
22
|
'ds_category-item',
|
|
20
23
|
className
|
|
21
|
-
]
|
|
24
|
+
])} {...props}>
|
|
22
25
|
<WrapperTag_1.default className="ds_category-item__title" tagName={headingLevel}>
|
|
23
26
|
<ConditionalWrapper_1.default condition={typeof href !== 'undefined'} wrapper={(children) => getLinkElement(children)}>
|
|
24
27
|
{title}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HeadingLevel, LinkComponent } from '../../shared-types';
|
|
2
|
+
export interface CategoryItemProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
3
|
+
className?: string;
|
|
4
|
+
headingLevel?: HeadingLevel;
|
|
5
|
+
href?: string;
|
|
6
|
+
linkComponent?: LinkComponent;
|
|
7
|
+
tagName?: string;
|
|
8
|
+
title: string;
|
|
9
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { CategoryListProps } from './types';
|
|
2
3
|
declare const CategoryList: {
|
|
3
|
-
({ children, className, isGrid, isOrdered, ...props }:
|
|
4
|
+
({ children, className, isGrid, isOrdered, ...props }: CategoryListProps): React.JSX.Element;
|
|
4
5
|
displayName: string;
|
|
5
6
|
};
|
|
6
7
|
export default CategoryList;
|
|
@@ -38,16 +38,17 @@ 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 WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
|
|
41
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
41
42
|
const CategoryList = ({ children, className, isGrid, isOrdered, ...props }) => {
|
|
42
43
|
function processChild(child) {
|
|
43
44
|
const thisChild = child;
|
|
44
45
|
return react_1.default.cloneElement(thisChild, { tagName: 'li' });
|
|
45
46
|
}
|
|
46
|
-
return (<WrapperTag_1.default tagName={isOrdered ? 'ol' : 'ul'} className={[
|
|
47
|
+
return (<WrapperTag_1.default tagName={isOrdered ? 'ol' : 'ul'} className={(0, clsx_1.default)([
|
|
47
48
|
'ds_category-list',
|
|
48
49
|
isGrid && 'ds_category-list--grid',
|
|
49
50
|
className
|
|
50
|
-
]
|
|
51
|
+
])} {...props}>
|
|
51
52
|
{react_1.Children.map(children, child => processChild(child))}
|
|
52
53
|
</WrapperTag_1.default>);
|
|
53
54
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { CheckboxProps } from './types';
|
|
1
2
|
declare const Checkbox: {
|
|
2
|
-
({ checked, hintText, id, isSmall, isExclusive, label, name, onBlur, onChange }:
|
|
3
|
+
({ checked, hintText, id, isSmall, isExclusive, label, name, onBlur, onChange }: CheckboxProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
};
|
|
5
6
|
export default Checkbox;
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = require("react");
|
|
7
7
|
const context_1 = require("../../utils/context");
|
|
8
8
|
const HintText_1 = __importDefault(require("../../common/HintText"));
|
|
9
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
9
10
|
const Checkbox = ({ checked, hintText, id, isSmall, isExclusive, label, name, onBlur, onChange }) => {
|
|
10
11
|
const hintTextId = `hint-text-${id}`;
|
|
11
12
|
const behaviour = isExclusive && 'exclusive';
|
|
@@ -22,14 +23,14 @@ const Checkbox = ({ checked, hintText, id, isSmall, isExclusive, label, name, on
|
|
|
22
23
|
isSmall = isSmall || (0, react_1.useContext)(context_1.CheckboxRadioContext).isSmall;
|
|
23
24
|
return (<>
|
|
24
25
|
{isExclusive && <p className="ds_checkbox-separator">or</p>}
|
|
25
|
-
<div className={[
|
|
26
|
+
<div className={(0, clsx_1.default)([
|
|
26
27
|
'ds_checkbox',
|
|
27
28
|
isSmall && 'ds_checkbox--small'
|
|
28
|
-
]
|
|
29
|
+
])}>
|
|
29
30
|
|
|
30
31
|
<input aria-describedby={hintText ? hintTextId : undefined} className="ds_checkbox__input" data-behaviour={behaviour} defaultChecked={!!checked} id={id} name={name || id} onBlur={handleBlur} onChange={handleChange} type="checkbox"/>
|
|
31
32
|
<label className="ds_checkbox__label" htmlFor={id}>{label}</label>
|
|
32
|
-
{hintText && <HintText_1.default id={hintTextId}
|
|
33
|
+
{hintText && <HintText_1.default id={hintTextId}>{hintText}</HintText_1.default>}
|
|
33
34
|
</div>
|
|
34
35
|
</>);
|
|
35
36
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { CheckboxGroupProps } from './types';
|
|
2
3
|
export declare const CheckboxGroup: {
|
|
3
|
-
({ children, className, isSmall, ...props }:
|
|
4
|
+
({ children, className, isSmall, ...props }: CheckboxGroupProps): React.JSX.Element;
|
|
4
5
|
displayName: string;
|
|
5
6
|
};
|
|
6
7
|
export default CheckboxGroup;
|
|
@@ -39,20 +39,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.CheckboxGroup = void 0;
|
|
40
40
|
const react_1 = __importStar(require("react"));
|
|
41
41
|
const context_1 = require("../../utils/context");
|
|
42
|
-
|
|
43
|
-
const
|
|
42
|
+
const checkboxes_1 = __importDefault(require("@scottish-government/design-system/src/components/checkbox/checkboxes"));
|
|
43
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
44
44
|
const CheckboxGroup = ({ children, className, isSmall, ...props }) => {
|
|
45
45
|
const ref = (0, react_1.useRef)(null);
|
|
46
46
|
(0, react_1.useEffect)(() => {
|
|
47
|
+
/* istanbul ignore else */
|
|
47
48
|
if (ref.current) {
|
|
48
49
|
new checkboxes_1.default(ref.current).init();
|
|
49
50
|
}
|
|
50
51
|
}, [ref]);
|
|
51
|
-
return (<div className={[
|
|
52
|
+
return (<div className={(0, clsx_1.default)([
|
|
52
53
|
'ds_checkboxes',
|
|
53
54
|
'ds_field-group',
|
|
54
55
|
className
|
|
55
|
-
]
|
|
56
|
+
])} data-module="ds-checkboxes" ref={ref} {...props}>
|
|
56
57
|
<context_1.CheckboxRadioContext value={{ isSmall: !!isSmall, name: '' }}>
|
|
57
58
|
{children}
|
|
58
59
|
</context_1.CheckboxRadioContext>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CheckboxRadioBase } from '../../shared-types';
|
|
2
|
+
export interface CheckboxGroupProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
3
|
+
isSmall?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface CheckboxProps extends CheckboxRadioBase<HTMLInputElement> {
|
|
6
|
+
isExclusive?: boolean;
|
|
7
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ConfirmationMessageProps } from './types';
|
|
1
2
|
declare const ConfirmationMessage: {
|
|
2
|
-
({ ariaLive, children, className, headingLevel, title, ...props }:
|
|
3
|
+
({ ariaLive, children, className, headingLevel, title, ...props }: ConfirmationMessageProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
};
|
|
5
6
|
export default ConfirmationMessage;
|
|
@@ -5,11 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Icon_1 = __importDefault(require("../../common/Icon"));
|
|
7
7
|
const WrapperTag_1 = __importDefault(require("../../common/WrapperTag"));
|
|
8
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
8
9
|
const ConfirmationMessage = ({ ariaLive = 'polite', children, className, headingLevel = 'h3', title, ...props }) => {
|
|
9
|
-
return (<div aria-live={ariaLive} className={[
|
|
10
|
+
return (<div aria-live={ariaLive} className={(0, clsx_1.default)([
|
|
10
11
|
'ds_confirmation-message',
|
|
11
12
|
className
|
|
12
|
-
]
|
|
13
|
+
])} {...props}>
|
|
13
14
|
<Icon_1.default className="ds_confirmation-message__icon" icon="CheckCircle" iconSize="24"/>
|
|
14
15
|
|
|
15
16
|
<WrapperTag_1.default className="ds_confirmation-message__title" tagName={headingLevel}>
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { ContentsNavItemProps, ContentsNavProps } from './types';
|
|
2
3
|
declare const ContentsNav: {
|
|
3
|
-
({ ariaLabel, children, className, title, ...props }:
|
|
4
|
+
({ ariaLabel, children, className, title, ...props }: ContentsNavProps): React.JSX.Element;
|
|
4
5
|
displayName: string;
|
|
5
6
|
Item: {
|
|
6
|
-
({ children, isCurrent, href, linkComponent }:
|
|
7
|
+
({ children, isCurrent, href, linkComponent }: ContentsNavItemProps): React.JSX.Element;
|
|
7
8
|
displayName: string;
|
|
8
9
|
};
|
|
9
10
|
};
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
7
8
|
const ContentsNavItem = ({ children, isCurrent, href, linkComponent }) => {
|
|
8
9
|
const classNames = ['ds_contents-nav__link'];
|
|
9
10
|
let ariaCurrent;
|
|
@@ -11,15 +12,16 @@ const ContentsNavItem = ({ children, isCurrent, href, linkComponent }) => {
|
|
|
11
12
|
classNames.push('ds_current');
|
|
12
13
|
ariaCurrent = 'page';
|
|
13
14
|
}
|
|
15
|
+
const classNamesString = (0, clsx_1.default)(classNames);
|
|
14
16
|
function processChildren(children) {
|
|
15
17
|
if (linkComponent) {
|
|
16
|
-
return linkComponent({ className:
|
|
18
|
+
return linkComponent({ className: classNamesString, href, children });
|
|
17
19
|
}
|
|
18
20
|
else if (href) {
|
|
19
|
-
return <a href={href} aria-current={ariaCurrent ? ariaCurrent : undefined} className={
|
|
21
|
+
return <a href={href} aria-current={ariaCurrent ? ariaCurrent : undefined} className={classNamesString}>{children}</a>;
|
|
20
22
|
}
|
|
21
23
|
else {
|
|
22
|
-
return <span aria-current={ariaCurrent ? ariaCurrent : undefined} className={
|
|
24
|
+
return <span aria-current={ariaCurrent ? ariaCurrent : undefined} className={classNamesString}>{children}</span>;
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
27
|
return (<li className="ds_contents-nav__item">
|
|
@@ -27,10 +29,10 @@ const ContentsNavItem = ({ children, isCurrent, href, linkComponent }) => {
|
|
|
27
29
|
</li>);
|
|
28
30
|
};
|
|
29
31
|
const ContentsNav = ({ ariaLabel = 'Pages in this section', children, className, title = 'Contents', ...props }) => {
|
|
30
|
-
return (<nav aria-label={ariaLabel} className={[
|
|
32
|
+
return (<nav aria-label={ariaLabel} className={(0, clsx_1.default)([
|
|
31
33
|
'ds_contents-nav',
|
|
32
34
|
className
|
|
33
|
-
]
|
|
35
|
+
])} {...props}>
|
|
34
36
|
<h2 className="ds_contents-nav__title">{title}</h2>
|
|
35
37
|
|
|
36
38
|
<ul className="ds_contents-nav__list">
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LinkComponent } from "../../shared-types";
|
|
2
|
+
export interface ContentsNavItemProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
3
|
+
isCurrent?: boolean;
|
|
4
|
+
linkComponent?: LinkComponent;
|
|
5
|
+
}
|
|
6
|
+
export interface ContentsNavProps extends React.AllHTMLAttributes<HTMLElement> {
|
|
7
|
+
ariaLabel: React.AriaAttributes['aria-label'];
|
|
8
|
+
title: string;
|
|
9
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { AbstractNotificationBannerProps } from '../../common/AbstractNotificationBanner/types';
|
|
1
2
|
declare const CookieBanner: {
|
|
2
|
-
({ children, className, title, ...props }:
|
|
3
|
+
({ children, className, title, ...props }: AbstractNotificationBannerProps): import("react").JSX.Element;
|
|
3
4
|
displayName: string;
|
|
4
5
|
Buttons: {
|
|
5
|
-
({ children }:
|
|
6
|
+
({ children }: import("../../common/AbstractNotificationBanner/types").AbstractNotificationBannerButtonsProps): import("react").JSX.Element;
|
|
6
7
|
displayName: string;
|
|
7
8
|
};
|
|
8
9
|
};
|
|
@@ -3,15 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("react");
|
|
6
7
|
const AbstractNotificationBanner_1 = __importDefault(require("../../common/AbstractNotificationBanner"));
|
|
7
|
-
const
|
|
8
|
+
const cookie_notification_1 = __importDefault(require("@scottish-government/design-system/src/components/cookie-notification/cookie-notification"));
|
|
9
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
10
|
+
const CookieBanner = ({ children, className, title = 'Information', ...props }) => {
|
|
11
|
+
const ref = (0, react_1.useRef)(null);
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
/* istanbul ignore else */
|
|
14
|
+
if (ref.current) {
|
|
15
|
+
new cookie_notification_1.default(ref.current).init();
|
|
16
|
+
}
|
|
17
|
+
}, [ref]);
|
|
8
18
|
return (<>
|
|
9
|
-
<AbstractNotificationBanner_1.default className={[
|
|
19
|
+
<AbstractNotificationBanner_1.default className={(0, clsx_1.default)([
|
|
10
20
|
'ds_notification--large',
|
|
11
21
|
'ds_notification--cookie',
|
|
12
22
|
'js-initial-cookie-content',
|
|
13
23
|
className
|
|
14
|
-
]
|
|
24
|
+
])} data-module="ds-cookie-notification" ref={ref} title={title} {...props}>
|
|
15
25
|
{children}
|
|
16
26
|
</AbstractNotificationBanner_1.default>
|
|
17
27
|
</>);
|