@simplybusiness/mobius 4.3.0 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/cjs/components/Accordion/Accordion.d.ts +34 -0
- package/dist/cjs/components/Accordion/Accordion.stories.d.ts +10 -0
- package/dist/cjs/components/Accordion/Accordion.stories.js +62 -0
- package/dist/cjs/components/Accordion/Accordion.stories.js.map +1 -0
- package/dist/cjs/components/Accordion/Accordion.test.d.ts +1 -0
- package/dist/cjs/components/Accordion/Accordion.test.js +191 -0
- package/dist/cjs/components/Accordion/Accordion.test.js.map +1 -0
- package/dist/cjs/components/Accordion/index.d.ts +1 -0
- package/dist/cjs/components/Alert/Alert.d.ts +16 -0
- package/dist/cjs/components/Alert/Alert.stories.d.ts +7 -0
- package/dist/cjs/components/Alert/Alert.stories.js +37 -0
- package/dist/cjs/components/Alert/Alert.stories.js.map +1 -0
- package/dist/cjs/components/Alert/Alert.test.d.ts +1 -0
- package/dist/cjs/components/Alert/Alert.test.js +50 -0
- package/dist/cjs/components/Alert/Alert.test.js.map +1 -0
- package/dist/cjs/components/Alert/index.d.ts +1 -0
- package/dist/cjs/components/Box/Box.d.ts +15 -0
- package/dist/cjs/components/Box/Box.stories.d.ts +7 -0
- package/dist/cjs/components/Box/Box.stories.js +24 -0
- package/dist/cjs/components/Box/Box.stories.js.map +1 -0
- package/dist/cjs/components/Box/Box.test.d.ts +1 -0
- package/dist/cjs/components/Box/Box.test.js +33 -0
- package/dist/cjs/components/Box/Box.test.js.map +1 -0
- package/dist/cjs/components/Box/index.d.ts +1 -0
- package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.d.ts +15 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.d.ts +12 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.d.ts +7 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +19 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.js.map +1 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.test.js +36 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.test.js.map +1 -0
- package/dist/cjs/components/Breadcrumbs/index.d.ts +2 -0
- package/dist/cjs/components/Button/Button.d.ts +31 -0
- package/dist/cjs/components/Button/Button.stories.d.ts +19 -0
- package/dist/cjs/components/Button/Button.stories.js +224 -0
- package/dist/cjs/components/Button/Button.stories.js.map +1 -0
- package/dist/cjs/components/Button/Button.test.d.ts +1 -0
- package/dist/cjs/components/Button/Button.test.js +87 -0
- package/dist/cjs/components/Button/Button.test.js.map +1 -0
- package/dist/cjs/components/Button/Loading.d.ts +2 -0
- package/dist/cjs/components/Button/index.d.ts +1 -0
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +3 -0
- package/dist/cjs/components/Checkbox/Checkbox.stories.d.ts +10 -0
- package/dist/cjs/components/Checkbox/Checkbox.stories.js +83 -0
- package/dist/cjs/components/Checkbox/Checkbox.stories.js.map +1 -0
- package/dist/cjs/components/Checkbox/Checkbox.test.d.ts +1 -0
- package/dist/cjs/components/Checkbox/Checkbox.test.js +174 -0
- package/dist/cjs/components/Checkbox/Checkbox.test.js.map +1 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.d.ts +3 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.stories.d.ts +9 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.stories.js +67 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.stories.js.map +1 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.test.d.ts +1 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.test.js +242 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.test.js.map +1 -0
- package/dist/cjs/components/Checkbox/index.d.ts +3 -0
- package/dist/cjs/components/Checkbox/types.d.ts +56 -0
- package/dist/cjs/components/Container/Container.d.ts +15 -0
- package/dist/cjs/components/Container/Container.stories.d.ts +6 -0
- package/dist/cjs/components/Container/Container.stories.js +14 -0
- package/dist/cjs/components/Container/Container.stories.js.map +1 -0
- package/dist/cjs/components/Container/Container.test.d.ts +1 -0
- package/dist/cjs/components/Container/Container.test.js +39 -0
- package/dist/cjs/components/Container/Container.test.js.map +1 -0
- package/dist/cjs/components/Container/index.d.ts +1 -0
- package/dist/cjs/components/Divider/Divider.d.ts +11 -0
- package/dist/cjs/components/Divider/Divider.stories.d.ts +6 -0
- package/dist/cjs/components/Divider/Divider.stories.js +18 -0
- package/dist/cjs/components/Divider/Divider.stories.js.map +1 -0
- package/dist/cjs/components/Divider/Divider.test.d.ts +1 -0
- package/dist/cjs/components/Divider/Divider.test.js +31 -0
- package/dist/cjs/components/Divider/Divider.test.js.map +1 -0
- package/dist/cjs/components/Divider/index.d.ts +1 -0
- package/dist/cjs/components/Drawer/Content.d.ts +11 -0
- package/dist/cjs/components/Drawer/Drawer.d.ts +22 -0
- package/dist/cjs/components/Drawer/Drawer.js +29 -19
- package/dist/cjs/components/Drawer/Drawer.js.map +1 -1
- package/dist/cjs/components/Drawer/Drawer.stories.d.ts +8 -0
- package/dist/cjs/components/Drawer/Drawer.stories.js +54 -0
- package/dist/cjs/components/Drawer/Drawer.stories.js.map +1 -0
- package/dist/cjs/components/Drawer/Drawer.test.d.ts +1 -0
- package/dist/cjs/components/Drawer/Drawer.test.js +123 -0
- package/dist/cjs/components/Drawer/Drawer.test.js.map +1 -0
- package/dist/cjs/components/Drawer/DrawerContext.js +17 -0
- package/dist/cjs/components/Drawer/DrawerContext.js.map +1 -0
- package/dist/cjs/components/Drawer/Header.d.ts +11 -0
- package/dist/cjs/components/Drawer/index.d.ts +12 -0
- package/dist/cjs/components/Drawer/useDrawer.js +21 -0
- package/dist/cjs/components/Drawer/useDrawer.js.map +1 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.d.ts +15 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.stories.d.ts +7 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.stories.js +66 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.stories.js.map +1 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.test.d.ts +1 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.test.js +97 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.test.js.map +1 -0
- package/dist/cjs/components/DropdownMenu/Item.d.ts +15 -0
- package/dist/cjs/components/DropdownMenu/index.d.ts +10 -0
- package/dist/cjs/components/ErrorMessage/ErrorMessage.d.ts +9 -0
- package/dist/cjs/components/ErrorMessage/ErrorMessage.stories.d.ts +7 -0
- package/dist/cjs/components/ErrorMessage/ErrorMessage.stories.js +23 -0
- package/dist/cjs/components/ErrorMessage/ErrorMessage.stories.js.map +1 -0
- package/dist/cjs/components/ErrorMessage/ErrorMessage.test.d.ts +1 -0
- package/dist/cjs/components/ErrorMessage/ErrorMessage.test.js +32 -0
- package/dist/cjs/components/ErrorMessage/ErrorMessage.test.js.map +1 -0
- package/dist/cjs/components/ErrorMessage/index.d.ts +1 -0
- package/dist/cjs/components/Fieldset/Fieldset.d.ts +17 -0
- package/dist/cjs/components/Fieldset/Fieldset.stories.d.ts +7 -0
- package/dist/cjs/components/Fieldset/Fieldset.stories.js +29 -0
- package/dist/cjs/components/Fieldset/Fieldset.stories.js.map +1 -0
- package/dist/cjs/components/Fieldset/Fieldset.test.d.ts +1 -0
- package/dist/cjs/components/Fieldset/Fieldset.test.js +12 -0
- package/dist/cjs/components/Fieldset/Fieldset.test.js.map +1 -0
- package/dist/cjs/components/Fieldset/index.d.ts +1 -0
- package/dist/cjs/components/Flex/Flex.d.ts +4 -0
- package/dist/cjs/components/Flex/Flex.stories.d.ts +7 -0
- package/dist/cjs/components/Flex/Flex.stories.js +147 -0
- package/dist/cjs/components/Flex/Flex.stories.js.map +1 -0
- package/dist/cjs/components/Flex/Flex.test.d.ts +1 -0
- package/dist/cjs/components/Flex/Flex.test.js +33 -0
- package/dist/cjs/components/Flex/Flex.test.js.map +1 -0
- package/dist/cjs/components/Flex/index.d.ts +2 -0
- package/dist/cjs/components/Flex/propUtils.d.ts +8 -0
- package/dist/cjs/components/Flex/propUtils.test.d.ts +1 -0
- package/dist/cjs/components/Flex/propUtils.test.js +99 -0
- package/dist/cjs/components/Flex/propUtils.test.js.map +1 -0
- package/dist/cjs/components/Flex/types.d.ts +33 -0
- package/dist/cjs/components/Grid/Grid.d.ts +28 -0
- package/dist/cjs/components/Grid/Grid.stories.d.ts +11 -0
- package/dist/cjs/components/Grid/Grid.stories.js +218 -0
- package/dist/cjs/components/Grid/Grid.stories.js.map +1 -0
- package/dist/cjs/components/Grid/Grid.test.d.ts +1 -0
- package/dist/cjs/components/Grid/Grid.test.js +97 -0
- package/dist/cjs/components/Grid/Grid.test.js.map +1 -0
- package/dist/cjs/components/Grid/Item.d.ts +30 -0
- package/dist/cjs/components/Grid/index.d.ts +9 -0
- package/dist/cjs/components/Icon/Icon.d.ts +2 -0
- package/dist/cjs/components/Icon/Icon.stories.d.ts +7 -0
- package/dist/cjs/components/Icon/Icon.stories.js +35 -0
- package/dist/cjs/components/Icon/Icon.stories.js.map +1 -0
- package/dist/cjs/components/Icon/Icon.test.d.ts +1 -0
- package/dist/cjs/components/Icon/Icon.test.js +34 -0
- package/dist/cjs/components/Icon/Icon.test.js.map +1 -0
- package/dist/cjs/components/Icon/IconStyle.d.ts +1 -0
- package/dist/cjs/components/Icon/index.d.ts +2 -0
- package/dist/cjs/components/Icon/types.d.ts +13 -0
- package/dist/cjs/components/Image/Image.d.ts +17 -0
- package/dist/cjs/components/Image/Image.stories.d.ts +6 -0
- package/dist/cjs/components/Image/Image.stories.js +19 -0
- package/dist/cjs/components/Image/Image.stories.js.map +1 -0
- package/dist/cjs/components/Image/Image.test.d.ts +1 -0
- package/dist/cjs/components/Image/Image.test.js +39 -0
- package/dist/cjs/components/Image/Image.test.js.map +1 -0
- package/dist/cjs/components/Image/index.d.ts +1 -0
- package/dist/cjs/components/Label/Label.d.ts +13 -0
- package/dist/cjs/components/Label/Label.stories.d.ts +6 -0
- package/dist/cjs/components/Label/Label.stories.js +17 -0
- package/dist/cjs/components/Label/Label.stories.js.map +1 -0
- package/dist/cjs/components/Label/Label.test.d.ts +1 -0
- package/dist/cjs/components/Label/Label.test.js +37 -0
- package/dist/cjs/components/Label/Label.test.js.map +1 -0
- package/dist/cjs/components/Label/index.d.ts +1 -0
- package/dist/cjs/components/Link/Link.d.ts +24 -0
- package/dist/cjs/components/Link/Link.stories.d.ts +7 -0
- package/dist/cjs/components/Link/Link.stories.js +45 -0
- package/dist/cjs/components/Link/Link.stories.js.map +1 -0
- package/dist/cjs/components/Link/Link.test.d.ts +1 -0
- package/dist/cjs/components/Link/Link.test.js +65 -0
- package/dist/cjs/components/Link/Link.test.js.map +1 -0
- package/dist/cjs/components/Link/index.d.ts +1 -0
- package/dist/cjs/components/LinkButton/LinkButton.d.ts +15 -0
- package/dist/cjs/components/LinkButton/LinkButton.stories.d.ts +6 -0
- package/dist/cjs/components/LinkButton/LinkButton.stories.js +46 -0
- package/dist/cjs/components/LinkButton/LinkButton.stories.js.map +1 -0
- package/dist/cjs/components/LinkButton/LinkButton.test.d.ts +1 -0
- package/dist/cjs/components/LinkButton/LinkButton.test.js +67 -0
- package/dist/cjs/components/LinkButton/LinkButton.test.js.map +1 -0
- package/dist/cjs/components/LinkButton/index.d.ts +1 -0
- package/dist/cjs/components/List/List.d.ts +17 -0
- package/dist/cjs/components/List/List.stories.d.ts +10 -0
- package/dist/cjs/components/List/List.stories.js +82 -0
- package/dist/cjs/components/List/List.stories.js.map +1 -0
- package/dist/cjs/components/List/List.test.d.ts +1 -0
- package/dist/cjs/components/List/List.test.js +95 -0
- package/dist/cjs/components/List/List.test.js.map +1 -0
- package/dist/cjs/components/List/ListItem.d.ts +14 -0
- package/dist/cjs/components/List/index.d.ts +2 -0
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.d.ts +8 -0
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.stories.d.ts +9 -0
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.stories.js +53 -0
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.stories.js.map +1 -0
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.test.d.ts +1 -0
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.test.js +29 -0
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.test.js.map +1 -0
- package/dist/cjs/components/LoadingIndicator/index.d.ts +1 -0
- package/dist/cjs/components/Logo/Logo.d.ts +14 -0
- package/dist/cjs/components/Logo/Logo.stories.d.ts +6 -0
- package/dist/cjs/components/Logo/Logo.stories.js +22 -0
- package/dist/cjs/components/Logo/Logo.stories.js.map +1 -0
- package/dist/cjs/components/Logo/Logo.test.d.ts +1 -0
- package/dist/cjs/components/Logo/Logo.test.js +25 -0
- package/dist/cjs/components/Logo/Logo.test.js.map +1 -0
- package/dist/cjs/components/Logo/index.d.ts +1 -0
- package/dist/cjs/components/Modal/Content.d.ts +11 -0
- package/dist/cjs/components/Modal/Header.d.ts +11 -0
- package/dist/cjs/components/Modal/Modal.d.ts +35 -0
- package/dist/cjs/components/Modal/Modal.js +23 -20
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.stories.d.ts +10 -0
- package/dist/cjs/components/Modal/Modal.stories.js +90 -0
- package/dist/cjs/components/Modal/Modal.stories.js.map +1 -0
- package/dist/cjs/components/Modal/Modal.test.d.ts +1 -0
- package/dist/cjs/components/Modal/Modal.test.js +137 -0
- package/dist/cjs/components/Modal/Modal.test.js.map +1 -0
- package/dist/cjs/components/Modal/index.d.ts +12 -0
- package/dist/cjs/components/NumberField/NumberField.d.ts +35 -0
- package/dist/cjs/components/NumberField/NumberField.stories.d.ts +10 -0
- package/dist/cjs/components/NumberField/NumberField.stories.js +100 -0
- package/dist/cjs/components/NumberField/NumberField.stories.js.map +1 -0
- package/dist/cjs/components/NumberField/NumberField.test.d.ts +1 -0
- package/dist/cjs/components/NumberField/NumberField.test.js +117 -0
- package/dist/cjs/components/NumberField/NumberField.test.js.map +1 -0
- package/dist/cjs/components/NumberField/index.d.ts +1 -0
- package/dist/cjs/components/Option/Option.d.ts +10 -0
- package/dist/cjs/components/Option/index.d.ts +1 -0
- package/dist/cjs/components/PasswordField/PasswordField.d.ts +5 -0
- package/dist/cjs/components/PasswordField/PasswordField.stories.d.ts +6 -0
- package/dist/cjs/components/PasswordField/PasswordField.stories.js +41 -0
- package/dist/cjs/components/PasswordField/PasswordField.stories.js.map +1 -0
- package/dist/cjs/components/PasswordField/PasswordField.test.d.ts +1 -0
- package/dist/cjs/components/PasswordField/PasswordField.test.js +34 -0
- package/dist/cjs/components/PasswordField/PasswordField.test.js.map +1 -0
- package/dist/cjs/components/PasswordField/ShowHideButton.d.ts +5 -0
- package/dist/cjs/components/PasswordField/index.d.ts +1 -0
- package/dist/cjs/components/Popover/Popover.d.ts +15 -0
- package/dist/cjs/components/Popover/Popover.stories.d.ts +7 -0
- package/dist/cjs/components/Popover/Popover.stories.js +32 -0
- package/dist/cjs/components/Popover/Popover.stories.js.map +1 -0
- package/dist/cjs/components/Popover/Popover.test.d.ts +1 -0
- package/dist/cjs/components/Popover/Popover.test.js +104 -0
- package/dist/cjs/components/Popover/Popover.test.js.map +1 -0
- package/dist/cjs/components/Popover/index.d.ts +1 -0
- package/dist/cjs/components/Progress/Progress.d.ts +20 -0
- package/dist/cjs/components/Progress/Progress.stories.d.ts +9 -0
- package/dist/cjs/components/Progress/Progress.stories.js +96 -0
- package/dist/cjs/components/Progress/Progress.stories.js.map +1 -0
- package/dist/cjs/components/Progress/Progress.test.d.ts +1 -0
- package/dist/cjs/components/Progress/Progress.test.js +60 -0
- package/dist/cjs/components/Progress/Progress.test.js.map +1 -0
- package/dist/cjs/components/Progress/index.d.ts +1 -0
- package/dist/cjs/components/Radio/Radio.d.ts +53 -0
- package/dist/cjs/components/Radio/Radio.stories.d.ts +12 -0
- package/dist/cjs/components/Radio/Radio.stories.js +122 -0
- package/dist/cjs/components/Radio/Radio.stories.js.map +1 -0
- package/dist/cjs/components/Radio/Radio.test.d.ts +1 -0
- package/dist/cjs/components/Radio/Radio.test.js +259 -0
- package/dist/cjs/components/Radio/Radio.test.js.map +1 -0
- package/dist/cjs/components/Radio/RadioButton.d.ts +3 -0
- package/dist/cjs/components/Radio/RadioButton.stories.d.ts +11 -0
- package/dist/cjs/components/Radio/RadioButton.stories.js +90 -0
- package/dist/cjs/components/Radio/RadioButton.stories.js.map +1 -0
- package/dist/cjs/components/Radio/RadioButton.test.d.ts +1 -0
- package/dist/cjs/components/Radio/RadioButton.test.js +23 -0
- package/dist/cjs/components/Radio/RadioButton.test.js.map +1 -0
- package/dist/cjs/components/Radio/RadioGroup.d.ts +30 -0
- package/dist/cjs/components/Radio/index.d.ts +3 -0
- package/dist/cjs/components/SVG/SVG.d.ts +11 -0
- package/dist/cjs/components/SVG/SVG.stories.d.ts +6 -0
- package/dist/cjs/components/SVG/SVG.stories.js +21 -0
- package/dist/cjs/components/SVG/SVG.stories.js.map +1 -0
- package/dist/cjs/components/SVG/SVG.test.d.ts +1 -0
- package/dist/cjs/components/SVG/SVG.test.js +28 -0
- package/dist/cjs/components/SVG/SVG.test.js.map +1 -0
- package/dist/cjs/components/SVG/index.d.ts +1 -0
- package/dist/cjs/components/Segment/Segment.d.ts +16 -0
- package/dist/cjs/components/Segment/Segment.stories.d.ts +19 -0
- package/dist/cjs/components/Segment/Segment.stories.js +125 -0
- package/dist/cjs/components/Segment/Segment.stories.js.map +1 -0
- package/dist/cjs/components/Segment/SegmentGroup.d.ts +13 -0
- package/dist/cjs/components/Segment/index.d.ts +2 -0
- package/dist/cjs/components/Select/Select.d.ts +20 -0
- package/dist/cjs/components/Select/Select.stories.d.ts +10 -0
- package/dist/cjs/components/Select/Select.stories.js +89 -0
- package/dist/cjs/components/Select/Select.stories.js.map +1 -0
- package/dist/cjs/components/Select/Select.test.d.ts +1 -0
- package/dist/cjs/components/Select/Select.test.js +108 -0
- package/dist/cjs/components/Select/Select.test.js.map +1 -0
- package/dist/cjs/components/Select/index.d.ts +1 -0
- package/dist/cjs/components/Slider/Slider.d.ts +19 -0
- package/dist/cjs/components/Slider/Slider.stories.d.ts +10 -0
- package/dist/cjs/components/Slider/Slider.stories.js +84 -0
- package/dist/cjs/components/Slider/Slider.stories.js.map +1 -0
- package/dist/cjs/components/Slider/Slider.test.d.ts +1 -0
- package/dist/cjs/components/Slider/Slider.test.js +85 -0
- package/dist/cjs/components/Slider/Slider.test.js.map +1 -0
- package/dist/cjs/components/Slider/helpers.d.ts +5 -0
- package/dist/cjs/components/Slider/helpers.test.d.ts +1 -0
- package/dist/cjs/components/Slider/helpers.test.js +75 -0
- package/dist/cjs/components/Slider/helpers.test.js.map +1 -0
- package/dist/cjs/components/Slider/index.d.ts +1 -0
- package/dist/cjs/components/Table/Body.d.ts +9 -0
- package/dist/cjs/components/Table/Cell.d.ts +11 -0
- package/dist/cjs/components/Table/Foot.d.ts +9 -0
- package/dist/cjs/components/Table/Head.d.ts +9 -0
- package/dist/cjs/components/Table/HeaderCell.d.ts +9 -0
- package/dist/cjs/components/Table/Row.d.ts +9 -0
- package/dist/cjs/components/Table/Table.d.ts +11 -0
- package/dist/cjs/components/Table/Table.stories.d.ts +7 -0
- package/dist/cjs/components/Table/Table.stories.js +17 -0
- package/dist/cjs/components/Table/Table.stories.js.map +1 -0
- package/dist/cjs/components/Table/Table.test.d.ts +1 -0
- package/dist/cjs/components/Table/Table.test.js +75 -0
- package/dist/cjs/components/Table/Table.test.js.map +1 -0
- package/dist/cjs/components/Table/index.d.ts +20 -0
- package/dist/cjs/components/Text/Text.d.ts +21 -0
- package/dist/cjs/components/Text/Text.stories.d.ts +10 -0
- package/dist/cjs/components/Text/Text.stories.js +38 -0
- package/dist/cjs/components/Text/Text.stories.js.map +1 -0
- package/dist/cjs/components/Text/Text.test.d.ts +1 -0
- package/dist/cjs/components/Text/Text.test.js +33 -0
- package/dist/cjs/components/Text/Text.test.js.map +1 -0
- package/dist/cjs/components/Text/index.d.ts +1 -0
- package/dist/cjs/components/TextArea/TextArea.d.ts +13 -0
- package/dist/cjs/components/TextArea/TextArea.stories.d.ts +11 -0
- package/dist/cjs/components/TextArea/TextArea.stories.js +92 -0
- package/dist/cjs/components/TextArea/TextArea.stories.js.map +1 -0
- package/dist/cjs/components/TextArea/TextArea.test.d.ts +1 -0
- package/dist/cjs/components/TextArea/TextArea.test.js +87 -0
- package/dist/cjs/components/TextArea/TextArea.test.js.map +1 -0
- package/dist/cjs/components/TextArea/index.d.ts +1 -0
- package/dist/cjs/components/TextAreaInput/TextAreaInput.d.ts +14 -0
- package/dist/cjs/components/TextAreaInput/TextAreaInput.test.d.ts +1 -0
- package/dist/cjs/components/TextAreaInput/TextAreaInput.test.js +35 -0
- package/dist/cjs/components/TextAreaInput/TextAreaInput.test.js.map +1 -0
- package/dist/cjs/components/TextAreaInput/index.d.ts +1 -0
- package/dist/cjs/components/TextField/TextField.d.ts +19 -0
- package/dist/cjs/components/TextField/TextField.stories.d.ts +20 -0
- package/dist/cjs/components/TextField/TextField.stories.js +219 -0
- package/dist/cjs/components/TextField/TextField.stories.js.map +1 -0
- package/dist/cjs/components/TextField/TextField.test.d.ts +1 -0
- package/dist/cjs/components/TextField/TextField.test.js +164 -0
- package/dist/cjs/components/TextField/TextField.test.js.map +1 -0
- package/dist/cjs/components/TextField/adornmentWithClassName.d.ts +2 -0
- package/dist/cjs/components/TextField/index.d.ts +1 -0
- package/dist/cjs/components/Title/Title.d.ts +15 -0
- package/dist/cjs/components/Title/Title.stories.d.ts +6 -0
- package/dist/cjs/components/Title/Title.stories.js +18 -0
- package/dist/cjs/components/Title/Title.stories.js.map +1 -0
- package/dist/cjs/components/Title/Title.test.d.ts +1 -0
- package/dist/cjs/components/Title/Title.test.js +22 -0
- package/dist/cjs/components/Title/Title.test.js.map +1 -0
- package/dist/cjs/components/Title/index.d.ts +1 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +11 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.d.ts +6 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.js +14 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.js.map +1 -0
- package/dist/cjs/components/VisuallyHidden/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts +40 -0
- package/dist/cjs/hooks/index.d.ts +7 -0
- package/dist/cjs/hooks/useBodyScrollLock/index.d.ts +1 -0
- package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.d.ts +3 -0
- package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.test.d.ts +1 -0
- package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.test.js +31 -0
- package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.test.js.map +1 -0
- package/dist/cjs/hooks/useBreakpoint/index.d.ts +1 -0
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.d.ts +14 -0
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.stories.d.ts +7 -0
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.stories.js +28 -0
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.stories.js.map +1 -0
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.test.d.ts +1 -0
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.test.js +377 -0
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.test.js.map +1 -0
- package/dist/cjs/hooks/useButton/index.d.ts +1 -0
- package/dist/cjs/hooks/useButton/useButton.d.ts +35 -0
- package/dist/cjs/hooks/useButton/useButton.test.d.ts +1 -0
- package/dist/cjs/hooks/useButton/useButton.test.js +143 -0
- package/dist/cjs/hooks/useButton/useButton.test.js.map +1 -0
- package/dist/cjs/hooks/useLabel/index.d.ts +1 -0
- package/dist/cjs/hooks/useLabel/useLabel.d.ts +27 -0
- package/dist/cjs/hooks/useLabel/useLabel.test.d.ts +1 -0
- package/dist/cjs/hooks/useLabel/useLabel.test.js +49 -0
- package/dist/cjs/hooks/useLabel/useLabel.test.js.map +1 -0
- package/dist/cjs/hooks/useOnClickOutside/index.d.ts +1 -0
- package/dist/cjs/hooks/useOnClickOutside/useOnClickOutside.d.ts +2 -0
- package/dist/cjs/hooks/useTextField/index.d.ts +2 -0
- package/dist/cjs/hooks/useTextField/types.d.ts +26 -0
- package/dist/cjs/hooks/useTextField/useTextField.d.ts +2 -0
- package/dist/cjs/hooks/useTextField/useTextField.test.d.ts +1 -0
- package/dist/cjs/hooks/useTextField/useTextField.test.js +167 -0
- package/dist/cjs/hooks/useTextField/useTextField.test.js.map +1 -0
- package/dist/cjs/hooks/useWindowEvent/index.d.ts +1 -0
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.d.ts +1 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/types/components.d.ts +2 -0
- package/dist/cjs/types/dom.d.ts +3 -0
- package/dist/cjs/types/events.d.ts +45 -0
- package/dist/cjs/types/icon.d.ts +9 -0
- package/dist/cjs/types/index.d.ts +5 -0
- package/dist/cjs/types/size.d.ts +1 -0
- package/dist/cjs/utils/StoryContainer.d.ts +1 -0
- package/dist/cjs/utils/StoryContainer.js +39 -0
- package/dist/cjs/utils/StoryContainer.js.map +1 -0
- package/dist/cjs/utils/changeCSS.d.ts +1 -0
- package/dist/cjs/utils/excludeControls.d.ts +1 -0
- package/dist/cjs/utils/excludeControls.test.d.ts +1 -0
- package/dist/cjs/utils/excludeControls.test.js +25 -0
- package/dist/cjs/utils/excludeControls.test.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +8 -0
- package/dist/cjs/utils/jestHTMLDialogPolyfill.d.ts +1 -0
- package/dist/cjs/utils/mergeRefs.d.ts +2 -0
- package/dist/cjs/utils/polyfill-tests.d.ts +1 -0
- package/dist/cjs/utils/sizeClasses.d.ts +16 -0
- package/dist/cjs/utils/sizeClasses.test.d.ts +1 -0
- package/dist/cjs/utils/sizeClasses.test.js +20 -0
- package/dist/cjs/utils/sizeClasses.test.js.map +1 -0
- package/dist/cjs/utils/spaceDelimitedList.d.ts +1 -0
- package/dist/cjs/utils/spaceDelimitedList.test.d.ts +1 -0
- package/dist/cjs/utils/spaceDelimitedList.test.js +27 -0
- package/dist/cjs/utils/spaceDelimitedList.test.js.map +1 -0
- package/dist/esm/components/Drawer/Drawer.js +29 -19
- package/dist/esm/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerContext.js +7 -0
- package/dist/esm/components/Drawer/DrawerContext.js.map +1 -0
- package/dist/esm/components/Drawer/useDrawer.js +11 -0
- package/dist/esm/components/Drawer/useDrawer.js.map +1 -0
- package/dist/esm/components/Flex/propUtils.test.js +97 -0
- package/dist/esm/components/Flex/propUtils.test.js.map +1 -0
- package/dist/esm/components/Modal/Modal.js +23 -20
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Slider/helpers.test.js +73 -0
- package/dist/esm/components/Slider/helpers.test.js.map +1 -0
- package/dist/esm/hooks/useBodyScrollLock/useBodyScrollLock.test.js +29 -0
- package/dist/esm/hooks/useBodyScrollLock/useBodyScrollLock.test.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/utils/StoryContainer.js +29 -0
- package/dist/esm/utils/StoryContainer.js.map +1 -0
- package/dist/esm/utils/excludeControls.test.js +23 -0
- package/dist/esm/utils/excludeControls.test.js.map +1 -0
- package/dist/esm/utils/sizeClasses.test.js +18 -0
- package/dist/esm/utils/sizeClasses.test.js.map +1 -0
- package/dist/esm/utils/spaceDelimitedList.test.js +25 -0
- package/dist/esm/utils/spaceDelimitedList.test.js.map +1 -0
- package/package.json +1 -1
- package/src/components/Drawer/Drawer.tsx +33 -20
- package/src/components/Modal/Modal.mdx +0 -1
- package/src/components/Modal/Modal.stories.tsx +1 -1
- package/src/components/Modal/Modal.test.tsx +0 -13
- package/src/components/Modal/Modal.tsx +23 -19
|
@@ -61,8 +61,8 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
61
61
|
}
|
|
62
62
|
return newObj;
|
|
63
63
|
}
|
|
64
|
+
const TRANSITION_CLASS_NAME = "--transition";
|
|
64
65
|
const Modal = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
|
|
65
|
-
var _window;
|
|
66
66
|
const { isOpen, onClose, onOpen, children, className, closeLabel, isFullScreen, animation, // Deprecated props below
|
|
67
67
|
size, appElement, preventCloseOnEsc, shouldFocusAfterRender, parentSelector } = props;
|
|
68
68
|
const hasWarnedAboutMissingLabels = (0, _react.useRef)(false);
|
|
@@ -75,8 +75,7 @@ const Modal = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
|
|
|
75
75
|
}
|
|
76
76
|
const hasOpened = (0, _react.useRef)(false);
|
|
77
77
|
const modalRef = (0, _react.useRef)(null);
|
|
78
|
-
const
|
|
79
|
-
const noPreference = (_window = window) === null || _window === void 0 ? void 0 : _window.matchMedia("(prefers-reduced-motion: no-preference)");
|
|
78
|
+
const hasDialogSupport = (0, _polyfilltests.supportsDialog)();
|
|
80
79
|
// Fire onOpen once
|
|
81
80
|
if (onOpen && !hasOpened.current) {
|
|
82
81
|
onOpen();
|
|
@@ -92,13 +91,15 @@ const Modal = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
|
|
|
92
91
|
event.stopPropagation();
|
|
93
92
|
}
|
|
94
93
|
const doClose = ()=>{
|
|
95
|
-
|
|
94
|
+
var _modalRef_current;
|
|
95
|
+
(_modalRef_current = modalRef.current) === null || _modalRef_current === void 0 ? void 0 : _modalRef_current.close();
|
|
96
96
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
97
97
|
};
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
// Delay close to allow backdrop exit transition
|
|
99
|
+
if (hasDialogSupport && animation) {
|
|
100
|
+
var _modalRef_current, _modalRef_current1;
|
|
101
|
+
(_modalRef_current = modalRef.current) === null || _modalRef_current === void 0 ? void 0 : _modalRef_current.classList.remove(TRANSITION_CLASS_NAME);
|
|
102
|
+
(_modalRef_current1 = modalRef.current) === null || _modalRef_current1 === void 0 ? void 0 : _modalRef_current1.addEventListener("transitionend", ()=>{
|
|
102
103
|
doClose();
|
|
103
104
|
}, {
|
|
104
105
|
once: true
|
|
@@ -107,31 +108,32 @@ const Modal = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
|
|
|
107
108
|
doClose();
|
|
108
109
|
}
|
|
109
110
|
}, [
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
onClose,
|
|
112
|
+
hasDialogSupport,
|
|
113
|
+
animation
|
|
113
114
|
]);
|
|
114
115
|
const modalClasses = (0, _dedupe.default)("mobius", "mobius/Modal", {
|
|
115
|
-
|
|
116
|
+
"--no-dialog-support": !hasDialogSupport,
|
|
117
|
+
"--should-transition": hasDialogSupport && animation,
|
|
116
118
|
"--slide-up": animation === "slideUp",
|
|
117
119
|
"--fade": animation === "fade",
|
|
118
|
-
"--has-reduced-motion": !noPreference.matches,
|
|
119
120
|
"--is-fullscreen": isFullScreen
|
|
120
121
|
}, className);
|
|
121
122
|
// Add polyfill for HTML Dialog in old browsers
|
|
122
123
|
(0, _react.useEffect)(()=>{
|
|
123
124
|
async function toggleModal() {
|
|
124
|
-
var _modalRef_current;
|
|
125
|
-
if (!
|
|
125
|
+
var _modalRef_current, _modalRef_current1;
|
|
126
|
+
if (!hasDialogSupport && typeof window !== "undefined" && modalRef.current !== null) {
|
|
126
127
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
127
128
|
const { default: dialogPolyfill } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("dialog-polyfill")));
|
|
128
129
|
dialogPolyfill.registerDialog(modalRef.current);
|
|
129
130
|
}
|
|
130
|
-
if (isOpen) {
|
|
131
|
-
var
|
|
132
|
-
(
|
|
131
|
+
if (isOpen && !((_modalRef_current = modalRef.current) === null || _modalRef_current === void 0 ? void 0 : _modalRef_current.open)) {
|
|
132
|
+
var _modalRef_current2, _modalRef_current3;
|
|
133
|
+
(_modalRef_current2 = modalRef.current) === null || _modalRef_current2 === void 0 ? void 0 : _modalRef_current2.showModal();
|
|
134
|
+
(_modalRef_current3 = modalRef.current) === null || _modalRef_current3 === void 0 ? void 0 : _modalRef_current3.classList.add(TRANSITION_CLASS_NAME);
|
|
133
135
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
134
|
-
} else if ((
|
|
136
|
+
} else if (!isOpen && ((_modalRef_current1 = modalRef.current) === null || _modalRef_current1 === void 0 ? void 0 : _modalRef_current1.open)) {
|
|
135
137
|
handleClose();
|
|
136
138
|
}
|
|
137
139
|
}
|
|
@@ -139,7 +141,8 @@ const Modal = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
|
|
|
139
141
|
}, [
|
|
140
142
|
isOpen,
|
|
141
143
|
onOpen,
|
|
142
|
-
handleClose
|
|
144
|
+
handleClose,
|
|
145
|
+
hasDialogSupport
|
|
143
146
|
]);
|
|
144
147
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)("dialog", {
|
|
145
148
|
ref: (0, _utils.mergeRefs)([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport {\n Children,\n Ref,\n SyntheticEvent,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { useBodyScrollLock } from \"../../hooks/useBodyScrollLock\";\nimport { supportsDialog } from \"../../utils/polyfill-tests\";\nimport { ModalProps } from \"./types\";\nimport { mergeRefs } from \"../../utils\";\n\nexport type ModalElementType = HTMLDialogElement;\nexport type ModalRef = Ref<ModalElementType>;\n\nconst Modal = forwardRef((props: ModalProps, ref: ModalRef) => {\n const {\n isOpen,\n onClose,\n onOpen,\n children,\n className,\n closeLabel,\n isFullScreen,\n animation,\n // Deprecated props below\n size,\n appElement,\n preventCloseOnEsc,\n shouldFocusAfterRender,\n parentSelector,\n } = props;\n const hasWarnedAboutMissingLabels = useRef<boolean>(false);\n // Handle deprecated props\n if (!hasWarnedAboutMissingLabels.current) {\n if (\n size ||\n appElement ||\n preventCloseOnEsc ||\n shouldFocusAfterRender ||\n parentSelector\n ) {\n console.warn(\n `Deprecation warning: Mobius Modal no longer supports the following props: size, appElement, preventCloseOnEsc, shouldFocusAfterRender and parentSelector.`,\n );\n hasWarnedAboutMissingLabels.current = true;\n }\n }\n\n const hasOpened = useRef<boolean>(false);\n const modalRef = useRef<HTMLDialogElement>(null);\n const
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport {\n Children,\n Ref,\n SyntheticEvent,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { useBodyScrollLock } from \"../../hooks/useBodyScrollLock\";\nimport { supportsDialog } from \"../../utils/polyfill-tests\";\nimport { ModalProps } from \"./types\";\nimport { mergeRefs } from \"../../utils\";\n\nexport type ModalElementType = HTMLDialogElement;\nexport type ModalRef = Ref<ModalElementType>;\n\nconst TRANSITION_CLASS_NAME = \"--transition\";\n\nconst Modal = forwardRef((props: ModalProps, ref: ModalRef) => {\n const {\n isOpen,\n onClose,\n onOpen,\n children,\n className,\n closeLabel,\n isFullScreen,\n animation,\n // Deprecated props below\n size,\n appElement,\n preventCloseOnEsc,\n shouldFocusAfterRender,\n parentSelector,\n } = props;\n const hasWarnedAboutMissingLabels = useRef<boolean>(false);\n // Handle deprecated props\n if (!hasWarnedAboutMissingLabels.current) {\n if (\n size ||\n appElement ||\n preventCloseOnEsc ||\n shouldFocusAfterRender ||\n parentSelector\n ) {\n console.warn(\n `Deprecation warning: Mobius Modal no longer supports the following props: size, appElement, preventCloseOnEsc, shouldFocusAfterRender and parentSelector.`,\n );\n hasWarnedAboutMissingLabels.current = true;\n }\n }\n\n const hasOpened = useRef<boolean>(false);\n const modalRef = useRef<HTMLDialogElement | null>(null);\n const hasDialogSupport = supportsDialog();\n\n // Fire onOpen once\n if (onOpen && !hasOpened.current) {\n onOpen();\n hasOpened.current = true;\n }\n\n useBodyScrollLock({ enabled: isOpen });\n\n // Add close handler, to enable closing animations\n const handleClose = useCallback(\n (event?: SyntheticEvent<HTMLElement, Event>) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n const doClose = () => {\n modalRef.current?.close();\n onClose?.();\n };\n\n // Delay close to allow backdrop exit transition\n if (hasDialogSupport && animation) {\n modalRef.current?.classList.remove(TRANSITION_CLASS_NAME);\n modalRef.current?.addEventListener(\n \"transitionend\",\n () => {\n doClose();\n },\n { once: true },\n );\n } else {\n doClose();\n }\n },\n [onClose, hasDialogSupport, animation],\n );\n\n const modalClasses = classNames(\n \"mobius\",\n \"mobius/Modal\",\n {\n \"--no-dialog-support\": !hasDialogSupport, // This class is used to correctly position modal in x/y middle on iOS <= 15.2\n \"--should-transition\": hasDialogSupport && animation,\n \"--slide-up\": animation === \"slideUp\",\n \"--fade\": animation === \"fade\",\n \"--is-fullscreen\": isFullScreen,\n },\n className,\n );\n\n // Add polyfill for HTML Dialog in old browsers\n useEffect(() => {\n async function toggleModal() {\n if (\n !hasDialogSupport &&\n typeof window !== \"undefined\" &&\n modalRef.current !== null\n ) {\n // eslint-disable-next-line import/no-extraneous-dependencies\n const { default: dialogPolyfill } = await import(\"dialog-polyfill\");\n dialogPolyfill.registerDialog(modalRef.current);\n }\n\n if (isOpen && !modalRef.current?.open) {\n modalRef.current?.showModal();\n modalRef.current?.classList.add(TRANSITION_CLASS_NAME);\n onOpen?.();\n } else if (!isOpen && modalRef.current?.open) {\n handleClose();\n }\n }\n\n toggleModal();\n }, [isOpen, onOpen, handleClose, hasDialogSupport]);\n\n return (\n <dialog\n ref={mergeRefs([modalRef, ref])}\n onCancel={handleClose}\n className={modalClasses}\n >\n {Children.map(children, child => {\n if (isValidElement(child)) {\n return cloneElement(child, {\n onClose: handleClose,\n closeLabel,\n } as any);\n }\n\n return child;\n })}\n </dialog>\n );\n});\n\nModal.displayName = \"Modal\";\nexport { Modal };\n"],"names":["Modal","TRANSITION_CLASS_NAME","forwardRef","props","ref","isOpen","onClose","onOpen","children","className","closeLabel","isFullScreen","animation","size","appElement","preventCloseOnEsc","shouldFocusAfterRender","parentSelector","hasWarnedAboutMissingLabels","useRef","current","console","warn","hasOpened","modalRef","hasDialogSupport","supportsDialog","useBodyScrollLock","enabled","handleClose","useCallback","event","preventDefault","stopPropagation","doClose","close","classList","remove","addEventListener","once","modalClasses","classNames","useEffect","toggleModal","window","default","dialogPolyfill","registerDialog","open","showModal","add","dialog","mergeRefs","onCancel","Children","map","child","isValidElement","cloneElement","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { Modal } from ".";
|
|
3
|
+
type StoryType = StoryObj<typeof Modal>;
|
|
4
|
+
declare const meta: Meta<typeof Modal>;
|
|
5
|
+
export declare const Normal: StoryType;
|
|
6
|
+
export declare const FullScreen: StoryType;
|
|
7
|
+
export declare const WithAnimation: StoryType;
|
|
8
|
+
export declare const WithLongContent: StoryType;
|
|
9
|
+
export declare const WithNested: StoryType;
|
|
10
|
+
export default meta;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WithNested = exports.WithLongContent = exports.WithAnimation = exports.FullScreen = exports.Normal = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const _1 = require(".");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
const Button_1 = require("../Button");
|
|
9
|
+
const Text_1 = require("../Text");
|
|
10
|
+
const meta = {
|
|
11
|
+
title: "Components/Modal",
|
|
12
|
+
component: _1.Modal,
|
|
13
|
+
argTypes: Object.assign({ animation: {
|
|
14
|
+
options: ["slideUp", "fade", "neither"],
|
|
15
|
+
control: { type: "radio" },
|
|
16
|
+
mapping: {
|
|
17
|
+
slideUp: "slideUp",
|
|
18
|
+
fade: "fade",
|
|
19
|
+
neither: undefined,
|
|
20
|
+
},
|
|
21
|
+
} }, (0, utils_1.excludeControls)("appElement", "parentSelector", "isOpen", "preventCloseOnEsc", "shouldFocusAfterRender", "size")),
|
|
22
|
+
args: {
|
|
23
|
+
isFullScreen: false,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
const Demo = (props) => {
|
|
27
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
28
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: () => setOpen(true), children: "Show Modal" }), (0, jsx_runtime_1.jsxs)(_1.Modal, Object.assign({}, props, { isOpen: open, onClose: () => setOpen(false), children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, { children: "The Latin Modal" }), (0, jsx_runtime_1.jsx)(_1.Modal.Content, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." })] }))] }));
|
|
29
|
+
};
|
|
30
|
+
const FullScreenDemo = (props) => {
|
|
31
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
32
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: () => setOpen(true), variant: "secondary", children: "Show Fullscreen Modal \uD83D\uDE80" }), (0, jsx_runtime_1.jsxs)(_1.Modal, Object.assign({}, props, { isOpen: open, isFullScreen: true, onClose: () => setOpen(false), children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, { children: "The Full Screen Modal" }), (0, jsx_runtime_1.jsx)(_1.Modal.Content, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." })] }))] }));
|
|
33
|
+
};
|
|
34
|
+
const WithAnimationDemo = ({ animation, isFullScreen, closeLabel, }) => {
|
|
35
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
36
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: () => setOpen(true), children: "Show Modal With Animation \uD83E\uDDD9\u200D\u2642\uFE0F" }), (0, jsx_runtime_1.jsxs)(_1.Modal, { isOpen: open, onClose: () => setOpen(false), animation: animation, isFullScreen: isFullScreen, closeLabel: closeLabel, children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, { children: "The Latin Modal" }), (0, jsx_runtime_1.jsx)(_1.Modal.Content, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." })] })] }));
|
|
37
|
+
};
|
|
38
|
+
const WithLongContentDemo = (props) => {
|
|
39
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
40
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: () => setOpen(true), children: "Show Modal" }), (0, jsx_runtime_1.jsxs)(_1.Modal, Object.assign({}, props, { isOpen: open, onClose: () => setOpen(false), children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, { children: "Aliquam fringilla quam vel purus rhoncus isuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Int" }), (0, jsx_runtime_1.jsxs)(_1.Modal.Content, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." }), (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." }), (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." }), (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." }), (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." }), (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." }), (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Aliquam fringilla quam vel purus rhoncus interdum in quis sapien. Sed at eros et lectus mollis posuere. Morbi augue augue, venenatis vel consectetur sed, vulputate et lorem. Integer venenatis nibh molestie commodo lobortis. Phasellus sit amet dignissim nisi. Vivamus nisi augue, scelerisque commodo libero vitae, vulputate interdum ex. Integer non risus sollicitudin, cursus ipsum vitae, rhoncus nulla." })] })] }))] }));
|
|
41
|
+
};
|
|
42
|
+
const ChildModal = () => {
|
|
43
|
+
const [showModal, setShowModal] = (0, react_1.useState)(false);
|
|
44
|
+
const show = () => setShowModal(true);
|
|
45
|
+
const hide = () => setShowModal(false);
|
|
46
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: show, children: "Show child modal" }), (0, jsx_runtime_1.jsxs)(_1.Modal, { isOpen: showModal, onClose: hide, animation: "slideUp", children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, { children: "Howdy" }), (0, jsx_runtime_1.jsx)(_1.Modal.Content, { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Closing or cancelling (with Escape key) should leave the parent modal open." }) })] })] }));
|
|
47
|
+
};
|
|
48
|
+
const WithNestedDemo = ({ animation, closeLabel }) => {
|
|
49
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
50
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: () => setOpen(true), children: "Show Nested Modal" }), (0, jsx_runtime_1.jsxs)(_1.Modal, { isOpen: open, onClose: () => setOpen(false), animation: animation, closeLabel: closeLabel, children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, { children: "The Latin Modal" }), (0, jsx_runtime_1.jsxs)(_1.Modal.Content, { children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { children: "Closing or cancelling the next modal should leave me open." }), (0, jsx_runtime_1.jsx)(ChildModal, {})] })] })] }));
|
|
51
|
+
};
|
|
52
|
+
exports.Normal = {
|
|
53
|
+
render: (args) => (0, jsx_runtime_1.jsx)(Demo, Object.assign({}, args)),
|
|
54
|
+
args: {
|
|
55
|
+
isOpen: false,
|
|
56
|
+
closeLabel: "Close",
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
exports.FullScreen = {
|
|
60
|
+
render: (args) => (0, jsx_runtime_1.jsx)(FullScreenDemo, Object.assign({}, args)),
|
|
61
|
+
args: {
|
|
62
|
+
isOpen: false,
|
|
63
|
+
closeLabel: "Close",
|
|
64
|
+
isFullScreen: true,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
exports.WithAnimation = {
|
|
68
|
+
render: (args) => (0, jsx_runtime_1.jsx)(WithAnimationDemo, Object.assign({}, args)),
|
|
69
|
+
args: {
|
|
70
|
+
isOpen: false,
|
|
71
|
+
animation: "slideUp",
|
|
72
|
+
closeLabel: "Close",
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
exports.WithLongContent = {
|
|
76
|
+
render: (args) => (0, jsx_runtime_1.jsx)(WithLongContentDemo, Object.assign({}, args)),
|
|
77
|
+
args: {
|
|
78
|
+
isOpen: false,
|
|
79
|
+
closeLabel: "Close",
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
exports.WithNested = {
|
|
83
|
+
render: (args) => (0, jsx_runtime_1.jsx)(WithNestedDemo, Object.assign({}, args)),
|
|
84
|
+
args: {
|
|
85
|
+
isOpen: false,
|
|
86
|
+
closeLabel: "Close",
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
exports.default = meta;
|
|
90
|
+
//# sourceMappingURL=Modal.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.stories.js","sourceRoot":"","sources":["../../../../src/components/Modal/Modal.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("@testing-library/react");
|
|
8
|
+
const user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
9
|
+
const _1 = require(".");
|
|
10
|
+
const jestHTMLDialogPolyfill_1 = require("../../utils/jestHTMLDialogPolyfill");
|
|
11
|
+
(0, jestHTMLDialogPolyfill_1.jestHTMLDialogPolyfill)();
|
|
12
|
+
const MODAL_CLASS_NAME = "mobius/Modal";
|
|
13
|
+
const MODAL_CLOSE_CLASS_NAME = "mobius/ModalClose";
|
|
14
|
+
const mockMatchMedia = (matches) => {
|
|
15
|
+
Object.defineProperty(window, "matchMedia", {
|
|
16
|
+
writable: true,
|
|
17
|
+
configurable: true,
|
|
18
|
+
value: jest.fn().mockImplementation(query => ({
|
|
19
|
+
matches,
|
|
20
|
+
media: query,
|
|
21
|
+
onchange: null,
|
|
22
|
+
addListener: jest.fn(),
|
|
23
|
+
removeListener: jest.fn(),
|
|
24
|
+
addEventListener: jest.fn(),
|
|
25
|
+
removeEventListener: jest.fn(),
|
|
26
|
+
dispatchEvent: jest.fn(),
|
|
27
|
+
})),
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
describe("Modal", () => {
|
|
31
|
+
beforeEach(() => {
|
|
32
|
+
mockMatchMedia(true);
|
|
33
|
+
});
|
|
34
|
+
afterAll(() => {
|
|
35
|
+
jest.resetAllMocks();
|
|
36
|
+
});
|
|
37
|
+
it("should render without errors", () => {
|
|
38
|
+
const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Modal, { isOpen: true, onClose: () => { } }));
|
|
39
|
+
expect(container).toBeTruthy();
|
|
40
|
+
});
|
|
41
|
+
it("should render with default class names", () => {
|
|
42
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Modal, { isOpen: true, onClose: () => { }, children: (0, jsx_runtime_1.jsx)(_1.Modal.Header, {}) }));
|
|
43
|
+
const dialog = react_1.screen.getByRole("dialog");
|
|
44
|
+
const closeButton = react_1.screen.getByLabelText("Close");
|
|
45
|
+
expect(dialog).toHaveClass(MODAL_CLASS_NAME);
|
|
46
|
+
expect(closeButton).toHaveClass(MODAL_CLOSE_CLASS_NAME);
|
|
47
|
+
});
|
|
48
|
+
it("should render with custom class name", () => {
|
|
49
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Modal, { className: "my-test-modal", isOpen: true, onClose: () => { }, children: (0, jsx_runtime_1.jsx)(_1.Modal.Header, {}) }));
|
|
50
|
+
const dialog = react_1.screen.getByRole("dialog");
|
|
51
|
+
const closeButton = react_1.screen.getByLabelText("Close");
|
|
52
|
+
expect(dialog).toHaveClass(MODAL_CLASS_NAME);
|
|
53
|
+
expect(dialog).toHaveClass("my-test-modal");
|
|
54
|
+
expect(closeButton).toHaveClass(MODAL_CLOSE_CLASS_NAME);
|
|
55
|
+
});
|
|
56
|
+
describe("given the animation prop is set to slideUp", () => {
|
|
57
|
+
it("should render with appropriate class name", () => {
|
|
58
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Modal, { isOpen: true, onClose: () => { }, animation: "slideUp" }));
|
|
59
|
+
const dialog = react_1.screen.getByRole("dialog");
|
|
60
|
+
expect(dialog).toHaveClass("--slide-up");
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe("given the animation prop is set to fade", () => {
|
|
64
|
+
it("should render with appropriate class name", () => {
|
|
65
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Modal, { isOpen: true, onClose: () => { }, animation: "fade" }));
|
|
66
|
+
const dialog = react_1.screen.getByRole("dialog");
|
|
67
|
+
expect(dialog).toHaveClass("--fade");
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
describe("given the user has reduced motion preference enabled", () => {
|
|
71
|
+
beforeEach(() => {
|
|
72
|
+
mockMatchMedia(false);
|
|
73
|
+
});
|
|
74
|
+
it("renders with appropriate class name", () => {
|
|
75
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Modal, { isOpen: true, onClose: () => { } }));
|
|
76
|
+
const dialog = react_1.screen.getByRole("dialog");
|
|
77
|
+
expect(dialog).toHaveClass("--has-reduced-motion");
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
// TODO: Cannot test until HTML Dialog is supported in JSDom
|
|
81
|
+
xdescribe("closing and cancelling", () => {
|
|
82
|
+
beforeAll(() => {
|
|
83
|
+
HTMLDialogElement.prototype.show = jest.fn(function mock() {
|
|
84
|
+
this.open = true;
|
|
85
|
+
});
|
|
86
|
+
HTMLDialogElement.prototype.showModal = jest.fn(function mock() {
|
|
87
|
+
this.open = true;
|
|
88
|
+
});
|
|
89
|
+
HTMLDialogElement.prototype.close = jest.fn(function mock() {
|
|
90
|
+
this.open = false;
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
it.only("pressing close button should close the modal", async () => {
|
|
94
|
+
const content = (0, jsx_runtime_1.jsx)(_1.Modal.Content, { children: "Sample content" });
|
|
95
|
+
let modalOpen = true;
|
|
96
|
+
const onClose = () => {
|
|
97
|
+
modalOpen = false;
|
|
98
|
+
};
|
|
99
|
+
const user = user_event_1.default.setup();
|
|
100
|
+
(0, react_1.render)((0, jsx_runtime_1.jsxs)(_1.Modal, { isOpen: modalOpen, onClose: onClose, closeLabel: "Close Me", children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, {}), content] }));
|
|
101
|
+
const modal = react_1.screen.getByRole("dialog", { hidden: true });
|
|
102
|
+
expect(modal).toBeInTheDocument();
|
|
103
|
+
expect(modal.open).toBe(true);
|
|
104
|
+
react_1.screen.debug();
|
|
105
|
+
const closeButton = react_1.screen.getByRole("button");
|
|
106
|
+
await user.click(closeButton); // This errors because
|
|
107
|
+
expect(modal.open).toBe(false);
|
|
108
|
+
});
|
|
109
|
+
it("should cancel the modal", async () => {
|
|
110
|
+
const content = (0, jsx_runtime_1.jsx)(_1.Modal.Content, { children: "Sample content" });
|
|
111
|
+
const onClose = jest.fn();
|
|
112
|
+
(0, react_1.render)((0, jsx_runtime_1.jsxs)(_1.Modal, { isOpen: true, onClose: onClose, children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, {}), content] }));
|
|
113
|
+
const modalContent = react_1.screen.getByText("Sample content");
|
|
114
|
+
expect(modalContent).toBeInTheDocument();
|
|
115
|
+
await user_event_1.default.keyboard("{escape}");
|
|
116
|
+
expect(onClose).toHaveBeenCalled();
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
describe("closeLabel prop", () => {
|
|
120
|
+
describe("given the label is defined", () => {
|
|
121
|
+
it("should render the label", () => {
|
|
122
|
+
const closeLabel = "Leave";
|
|
123
|
+
(0, react_1.render)((0, jsx_runtime_1.jsxs)(_1.Modal, { isOpen: true, onClose: () => { }, closeLabel: closeLabel, children: [(0, jsx_runtime_1.jsx)(_1.Modal.Header, {}), "Sample content"] }));
|
|
124
|
+
const closeButton = react_1.screen.getByText(closeLabel);
|
|
125
|
+
expect(closeButton).toBeInTheDocument();
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
describe("given the label is not defined", () => {
|
|
129
|
+
it("should render the default close button", () => {
|
|
130
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(_1.Modal, { isOpen: true, onClose: () => { }, children: (0, jsx_runtime_1.jsx)(_1.Modal.Header, {}) }));
|
|
131
|
+
const closeButton = react_1.screen.getByLabelText("Close");
|
|
132
|
+
expect(closeButton).toBeInTheDocument();
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
//# sourceMappingURL=Modal.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.test.js","sourceRoot":"","sources":["../../../../src/components/Modal/Modal.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DivElementType as ModalContentDivElementType, ContentProps as ModalContentProps } from "./Content";
|
|
2
|
+
import { HeaderElementType as ModalHeaderElementType, HeaderProps as ModalHeaderProps } from "./Header";
|
|
3
|
+
import { ModalProps } from "./Modal";
|
|
4
|
+
declare const Modal: {
|
|
5
|
+
({ isOpen, onClose, children, className, closeLabel, isFullScreen, animation, size, appElement, preventCloseOnEsc, shouldFocusAfterRender, parentSelector, }: ModalProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
} & {
|
|
8
|
+
Header: import("react").ForwardRefExoticComponent<Omit<ModalHeaderProps, "ref"> & import("react").RefAttributes<HTMLElement>>;
|
|
9
|
+
Content: import("react").ForwardRefExoticComponent<Omit<ModalContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
10
|
+
};
|
|
11
|
+
export { Modal };
|
|
12
|
+
export type { ModalContentDivElementType, ModalContentProps, ModalHeaderElementType, ModalHeaderProps, ModalProps, };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ChangeEvent, Ref, RefAttributes } from "react";
|
|
2
|
+
import { DOMProps } from "../../types/dom";
|
|
3
|
+
import { UseLabelProps } from "../../hooks";
|
|
4
|
+
import { ForwardedRefComponent } from "../../types/components";
|
|
5
|
+
export type NumberFieldElementType = HTMLInputElement;
|
|
6
|
+
export interface NumberFieldProps extends DOMProps, UseLabelProps, RefAttributes<NumberFieldElementType> {
|
|
7
|
+
id?: string;
|
|
8
|
+
/** Custom class name for setting specific CSS */
|
|
9
|
+
className?: string;
|
|
10
|
+
validationState?: "valid" | "invalid" | undefined;
|
|
11
|
+
/** The smallest value allowed for the input. */
|
|
12
|
+
minValue?: number;
|
|
13
|
+
/** The largest value allowed for the input. */
|
|
14
|
+
maxValue?: number;
|
|
15
|
+
/** The amount that the input value changes with each increment or decrement "tick". */
|
|
16
|
+
step?: number;
|
|
17
|
+
/** The default value (uncontrolled). */
|
|
18
|
+
defaultValue?: number;
|
|
19
|
+
/** Handler that is called when the value changes. */
|
|
20
|
+
onChange?: (event: ChangeEvent<NumberFieldElementType>) => void;
|
|
21
|
+
/** Temporary text that occupies the text input when it is empty. */
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
/** Whether user input is required on the input before form submission. */
|
|
24
|
+
isRequired?: boolean;
|
|
25
|
+
/** Whether the input is disabled. */
|
|
26
|
+
isDisabled?: boolean;
|
|
27
|
+
/** Whether the input can be selected but not changed by the user. */
|
|
28
|
+
isReadOnly?: boolean;
|
|
29
|
+
/** An error message for the field. */
|
|
30
|
+
errorMessage?: string;
|
|
31
|
+
/** Identifies the element (or elements) that describes the object. */
|
|
32
|
+
"aria-describedby"?: string | undefined;
|
|
33
|
+
}
|
|
34
|
+
export type NumberFieldRef = Ref<NumberFieldElementType>;
|
|
35
|
+
export declare const NumberField: ForwardedRefComponent<NumberFieldProps, NumberFieldElementType>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { NumberField } from "./NumberField";
|
|
3
|
+
type StoryType = StoryObj<typeof NumberField>;
|
|
4
|
+
declare const meta: Meta<typeof NumberField>;
|
|
5
|
+
export declare const Normal: StoryType;
|
|
6
|
+
export declare const LimitedRange: StoryType;
|
|
7
|
+
export declare const Valid: StoryType;
|
|
8
|
+
export declare const Invalid: StoryType;
|
|
9
|
+
export declare const Disabled: StoryType;
|
|
10
|
+
export default meta;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Disabled = exports.Invalid = exports.Valid = exports.LimitedRange = exports.Normal = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const NumberField_1 = require("./NumberField");
|
|
6
|
+
const utils_1 = require("../../utils");
|
|
7
|
+
const meta = {
|
|
8
|
+
title: "Forms/NumberField",
|
|
9
|
+
component: NumberField_1.NumberField,
|
|
10
|
+
argTypes: Object.assign({ validationState: {
|
|
11
|
+
options: ["valid", "invalid", "neither"],
|
|
12
|
+
control: { type: "radio" },
|
|
13
|
+
mapping: {
|
|
14
|
+
valid: "valid",
|
|
15
|
+
invalid: "invalid",
|
|
16
|
+
neither: "",
|
|
17
|
+
},
|
|
18
|
+
}, minValue: {
|
|
19
|
+
control: {
|
|
20
|
+
control: { type: "range" },
|
|
21
|
+
min: 0,
|
|
22
|
+
max: 10,
|
|
23
|
+
step: 1,
|
|
24
|
+
},
|
|
25
|
+
}, maxValue: {
|
|
26
|
+
control: {
|
|
27
|
+
control: { type: "range" },
|
|
28
|
+
min: 0,
|
|
29
|
+
max: 10,
|
|
30
|
+
step: 1,
|
|
31
|
+
},
|
|
32
|
+
} }, (0, utils_1.excludeControls)("value")),
|
|
33
|
+
args: {
|
|
34
|
+
minValue: 0,
|
|
35
|
+
maxValue: 100,
|
|
36
|
+
placeholder: "",
|
|
37
|
+
isDisabled: false,
|
|
38
|
+
isReadOnly: false,
|
|
39
|
+
},
|
|
40
|
+
decorators: [
|
|
41
|
+
Story => ((0, jsx_runtime_1.jsx)(utils_1.StoryContainer, { children: (0, jsx_runtime_1.jsx)(Story, {}) })),
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
exports.Normal = {
|
|
45
|
+
render: (args) => (0, jsx_runtime_1.jsx)(NumberField_1.NumberField, Object.assign({}, args)),
|
|
46
|
+
args: {
|
|
47
|
+
label: "Number field",
|
|
48
|
+
defaultValue: 0,
|
|
49
|
+
errorMessage: "",
|
|
50
|
+
step: 10,
|
|
51
|
+
isRequired: false,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
exports.LimitedRange = {
|
|
55
|
+
render: (args) => (0, jsx_runtime_1.jsx)(NumberField_1.NumberField, Object.assign({}, args)),
|
|
56
|
+
args: {
|
|
57
|
+
label: "Number field",
|
|
58
|
+
minValue: -10,
|
|
59
|
+
maxValue: 10,
|
|
60
|
+
defaultValue: 0,
|
|
61
|
+
errorMessage: "",
|
|
62
|
+
step: 1,
|
|
63
|
+
isRequired: false,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
exports.Valid = {
|
|
67
|
+
render: (args) => (0, jsx_runtime_1.jsx)(NumberField_1.NumberField, Object.assign({}, args)),
|
|
68
|
+
args: {
|
|
69
|
+
label: "Number field",
|
|
70
|
+
validationState: "valid",
|
|
71
|
+
defaultValue: 0,
|
|
72
|
+
errorMessage: "",
|
|
73
|
+
step: 1,
|
|
74
|
+
isRequired: false,
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
exports.Invalid = {
|
|
78
|
+
render: (args) => (0, jsx_runtime_1.jsx)(NumberField_1.NumberField, Object.assign({}, args)),
|
|
79
|
+
args: {
|
|
80
|
+
label: "Number field",
|
|
81
|
+
validationState: "invalid",
|
|
82
|
+
errorMessage: "Error message",
|
|
83
|
+
defaultValue: 0,
|
|
84
|
+
step: 1,
|
|
85
|
+
isRequired: false,
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
exports.Disabled = {
|
|
89
|
+
render: (args) => (0, jsx_runtime_1.jsx)(NumberField_1.NumberField, Object.assign({}, args)),
|
|
90
|
+
args: {
|
|
91
|
+
label: "Number field",
|
|
92
|
+
isDisabled: true,
|
|
93
|
+
defaultValue: 0,
|
|
94
|
+
errorMessage: "",
|
|
95
|
+
step: 1,
|
|
96
|
+
isRequired: false,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
exports.default = meta;
|
|
100
|
+
//# sourceMappingURL=NumberField.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberField.stories.js","sourceRoot":"","sources":["../../../../src/components/NumberField/NumberField.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|