@digigov/ui 2.0.0-8e254888 → 2.0.0-a32ad9b2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/Footer/Footer.stories/index.js +49 -1
- package/app/Footer/Footer.stories.d.ts +43 -1
- package/app/Footer/Footer.stories.js.map +3 -3
- package/app/Footer/FooterLink/index.js +17 -0
- package/app/Footer/FooterLink/package.json +6 -0
- package/app/Footer/FooterLink.d.ts +7 -0
- package/app/Footer/FooterLink.js.map +7 -0
- package/app/Footer/index.d.ts +1 -1
- package/app/Footer/index.js +1 -1
- package/app/Footer/index.js.map +1 -1
- package/app/Header/Header.stories/index.js +53 -1
- package/app/Header/Header.stories.d.ts +50 -1
- package/app/Header/Header.stories.js.map +3 -3
- package/app/Header/HeaderLogo/index.js +12 -2
- package/app/Header/HeaderLogo.d.ts +6 -2
- package/app/Header/HeaderLogo.js.map +3 -3
- package/app/Header/HeaderSecondaryLogo/index.js +9 -1
- package/app/Header/HeaderSecondaryLogo.d.ts +6 -2
- package/app/Header/HeaderSecondaryLogo.js.map +3 -3
- package/app/Header/HeaderTitle/index.js +10 -2
- package/app/Header/HeaderTitle.d.ts +6 -2
- package/app/Header/HeaderTitle.js.map +3 -3
- package/app/Modal/hooks/index.js +2 -6
- package/app/Modal/hooks.d.ts +2 -2
- package/app/Modal/hooks.js.map +2 -2
- package/app/Modal/index.web/index.js +5 -5
- package/app/Modal/index.web.js.map +2 -2
- package/app/OutdatedBrowserBanner/index.d.ts +1 -0
- package/app/OutdatedBrowserBanner/index.js.map +2 -2
- package/app/PhaseBannerHeader/index.d.ts +1 -1
- package/app/PhaseBannerHeader/index.js.map +2 -2
- package/app/QrCodeScanner/index.js.map +2 -2
- package/app/Skeleton/Skeleton.stories/index.js +28 -0
- package/app/Skeleton/Skeleton.stories.d.ts +56 -0
- package/app/Skeleton/Skeleton.stories.js.map +2 -2
- package/cjs/app/Footer/Footer.stories/index.js +37 -2
- package/cjs/app/Footer/Footer.stories.js.map +4 -4
- package/cjs/app/Footer/FooterLink/index.js +50 -0
- package/cjs/app/Footer/FooterLink.js.map +7 -0
- package/cjs/app/Footer/index.js +3 -3
- package/cjs/app/Footer/index.js.map +2 -2
- package/cjs/app/Header/Header.stories/index.js +51 -2
- package/cjs/app/Header/Header.stories.js.map +4 -4
- package/cjs/app/Header/HeaderLogo/index.js +13 -4
- package/cjs/app/Header/HeaderLogo.js.map +3 -3
- package/cjs/app/Header/HeaderSecondaryLogo/index.js +12 -4
- package/cjs/app/Header/HeaderSecondaryLogo.js.map +3 -3
- package/cjs/app/Header/HeaderTitle/index.js +11 -4
- package/cjs/app/Header/HeaderTitle.js.map +3 -3
- package/cjs/app/Modal/hooks/index.js +2 -6
- package/cjs/app/Modal/hooks.js.map +2 -2
- package/cjs/app/Modal/index.web/index.js +5 -5
- package/cjs/app/Modal/index.web.js.map +2 -2
- package/cjs/app/OutdatedBrowserBanner/index.js.map +2 -2
- package/cjs/app/PhaseBannerHeader/index.js.map +2 -2
- package/cjs/app/QrCodeScanner/index.js.map +2 -2
- package/cjs/app/Skeleton/Skeleton.stories/index.js +30 -1
- package/cjs/app/Skeleton/Skeleton.stories.js.map +2 -2
- package/cjs/content/Accordion/Accordion.stories/index.js +54 -2
- package/cjs/content/Accordion/Accordion.stories.js.map +4 -4
- package/cjs/content/Accordion/hooks.js.map +1 -1
- package/cjs/content/Blockquote/Blockquote.stories/index.js +20 -1
- package/cjs/content/Blockquote/Blockquote.stories.js.map +2 -2
- package/cjs/content/Card/Card.stories/index.js +78 -2
- package/cjs/content/Card/Card.stories.js.map +4 -4
- package/cjs/content/Chip/Chip.stories/index.js +24 -1
- package/cjs/content/Chip/Chip.stories.js.map +2 -2
- package/cjs/content/List/List.stories/index.js +40 -2
- package/cjs/content/List/List.stories.js.map +4 -4
- package/cjs/content/Table/Table.stories/index.js +157 -2
- package/cjs/content/Table/Table.stories.js.map +4 -4
- package/cjs/feedback/CopyToClipboard/CopyToClipboard.stories/index.js +61 -3
- package/cjs/feedback/CopyToClipboard/CopyToClipboard.stories.js.map +4 -4
- package/cjs/feedback/ErrorSummary/ErrorSummary.stories/index.js +42 -3
- package/cjs/feedback/ErrorSummary/ErrorSummary.stories.js.map +4 -4
- package/cjs/feedback/NotificationBanner/NotificationBanner.stories/index.js +36 -1
- package/cjs/feedback/NotificationBanner/NotificationBanner.stories.js.map +2 -2
- package/cjs/feedback/PhaseBanner/PhaseBanner.stories/index.js +27 -3
- package/cjs/feedback/PhaseBanner/PhaseBanner.stories.js.map +4 -4
- package/cjs/feedback/WarningText/WarningText.stories/index.js +24 -1
- package/cjs/feedback/WarningText/WarningText.stories.js.map +2 -2
- package/cjs/form/AutoComplete/AutoComplete.stories/index.js +75 -0
- package/cjs/form/AutoComplete/AutoComplete.stories.js.map +4 -4
- package/cjs/form/AutoComplete/Status/index.js.map +2 -2
- package/cjs/form/AutoComplete/index.js.map +2 -2
- package/cjs/form/Button/Button.stories/index.js +44 -13
- package/cjs/form/Button/Button.stories.js.map +3 -3
- package/cjs/form/Button/ButtonLink/index.js +13 -4
- package/cjs/form/Button/ButtonLink.js.map +3 -3
- package/cjs/form/Button/CallToAction/index.js +11 -4
- package/cjs/form/Button/CallToAction.js.map +3 -3
- package/cjs/form/Button/__stories__/Primary/index.js +18 -1
- package/cjs/form/Button/__stories__/Primary.js.map +2 -2
- package/cjs/form/Checkbox/Checkbox.stories/index.js +113 -2
- package/cjs/form/Checkbox/Checkbox.stories.js.map +4 -4
- package/cjs/form/DateInputContainer/DateInputContainer.stories/index.js +77 -2
- package/cjs/form/DateInputContainer/DateInputContainer.stories.js.map +4 -4
- package/cjs/form/ErrorMessage/ErrorMessage.stories/index.js +26 -1
- package/cjs/form/ErrorMessage/ErrorMessage.stories.js.map +4 -4
- package/cjs/form/RadioContainer/RadioContainer.stories/index.js +115 -2
- package/cjs/form/RadioContainer/RadioContainer.stories.js.map +4 -4
- package/cjs/form/SelectContainer/SelectContainer.stories/index.js +79 -2
- package/cjs/form/SelectContainer/SelectContainer.stories.js.map +4 -4
- package/cjs/form/SingleCharacterInputs/SingleCharacterInput.stories/index.js +93 -2
- package/cjs/form/SingleCharacterInputs/SingleCharacterInput.stories.js.map +4 -4
- package/cjs/form/TextArea/TextArea.stories/index.js +88 -2
- package/cjs/form/TextArea/TextArea.stories.js.map +4 -4
- package/cjs/form/TextInput/TextInput.stories/index.js +94 -0
- package/cjs/form/TextInput/TextInput.stories.js.map +4 -4
- package/cjs/govgr/GovGRLogo/index.js +14 -4
- package/cjs/govgr/GovGRLogo/index.js.map +3 -3
- package/cjs/layouts/Stack/__stories__/AlignItems/index.js +2 -2
- package/cjs/layouts/Stack/__stories__/AlignItems.js.map +3 -3
- package/cjs/layouts/Stack/__stories__/Default/index.js +2 -2
- package/cjs/layouts/Stack/__stories__/Default.js.map +3 -3
- package/cjs/layouts/Stack/__stories__/JustifyContent/index.js +2 -2
- package/cjs/layouts/Stack/__stories__/JustifyContent.js.map +3 -3
- package/cjs/layouts/Stack/__stories__/NoWrap/index.js +2 -2
- package/cjs/layouts/Stack/__stories__/NoWrap.js.map +3 -3
- package/cjs/layouts/Stack/__stories__/Row/index.js +2 -2
- package/cjs/layouts/Stack/__stories__/Row.js.map +3 -3
- package/cjs/layouts/Stack/__stories__/Spacing/index.js +2 -2
- package/cjs/layouts/Stack/__stories__/Spacing.js.map +3 -3
- package/cjs/layouts/Stack/index.js +6 -0
- package/cjs/layouts/Stack/index.js.map +2 -2
- package/cjs/lazy/index.js +13 -2
- package/cjs/lazy.js.map +2 -2
- package/cjs/navigation/BackLink/index.js +13 -4
- package/cjs/navigation/BackLink/index.js.map +3 -3
- package/cjs/navigation/Breadcrumbs/BreadcrumbsListItemLink/index.js +48 -0
- package/cjs/navigation/Breadcrumbs/BreadcrumbsListItemLink.js.map +7 -0
- package/cjs/navigation/Breadcrumbs/index.js +2 -2
- package/cjs/navigation/Breadcrumbs/index.js.map +2 -2
- package/cjs/navigation/Drawer/hooks/index.js +2 -6
- package/cjs/navigation/Drawer/hooks.js.map +2 -2
- package/cjs/navigation/Link/index.js +6 -2
- package/cjs/navigation/Link/index.js.map +2 -2
- package/cjs/navigation/NavList/NavListAuto/index.js +7 -13
- package/cjs/navigation/NavList/NavListAuto/index.js.map +3 -3
- package/cjs/navigation/NavList/NavListItemAction/index.js +66 -0
- package/cjs/navigation/NavList/NavListItemAction.js.map +7 -0
- package/cjs/navigation/NavList/NavListItemLink/index.js +48 -0
- package/cjs/navigation/NavList/NavListItemLink.js.map +7 -0
- package/cjs/navigation/NavList/index.js +4 -4
- package/cjs/navigation/NavList/index.js.map +2 -2
- package/cjs/navigation/Pagination/hooks/index.js +2 -2
- package/cjs/navigation/Pagination/hooks.js.map +2 -2
- package/cjs/navigation/Tabs/__stories__/Default/index.js +1 -2
- package/cjs/navigation/Tabs/__stories__/Default.js.map +2 -2
- package/cjs/navigation/Tabs/__stories__/UsingAccordion/index.js +7 -8
- package/cjs/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
- package/cjs/navigation/Tabs/hooks.js.map +1 -1
- package/cjs/registry/index.js +99 -91
- package/cjs/registry.js.map +2 -2
- package/cjs/typography/CodeBlock/index.js +1 -2
- package/cjs/typography/CodeBlock/index.js.map +2 -2
- package/cjs/utils/hooks/useDebounce/index.js +1 -1
- package/cjs/utils/hooks/useDebounce.js.map +2 -2
- package/content/Accordion/Accordion.stories/index.js +58 -1
- package/content/Accordion/Accordion.stories.d.ts +79 -1
- package/content/Accordion/Accordion.stories.js.map +3 -3
- package/content/Accordion/hooks.js.map +1 -1
- package/content/Blockquote/Blockquote.stories/index.js +18 -0
- package/content/Blockquote/Blockquote.stories.d.ts +27 -0
- package/content/Blockquote/Blockquote.stories.js.map +2 -2
- package/content/Card/Card.stories/index.js +81 -1
- package/content/Card/Card.stories.d.ts +126 -1
- package/content/Card/Card.stories.js.map +3 -3
- package/content/Chip/Chip.stories/index.js +22 -0
- package/content/Chip/Chip.stories.d.ts +36 -0
- package/content/Chip/Chip.stories.js.map +2 -2
- package/content/List/List.stories/index.js +38 -1
- package/content/List/List.stories.d.ts +51 -1
- package/content/List/List.stories.js.map +3 -3
- package/content/Table/Table.stories/index.js +164 -1
- package/content/Table/Table.stories.d.ts +124 -1
- package/content/Table/Table.stories.js.map +3 -3
- package/feedback/CopyToClipboard/CopyToClipboard.stories/index.js +58 -1
- package/feedback/CopyToClipboard/CopyToClipboard.stories.d.ts +81 -1
- package/feedback/CopyToClipboard/CopyToClipboard.stories.js.map +3 -3
- package/feedback/ErrorSummary/ErrorSummary.stories/index.js +39 -1
- package/feedback/ErrorSummary/ErrorSummary.stories.d.ts +42 -1
- package/feedback/ErrorSummary/ErrorSummary.stories.js.map +3 -3
- package/feedback/NotificationBanner/NotificationBanner.stories/index.js +34 -0
- package/feedback/NotificationBanner/NotificationBanner.stories.d.ts +60 -0
- package/feedback/NotificationBanner/NotificationBanner.stories.js.map +2 -2
- package/feedback/PhaseBanner/PhaseBanner.stories/index.js +28 -1
- package/feedback/PhaseBanner/PhaseBanner.stories.d.ts +30 -1
- package/feedback/PhaseBanner/PhaseBanner.stories.js.map +3 -3
- package/feedback/WarningText/WarningText.stories/index.js +22 -0
- package/feedback/WarningText/WarningText.stories.d.ts +36 -0
- package/feedback/WarningText/WarningText.stories.js.map +2 -2
- package/form/AutoComplete/AutoComplete.stories/index.js +74 -0
- package/form/AutoComplete/AutoComplete.stories.d.ts +82 -0
- package/form/AutoComplete/AutoComplete.stories.js.map +3 -3
- package/form/AutoComplete/Status/index.d.ts +1 -1
- package/form/AutoComplete/Status/index.js.map +2 -2
- package/form/AutoComplete/index.d.ts +1 -1
- package/form/AutoComplete/index.js.map +2 -2
- package/form/Button/Button.stories/index.js +43 -3
- package/form/Button/Button.stories.d.ts +59 -2
- package/form/Button/Button.stories.js.map +2 -2
- package/form/Button/ButtonLink/index.js +12 -2
- package/form/Button/ButtonLink.d.ts +6 -2
- package/form/Button/ButtonLink.js.map +3 -3
- package/form/Button/CallToAction/index.js +10 -2
- package/form/Button/CallToAction.d.ts +6 -2
- package/form/Button/CallToAction.js.map +3 -3
- package/form/Button/__stories__/Primary/index.js +18 -1
- package/form/Button/__stories__/Primary.d.ts +8 -1
- package/form/Button/__stories__/Primary.js.map +2 -2
- package/form/Checkbox/Checkbox.stories/index.js +115 -1
- package/form/Checkbox/Checkbox.stories.d.ts +166 -1
- package/form/Checkbox/Checkbox.stories.js.map +3 -3
- package/form/DateInputContainer/DateInputContainer.stories/index.js +82 -1
- package/form/DateInputContainer/DateInputContainer.stories.d.ts +141 -1
- package/form/DateInputContainer/DateInputContainer.stories.js.map +3 -3
- package/form/ErrorMessage/ErrorMessage.stories/index.js +24 -0
- package/form/ErrorMessage/ErrorMessage.stories.d.ts +33 -0
- package/form/ErrorMessage/ErrorMessage.stories.js.map +3 -3
- package/form/RadioContainer/RadioContainer.stories/index.js +117 -1
- package/form/RadioContainer/RadioContainer.stories.d.ts +174 -1
- package/form/RadioContainer/RadioContainer.stories.js.map +3 -3
- package/form/SelectContainer/SelectContainer.stories/index.js +80 -1
- package/form/SelectContainer/SelectContainer.stories.d.ts +135 -1
- package/form/SelectContainer/SelectContainer.stories.js.map +3 -3
- package/form/SingleCharacterInputs/SingleCharacterInput.stories/index.js +98 -1
- package/form/SingleCharacterInputs/SingleCharacterInput.stories.d.ts +108 -1
- package/form/SingleCharacterInputs/SingleCharacterInput.stories.js.map +3 -3
- package/form/TextArea/TextArea.stories/index.js +86 -1
- package/form/TextArea/TextArea.stories.d.ts +117 -1
- package/form/TextArea/TextArea.stories.js.map +3 -3
- package/form/TextInput/TextInput.stories/index.js +93 -0
- package/form/TextInput/TextInput.stories.d.ts +118 -0
- package/form/TextInput/TextInput.stories.js.map +3 -3
- package/govgr/GovGRLogo/index.d.ts +6 -2
- package/govgr/GovGRLogo/index.js +11 -1
- package/govgr/GovGRLogo/index.js.map +3 -3
- package/index.js +1 -1
- package/layouts/Stack/__stories__/AlignItems/index.js +1 -1
- package/layouts/Stack/__stories__/AlignItems.js.map +2 -2
- package/layouts/Stack/__stories__/Default/index.js +1 -1
- package/layouts/Stack/__stories__/Default.js.map +2 -2
- package/layouts/Stack/__stories__/JustifyContent/index.js +1 -1
- package/layouts/Stack/__stories__/JustifyContent.js.map +2 -2
- package/layouts/Stack/__stories__/NoWrap/index.js +1 -1
- package/layouts/Stack/__stories__/NoWrap.js.map +2 -2
- package/layouts/Stack/__stories__/Row/index.js +1 -1
- package/layouts/Stack/__stories__/Row.js.map +2 -2
- package/layouts/Stack/__stories__/Spacing/index.js +1 -1
- package/layouts/Stack/__stories__/Spacing.js.map +2 -2
- package/layouts/Stack/index.d.ts +1 -0
- package/layouts/Stack/index.js +1 -0
- package/layouts/Stack/index.js.map +2 -2
- package/lazy/index.js +13 -2
- package/navigation/BackLink/index.d.ts +6 -2
- package/navigation/BackLink/index.js +12 -2
- package/navigation/BackLink/index.js.map +3 -3
- package/navigation/Breadcrumbs/BreadcrumbsListItemLink/index.js +15 -0
- package/navigation/Breadcrumbs/BreadcrumbsListItemLink/package.json +6 -0
- package/navigation/Breadcrumbs/BreadcrumbsListItemLink.d.ts +7 -0
- package/navigation/Breadcrumbs/BreadcrumbsListItemLink.js.map +7 -0
- package/navigation/Breadcrumbs/index.d.ts +1 -1
- package/navigation/Breadcrumbs/index.js +1 -1
- package/navigation/Breadcrumbs/index.js.map +1 -1
- package/navigation/Drawer/hooks/index.js +2 -6
- package/navigation/Drawer/hooks.js.map +2 -2
- package/navigation/Link/index.js +6 -2
- package/navigation/Link/index.js.map +2 -2
- package/navigation/NavList/NavListAuto/index.js +10 -8
- package/navigation/NavList/NavListAuto/index.js.map +2 -2
- package/navigation/NavList/NavListItemAction/index.js +37 -0
- package/navigation/NavList/NavListItemAction/package.json +6 -0
- package/navigation/NavList/NavListItemAction.d.ts +27 -0
- package/navigation/NavList/NavListItemAction.js.map +7 -0
- package/navigation/NavList/NavListItemLink/index.js +15 -0
- package/navigation/NavList/NavListItemLink/package.json +6 -0
- package/navigation/NavList/NavListItemLink.d.ts +7 -0
- package/navigation/NavList/NavListItemLink.js.map +7 -0
- package/navigation/NavList/index.d.ts +2 -2
- package/navigation/NavList/index.js +2 -2
- package/navigation/NavList/index.js.map +2 -2
- package/navigation/Pagination/hooks/index.js +2 -2
- package/navigation/Pagination/hooks.js.map +2 -2
- package/navigation/Tabs/__stories__/Default/index.js +1 -2
- package/navigation/Tabs/__stories__/Default.js.map +2 -2
- package/navigation/Tabs/__stories__/UsingAccordion/index.js +7 -8
- package/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
- package/navigation/Tabs/hooks.d.ts +1 -1
- package/navigation/Tabs/hooks.js.map +1 -1
- package/package.json +7 -7
- package/registry/index.js +99 -91
- package/src/app/BannerContainer/index.test.tsx +4 -0
- package/src/app/Footer/Footer.stories.jsx +179 -0
- package/src/app/Footer/FooterLink.tsx +20 -0
- package/src/app/Footer/index.test.tsx +4 -0
- package/src/app/Footer/index.tsx +1 -1
- package/src/app/Footer/interaction.test.tsx +4 -0
- package/src/app/Header/Header.stories.jsx +102 -0
- package/src/app/Header/HeaderLogo.tsx +18 -2
- package/src/app/Header/HeaderSecondaryLogo.tsx +20 -2
- package/src/app/Header/HeaderTitle.tsx +20 -2
- package/src/app/Header/index.test.tsx +4 -0
- package/src/app/Header/interaction.test.tsx +8 -0
- package/src/app/Loader/index.test.tsx +4 -0
- package/src/app/Masthead/index.test.tsx +4 -0
- package/src/app/Masthead/interaction.test.tsx +4 -0
- package/src/app/Modal/hooks.ts +8 -8
- package/src/app/Modal/index.test.tsx +4 -0
- package/src/app/Modal/index.web.tsx +5 -7
- package/src/app/Modal/interaction.test.tsx +12 -0
- package/src/app/NotFound/index.test.tsx +4 -0
- package/src/app/OutdatedBrowserBanner/index.tsx +1 -1
- package/src/app/Panel/index.test.tsx +4 -0
- package/src/app/PhaseBannerHeader/index.test.tsx +4 -0
- package/src/app/PhaseBannerHeader/index.tsx +1 -1
- package/src/app/QrCodeScanner/index.tsx +0 -1
- package/src/app/QrCodeViewer/index.test.tsx +4 -0
- package/src/app/Skeleton/Skeleton.stories.js +30 -0
- package/src/app/Skeleton/index.test.tsx +4 -0
- package/src/content/Accordion/Accordion.stories.jsx +86 -0
- package/src/content/Accordion/hooks.ts +1 -1
- package/src/content/Accordion/index.test.tsx +4 -0
- package/src/content/Accordion/interaction.test.tsx +4 -0
- package/src/content/Blockquote/Blockquote.stories.js +20 -0
- package/src/content/Blockquote/index.test.tsx +4 -0
- package/src/content/Card/Card.stories.jsx +118 -0
- package/src/content/Card/index.test.tsx +4 -0
- package/src/content/Card/interaction.test.tsx +4 -0
- package/src/content/Chip/Chip.stories.js +22 -0
- package/src/content/Chip/index.test.tsx +4 -0
- package/src/content/Details/index.test.tsx +4 -0
- package/src/content/Details/interaction.test.tsx +4 -0
- package/src/content/List/List.stories.jsx +60 -0
- package/src/content/List/__snapshots__/index.spec.tsx.snap +13 -3
- package/src/content/List/index.test.tsx +4 -0
- package/src/content/Markdown/index.test.tsx +4 -0
- package/src/content/SafeHTML/index.test.tsx +4 -0
- package/src/content/StepNav/index.test.tsx +4 -0
- package/src/content/StepNav/interaction.test.tsx +4 -0
- package/src/content/SummaryList/index.test.tsx +4 -0
- package/src/content/SummaryList/interaction.test.tsx +4 -0
- package/src/content/Table/Table.stories.jsx +216 -0
- package/src/content/Table/index.test.tsx +4 -0
- package/src/content/Table/interaction.test.tsx +8 -0
- package/src/content/TaskList/index.test.tsx +4 -0
- package/src/content/Timeline/index.test.tsx +4 -0
- package/src/doc.mdx +49 -0
- package/src/feedback/CopyToClipboard/CopyToClipboard.stories.jsx +70 -0
- package/src/feedback/CopyToClipboard/doc.mdx +4 -2
- package/src/feedback/CopyToClipboard/index.test.tsx +4 -0
- package/src/feedback/CopyToClipboard/interaction.test.tsx +12 -0
- package/src/feedback/ErrorSummary/ErrorSummary.stories.jsx +67 -0
- package/src/feedback/ErrorSummary/__snapshots__/index.spec.tsx.snap +13 -3
- package/src/feedback/ErrorSummary/index.test.tsx +4 -0
- package/src/feedback/ErrorSummary/interaction.test.tsx +4 -0
- package/src/feedback/NotificationBanner/NotificationBanner.stories.js +36 -0
- package/src/feedback/NotificationBanner/__snapshots__/index.spec.tsx.snap +24 -14
- package/src/feedback/NotificationBanner/index.test.tsx +4 -0
- package/src/feedback/NotificationBanner/interaction.test.tsx +8 -0
- package/src/feedback/PhaseBanner/PhaseBanner.stories.jsx +47 -0
- package/src/feedback/PhaseBanner/index.test.tsx +4 -0
- package/src/feedback/PhaseBanner/interaction.test.tsx +4 -0
- package/src/feedback/WarningText/WarningText.stories.js +24 -0
- package/src/feedback/WarningText/__snapshots__/index.spec.tsx.snap +13 -3
- package/src/feedback/WarningText/index.test.tsx +4 -0
- package/src/form/AutoComplete/AutoComplete.stories.jsx +91 -0
- package/src/form/AutoComplete/Status/index.tsx +1 -1
- package/src/form/AutoComplete/index.test.tsx +4 -0
- package/src/form/AutoComplete/index.tsx +1 -1
- package/src/form/AutoComplete/interaction.test.tsx +4 -0
- package/src/form/Button/Button.stories.js +42 -2
- package/src/form/Button/ButtonLink.tsx +18 -2
- package/src/form/Button/CallToAction.tsx +20 -2
- package/src/form/Button/__stories__/Primary.tsx +24 -2
- package/src/form/Button/index.test.tsx +4 -0
- package/src/form/Button/interaction.test.tsx +20 -0
- package/src/form/Checkbox/Checkbox.stories.jsx +150 -0
- package/src/form/Checkbox/index.test.tsx +4 -0
- package/src/form/Checkbox/interaction.test.tsx +8 -0
- package/src/form/DateInputContainer/DateInputContainer.stories.jsx +115 -0
- package/src/form/DateInputContainer/index.test.tsx +4 -0
- package/src/form/DateInputContainer/interaction.test.tsx +8 -0
- package/src/form/ErrorMessage/ErrorMessage.stories.jsx +42 -0
- package/src/form/ErrorMessage/index.test.tsx +4 -0
- package/src/form/FileUpload/index.test.tsx +4 -0
- package/src/form/RadioContainer/RadioContainer.stories.jsx +157 -0
- package/src/form/RadioContainer/index.test.tsx +4 -0
- package/src/form/RadioContainer/interaction.test.tsx +8 -0
- package/src/form/SearchContainer/index.test.tsx +4 -0
- package/src/form/SelectContainer/SelectContainer.stories.jsx +107 -0
- package/src/form/SelectContainer/index.test.tsx +4 -0
- package/src/form/SelectContainer/interaction.test.tsx +4 -0
- package/src/form/SingleCharacterInputs/SingleCharacterInput.stories.jsx +130 -0
- package/src/form/SingleCharacterInputs/index.test.tsx +4 -0
- package/src/form/TextArea/TextArea.stories.jsx +117 -0
- package/src/form/TextArea/index.test.tsx +4 -0
- package/src/form/TextArea/interaction.test.tsx +12 -0
- package/src/form/TextInput/TextInput.stories.jsx +125 -0
- package/src/form/TextInput/index.test.tsx +4 -0
- package/src/form/TextInput/interaction.test.tsx +8 -0
- package/src/govgr/GovGRLogo/index.tsx +17 -2
- package/src/layouts/Basic/__snapshots__/index.spec.tsx.snap +3 -3
- package/src/layouts/Basic/index.test.tsx +4 -0
- package/src/layouts/Grid/index.test.tsx +4 -0
- package/src/layouts/Screen/index.test.tsx +4 -0
- package/src/layouts/Stack/__stories__/AlignItems.tsx +1 -1
- package/src/layouts/Stack/__stories__/Default.tsx +1 -1
- package/src/layouts/Stack/__stories__/JustifyContent.tsx +1 -1
- package/src/layouts/Stack/__stories__/NoWrap.tsx +1 -1
- package/src/layouts/Stack/__stories__/Row.tsx +1 -1
- package/src/layouts/Stack/__stories__/Spacing.tsx +1 -1
- package/src/layouts/Stack/index.test.tsx +4 -0
- package/src/layouts/Stack/index.tsx +1 -0
- package/src/lazy.js +13 -2
- package/src/navigation/BackLink/doc.mdx +1 -1
- package/src/navigation/BackLink/index.test.tsx +4 -0
- package/src/navigation/BackLink/index.tsx +19 -2
- package/src/navigation/BackLink/interaction.test.tsx +4 -0
- package/src/navigation/BackToTopLink/index.test.tsx +4 -0
- package/src/navigation/Breadcrumbs/BreadcrumbsListItemLink.tsx +22 -0
- package/src/navigation/Breadcrumbs/index.test.tsx +4 -0
- package/src/navigation/Breadcrumbs/index.tsx +1 -1
- package/src/navigation/Breadcrumbs/interaction.test.tsx +12 -0
- package/src/navigation/Drawer/hooks.ts +6 -6
- package/src/navigation/Drawer/index.test.tsx +4 -0
- package/src/navigation/Dropdown/doc.mdx +13 -7
- package/src/navigation/Dropdown/index.test.tsx +4 -0
- package/src/navigation/Dropdown/interaction.test.tsx +20 -0
- package/src/navigation/Link/index.test.tsx +4 -0
- package/src/navigation/Link/index.tsx +10 -5
- package/src/navigation/Link/interaction.test.tsx +12 -0
- package/src/navigation/NavList/NavListAuto/index.tsx +10 -8
- package/src/navigation/NavList/NavListItemAction.tsx +69 -0
- package/src/navigation/NavList/NavListItemLink.tsx +22 -0
- package/src/navigation/NavList/__snapshots__/index.spec.tsx.snap +13 -3
- package/src/navigation/NavList/doc.mdx +17 -15
- package/src/navigation/NavList/index.test.tsx +4 -0
- package/src/navigation/NavList/index.tsx +3 -2
- package/src/navigation/NavList/interaction.test.tsx +12 -0
- package/src/navigation/Pagination/doc.mdx +13 -8
- package/src/navigation/Pagination/hooks.ts +2 -2
- package/src/navigation/Pagination/index.test.tsx +4 -0
- package/src/navigation/Pagination/interaction.test.tsx +4 -0
- package/src/navigation/SkipLink/index.test.tsx +4 -0
- package/src/navigation/Tabs/__stories__/Default.tsx +109 -39
- package/src/navigation/Tabs/__stories__/UsingAccordion.tsx +121 -31
- package/src/navigation/Tabs/hooks.ts +2 -2
- package/src/navigation/Tabs/index.test.tsx +4 -0
- package/src/navigation/Tabs/interaction.test.tsx +6 -0
- package/src/registry.js +99 -91
- package/src/typography/CodeBlock/doc.mdx +1 -1
- package/src/typography/CodeBlock/index.test.tsx +4 -0
- package/src/typography/CodeBlock/index.tsx +14 -12
- package/src/typography/Heading/index.test.tsx +4 -0
- package/src/typography/HeadingCaption/index.test.tsx +4 -0
- package/src/typography/Hint/index.test.tsx +4 -0
- package/src/typography/NormalText/index.test.tsx +4 -0
- package/src/typography/Paragraph/index.test.tsx +4 -0
- package/src/utils/Base/doc.mdx +56 -3
- package/src/utils/VisuallyHidden/index.test.tsx +4 -0
- package/src/utils/hooks/useDebounce.ts +1 -1
- package/typography/CodeBlock/index.d.ts +1 -1
- package/typography/CodeBlock/index.js +1 -2
- package/typography/CodeBlock/index.js.map +2 -2
- package/utils/hooks/useDebounce/index.js +1 -1
- package/utils/hooks/useDebounce.js.map +2 -2
- package/utils/hooks/useLatest.d.ts +1 -1
- package/src/app/Footer/Footer.stories.js +0 -18
- package/src/app/Header/Header.stories.js +0 -20
- package/src/content/Accordion/Accordion.stories.js +0 -14
- package/src/content/Card/Card.stories.js +0 -21
- package/src/content/List/List.stories.js +0 -15
- package/src/content/Table/Table.stories.js +0 -27
- package/src/feedback/CopyToClipboard/CopyToClipboard.stories.js +0 -9
- package/src/feedback/ErrorSummary/ErrorSummary.stories.js +0 -16
- package/src/feedback/PhaseBanner/PhaseBanner.stories.js +0 -11
- package/src/form/AutoComplete/AutoComplete.stories.js +0 -16
- package/src/form/Checkbox/Checkbox.stories.js +0 -19
- package/src/form/DateInputContainer/DateInputContainer.stories.js +0 -14
- package/src/form/ErrorMessage/ErrorMessage.stories.js +0 -12
- package/src/form/RadioContainer/RadioContainer.stories.js +0 -19
- package/src/form/SelectContainer/SelectContainer.stories.js +0 -13
- package/src/form/SingleCharacterInputs/SingleCharacterInput.stories.js +0 -13
- package/src/form/TextArea/TextArea.stories.js +0 -17
- package/src/form/TextInput/TextInput.stories.js +0 -19
|
@@ -1,9 +1,82 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import AutoComplete from "@digigov/ui/form/AutoComplete";
|
|
3
|
+
import { suggest } from "@digigov/ui/form/AutoComplete/utils";
|
|
2
4
|
var AutoComplete_stories_default = {
|
|
3
5
|
title: "Digigov UI/form/AutoComplete",
|
|
4
6
|
component: AutoComplete,
|
|
5
7
|
displayName: "AutoComplete"
|
|
6
8
|
};
|
|
9
|
+
const WithControls = {
|
|
10
|
+
render: (args) => {
|
|
11
|
+
return /* @__PURE__ */ React.createElement(
|
|
12
|
+
AutoComplete,
|
|
13
|
+
{
|
|
14
|
+
key: args.multiple ? "multiple" : "single",
|
|
15
|
+
id: args.id,
|
|
16
|
+
width: args.width,
|
|
17
|
+
multiple: args.multiple,
|
|
18
|
+
autoselect: args.autoselect,
|
|
19
|
+
minLength: args.minLength,
|
|
20
|
+
source: suggest
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
},
|
|
24
|
+
args: {
|
|
25
|
+
width: "full",
|
|
26
|
+
id: "autocomplete-id",
|
|
27
|
+
multiple: false,
|
|
28
|
+
autoselect: false,
|
|
29
|
+
minLength: 2,
|
|
30
|
+
numberOfSelected: 2,
|
|
31
|
+
defaultValue: ""
|
|
32
|
+
},
|
|
33
|
+
argTypes: {
|
|
34
|
+
width: {
|
|
35
|
+
control: {
|
|
36
|
+
type: "select",
|
|
37
|
+
options: ["25%", "33.3%", "50%", "66.6%", "75%", "100%", "full"]
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
id: {
|
|
41
|
+
control: { type: "text" }
|
|
42
|
+
},
|
|
43
|
+
multiple: {
|
|
44
|
+
control: { type: "boolean" }
|
|
45
|
+
},
|
|
46
|
+
autoselect: {
|
|
47
|
+
control: { type: "boolean" }
|
|
48
|
+
},
|
|
49
|
+
minLength: {
|
|
50
|
+
control: { type: "number" }
|
|
51
|
+
},
|
|
52
|
+
numberOfSelected: {
|
|
53
|
+
control: { type: "select", options: [2, 1, 3, "all", void 0] },
|
|
54
|
+
if: { arg: "multiple", eq: true }
|
|
55
|
+
},
|
|
56
|
+
defaultValue: {
|
|
57
|
+
control: { type: "string" }
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
parameters: {
|
|
61
|
+
controls: {
|
|
62
|
+
exclude: [
|
|
63
|
+
"tStatusResults",
|
|
64
|
+
"tStatusNoResults",
|
|
65
|
+
"tStatusQueryTooShort",
|
|
66
|
+
"tStatusSelectedOption",
|
|
67
|
+
"tNoResults",
|
|
68
|
+
"tAssistiveHint",
|
|
69
|
+
"templates",
|
|
70
|
+
"name",
|
|
71
|
+
"placeholder",
|
|
72
|
+
"onConfirm",
|
|
73
|
+
"confirmOnBlur",
|
|
74
|
+
"required",
|
|
75
|
+
"source"
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
7
80
|
import { Default } from "@digigov/ui/form/AutoComplete/__stories__/Default";
|
|
8
81
|
import { Multiple } from "@digigov/ui/form/AutoComplete/__stories__/Multiple";
|
|
9
82
|
import { MultipleWithDefaultValues } from "@digigov/ui/form/AutoComplete/__stories__/MultipleWithDefaultValues";
|
|
@@ -21,6 +94,7 @@ export {
|
|
|
21
94
|
MultipleWithDefaultValues,
|
|
22
95
|
MultipleWithMinLength,
|
|
23
96
|
WithAutoSelect,
|
|
97
|
+
WithControls,
|
|
24
98
|
WithDefaultValue,
|
|
25
99
|
WithMinLength,
|
|
26
100
|
WithPlaceHolder,
|
|
@@ -4,6 +4,87 @@ declare namespace _default {
|
|
|
4
4
|
export let displayName: string;
|
|
5
5
|
}
|
|
6
6
|
export default _default;
|
|
7
|
+
export namespace WithControls {
|
|
8
|
+
function render(args: any): React.JSX.Element;
|
|
9
|
+
namespace args {
|
|
10
|
+
let width: string;
|
|
11
|
+
let id: string;
|
|
12
|
+
let multiple: boolean;
|
|
13
|
+
let autoselect: boolean;
|
|
14
|
+
let minLength: number;
|
|
15
|
+
let numberOfSelected: number;
|
|
16
|
+
let defaultValue: string;
|
|
17
|
+
}
|
|
18
|
+
namespace argTypes {
|
|
19
|
+
export namespace width_1 {
|
|
20
|
+
namespace control {
|
|
21
|
+
let type: string;
|
|
22
|
+
let options: string[];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export { width_1 as width };
|
|
26
|
+
export namespace id_1 {
|
|
27
|
+
export namespace control_1 {
|
|
28
|
+
let type_1: string;
|
|
29
|
+
export { type_1 as type };
|
|
30
|
+
}
|
|
31
|
+
export { control_1 as control };
|
|
32
|
+
}
|
|
33
|
+
export { id_1 as id };
|
|
34
|
+
export namespace multiple_1 {
|
|
35
|
+
export namespace control_2 {
|
|
36
|
+
let type_2: string;
|
|
37
|
+
export { type_2 as type };
|
|
38
|
+
}
|
|
39
|
+
export { control_2 as control };
|
|
40
|
+
}
|
|
41
|
+
export { multiple_1 as multiple };
|
|
42
|
+
export namespace autoselect_1 {
|
|
43
|
+
export namespace control_3 {
|
|
44
|
+
let type_3: string;
|
|
45
|
+
export { type_3 as type };
|
|
46
|
+
}
|
|
47
|
+
export { control_3 as control };
|
|
48
|
+
}
|
|
49
|
+
export { autoselect_1 as autoselect };
|
|
50
|
+
export namespace minLength_1 {
|
|
51
|
+
export namespace control_4 {
|
|
52
|
+
let type_4: string;
|
|
53
|
+
export { type_4 as type };
|
|
54
|
+
}
|
|
55
|
+
export { control_4 as control };
|
|
56
|
+
}
|
|
57
|
+
export { minLength_1 as minLength };
|
|
58
|
+
export namespace numberOfSelected_1 {
|
|
59
|
+
export namespace control_5 {
|
|
60
|
+
let type_5: string;
|
|
61
|
+
export { type_5 as type };
|
|
62
|
+
let options_1: (string | number | undefined)[];
|
|
63
|
+
export { options_1 as options };
|
|
64
|
+
}
|
|
65
|
+
export { control_5 as control };
|
|
66
|
+
export namespace _if {
|
|
67
|
+
let arg: string;
|
|
68
|
+
let eq: boolean;
|
|
69
|
+
}
|
|
70
|
+
export { _if as if };
|
|
71
|
+
}
|
|
72
|
+
export { numberOfSelected_1 as numberOfSelected };
|
|
73
|
+
export namespace defaultValue_1 {
|
|
74
|
+
export namespace control_6 {
|
|
75
|
+
let type_6: string;
|
|
76
|
+
export { type_6 as type };
|
|
77
|
+
}
|
|
78
|
+
export { control_6 as control };
|
|
79
|
+
}
|
|
80
|
+
export { defaultValue_1 as defaultValue };
|
|
81
|
+
}
|
|
82
|
+
namespace parameters {
|
|
83
|
+
namespace controls {
|
|
84
|
+
let exclude: string[];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
7
88
|
export { Default } from "@digigov/ui/form/AutoComplete/__stories__/Default";
|
|
8
89
|
export { Multiple } from "@digigov/ui/form/AutoComplete/__stories__/Multiple";
|
|
9
90
|
export { MultipleWithDefaultValues } from "@digigov/ui/form/AutoComplete/__stories__/MultipleWithDefaultValues";
|
|
@@ -15,3 +96,4 @@ export { WithPlaceHolder } from "@digigov/ui/form/AutoComplete/__stories__/WithP
|
|
|
15
96
|
export { WithShowAllValues } from "@digigov/ui/form/AutoComplete/__stories__/WithShowAllValues";
|
|
16
97
|
export { WithMinLength } from "@digigov/ui/form/AutoComplete/__stories__/WithMinLength";
|
|
17
98
|
import AutoComplete from '@digigov/ui/form/AutoComplete';
|
|
99
|
+
import React from 'react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/form/AutoComplete/AutoComplete.stories.
|
|
4
|
-
"sourcesContent": ["import AutoComplete from '@digigov/ui/form/AutoComplete';\nexport default {\n title: 'Digigov UI/form/AutoComplete',\n component: AutoComplete,\n displayName: 'AutoComplete',\n};\nexport { Default } from '@digigov/ui/form/AutoComplete/__stories__/Default';\nexport { Multiple } from '@digigov/ui/form/AutoComplete/__stories__/Multiple';\nexport { MultipleWithDefaultValues } from '@digigov/ui/form/AutoComplete/__stories__/MultipleWithDefaultValues';\nexport { MultipleShowingTwoSelected } from '@digigov/ui/form/AutoComplete/__stories__/MultipleShowingTwoSelected';\nexport { MultipleWithMinLength } from '@digigov/ui/form/AutoComplete/__stories__/MultipleWithMinLength';\nexport { WithAutoSelect } from '@digigov/ui/form/AutoComplete/__stories__/WithAutoSelect';\nexport { WithDefaultValue } from '@digigov/ui/form/AutoComplete/__stories__/WithDefaultValue';\nexport { WithPlaceHolder } from '@digigov/ui/form/AutoComplete/__stories__/WithPlaceHolder';\nexport { WithShowAllValues } from '@digigov/ui/form/AutoComplete/__stories__/WithShowAllValues';\nexport { WithMinLength } from '@digigov/ui/form/AutoComplete/__stories__/WithMinLength';\n"],
|
|
5
|
-
"mappings": "AAAA,OAAO,kBAAkB;AACzB,IAAO,+BAAQ;AAAA,EACb,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AACf;
|
|
3
|
+
"sources": ["../../../src/form/AutoComplete/AutoComplete.stories.jsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport AutoComplete from '@digigov/ui/form/AutoComplete';\nimport { suggest } from '@digigov/ui/form/AutoComplete/utils';\n\nexport default {\n title: 'Digigov UI/form/AutoComplete',\n component: AutoComplete,\n displayName: 'AutoComplete',\n};\n\nexport const WithControls = {\n render: (args) => {\n return (\n <AutoComplete\n key={args.multiple ? 'multiple' : 'single'}\n id={args.id}\n width={args.width}\n multiple={args.multiple}\n autoselect={args.autoselect}\n minLength={args.minLength}\n source={suggest}\n />\n );\n },\n args: {\n width: 'full',\n id: 'autocomplete-id',\n multiple: false,\n autoselect: false,\n minLength: 2,\n numberOfSelected: 2,\n defaultValue: '',\n },\n argTypes: {\n width: {\n control: {\n type: 'select',\n options: ['25%', '33.3%', '50%', '66.6%', '75%', '100%', 'full'],\n },\n },\n id: {\n control: { type: 'text' },\n },\n multiple: {\n control: { type: 'boolean' },\n },\n autoselect: {\n control: { type: 'boolean' },\n },\n minLength: {\n control: { type: 'number' },\n },\n numberOfSelected: {\n control: { type: 'select', options: [2, 1, 3, 'all', undefined] },\n if: { arg: 'multiple', eq: true },\n },\n defaultValue: {\n control: { type: 'string' },\n },\n },\n parameters: {\n controls: {\n exclude: [\n 'tStatusResults',\n 'tStatusNoResults',\n 'tStatusQueryTooShort',\n 'tStatusSelectedOption',\n 'tNoResults',\n 'tAssistiveHint',\n 'templates',\n 'name',\n 'placeholder',\n 'onConfirm',\n 'confirmOnBlur',\n 'required',\n 'source',\n ],\n },\n },\n};\n\nexport { Default } from '@digigov/ui/form/AutoComplete/__stories__/Default';\nexport { Multiple } from '@digigov/ui/form/AutoComplete/__stories__/Multiple';\nexport { MultipleWithDefaultValues } from '@digigov/ui/form/AutoComplete/__stories__/MultipleWithDefaultValues';\nexport { MultipleShowingTwoSelected } from '@digigov/ui/form/AutoComplete/__stories__/MultipleShowingTwoSelected';\nexport { MultipleWithMinLength } from '@digigov/ui/form/AutoComplete/__stories__/MultipleWithMinLength';\nexport { WithAutoSelect } from '@digigov/ui/form/AutoComplete/__stories__/WithAutoSelect';\nexport { WithDefaultValue } from '@digigov/ui/form/AutoComplete/__stories__/WithDefaultValue';\nexport { WithPlaceHolder } from '@digigov/ui/form/AutoComplete/__stories__/WithPlaceHolder';\nexport { WithShowAllValues } from '@digigov/ui/form/AutoComplete/__stories__/WithShowAllValues';\nexport { WithMinLength } from '@digigov/ui/form/AutoComplete/__stories__/WithMinLength';\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,WAAW;AAClB,OAAO,kBAAkB;AACzB,SAAS,eAAe;AAExB,IAAO,+BAAQ;AAAA,EACb,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AACf;AAEO,MAAM,eAAe;AAAA,EAC1B,QAAQ,CAAC,SAAS;AAChB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK,KAAK,WAAW,aAAa;AAAA,QAClC,IAAI,KAAK;AAAA,QACT,OAAO,KAAK;AAAA,QACZ,UAAU,KAAK;AAAA,QACf,YAAY,KAAK;AAAA,QACjB,WAAW,KAAK;AAAA,QAChB,QAAQ;AAAA;AAAA,IACV;AAAA,EAEJ;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,kBAAkB;AAAA,IAClB,cAAc;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,QACP,MAAM;AAAA,QACN,SAAS,CAAC,OAAO,SAAS,OAAO,SAAS,OAAO,QAAQ,MAAM;AAAA,MACjE;AAAA,IACF;AAAA,IACA,IAAI;AAAA,MACF,SAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAAA,IACA,UAAU;AAAA,MACR,SAAS,EAAE,MAAM,UAAU;AAAA,IAC7B;AAAA,IACA,YAAY;AAAA,MACV,SAAS,EAAE,MAAM,UAAU;AAAA,IAC7B;AAAA,IACA,WAAW;AAAA,MACT,SAAS,EAAE,MAAM,SAAS;AAAA,IAC5B;AAAA,IACA,kBAAkB;AAAA,MAChB,SAAS,EAAE,MAAM,UAAU,SAAS,CAAC,GAAG,GAAG,GAAG,OAAO,MAAS,EAAE;AAAA,MAChE,IAAI,EAAE,KAAK,YAAY,IAAI,KAAK;AAAA,IAClC;AAAA,IACA,cAAc;AAAA,MACZ,SAAS,EAAE,MAAM,SAAS;AAAA,IAC5B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,MACR,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,iCAAiC;AAC1C,SAAS,kCAAkC;AAC3C,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,qBAAqB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from 'react';
|
|
1
|
+
import { Component, type JSX } from 'react';
|
|
2
2
|
import AutoCompleteStatus from '@digigov/react-core/AutoCompleteStatus';
|
|
3
3
|
import AutoCompleteStatusContainer from '@digigov/react-core/AutoCompleteStatusContainer';
|
|
4
4
|
interface StatusProps {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/form/AutoComplete/Status/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { Component } from 'react';\nimport AutoCompleteStatus from '@digigov/react-core/AutoCompleteStatus';\nimport AutoCompleteStatusContainer from '@digigov/react-core/AutoCompleteStatusContainer';\n\nconst debounce = function (\n func: () => void,\n wait: number,\n immediate?: boolean\n) {\n let timeout;\n return function (...args) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n return timeout;\n };\n};\nconst statusDebounceMillis = 1400;\n\ninterface StatusProps {\n id: string;\n length: number;\n queryLength: number;\n minQueryLength?: number;\n selectedOption: string;\n selectedOptionIndex: number;\n validChoiceMade: boolean;\n isInFocus: boolean;\n tQueryTooShort?: (x: number) => string;\n tNoResults?: () => string;\n tSelectedOption: (x: string, y: number, z: number) => string;\n tResults?: (x: number, y: string) => string;\n}\n\ninterface StateProps {\n bump: boolean;\n debounced: boolean;\n silenced: boolean;\n}\n\nexport default class Status extends Component<StatusProps, StateProps> {\n static defaultProps = {\n tQueryTooShort: (minQueryLength: number): string =>\n `Type in ${minQueryLength} or more characters for results`,\n tNoResults: (): string => 'No search results',\n tSelectedOption: (\n selectedOption: string,\n length: number,\n index: number\n ): string => `${selectedOption} ${index + 1} of ${length} is highlighted`,\n tResults: (length: number, contentSelectedOption: string): string => {\n const words = {\n result: length === 1 ? 'result' : 'results',\n is: length === 1 ? 'is' : 'are',\n };\n\n return `${length} ${words.result} ${words.is} available. ${contentSelectedOption}`;\n },\n };\n\n state = {\n bump: false,\n debounced: false,\n silenced: false,\n };\n debounceStatusUpdate: () => void;\n lastDebounceCall: any;\n componentWillUnmount(): void {\n clearTimeout(this.lastDebounceCall);\n }\n UNSAFE_componentWillMount() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n this.debounceStatusUpdate = debounce(function () {\n if (!that.state.debounced) {\n const shouldSilence =\n !that.props.isInFocus || that.props.validChoiceMade;\n that.setState(({ bump }) => ({\n bump: !bump,\n debounced: true,\n silenced: shouldSilence,\n }));\n }\n }, statusDebounceMillis);\n }\n\n UNSAFE_componentWillReceiveProps() {\n this.setState({ debounced: false });\n }\n\n render(): JSX.Element {\n const {\n id,\n length,\n queryLength,\n minQueryLength,\n selectedOption,\n selectedOptionIndex,\n tQueryTooShort,\n tNoResults,\n tSelectedOption,\n tResults,\n } = this.props;\n const { bump, debounced, silenced } = this.state;\n\n const queryTooShort = queryLength < (minQueryLength as number);\n const noResults = length === 0;\n\n const contentSelectedOption = selectedOption\n ? tSelectedOption(selectedOption, length, selectedOptionIndex)\n : '';\n\n let content;\n if (queryTooShort) {\n content = tQueryTooShort?.(minQueryLength as number);\n } else if (noResults) {\n content = tNoResults?.();\n } else {\n content = tResults?.(length, contentSelectedOption);\n }\n\n this.lastDebounceCall = this.debounceStatusUpdate();\n\n return (\n <AutoCompleteStatusContainer>\n <AutoCompleteStatus id={id + '__status--A'}>\n {!silenced && debounced && bump ? content : ' '}\n </AutoCompleteStatus>\n <AutoCompleteStatus id={id + '__status--B'}>\n {!silenced && debounced && !bump ? content : ' '}\n </AutoCompleteStatus>\n </AutoCompleteStatusContainer>\n );\n }\n}\n\nexport { AutoCompleteStatusContainer, AutoCompleteStatus };\n"],
|
|
5
|
-
"mappings": "AAAA,OAAO,SAAS,
|
|
4
|
+
"sourcesContent": ["import React, { Component, type JSX } from 'react';\nimport AutoCompleteStatus from '@digigov/react-core/AutoCompleteStatus';\nimport AutoCompleteStatusContainer from '@digigov/react-core/AutoCompleteStatusContainer';\n\nconst debounce = function (\n func: () => void,\n wait: number,\n immediate?: boolean\n) {\n let timeout;\n return function (...args) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n return timeout;\n };\n};\nconst statusDebounceMillis = 1400;\n\ninterface StatusProps {\n id: string;\n length: number;\n queryLength: number;\n minQueryLength?: number;\n selectedOption: string;\n selectedOptionIndex: number;\n validChoiceMade: boolean;\n isInFocus: boolean;\n tQueryTooShort?: (x: number) => string;\n tNoResults?: () => string;\n tSelectedOption: (x: string, y: number, z: number) => string;\n tResults?: (x: number, y: string) => string;\n}\n\ninterface StateProps {\n bump: boolean;\n debounced: boolean;\n silenced: boolean;\n}\n\nexport default class Status extends Component<StatusProps, StateProps> {\n static defaultProps = {\n tQueryTooShort: (minQueryLength: number): string =>\n `Type in ${minQueryLength} or more characters for results`,\n tNoResults: (): string => 'No search results',\n tSelectedOption: (\n selectedOption: string,\n length: number,\n index: number\n ): string => `${selectedOption} ${index + 1} of ${length} is highlighted`,\n tResults: (length: number, contentSelectedOption: string): string => {\n const words = {\n result: length === 1 ? 'result' : 'results',\n is: length === 1 ? 'is' : 'are',\n };\n\n return `${length} ${words.result} ${words.is} available. ${contentSelectedOption}`;\n },\n };\n\n state = {\n bump: false,\n debounced: false,\n silenced: false,\n };\n debounceStatusUpdate: () => void;\n lastDebounceCall: any;\n componentWillUnmount(): void {\n clearTimeout(this.lastDebounceCall);\n }\n UNSAFE_componentWillMount() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n this.debounceStatusUpdate = debounce(function () {\n if (!that.state.debounced) {\n const shouldSilence =\n !that.props.isInFocus || that.props.validChoiceMade;\n that.setState(({ bump }) => ({\n bump: !bump,\n debounced: true,\n silenced: shouldSilence,\n }));\n }\n }, statusDebounceMillis);\n }\n\n UNSAFE_componentWillReceiveProps() {\n this.setState({ debounced: false });\n }\n\n render(): JSX.Element {\n const {\n id,\n length,\n queryLength,\n minQueryLength,\n selectedOption,\n selectedOptionIndex,\n tQueryTooShort,\n tNoResults,\n tSelectedOption,\n tResults,\n } = this.props;\n const { bump, debounced, silenced } = this.state;\n\n const queryTooShort = queryLength < (minQueryLength as number);\n const noResults = length === 0;\n\n const contentSelectedOption = selectedOption\n ? tSelectedOption(selectedOption, length, selectedOptionIndex)\n : '';\n\n let content;\n if (queryTooShort) {\n content = tQueryTooShort?.(minQueryLength as number);\n } else if (noResults) {\n content = tNoResults?.();\n } else {\n content = tResults?.(length, contentSelectedOption);\n }\n\n this.lastDebounceCall = this.debounceStatusUpdate();\n\n return (\n <AutoCompleteStatusContainer>\n <AutoCompleteStatus id={id + '__status--A'}>\n {!silenced && debounced && bump ? content : ' '}\n </AutoCompleteStatus>\n <AutoCompleteStatus id={id + '__status--B'}>\n {!silenced && debounced && !bump ? content : ' '}\n </AutoCompleteStatus>\n </AutoCompleteStatusContainer>\n );\n }\n}\n\nexport { AutoCompleteStatusContainer, AutoCompleteStatus };\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,SAAS,iBAA2B;AAC3C,OAAO,wBAAwB;AAC/B,OAAO,iCAAiC;AAExC,MAAM,WAAW,SACf,MACA,MACA,WACA;AACA,MAAI;AACJ,SAAO,YAAa,MAAM;AAIxB,UAAM,UAAU;AAChB,UAAM,QAAQ,WAAY;AACxB,gBAAU;AACV,UAAI,CAAC,UAAW,MAAK,MAAM,SAAS,IAAI;AAAA,IAC1C;AACA,UAAM,UAAU,aAAa,CAAC;AAC9B,iBAAa,OAAO;AACpB,cAAU,WAAW,OAAO,IAAI;AAChC,QAAI,QAAS,MAAK,MAAM,SAAS,IAAI;AACrC,WAAO;AAAA,EACT;AACF;AACA,MAAM,uBAAuB;AAuB7B,MAAO,eAA6B,UAAmC;AAAA,EAAvE;AAAA;AAoBE,iBAAQ;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,MACX,UAAU;AAAA,IACZ;AAAA;AAAA,EAvBA;AAAA,SAAO,eAAe;AAAA,MACpB,gBAAgB,CAAC,mBACf,WAAW,cAAc;AAAA,MAC3B,YAAY,MAAc;AAAA,MAC1B,iBAAiB,CACf,gBACA,QACA,UACW,GAAG,cAAc,IAAI,QAAQ,CAAC,OAAO,MAAM;AAAA,MACxD,UAAU,CAAC,QAAgB,0BAA0C;AACnE,cAAM,QAAQ;AAAA,UACZ,QAAQ,WAAW,IAAI,WAAW;AAAA,UAClC,IAAI,WAAW,IAAI,OAAO;AAAA,QAC5B;AAEA,eAAO,GAAG,MAAM,IAAI,MAAM,MAAM,IAAI,MAAM,EAAE,eAAe,qBAAqB;AAAA,MAClF;AAAA,IACF;AAAA;AAAA,EASA,uBAA6B;AAC3B,iBAAa,KAAK,gBAAgB;AAAA,EACpC;AAAA,EACA,4BAA4B;AAE1B,UAAM,OAAO;AACb,SAAK,uBAAuB,SAAS,WAAY;AAC/C,UAAI,CAAC,KAAK,MAAM,WAAW;AACzB,cAAM,gBACJ,CAAC,KAAK,MAAM,aAAa,KAAK,MAAM;AACtC,aAAK,SAAS,CAAC,EAAE,KAAK,OAAO;AAAA,UAC3B,MAAM,CAAC;AAAA,UACP,WAAW;AAAA,UACX,UAAU;AAAA,QACZ,EAAE;AAAA,MACJ;AAAA,IACF,GAAG,oBAAoB;AAAA,EACzB;AAAA,EAEA,mCAAmC;AACjC,SAAK,SAAS,EAAE,WAAW,MAAM,CAAC;AAAA,EACpC;AAAA,EAEA,SAAsB;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,KAAK;AACT,UAAM,EAAE,MAAM,WAAW,SAAS,IAAI,KAAK;AAE3C,UAAM,gBAAgB,cAAe;AACrC,UAAM,YAAY,WAAW;AAE7B,UAAM,wBAAwB,iBAC1B,gBAAgB,gBAAgB,QAAQ,mBAAmB,IAC3D;AAEJ,QAAI;AACJ,QAAI,eAAe;AACjB,gBAAU,iBAAiB,cAAwB;AAAA,IACrD,WAAW,WAAW;AACpB,gBAAU,aAAa;AAAA,IACzB,OAAO;AACL,gBAAU,WAAW,QAAQ,qBAAqB;AAAA,IACpD;AAEA,SAAK,mBAAmB,KAAK,qBAAqB;AAElD,WACE,oCAAC,mCACC,oCAAC,sBAAmB,IAAI,KAAK,iBAC1B,CAAC,YAAY,aAAa,OAAO,UAAU,GAC9C,GACA,oCAAC,sBAAmB,IAAI,KAAK,iBAC1B,CAAC,YAAY,aAAa,CAAC,OAAO,UAAU,GAC/C,CACF;AAAA,EAEJ;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { Component } from 'react';
|
|
1
|
+
import React, { Component, type JSX } from 'react';
|
|
2
2
|
import { AutoCompleteAssistiveHint } from '@digigov/react-core/AutoCompleteAssistiveHint';
|
|
3
3
|
import { AutoCompleteContainer } from '@digigov/react-core/AutoCompleteContainer';
|
|
4
4
|
import { AutoCompleteInputBase } from '@digigov/react-core/AutoCompleteInputBase';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/form/AutoComplete/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { Component } from 'react';\nimport { AutoCompleteAssistiveHint } from '@digigov/react-core/AutoCompleteAssistiveHint';\nimport { AutoCompleteContainer } from '@digigov/react-core/AutoCompleteContainer';\nimport { AutoCompleteInputBase } from '@digigov/react-core/AutoCompleteInputBase';\nimport { AutoCompleteInputTypeahead } from '@digigov/react-core/AutoCompleteInputTypeahead';\nimport { AutoCompleteMultipleInput } from '@digigov/react-core/AutoCompleteMultipleInput';\nimport { AutoCompleteMultipleInputContainer } from '@digigov/react-core/AutoCompleteMultipleInputContainer';\nimport { AutoCompleteResultList } from '@digigov/react-core/AutoCompleteResultList';\nimport { AutoCompleteResultListItem } from '@digigov/react-core/AutoCompleteResultListItem';\nimport { Base } from '@digigov/react-core/Base';\nimport { CaretIcon } from '@digigov/react-icons/CaretIcon';\nimport { Chip, ChipContainer } from '@digigov/ui/content/Chip';\nimport Status from '@digigov/ui/form/AutoComplete/Status';\nimport {\n isIosDevice,\n keyCodes,\n isPrintableKeyCode,\n} from '@digigov/ui/form/AutoComplete/utils';\nimport Button from '@digigov/ui/form/Button';\nimport Checkbox, { CheckboxItem } from '@digigov/ui/form/Checkbox';\nimport { NormalText } from '@digigov/ui/typography/NormalText';\n\nexport interface AutoCompleteProps {\n source: (query: string, syncResults: (options: string[]) => void) => void;\n id: string;\n multiple?: boolean;\n tStatusResults?: (x: number, y: string) => string;\n tStatusNoResults?: () => string;\n tStatusQueryTooShort?: (x: number) => string;\n tStatusSelectedOption?: (x: string, y: number, z: number) => string;\n tNoResults?: () => string;\n tAssistiveHint?: () => string;\n templates?: {\n suggestion?: (value: any, query: string | string[]) => any;\n inputValue?: (value: any) => string;\n };\n width?: '25%' | '33.3%' | '50%' | '66.6%' | '75%' | '100%' | 'full';\n autoselect?: boolean;\n defaultValue?: string | string[];\n minLength?: number;\n name?: string;\n placeholder?: string;\n onConfirm?: (x: any) => void;\n confirmOnBlur?: boolean;\n required?: boolean;\n numberOfSelected?: 1 | 2 | 3 | 'all';\n}\n\nexport interface State {\n focused: any;\n hovered: any;\n menuOpen: boolean;\n options: any[];\n query: string;\n selectedValues: any[];\n validChoiceMade: boolean;\n selected: any;\n ariaHint: boolean;\n}\n\nexport interface NewQueryProps {\n menuOpen?: boolean;\n query?: string;\n}\n\nexport default class AutoComplete extends Component<AutoCompleteProps, State> {\n static defaultProps = {\n width: 'full',\n autoselect: false,\n minLength: 0,\n name: 'ds-input-autocomplete',\n placeholder: '',\n onConfirm: (): void => {\n return;\n },\n confirmOnBlur: false,\n required: false,\n tNoResults: (): string => 'No results found',\n tAssistiveHint: (): string =>\n 'When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.',\n };\n\n elementReferences = {};\n\n constructor(props: AutoCompleteProps) {\n super(props);\n const customState: any = {};\n if (Array.isArray(props.defaultValue)) {\n customState.selectedValues = props.defaultValue as string[];\n } else if (props.defaultValue) {\n customState.selectedValues = [props.defaultValue as string];\n }\n\n this.state = {\n focused: null,\n hovered: null,\n menuOpen: false,\n options: [],\n query: this.props.multiple ? '' : (props.defaultValue as string) || '',\n selectedValues: [],\n validChoiceMade: false,\n selected: null,\n ariaHint: true,\n ...customState,\n };\n this.handleComponentBlur = this.handleComponentBlur.bind(this);\n this.handleAutoCompleteBlur = this.handleAutoCompleteBlur.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleUpArrow = this.handleUpArrow.bind(this);\n this.handleDownArrow = this.handleDownArrow.bind(this);\n this.handleEnter = this.handleEnter.bind(this);\n this.handlePrintableKey = this.handlePrintableKey.bind(this);\n\n this.handleListMouseLeave = this.handleListMouseLeave.bind(this);\n\n if (this.props.multiple) {\n this.handleOptionClick = this.handleOptionClickMultiple.bind(this);\n } else {\n this.handleOptionClick = this.handleOptionClick.bind(this);\n }\n this.handleOptionFocus = this.handleOptionFocus.bind(this);\n this.handleOptionMouseDown = this.handleOptionMouseDown.bind(this);\n this.handleOptionMouseEnter = this.handleOptionMouseEnter.bind(this);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputFocus = this.handleInputFocus.bind(this);\n\n this.getDirectInputChanges = this.getDirectInputChanges.bind(this);\n }\n\n isQueryAnOption(query: string, options: string[]): boolean {\n return (\n options\n .map((entry) => this.templateInputValue(entry).toLowerCase())\n .indexOf(query.toLowerCase()) !== -1\n );\n }\n\n componentDidMount(): void {\n this.getDirectInputChanges();\n }\n\n getDirectInputChanges(): void {\n const inputReference = this.elementReferences[-1];\n const queryHasChanged =\n inputReference && inputReference.value !== (this.state.query ?? '');\n if (queryHasChanged) {\n this.handleInputChange({ target: { value: inputReference.value } });\n }\n }\n\n componentDidUpdate(_, prevState: Readonly<State>): void {\n const { focused } = this.state;\n const componentLostFocus = focused === null;\n const focusedChanged = prevState.focused !== focused;\n const focusDifferentElement = focusedChanged && !componentLostFocus;\n if (focusDifferentElement) {\n this.elementReferences[focused].focus();\n }\n const focusedInput = focused === -1;\n const componentGainedFocus = focusedChanged && prevState.focused === null;\n const selectAllText = focusedInput && componentGainedFocus;\n if (selectAllText) {\n const inputElement = this.elementReferences[focused];\n inputElement.setSelectionRange(0, inputElement.value.length);\n }\n }\n\n hasAutoselect(): boolean {\n return (isIosDevice() as boolean)\n ? false\n : (this.props.autoselect as boolean);\n }\n\n // This template is used when converting from a state.options object into a state.query.\n templateInputValue(value: string): string {\n const inputValueTemplate =\n this.props.templates && this.props.templates.inputValue;\n return inputValueTemplate ? inputValueTemplate(value) : value;\n }\n\n // This template is used when displaying results / suggestions.\n templateSuggestion(value: string): string {\n const suggestionTemplate =\n this.props.templates && this.props.templates.suggestion;\n\n return suggestionTemplate\n ? suggestionTemplate(value, this.state.query)\n : value;\n }\n\n handleComponentBlur(newState?: NewQueryProps): void {\n const { options, query, selected } = this.state;\n let newQuery: string;\n if (this.props.confirmOnBlur) {\n newQuery = newState?.query || query;\n this.props.onConfirm?.(options[selected as number]);\n } else {\n newQuery = query;\n }\n this.setState({\n focused: null,\n menuOpen: newState?.menuOpen || false,\n query: newQuery,\n selected: null,\n validChoiceMade: this.isQueryAnOption(newQuery, options),\n });\n }\n\n handleListMouseLeave(): void {\n this.setState({\n hovered: null,\n });\n }\n\n handleAutoCompleteBlur(event, index?: number): void {\n const { focused, options, query, selected } = this.state;\n let focusingOutsideComponent = false;\n if (event.relatedTarget === null) {\n focusingOutsideComponent = true;\n } else {\n // This affects if we have multiple autocompletes in same page and we click the first button-arrow and then another button-arrow\n focusingOutsideComponent =\n this.elementReferences['button-arrow'] !== event.relatedTarget;\n }\n const focusingInput = event.relatedTarget === this.elementReferences[-1];\n const focusingButtonArrow =\n this.elementReferences['button-arrow'] === event.relatedTarget || false;\n let focusingAnotherOption = focused !== null && focused !== -1;\n if (index !== undefined) {\n focusingAnotherOption = focused !== index && focused !== -1;\n }\n // Check if the user clicks outside and not either on option, either on input or on button arrow\n const blurComponent =\n focusingOutsideComponent &&\n !(focusingAnotherOption || focusingInput || focusingButtonArrow);\n\n if (blurComponent) {\n // In handleInputBlur:\n const newQuery = isIosDevice()\n ? query\n : this.templateInputValue(options[selected as number]);\n this.handleComponentBlur({\n menuOpen: false,\n query: newQuery,\n });\n }\n }\n\n handleInputChange(event: { target: any }): void {\n const { source, minLength } = this.props;\n const autoselect = this.hasAutoselect();\n const query = event.target.value;\n const queryEmpty = query.length === 0;\n this.setState({\n query,\n ariaHint: queryEmpty,\n });\n const minLengthQuery =\n minLength != undefined && minLength > query.length ? '' : query;\n source(minLengthQuery, (options) => {\n const optionsAvailable = options.length > 0;\n this.setState({\n menuOpen: optionsAvailable,\n options,\n selected: autoselect && optionsAvailable ? 0 : -1,\n validChoiceMade: false,\n });\n });\n }\n\n handleInputClick(\n event: React.MouseEvent<HTMLInputElement, MouseEvent>\n ): void {\n this.handleInputChange(event);\n }\n\n handleInputFocus(): void {\n const { source } = this.props;\n const { query, validChoiceMade, options } = this.state;\n const { minLength } = this.props;\n const shouldReopenMenu =\n !validChoiceMade &&\n query.length >= (minLength as number) &&\n options.length > 0;\n if (shouldReopenMenu) {\n this.setState(({ menuOpen }) => ({\n focused: -1,\n menuOpen: shouldReopenMenu || menuOpen,\n selected: -1,\n }));\n } else {\n source(query, (options) => {\n this.setState({\n focused: -1,\n options,\n });\n });\n }\n }\n\n handleOptionFocus(index: number): void {\n this.setState({\n focused: index,\n hovered: null,\n selected: index,\n });\n }\n\n handleOptionMouseEnter(index: number): void {\n // iOS Safari prevents click event if mouseenter adds hover background colour\n // See: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW4\n if (!isIosDevice()) {\n this.setState({\n hovered: index,\n });\n }\n }\n\n handleOptionClickMultiple(index: number): void {\n const selectedOption = this.state.options[index];\n let selectedValues = this.state.selectedValues;\n if (this.state.selectedValues.indexOf(selectedOption) === -1) {\n selectedValues = selectedValues.concat([selectedOption]);\n } else {\n selectedValues.splice(\n this.state.selectedValues.indexOf(selectedOption),\n 1\n );\n }\n this.props.onConfirm?.(selectedValues);\n this.setState({\n focused: index,\n hovered: null,\n menuOpen: true,\n query: '',\n selectedValues,\n selected: index,\n validChoiceMade: true,\n });\n this.forceUpdate();\n }\n\n handleOptionClick(index: number): void {\n const selectedOption = this.state.options[index];\n const newQuery = this.templateInputValue(selectedOption);\n this.props.onConfirm?.(selectedOption);\n const selectedValues = this.props.multiple\n ? this.state.selectedValues.concat(selectedOption)\n : [selectedOption];\n this.setState({\n focused: -1,\n hovered: null,\n menuOpen: false,\n query: newQuery,\n selectedValues,\n selected: -1,\n validChoiceMade: true,\n });\n this.forceUpdate();\n }\n\n handleOptionMouseDown(event: { preventDefault: () => void }): void {\n // Safari triggers focusOut before click, but if you\n // preventDefault on mouseDown, you can stop that from happening.\n // If this is removed, clicking on an option in Safari will trigger\n // `handleOptionBlur`, which closes the menu, and the click will\n // trigger on the element underneath instead.\n // See: http://stackoverflow.com/questions/7621711/how-to-prevent-blur-running-when-clicking-a-link-in-jquery\n event.preventDefault();\n }\n\n handleUpArrow(event: { preventDefault: () => void }): void {\n event.preventDefault();\n const { menuOpen, selected } = this.state;\n const isNotAtTop = selected !== -1;\n const allowMoveUp = isNotAtTop && menuOpen;\n if (allowMoveUp) {\n this.handleOptionFocus((selected as number) - 1);\n }\n }\n\n handleDownArrow(event: { preventDefault: () => void }): void {\n event.preventDefault();\n // if not open, open\n if (this.state.menuOpen === false) {\n event.preventDefault();\n this.props.source('', (options) => {\n this.setState({\n menuOpen: true,\n options,\n selected: 0,\n focused: 0,\n hovered: null,\n });\n });\n } else if (this.state.menuOpen === true) {\n const { menuOpen, options, selected } = this.state;\n const isNotAtBottom = selected !== options.length - 1;\n const allowMoveDown = isNotAtBottom && menuOpen;\n if (allowMoveDown) {\n this.handleOptionFocus((selected as number) + 1);\n }\n }\n }\n\n handleSpace(event: { preventDefault: () => void }): void {\n // if not open, open\n if (this.state.menuOpen === false && this.state.query === '') {\n event.preventDefault();\n this.props.source('', (options) => {\n this.setState({\n menuOpen: true,\n options,\n });\n });\n }\n const focusIsOnOption = this.state.focused !== -1;\n if (focusIsOnOption) {\n event.preventDefault();\n this.handleOptionClick(this.state.focused);\n }\n }\n\n handleEnter(event: { preventDefault: () => void }): void {\n if (this.state.menuOpen) {\n event.preventDefault();\n const hasSelectedOption = this.state.selected >= 0;\n if (hasSelectedOption) {\n this.handleOptionClick(this.state.selected);\n if (this.props.multiple) {\n this.setState({\n menuOpen: false,\n focused: -1,\n });\n }\n }\n }\n }\n\n handlePrintableKey(event: { target: any }): void {\n const inputElement = this.elementReferences[-1];\n const eventIsOnInput = event.target === inputElement;\n if (!eventIsOnInput) {\n // FIXME: This would be better if it was in componentDidUpdate,\n // but using setState to trigger that seems to not work correctly\n // in preact@8.1.0.\n inputElement.focus();\n }\n }\n\n handleKeyDown(event: {\n preventDefault: () => void;\n keyCode: number;\n target: any;\n }): void {\n switch (keyCodes[event.keyCode]) {\n case 'up':\n this.handleUpArrow(event);\n break;\n case 'down':\n this.handleDownArrow(event);\n break;\n case 'space':\n this.handleSpace(event);\n break;\n case 'enter':\n this.handleEnter(event);\n break;\n case 'escape':\n this.handleComponentBlur({\n query: this.state.query,\n });\n break;\n case 'backspace':\n if (this.props.multiple) {\n if (\n this.state.query.length === 0 &&\n this.state.selectedValues.length > 0\n ) {\n event.preventDefault();\n const updatedSelectedValues = this.state.selectedValues.slice(\n 0,\n -1\n );\n this.setState(\n {\n selectedValues: updatedSelectedValues,\n },\n () => {\n this.props.onConfirm?.(updatedSelectedValues);\n }\n );\n } else {\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n }\n } else {\n this.props.onConfirm?.('');\n }\n break;\n default:\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n break;\n }\n }\n\n render(): JSX.Element {\n const {\n id,\n width,\n minLength,\n name,\n placeholder,\n required,\n tNoResults,\n tStatusQueryTooShort,\n tStatusNoResults,\n tStatusSelectedOption,\n tStatusResults,\n tAssistiveHint,\n multiple,\n source,\n } = this.props;\n const {\n focused,\n hovered,\n menuOpen,\n options,\n selected,\n ariaHint,\n validChoiceMade,\n } = this.state;\n const autoselect = this.hasAutoselect();\n const query = this.state.query ?? '';\n const inputFocused = focused === -1;\n const noOptionsAvailable = options.length === 0;\n const queryNotEmpty = query.length !== 0;\n const queryLongEnough = query.length >= (minLength as number);\n const showNoOptionsFound =\n inputFocused && noOptionsAvailable && queryNotEmpty && queryLongEnough;\n const componentIsFocused = focused !== null;\n const optionFocused = focused !== -1 && focused !== null;\n const menuIsVisible = menuOpen || showNoOptionsFound;\n const selectedOptionText = this.templateInputValue(options[selected]);\n const optionBeginsWithQuery =\n selectedOptionText &&\n selectedOptionText.toLowerCase().indexOf(query.toLowerCase()) === 0;\n const hintValue =\n optionBeginsWithQuery && autoselect\n ? query + selectedOptionText.substr(query.length)\n : '';\n\n const assistiveHintID = id + '__assistiveHint';\n const ariaDescribedProp = ariaHint\n ? {\n 'aria-describedby': assistiveHintID,\n }\n : null;\n\n const showAutoCompleteResultListItems = (\n options: string[],\n multiple: boolean\n ) => {\n {\n return options.map((option, index) => {\n const showFocused =\n focused === -1 ? selected === index : focused === index;\n const iosPosinsetHtml = isIosDevice() ? (\n <Base\n as=\"span\"\n id={`${id}__option-suffix--${index}`}\n style={{\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n marginBottom: '-1px',\n marginRight: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px',\n }}\n >\n {index + 1} \u03B1\u03C0\u03CC {options.length}\n </Base>\n ) : (\n ''\n );\n return (\n <AutoCompleteResultListItem\n isFocused={showFocused}\n isHovered={hovered}\n index={index}\n aria-selected={focused === index ? 'true' : 'false'}\n key={index}\n onBlur={(event) => this.handleAutoCompleteBlur(event, index)}\n onClick={() => this.handleOptionClick(index)}\n onMouseDown={this.handleOptionMouseDown}\n onMouseEnter={() => this.handleOptionMouseEnter(index)}\n ref={(optionEl) => {\n this.elementReferences[index] = optionEl;\n }}\n role=\"option\"\n tabIndex={-1}\n // @ts-ignore\n value={typeof option === 'object' ? option?.value : option}\n aria-posinset={index + 1}\n aria-setsize={options.length}\n >\n {multiple ? (\n <CheckboxItem\n value={option}\n checked={this.state.selectedValues.includes(option)}\n onChange={() => {}}\n >\n {this.templateSuggestion(option)}\n </CheckboxItem>\n ) : (\n this.templateSuggestion(option)\n )}\n {iosPosinsetHtml}\n </AutoCompleteResultListItem>\n );\n });\n }\n };\n\n return (\n <AutoCompleteContainer onKeyDown={this.handleKeyDown} width={width}>\n <Status\n id={id}\n length={options.length}\n queryLength={query.length}\n minQueryLength={minLength as number}\n selectedOption={this.templateInputValue(options[selected])}\n selectedOptionIndex={selected}\n validChoiceMade={validChoiceMade}\n isInFocus={this.state.focused !== null}\n tQueryTooShort={tStatusQueryTooShort}\n tNoResults={tStatusNoResults}\n tSelectedOption={tStatusSelectedOption}\n tResults={tStatusResults}\n />\n\n {hintValue && (placeholder === '' || !placeholder) && (\n <AutoCompleteInputTypeahead value={hintValue} />\n )}\n\n {multiple ? (\n <AutoCompleteMultipleInputContainer\n isFocused={componentIsFocused}\n numberOfSelected={this.props.numberOfSelected}\n >\n <ChipContainer>\n {this.state.selectedValues.map((value, index) => {\n return (\n <Chip\n key={index}\n onDelete={() => {\n this.setState(\n (prevState) => ({\n selectedValues: prevState.selectedValues.filter(\n (v) => {\n if (typeof v === 'string') {\n return v !== value;\n } else {\n return v.value !== value.value;\n }\n }\n ),\n }),\n () => {\n this.props.onConfirm?.(this.state.selectedValues);\n }\n );\n }}\n >\n {typeof value === 'string' ? value : value.label.primary}\n </Chip>\n );\n })}\n {!componentIsFocused &&\n typeof this.props.numberOfSelected === 'number' &&\n this.state.selectedValues.length >\n this.props.numberOfSelected && (\n <NormalText fontWeight=\"bold\" margin={0}>\n +\n {this.state.selectedValues.length -\n this.props.numberOfSelected}\n </NormalText>\n )}\n </ChipContainer>\n <AutoCompleteMultipleInput\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-activedescendant={\n optionFocused ? `${id}__option--${focused}` : ''\n }\n aria-owns={`${id}__listbox`}\n aria-autocomplete={this.hasAutoselect() ? 'both' : 'list'}\n {...ariaDescribedProp}\n autoComplete=\"off\"\n // isFocused={componentIsFocused}\n id={id}\n onClick={(event) => this.handleInputClick(event)}\n onBlur={(event) => this.handleAutoCompleteBlur(event)}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n name={name}\n placeholder={placeholder}\n ref={(inputElement) => {\n this.elementReferences[-1] = inputElement;\n }}\n role=\"combobox\"\n required={required}\n value={query}\n />\n <Button\n id={`${id}__button-arrow`}\n ref={(buttonElement) => {\n this.elementReferences['button-arrow'] = buttonElement;\n }}\n variant=\"link\"\n onClick={() => {\n if (!this.state.menuOpen) {\n source(query, (options) => {\n const optionsAvailable = options.length > 0;\n this.setState({\n menuOpen: optionsAvailable,\n options,\n selected: autoselect && optionsAvailable ? 0 : -1,\n validChoiceMade: false,\n });\n });\n } else {\n this.setState({\n menuOpen: false,\n focused: null,\n });\n }\n }}\n onBlur={(event) => this.handleAutoCompleteBlur(event)}\n >\n <CaretIcon direction=\"down\" size=\"md\" />\n </Button>\n\n <AutoCompleteResultList\n isVisible={menuIsVisible}\n onMouseLeave={() => this.handleListMouseLeave()}\n id={`${id}__listbox`}\n role=\"listbox\"\n >\n <Checkbox>\n {showAutoCompleteResultListItems(options, multiple)}\n </Checkbox>\n\n {showNoOptionsFound && (\n <AutoCompleteResultListItem empty>\n {tNoResults?.()}\n </AutoCompleteResultListItem>\n )}\n </AutoCompleteResultList>\n\n <AutoCompleteAssistiveHint id={assistiveHintID}>\n {tAssistiveHint?.()}\n </AutoCompleteAssistiveHint>\n </AutoCompleteMultipleInputContainer>\n ) : (\n <>\n <AutoCompleteInputBase\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-activedescendant={\n optionFocused ? `${id}__option--${focused}` : ''\n }\n aria-owns={`${id}__listbox`}\n aria-autocomplete={this.hasAutoselect() ? 'both' : 'list'}\n {...ariaDescribedProp}\n autoComplete=\"off\"\n isFocused={componentIsFocused}\n id={id}\n onClick={(event) => this.handleInputClick(event)}\n onBlur={this.handleAutoCompleteBlur}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n name={name}\n placeholder={placeholder}\n ref={(inputElement) => {\n this.elementReferences[-1] = inputElement;\n }}\n role=\"combobox\"\n required={required}\n value={query}\n />\n <CaretIcon direction=\"down\" size=\"md\" />\n\n <AutoCompleteResultList\n isVisible={menuIsVisible}\n onMouseLeave={() => this.handleListMouseLeave()}\n id={`${id}__listbox`}\n role=\"listbox\"\n >\n {showAutoCompleteResultListItems(options, false)}\n {showNoOptionsFound && (\n <AutoCompleteResultListItem empty>\n {tNoResults?.()}\n </AutoCompleteResultListItem>\n )}\n </AutoCompleteResultList>\n <AutoCompleteAssistiveHint id={assistiveHintID}>\n {tAssistiveHint?.()}\n </AutoCompleteAssistiveHint>\n </>\n )}\n </AutoCompleteContainer>\n );\n }\n}\n\nexport {\n AutoComplete,\n AutoCompleteInputBase,\n AutoCompleteInputTypeahead,\n AutoCompleteResultList,\n AutoCompleteResultListItem,\n AutoCompleteContainer,\n AutoCompleteAssistiveHint,\n AutoCompleteMultipleInputContainer,\n AutoCompleteMultipleInput,\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import React, { Component, type JSX } from 'react';\nimport { AutoCompleteAssistiveHint } from '@digigov/react-core/AutoCompleteAssistiveHint';\nimport { AutoCompleteContainer } from '@digigov/react-core/AutoCompleteContainer';\nimport { AutoCompleteInputBase } from '@digigov/react-core/AutoCompleteInputBase';\nimport { AutoCompleteInputTypeahead } from '@digigov/react-core/AutoCompleteInputTypeahead';\nimport { AutoCompleteMultipleInput } from '@digigov/react-core/AutoCompleteMultipleInput';\nimport { AutoCompleteMultipleInputContainer } from '@digigov/react-core/AutoCompleteMultipleInputContainer';\nimport { AutoCompleteResultList } from '@digigov/react-core/AutoCompleteResultList';\nimport { AutoCompleteResultListItem } from '@digigov/react-core/AutoCompleteResultListItem';\nimport { Base } from '@digigov/react-core/Base';\nimport { CaretIcon } from '@digigov/react-icons/CaretIcon';\nimport { Chip, ChipContainer } from '@digigov/ui/content/Chip';\nimport Status from '@digigov/ui/form/AutoComplete/Status';\nimport {\n isIosDevice,\n keyCodes,\n isPrintableKeyCode,\n} from '@digigov/ui/form/AutoComplete/utils';\nimport Button from '@digigov/ui/form/Button';\nimport Checkbox, { CheckboxItem } from '@digigov/ui/form/Checkbox';\nimport { NormalText } from '@digigov/ui/typography/NormalText';\n\nexport interface AutoCompleteProps {\n source: (query: string, syncResults: (options: string[]) => void) => void;\n id: string;\n multiple?: boolean;\n tStatusResults?: (x: number, y: string) => string;\n tStatusNoResults?: () => string;\n tStatusQueryTooShort?: (x: number) => string;\n tStatusSelectedOption?: (x: string, y: number, z: number) => string;\n tNoResults?: () => string;\n tAssistiveHint?: () => string;\n templates?: {\n suggestion?: (value: any, query: string | string[]) => any;\n inputValue?: (value: any) => string;\n };\n width?: '25%' | '33.3%' | '50%' | '66.6%' | '75%' | '100%' | 'full';\n autoselect?: boolean;\n defaultValue?: string | string[];\n minLength?: number;\n name?: string;\n placeholder?: string;\n onConfirm?: (x: any) => void;\n confirmOnBlur?: boolean;\n required?: boolean;\n numberOfSelected?: 1 | 2 | 3 | 'all';\n}\n\nexport interface State {\n focused: any;\n hovered: any;\n menuOpen: boolean;\n options: any[];\n query: string;\n selectedValues: any[];\n validChoiceMade: boolean;\n selected: any;\n ariaHint: boolean;\n}\n\nexport interface NewQueryProps {\n menuOpen?: boolean;\n query?: string;\n}\n\nexport default class AutoComplete extends Component<AutoCompleteProps, State> {\n static defaultProps = {\n width: 'full',\n autoselect: false,\n minLength: 0,\n name: 'ds-input-autocomplete',\n placeholder: '',\n onConfirm: (): void => {\n return;\n },\n confirmOnBlur: false,\n required: false,\n tNoResults: (): string => 'No results found',\n tAssistiveHint: (): string =>\n 'When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.',\n };\n\n elementReferences = {};\n\n constructor(props: AutoCompleteProps) {\n super(props);\n const customState: any = {};\n if (Array.isArray(props.defaultValue)) {\n customState.selectedValues = props.defaultValue as string[];\n } else if (props.defaultValue) {\n customState.selectedValues = [props.defaultValue as string];\n }\n\n this.state = {\n focused: null,\n hovered: null,\n menuOpen: false,\n options: [],\n query: this.props.multiple ? '' : (props.defaultValue as string) || '',\n selectedValues: [],\n validChoiceMade: false,\n selected: null,\n ariaHint: true,\n ...customState,\n };\n this.handleComponentBlur = this.handleComponentBlur.bind(this);\n this.handleAutoCompleteBlur = this.handleAutoCompleteBlur.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleUpArrow = this.handleUpArrow.bind(this);\n this.handleDownArrow = this.handleDownArrow.bind(this);\n this.handleEnter = this.handleEnter.bind(this);\n this.handlePrintableKey = this.handlePrintableKey.bind(this);\n\n this.handleListMouseLeave = this.handleListMouseLeave.bind(this);\n\n if (this.props.multiple) {\n this.handleOptionClick = this.handleOptionClickMultiple.bind(this);\n } else {\n this.handleOptionClick = this.handleOptionClick.bind(this);\n }\n this.handleOptionFocus = this.handleOptionFocus.bind(this);\n this.handleOptionMouseDown = this.handleOptionMouseDown.bind(this);\n this.handleOptionMouseEnter = this.handleOptionMouseEnter.bind(this);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputFocus = this.handleInputFocus.bind(this);\n\n this.getDirectInputChanges = this.getDirectInputChanges.bind(this);\n }\n\n isQueryAnOption(query: string, options: string[]): boolean {\n return (\n options\n .map((entry) => this.templateInputValue(entry).toLowerCase())\n .indexOf(query.toLowerCase()) !== -1\n );\n }\n\n componentDidMount(): void {\n this.getDirectInputChanges();\n }\n\n getDirectInputChanges(): void {\n const inputReference = this.elementReferences[-1];\n const queryHasChanged =\n inputReference && inputReference.value !== (this.state.query ?? '');\n if (queryHasChanged) {\n this.handleInputChange({ target: { value: inputReference.value } });\n }\n }\n\n componentDidUpdate(_, prevState: Readonly<State>): void {\n const { focused } = this.state;\n const componentLostFocus = focused === null;\n const focusedChanged = prevState.focused !== focused;\n const focusDifferentElement = focusedChanged && !componentLostFocus;\n if (focusDifferentElement) {\n this.elementReferences[focused].focus();\n }\n const focusedInput = focused === -1;\n const componentGainedFocus = focusedChanged && prevState.focused === null;\n const selectAllText = focusedInput && componentGainedFocus;\n if (selectAllText) {\n const inputElement = this.elementReferences[focused];\n inputElement.setSelectionRange(0, inputElement.value.length);\n }\n }\n\n hasAutoselect(): boolean {\n return (isIosDevice() as boolean)\n ? false\n : (this.props.autoselect as boolean);\n }\n\n // This template is used when converting from a state.options object into a state.query.\n templateInputValue(value: string): string {\n const inputValueTemplate =\n this.props.templates && this.props.templates.inputValue;\n return inputValueTemplate ? inputValueTemplate(value) : value;\n }\n\n // This template is used when displaying results / suggestions.\n templateSuggestion(value: string): string {\n const suggestionTemplate =\n this.props.templates && this.props.templates.suggestion;\n\n return suggestionTemplate\n ? suggestionTemplate(value, this.state.query)\n : value;\n }\n\n handleComponentBlur(newState?: NewQueryProps): void {\n const { options, query, selected } = this.state;\n let newQuery: string;\n if (this.props.confirmOnBlur) {\n newQuery = newState?.query || query;\n this.props.onConfirm?.(options[selected as number]);\n } else {\n newQuery = query;\n }\n this.setState({\n focused: null,\n menuOpen: newState?.menuOpen || false,\n query: newQuery,\n selected: null,\n validChoiceMade: this.isQueryAnOption(newQuery, options),\n });\n }\n\n handleListMouseLeave(): void {\n this.setState({\n hovered: null,\n });\n }\n\n handleAutoCompleteBlur(event, index?: number): void {\n const { focused, options, query, selected } = this.state;\n let focusingOutsideComponent = false;\n if (event.relatedTarget === null) {\n focusingOutsideComponent = true;\n } else {\n // This affects if we have multiple autocompletes in same page and we click the first button-arrow and then another button-arrow\n focusingOutsideComponent =\n this.elementReferences['button-arrow'] !== event.relatedTarget;\n }\n const focusingInput = event.relatedTarget === this.elementReferences[-1];\n const focusingButtonArrow =\n this.elementReferences['button-arrow'] === event.relatedTarget || false;\n let focusingAnotherOption = focused !== null && focused !== -1;\n if (index !== undefined) {\n focusingAnotherOption = focused !== index && focused !== -1;\n }\n // Check if the user clicks outside and not either on option, either on input or on button arrow\n const blurComponent =\n focusingOutsideComponent &&\n !(focusingAnotherOption || focusingInput || focusingButtonArrow);\n\n if (blurComponent) {\n // In handleInputBlur:\n const newQuery = isIosDevice()\n ? query\n : this.templateInputValue(options[selected as number]);\n this.handleComponentBlur({\n menuOpen: false,\n query: newQuery,\n });\n }\n }\n\n handleInputChange(event: { target: any }): void {\n const { source, minLength } = this.props;\n const autoselect = this.hasAutoselect();\n const query = event.target.value;\n const queryEmpty = query.length === 0;\n this.setState({\n query,\n ariaHint: queryEmpty,\n });\n const minLengthQuery =\n minLength != undefined && minLength > query.length ? '' : query;\n source(minLengthQuery, (options) => {\n const optionsAvailable = options.length > 0;\n this.setState({\n menuOpen: optionsAvailable,\n options,\n selected: autoselect && optionsAvailable ? 0 : -1,\n validChoiceMade: false,\n });\n });\n }\n\n handleInputClick(\n event: React.MouseEvent<HTMLInputElement, MouseEvent>\n ): void {\n this.handleInputChange(event);\n }\n\n handleInputFocus(): void {\n const { source } = this.props;\n const { query, validChoiceMade, options } = this.state;\n const { minLength } = this.props;\n const shouldReopenMenu =\n !validChoiceMade &&\n query.length >= (minLength as number) &&\n options.length > 0;\n if (shouldReopenMenu) {\n this.setState(({ menuOpen }) => ({\n focused: -1,\n menuOpen: shouldReopenMenu || menuOpen,\n selected: -1,\n }));\n } else {\n source(query, (options) => {\n this.setState({\n focused: -1,\n options,\n });\n });\n }\n }\n\n handleOptionFocus(index: number): void {\n this.setState({\n focused: index,\n hovered: null,\n selected: index,\n });\n }\n\n handleOptionMouseEnter(index: number): void {\n // iOS Safari prevents click event if mouseenter adds hover background colour\n // See: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW4\n if (!isIosDevice()) {\n this.setState({\n hovered: index,\n });\n }\n }\n\n handleOptionClickMultiple(index: number): void {\n const selectedOption = this.state.options[index];\n let selectedValues = this.state.selectedValues;\n if (this.state.selectedValues.indexOf(selectedOption) === -1) {\n selectedValues = selectedValues.concat([selectedOption]);\n } else {\n selectedValues.splice(\n this.state.selectedValues.indexOf(selectedOption),\n 1\n );\n }\n this.props.onConfirm?.(selectedValues);\n this.setState({\n focused: index,\n hovered: null,\n menuOpen: true,\n query: '',\n selectedValues,\n selected: index,\n validChoiceMade: true,\n });\n this.forceUpdate();\n }\n\n handleOptionClick(index: number): void {\n const selectedOption = this.state.options[index];\n const newQuery = this.templateInputValue(selectedOption);\n this.props.onConfirm?.(selectedOption);\n const selectedValues = this.props.multiple\n ? this.state.selectedValues.concat(selectedOption)\n : [selectedOption];\n this.setState({\n focused: -1,\n hovered: null,\n menuOpen: false,\n query: newQuery,\n selectedValues,\n selected: -1,\n validChoiceMade: true,\n });\n this.forceUpdate();\n }\n\n handleOptionMouseDown(event: { preventDefault: () => void }): void {\n // Safari triggers focusOut before click, but if you\n // preventDefault on mouseDown, you can stop that from happening.\n // If this is removed, clicking on an option in Safari will trigger\n // `handleOptionBlur`, which closes the menu, and the click will\n // trigger on the element underneath instead.\n // See: http://stackoverflow.com/questions/7621711/how-to-prevent-blur-running-when-clicking-a-link-in-jquery\n event.preventDefault();\n }\n\n handleUpArrow(event: { preventDefault: () => void }): void {\n event.preventDefault();\n const { menuOpen, selected } = this.state;\n const isNotAtTop = selected !== -1;\n const allowMoveUp = isNotAtTop && menuOpen;\n if (allowMoveUp) {\n this.handleOptionFocus((selected as number) - 1);\n }\n }\n\n handleDownArrow(event: { preventDefault: () => void }): void {\n event.preventDefault();\n // if not open, open\n if (this.state.menuOpen === false) {\n event.preventDefault();\n this.props.source('', (options) => {\n this.setState({\n menuOpen: true,\n options,\n selected: 0,\n focused: 0,\n hovered: null,\n });\n });\n } else if (this.state.menuOpen === true) {\n const { menuOpen, options, selected } = this.state;\n const isNotAtBottom = selected !== options.length - 1;\n const allowMoveDown = isNotAtBottom && menuOpen;\n if (allowMoveDown) {\n this.handleOptionFocus((selected as number) + 1);\n }\n }\n }\n\n handleSpace(event: { preventDefault: () => void }): void {\n // if not open, open\n if (this.state.menuOpen === false && this.state.query === '') {\n event.preventDefault();\n this.props.source('', (options) => {\n this.setState({\n menuOpen: true,\n options,\n });\n });\n }\n const focusIsOnOption = this.state.focused !== -1;\n if (focusIsOnOption) {\n event.preventDefault();\n this.handleOptionClick(this.state.focused);\n }\n }\n\n handleEnter(event: { preventDefault: () => void }): void {\n if (this.state.menuOpen) {\n event.preventDefault();\n const hasSelectedOption = this.state.selected >= 0;\n if (hasSelectedOption) {\n this.handleOptionClick(this.state.selected);\n if (this.props.multiple) {\n this.setState({\n menuOpen: false,\n focused: -1,\n });\n }\n }\n }\n }\n\n handlePrintableKey(event: { target: any }): void {\n const inputElement = this.elementReferences[-1];\n const eventIsOnInput = event.target === inputElement;\n if (!eventIsOnInput) {\n // FIXME: This would be better if it was in componentDidUpdate,\n // but using setState to trigger that seems to not work correctly\n // in preact@8.1.0.\n inputElement.focus();\n }\n }\n\n handleKeyDown(event: {\n preventDefault: () => void;\n keyCode: number;\n target: any;\n }): void {\n switch (keyCodes[event.keyCode]) {\n case 'up':\n this.handleUpArrow(event);\n break;\n case 'down':\n this.handleDownArrow(event);\n break;\n case 'space':\n this.handleSpace(event);\n break;\n case 'enter':\n this.handleEnter(event);\n break;\n case 'escape':\n this.handleComponentBlur({\n query: this.state.query,\n });\n break;\n case 'backspace':\n if (this.props.multiple) {\n if (\n this.state.query.length === 0 &&\n this.state.selectedValues.length > 0\n ) {\n event.preventDefault();\n const updatedSelectedValues = this.state.selectedValues.slice(\n 0,\n -1\n );\n this.setState(\n {\n selectedValues: updatedSelectedValues,\n },\n () => {\n this.props.onConfirm?.(updatedSelectedValues);\n }\n );\n } else {\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n }\n } else {\n this.props.onConfirm?.('');\n }\n break;\n default:\n if (isPrintableKeyCode(event.keyCode)) {\n this.handlePrintableKey(event);\n }\n break;\n }\n }\n\n render(): JSX.Element {\n const {\n id,\n width,\n minLength,\n name,\n placeholder,\n required,\n tNoResults,\n tStatusQueryTooShort,\n tStatusNoResults,\n tStatusSelectedOption,\n tStatusResults,\n tAssistiveHint,\n multiple,\n source,\n } = this.props;\n const {\n focused,\n hovered,\n menuOpen,\n options,\n selected,\n ariaHint,\n validChoiceMade,\n } = this.state;\n const autoselect = this.hasAutoselect();\n const query = this.state.query ?? '';\n const inputFocused = focused === -1;\n const noOptionsAvailable = options.length === 0;\n const queryNotEmpty = query.length !== 0;\n const queryLongEnough = query.length >= (minLength as number);\n const showNoOptionsFound =\n inputFocused && noOptionsAvailable && queryNotEmpty && queryLongEnough;\n const componentIsFocused = focused !== null;\n const optionFocused = focused !== -1 && focused !== null;\n const menuIsVisible = menuOpen || showNoOptionsFound;\n const selectedOptionText = this.templateInputValue(options[selected]);\n const optionBeginsWithQuery =\n selectedOptionText &&\n selectedOptionText.toLowerCase().indexOf(query.toLowerCase()) === 0;\n const hintValue =\n optionBeginsWithQuery && autoselect\n ? query + selectedOptionText.substr(query.length)\n : '';\n\n const assistiveHintID = id + '__assistiveHint';\n const ariaDescribedProp = ariaHint\n ? {\n 'aria-describedby': assistiveHintID,\n }\n : null;\n\n const showAutoCompleteResultListItems = (\n options: string[],\n multiple: boolean\n ) => {\n {\n return options.map((option, index) => {\n const showFocused =\n focused === -1 ? selected === index : focused === index;\n const iosPosinsetHtml = isIosDevice() ? (\n <Base\n as=\"span\"\n id={`${id}__option-suffix--${index}`}\n style={{\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n marginBottom: '-1px',\n marginRight: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px',\n }}\n >\n {index + 1} \u03B1\u03C0\u03CC {options.length}\n </Base>\n ) : (\n ''\n );\n return (\n <AutoCompleteResultListItem\n isFocused={showFocused}\n isHovered={hovered}\n index={index}\n aria-selected={focused === index ? 'true' : 'false'}\n key={index}\n onBlur={(event) => this.handleAutoCompleteBlur(event, index)}\n onClick={() => this.handleOptionClick(index)}\n onMouseDown={this.handleOptionMouseDown}\n onMouseEnter={() => this.handleOptionMouseEnter(index)}\n ref={(optionEl) => {\n this.elementReferences[index] = optionEl;\n }}\n role=\"option\"\n tabIndex={-1}\n // @ts-ignore\n value={typeof option === 'object' ? option?.value : option}\n aria-posinset={index + 1}\n aria-setsize={options.length}\n >\n {multiple ? (\n <CheckboxItem\n value={option}\n checked={this.state.selectedValues.includes(option)}\n onChange={() => {}}\n >\n {this.templateSuggestion(option)}\n </CheckboxItem>\n ) : (\n this.templateSuggestion(option)\n )}\n {iosPosinsetHtml}\n </AutoCompleteResultListItem>\n );\n });\n }\n };\n\n return (\n <AutoCompleteContainer onKeyDown={this.handleKeyDown} width={width}>\n <Status\n id={id}\n length={options.length}\n queryLength={query.length}\n minQueryLength={minLength as number}\n selectedOption={this.templateInputValue(options[selected])}\n selectedOptionIndex={selected}\n validChoiceMade={validChoiceMade}\n isInFocus={this.state.focused !== null}\n tQueryTooShort={tStatusQueryTooShort}\n tNoResults={tStatusNoResults}\n tSelectedOption={tStatusSelectedOption}\n tResults={tStatusResults}\n />\n\n {hintValue && (placeholder === '' || !placeholder) && (\n <AutoCompleteInputTypeahead value={hintValue} />\n )}\n\n {multiple ? (\n <AutoCompleteMultipleInputContainer\n isFocused={componentIsFocused}\n numberOfSelected={this.props.numberOfSelected}\n >\n <ChipContainer>\n {this.state.selectedValues.map((value, index) => {\n return (\n <Chip\n key={index}\n onDelete={() => {\n this.setState(\n (prevState) => ({\n selectedValues: prevState.selectedValues.filter(\n (v) => {\n if (typeof v === 'string') {\n return v !== value;\n } else {\n return v.value !== value.value;\n }\n }\n ),\n }),\n () => {\n this.props.onConfirm?.(this.state.selectedValues);\n }\n );\n }}\n >\n {typeof value === 'string' ? value : value.label.primary}\n </Chip>\n );\n })}\n {!componentIsFocused &&\n typeof this.props.numberOfSelected === 'number' &&\n this.state.selectedValues.length >\n this.props.numberOfSelected && (\n <NormalText fontWeight=\"bold\" margin={0}>\n +\n {this.state.selectedValues.length -\n this.props.numberOfSelected}\n </NormalText>\n )}\n </ChipContainer>\n <AutoCompleteMultipleInput\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-activedescendant={\n optionFocused ? `${id}__option--${focused}` : ''\n }\n aria-owns={`${id}__listbox`}\n aria-autocomplete={this.hasAutoselect() ? 'both' : 'list'}\n {...ariaDescribedProp}\n autoComplete=\"off\"\n // isFocused={componentIsFocused}\n id={id}\n onClick={(event) => this.handleInputClick(event)}\n onBlur={(event) => this.handleAutoCompleteBlur(event)}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n name={name}\n placeholder={placeholder}\n ref={(inputElement) => {\n this.elementReferences[-1] = inputElement;\n }}\n role=\"combobox\"\n required={required}\n value={query}\n />\n <Button\n id={`${id}__button-arrow`}\n ref={(buttonElement) => {\n this.elementReferences['button-arrow'] = buttonElement;\n }}\n variant=\"link\"\n onClick={() => {\n if (!this.state.menuOpen) {\n source(query, (options) => {\n const optionsAvailable = options.length > 0;\n this.setState({\n menuOpen: optionsAvailable,\n options,\n selected: autoselect && optionsAvailable ? 0 : -1,\n validChoiceMade: false,\n });\n });\n } else {\n this.setState({\n menuOpen: false,\n focused: null,\n });\n }\n }}\n onBlur={(event) => this.handleAutoCompleteBlur(event)}\n >\n <CaretIcon direction=\"down\" size=\"md\" />\n </Button>\n\n <AutoCompleteResultList\n isVisible={menuIsVisible}\n onMouseLeave={() => this.handleListMouseLeave()}\n id={`${id}__listbox`}\n role=\"listbox\"\n >\n <Checkbox>\n {showAutoCompleteResultListItems(options, multiple)}\n </Checkbox>\n\n {showNoOptionsFound && (\n <AutoCompleteResultListItem empty>\n {tNoResults?.()}\n </AutoCompleteResultListItem>\n )}\n </AutoCompleteResultList>\n\n <AutoCompleteAssistiveHint id={assistiveHintID}>\n {tAssistiveHint?.()}\n </AutoCompleteAssistiveHint>\n </AutoCompleteMultipleInputContainer>\n ) : (\n <>\n <AutoCompleteInputBase\n aria-expanded={menuOpen ? 'true' : 'false'}\n aria-activedescendant={\n optionFocused ? `${id}__option--${focused}` : ''\n }\n aria-owns={`${id}__listbox`}\n aria-autocomplete={this.hasAutoselect() ? 'both' : 'list'}\n {...ariaDescribedProp}\n autoComplete=\"off\"\n isFocused={componentIsFocused}\n id={id}\n onClick={(event) => this.handleInputClick(event)}\n onBlur={this.handleAutoCompleteBlur}\n onChange={this.handleInputChange}\n onFocus={this.handleInputFocus}\n name={name}\n placeholder={placeholder}\n ref={(inputElement) => {\n this.elementReferences[-1] = inputElement;\n }}\n role=\"combobox\"\n required={required}\n value={query}\n />\n <CaretIcon direction=\"down\" size=\"md\" />\n\n <AutoCompleteResultList\n isVisible={menuIsVisible}\n onMouseLeave={() => this.handleListMouseLeave()}\n id={`${id}__listbox`}\n role=\"listbox\"\n >\n {showAutoCompleteResultListItems(options, false)}\n {showNoOptionsFound && (\n <AutoCompleteResultListItem empty>\n {tNoResults?.()}\n </AutoCompleteResultListItem>\n )}\n </AutoCompleteResultList>\n <AutoCompleteAssistiveHint id={assistiveHintID}>\n {tAssistiveHint?.()}\n </AutoCompleteAssistiveHint>\n </>\n )}\n </AutoCompleteContainer>\n );\n }\n}\n\nexport {\n AutoComplete,\n AutoCompleteInputBase,\n AutoCompleteInputTypeahead,\n AutoCompleteResultList,\n AutoCompleteResultListItem,\n AutoCompleteContainer,\n AutoCompleteAssistiveHint,\n AutoCompleteMultipleInputContainer,\n AutoCompleteMultipleInput,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["options", "multiple"]
|
|
7
7
|
}
|
|
@@ -1,10 +1,49 @@
|
|
|
1
|
-
import Button from "@digigov/ui/form/Button";
|
|
1
|
+
import { Button } from "@digigov/ui/form/Button";
|
|
2
2
|
var Button_stories_default = {
|
|
3
|
+
displayName: "Button",
|
|
3
4
|
title: "Digigov UI/form/Button",
|
|
4
5
|
description: "Use the button component to help users carry out an action",
|
|
5
6
|
link: "https://guide.services.gov.gr/docs/components/button",
|
|
6
|
-
component: Button
|
|
7
|
-
|
|
7
|
+
component: Button
|
|
8
|
+
};
|
|
9
|
+
const WithControls = {
|
|
10
|
+
args: {
|
|
11
|
+
variant: "button",
|
|
12
|
+
color: "primary",
|
|
13
|
+
children: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1",
|
|
14
|
+
dense: false,
|
|
15
|
+
printHidden: true,
|
|
16
|
+
"aria-label": "\u03A3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1"
|
|
17
|
+
},
|
|
18
|
+
argTypes: {
|
|
19
|
+
variant: {
|
|
20
|
+
options: ["button", "link"],
|
|
21
|
+
control: { type: "radio" }
|
|
22
|
+
},
|
|
23
|
+
color: {
|
|
24
|
+
options: ["primary", "secondary", "warning"],
|
|
25
|
+
control: { type: "select" },
|
|
26
|
+
if: { arg: "variant", eq: "button" }
|
|
27
|
+
},
|
|
28
|
+
dense: {
|
|
29
|
+
control: { type: "boolean" },
|
|
30
|
+
if: { arg: "variant", eq: "button" }
|
|
31
|
+
},
|
|
32
|
+
printHidden: {
|
|
33
|
+
control: { type: "boolean" }
|
|
34
|
+
},
|
|
35
|
+
children: {
|
|
36
|
+
control: { type: "text" }
|
|
37
|
+
},
|
|
38
|
+
"aria-label": {
|
|
39
|
+
control: { type: "text" }
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
parameters: {
|
|
43
|
+
controls: {
|
|
44
|
+
exclude: ["ref"]
|
|
45
|
+
}
|
|
46
|
+
}
|
|
8
47
|
};
|
|
9
48
|
import { Primary } from "@digigov/ui/form/Button/__stories__/Primary";
|
|
10
49
|
import { Secondary } from "@digigov/ui/form/Button/__stories__/Secondary";
|
|
@@ -30,6 +69,7 @@ export {
|
|
|
30
69
|
Secondary,
|
|
31
70
|
ThemeToggle,
|
|
32
71
|
Warning,
|
|
72
|
+
WithControls,
|
|
33
73
|
WithVariantLink,
|
|
34
74
|
Button_stories_default as default
|
|
35
75
|
};
|
|
@@ -1,11 +1,68 @@
|
|
|
1
1
|
declare namespace _default {
|
|
2
|
+
export let displayName: string;
|
|
2
3
|
export let title: string;
|
|
3
4
|
export let description: string;
|
|
4
5
|
export let link: string;
|
|
5
6
|
export { Button as component };
|
|
6
|
-
export let displayName: string;
|
|
7
7
|
}
|
|
8
8
|
export default _default;
|
|
9
|
+
export namespace WithControls {
|
|
10
|
+
let args: {
|
|
11
|
+
variant: string;
|
|
12
|
+
color: string;
|
|
13
|
+
children: string;
|
|
14
|
+
dense: boolean;
|
|
15
|
+
printHidden: boolean;
|
|
16
|
+
'aria-label': string;
|
|
17
|
+
};
|
|
18
|
+
let argTypes: {
|
|
19
|
+
variant: {
|
|
20
|
+
options: string[];
|
|
21
|
+
control: {
|
|
22
|
+
type: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
color: {
|
|
26
|
+
options: string[];
|
|
27
|
+
control: {
|
|
28
|
+
type: string;
|
|
29
|
+
};
|
|
30
|
+
if: {
|
|
31
|
+
arg: string;
|
|
32
|
+
eq: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
dense: {
|
|
36
|
+
control: {
|
|
37
|
+
type: string;
|
|
38
|
+
};
|
|
39
|
+
if: {
|
|
40
|
+
arg: string;
|
|
41
|
+
eq: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
printHidden: {
|
|
45
|
+
control: {
|
|
46
|
+
type: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
children: {
|
|
50
|
+
control: {
|
|
51
|
+
type: string;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
'aria-label': {
|
|
55
|
+
control: {
|
|
56
|
+
type: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
namespace parameters {
|
|
61
|
+
namespace controls {
|
|
62
|
+
let exclude: string[];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
9
66
|
export { Primary } from "@digigov/ui/form/Button/__stories__/Primary";
|
|
10
67
|
export { Secondary } from "@digigov/ui/form/Button/__stories__/Secondary";
|
|
11
68
|
export { Warning } from "@digigov/ui/form/Button/__stories__/Warning";
|
|
@@ -18,4 +75,4 @@ export { ButtonLinkButton } from "@digigov/ui/form/Button/__stories__/ButtonLink
|
|
|
18
75
|
export { Back } from "@digigov/ui/form/Button/__stories__/Back";
|
|
19
76
|
export { WithVariantLink } from "@digigov/ui/form/Button/__stories__/WithVariantLink";
|
|
20
77
|
export { ThemeToggle } from "@digigov/ui/form/Button/__stories__/ThemeToggle";
|
|
21
|
-
import Button from '@digigov/ui/form/Button';
|
|
78
|
+
import { Button } from '@digigov/ui/form/Button';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/form/Button/Button.stories.js"],
|
|
4
|
-
"sourcesContent": ["import Button from '@digigov/ui/form/Button';\n\nexport default {\n title: 'Digigov UI/form/Button',\n description: 'Use the button component to help users carry out an action',\n link: 'https://guide.services.gov.gr/docs/components/button',\n component: Button,\n
|
|
5
|
-
"mappings": "AAAA,
|
|
4
|
+
"sourcesContent": ["import { Button } from '@digigov/ui/form/Button';\n\nexport default {\n displayName: 'Button',\n title: 'Digigov UI/form/Button',\n description: 'Use the button component to help users carry out an action',\n link: 'https://guide.services.gov.gr/docs/components/button',\n component: Button,\n};\n\nexport const WithControls = {\n args: {\n variant: 'button',\n color: 'primary',\n children: '\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1',\n dense: false,\n printHidden: true,\n 'aria-label': '\u03A3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1',\n },\n argTypes: {\n variant: {\n options: ['button', 'link'],\n control: { type: 'radio' },\n },\n color: {\n options: ['primary', 'secondary', 'warning'],\n control: { type: 'select' },\n if: { arg: 'variant', eq: 'button' },\n },\n dense: {\n control: { type: 'boolean' },\n if: { arg: 'variant', eq: 'button' },\n },\n printHidden: {\n control: { type: 'boolean' },\n },\n children: {\n control: { type: 'text' },\n },\n 'aria-label': {\n control: { type: 'text' },\n },\n },\n parameters: {\n controls: {\n exclude: ['ref'],\n },\n },\n};\n\nexport { Primary } from '@digigov/ui/form/Button/__stories__/Primary';\nexport { Secondary } from '@digigov/ui/form/Button/__stories__/Secondary';\nexport { Warning } from '@digigov/ui/form/Button/__stories__/Warning';\nexport { GroupingButtons } from '@digigov/ui/form/Button/__stories__/GroupingButtons';\nexport { GroupingButtonsAndLinks } from '@digigov/ui/form/Button/__stories__/GroupingButtonsAndLinks';\nexport { CallToActionButton } from '@digigov/ui/form/Button/__stories__/CallToActionButton';\nexport { Disabled } from '@digigov/ui/form/Button/__stories__/Disabled';\nexport { Dense } from '@digigov/ui/form/Button/__stories__/Dense';\nexport { ButtonLinkButton } from '@digigov/ui/form/Button/__stories__/ButtonLinkButton';\nexport { Back } from '@digigov/ui/form/Button/__stories__/Back';\nexport { WithVariantLink } from '@digigov/ui/form/Button/__stories__/WithVariantLink';\nexport { ThemeToggle } from '@digigov/ui/form/Button/__stories__/ThemeToggle';\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,cAAc;AAEvB,IAAO,yBAAQ;AAAA,EACb,aAAa;AAAA,EACb,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,WAAW;AACb;AAEO,MAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AAAA,IACV,OAAO;AAAA,IACP,aAAa;AAAA,IACb,cAAc;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS,CAAC,UAAU,MAAM;AAAA,MAC1B,SAAS,EAAE,MAAM,QAAQ;AAAA,IAC3B;AAAA,IACA,OAAO;AAAA,MACL,SAAS,CAAC,WAAW,aAAa,SAAS;AAAA,MAC3C,SAAS,EAAE,MAAM,SAAS;AAAA,MAC1B,IAAI,EAAE,KAAK,WAAW,IAAI,SAAS;AAAA,IACrC;AAAA,IACA,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,UAAU;AAAA,MAC3B,IAAI,EAAE,KAAK,WAAW,IAAI,SAAS;AAAA,IACrC;AAAA,IACA,aAAa;AAAA,MACX,SAAS,EAAE,MAAM,UAAU;AAAA,IAC7B;AAAA,IACA,UAAU;AAAA,MACR,SAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAAA,IACA,cAAc;AAAA,MACZ,SAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,MACR,SAAS,CAAC,KAAK;AAAA,IACjB;AAAA,EACF;AACF;AAEA,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAChC,SAAS,+BAA+B;AACxC,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,SAAS,wBAAwB;AACjC,SAAS,YAAY;AACrB,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|