@simplybusiness/mobius 4.16.0 → 5.0.0
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 +48 -0
- package/dist/cjs/components/Accordion/Accordion.js +8 -8
- package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.js +4 -4
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/Box/Box.js +1 -1
- package/dist/cjs/components/Box/Box.js.map +1 -1
- package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js +2 -2
- package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js.map +1 -1
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/cjs/components/Button/Button.js +4 -2
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/Button/Loading.js +12 -6
- package/dist/cjs/components/Button/Loading.js.map +1 -1
- package/dist/cjs/components/Button/Success.js +4 -3
- package/dist/cjs/components/Button/Success.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +10 -6
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Checkbox/CheckboxGroup.js +2 -2
- package/dist/cjs/components/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/cjs/components/Container/Container.js +1 -1
- package/dist/cjs/components/Container/Container.js.map +1 -1
- package/dist/cjs/components/Divider/Divider.js +2 -2
- package/dist/cjs/components/Divider/Divider.js.map +1 -1
- package/dist/cjs/components/Drawer/Content.js +1 -1
- package/dist/cjs/components/Drawer/Content.js.map +1 -1
- package/dist/cjs/components/Drawer/Drawer.js +1 -1
- package/dist/cjs/components/Drawer/Drawer.js.map +1 -1
- package/dist/cjs/components/Drawer/Header.js +2 -2
- package/dist/cjs/components/Drawer/Header.js.map +1 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenu.js +3 -3
- package/dist/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/cjs/components/DropdownMenu/Item.js +1 -1
- package/dist/cjs/components/DropdownMenu/Item.js.map +1 -1
- package/dist/cjs/components/ErrorMessage/ErrorMessage.js +7 -4
- package/dist/cjs/components/ErrorMessage/ErrorMessage.js.map +1 -1
- package/dist/cjs/components/Fieldset/Fieldset.js +2 -2
- package/dist/cjs/components/Fieldset/Fieldset.js.map +1 -1
- package/dist/cjs/components/Flex/Flex.js +1 -1
- package/dist/cjs/components/Flex/Flex.js.map +1 -1
- package/dist/cjs/components/Grid/Grid.js +1 -1
- package/dist/cjs/components/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/Grid/Item.js +1 -1
- package/dist/cjs/components/Grid/Item.js.map +1 -1
- package/dist/cjs/components/Icon/Icon.js +1 -1
- package/dist/cjs/components/Icon/Icon.js.map +1 -1
- package/dist/cjs/components/Image/Image.js +1 -1
- package/dist/cjs/components/Image/Image.js.map +1 -1
- package/dist/cjs/components/Label/Label.js +1 -1
- package/dist/cjs/components/Label/Label.js.map +1 -1
- package/dist/cjs/components/Link/Link.js +1 -1
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/LinkButton/LinkButton.js +1 -1
- package/dist/cjs/components/LinkButton/LinkButton.js.map +1 -1
- package/dist/cjs/components/List/List.js +1 -1
- package/dist/cjs/components/List/List.js.map +1 -1
- package/dist/cjs/components/List/ListItem.js +3 -3
- package/dist/cjs/components/List/ListItem.js.map +1 -1
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.js +1 -1
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/cjs/components/Logo/Logo.js +1 -1
- package/dist/cjs/components/Logo/Logo.js.map +1 -1
- package/dist/cjs/components/Modal/Content.js +1 -1
- package/dist/cjs/components/Modal/Content.js.map +1 -1
- package/dist/cjs/components/Modal/Header.js +2 -2
- package/dist/cjs/components/Modal/Header.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.js +1 -1
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/NumberField/NumberField.js +7 -5
- package/dist/cjs/components/NumberField/NumberField.js.map +1 -1
- package/dist/cjs/components/PasswordField/PasswordField.js +1 -1
- package/dist/cjs/components/PasswordField/PasswordField.js.map +1 -1
- package/dist/cjs/components/PasswordField/ShowHideButton.js +1 -1
- package/dist/cjs/components/PasswordField/ShowHideButton.js.map +1 -1
- package/dist/cjs/components/Popover/Popover.js +8 -8
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/Progress/Progress.js +5 -5
- package/dist/cjs/components/Progress/Progress.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.js +6 -6
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/Radio/RadioGroup.js +36 -32
- package/dist/cjs/components/Radio/RadioGroup.js.map +1 -1
- package/dist/cjs/components/SVG/SVG.js +1 -1
- package/dist/cjs/components/SVG/SVG.js.map +1 -1
- package/dist/cjs/components/Segment/Segment.js +2 -2
- package/dist/cjs/components/Segment/Segment.js.map +1 -1
- package/dist/cjs/components/Segment/SegmentGroup.js +5 -5
- package/dist/cjs/components/Segment/SegmentGroup.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +8 -8
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Slider/Slider.js +7 -7
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/Stack/Stack.js +72 -0
- package/dist/cjs/components/Stack/Stack.js.map +1 -0
- package/dist/cjs/components/Stack/index.js +20 -0
- package/dist/cjs/components/Stack/index.js.map +1 -0
- package/dist/cjs/components/Table/Body.js +1 -1
- package/dist/cjs/components/Table/Body.js.map +1 -1
- package/dist/cjs/components/Table/Cell.js +1 -1
- package/dist/cjs/components/Table/Cell.js.map +1 -1
- package/dist/cjs/components/Table/Foot.js +1 -1
- package/dist/cjs/components/Table/Foot.js.map +1 -1
- package/dist/cjs/components/Table/Head.js +1 -1
- package/dist/cjs/components/Table/Head.js.map +1 -1
- package/dist/cjs/components/Table/HeaderCell.js +1 -1
- package/dist/cjs/components/Table/HeaderCell.js.map +1 -1
- package/dist/cjs/components/Table/Row.js +1 -1
- package/dist/cjs/components/Table/Row.js.map +1 -1
- package/dist/cjs/components/Table/Table.js +1 -1
- package/dist/cjs/components/Table/Table.js.map +1 -1
- package/dist/cjs/components/Text/Text.js +5 -2
- package/dist/cjs/components/Text/Text.js.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.js +5 -5
- package/dist/cjs/components/TextArea/TextArea.js.map +1 -1
- package/dist/cjs/components/TextAreaInput/TextAreaInput.js +1 -1
- package/dist/cjs/components/TextAreaInput/TextAreaInput.js.map +1 -1
- package/dist/cjs/components/TextField/TextField.js +12 -10
- package/dist/cjs/components/TextField/TextField.js.map +1 -1
- package/dist/cjs/components/Title/Title.js +4 -4
- package/dist/cjs/components/Title/Title.js.map +1 -1
- package/dist/cjs/components/Trust/Trust.js +4 -5
- package/dist/cjs/components/Trust/Trust.js.map +1 -1
- package/dist/cjs/components/Trust/constants.js +3 -3
- package/dist/cjs/components/Trust/constants.js.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/components/Accordion/Accordion.js +8 -8
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/Alert/Alert.js +4 -4
- package/dist/esm/components/Alert/Alert.js.map +1 -1
- package/dist/esm/components/Box/Box.js +1 -1
- package/dist/esm/components/Box/Box.js.map +1 -1
- package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js +2 -2
- package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js.map +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/esm/components/Button/Button.js +4 -2
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Button/Loading.js +12 -6
- package/dist/esm/components/Button/Loading.js.map +1 -1
- package/dist/esm/components/Button/Success.js +4 -3
- package/dist/esm/components/Button/Success.js.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +11 -7
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Checkbox/CheckboxGroup.js +2 -2
- package/dist/esm/components/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/esm/components/Container/Container.js +1 -1
- package/dist/esm/components/Container/Container.js.map +1 -1
- package/dist/esm/components/Divider/Divider.js +2 -2
- package/dist/esm/components/Divider/Divider.js.map +1 -1
- package/dist/esm/components/Drawer/Content.js +1 -1
- package/dist/esm/components/Drawer/Content.js.map +1 -1
- package/dist/esm/components/Drawer/Drawer.js +1 -1
- package/dist/esm/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/components/Drawer/Header.js +2 -2
- package/dist/esm/components/Drawer/Header.js.map +1 -1
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +3 -3
- package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/esm/components/DropdownMenu/Item.js +1 -1
- package/dist/esm/components/DropdownMenu/Item.js.map +1 -1
- package/dist/esm/components/ErrorMessage/ErrorMessage.js +7 -4
- package/dist/esm/components/ErrorMessage/ErrorMessage.js.map +1 -1
- package/dist/esm/components/Fieldset/Fieldset.js +2 -2
- package/dist/esm/components/Fieldset/Fieldset.js.map +1 -1
- package/dist/esm/components/Flex/Flex.js +1 -1
- package/dist/esm/components/Flex/Flex.js.map +1 -1
- package/dist/esm/components/Grid/Grid.js +1 -1
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/Grid/Item.js +1 -1
- package/dist/esm/components/Grid/Item.js.map +1 -1
- package/dist/esm/components/Icon/Icon.js +1 -1
- package/dist/esm/components/Icon/Icon.js.map +1 -1
- package/dist/esm/components/Image/Image.js +1 -1
- package/dist/esm/components/Image/Image.js.map +1 -1
- package/dist/esm/components/Label/Label.js +1 -1
- package/dist/esm/components/Label/Label.js.map +1 -1
- package/dist/esm/components/Link/Link.js +1 -1
- package/dist/esm/components/Link/Link.js.map +1 -1
- package/dist/esm/components/LinkButton/LinkButton.js +1 -1
- package/dist/esm/components/LinkButton/LinkButton.js.map +1 -1
- package/dist/esm/components/List/List.js +1 -1
- package/dist/esm/components/List/List.js.map +1 -1
- package/dist/esm/components/List/ListItem.js +3 -3
- package/dist/esm/components/List/ListItem.js.map +1 -1
- package/dist/esm/components/LoadingIndicator/LoadingIndicator.js +1 -1
- package/dist/esm/components/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/esm/components/Logo/Logo.js +1 -1
- package/dist/esm/components/Logo/Logo.js.map +1 -1
- package/dist/esm/components/Modal/Content.js +1 -1
- package/dist/esm/components/Modal/Content.js.map +1 -1
- package/dist/esm/components/Modal/Header.js +2 -2
- package/dist/esm/components/Modal/Header.js.map +1 -1
- package/dist/esm/components/Modal/Modal.js +1 -1
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/NumberField/NumberField.js +7 -5
- package/dist/esm/components/NumberField/NumberField.js.map +1 -1
- package/dist/esm/components/PasswordField/PasswordField.js +1 -1
- package/dist/esm/components/PasswordField/PasswordField.js.map +1 -1
- package/dist/esm/components/PasswordField/ShowHideButton.js +1 -1
- package/dist/esm/components/PasswordField/ShowHideButton.js.map +1 -1
- package/dist/esm/components/Popover/Popover.js +8 -8
- package/dist/esm/components/Popover/Popover.js.map +1 -1
- package/dist/esm/components/Progress/Progress.js +5 -5
- package/dist/esm/components/Progress/Progress.js.map +1 -1
- package/dist/esm/components/Radio/Radio.js +6 -6
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/Radio/RadioGroup.js +36 -32
- package/dist/esm/components/Radio/RadioGroup.js.map +1 -1
- package/dist/esm/components/SVG/SVG.js +1 -1
- package/dist/esm/components/SVG/SVG.js.map +1 -1
- package/dist/esm/components/Segment/Segment.js +2 -2
- package/dist/esm/components/Segment/Segment.js.map +1 -1
- package/dist/esm/components/Segment/SegmentGroup.js +5 -5
- package/dist/esm/components/Segment/SegmentGroup.js.map +1 -1
- package/dist/esm/components/Select/Select.js +8 -8
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Slider/Slider.js +7 -7
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Stack/Stack.js +16 -0
- package/dist/esm/components/Stack/Stack.js.map +1 -0
- package/dist/esm/components/Stack/index.js +3 -0
- package/dist/esm/components/Stack/index.js.map +1 -0
- package/dist/esm/components/Table/Body.js +1 -1
- package/dist/esm/components/Table/Body.js.map +1 -1
- package/dist/esm/components/Table/Cell.js +1 -1
- package/dist/esm/components/Table/Cell.js.map +1 -1
- package/dist/esm/components/Table/Foot.js +1 -1
- package/dist/esm/components/Table/Foot.js.map +1 -1
- package/dist/esm/components/Table/Head.js +1 -1
- package/dist/esm/components/Table/Head.js.map +1 -1
- package/dist/esm/components/Table/HeaderCell.js +1 -1
- package/dist/esm/components/Table/HeaderCell.js.map +1 -1
- package/dist/esm/components/Table/Row.js +1 -1
- package/dist/esm/components/Table/Row.js.map +1 -1
- package/dist/esm/components/Table/Table.js +1 -1
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Text/Text.js +5 -2
- package/dist/esm/components/Text/Text.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.js +5 -5
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/TextAreaInput/TextAreaInput.js +1 -1
- package/dist/esm/components/TextAreaInput/TextAreaInput.js.map +1 -1
- package/dist/esm/components/TextField/TextField.js +12 -10
- package/dist/esm/components/TextField/TextField.js.map +1 -1
- package/dist/esm/components/Title/Title.js +4 -4
- package/dist/esm/components/Title/Title.js.map +1 -1
- package/dist/esm/components/Trust/Trust.js +4 -5
- package/dist/esm/components/Trust/Trust.js.map +1 -1
- package/dist/esm/components/Trust/constants.js +3 -3
- package/dist/esm/components/Trust/constants.js.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/types/components/Button/Button.d.ts +2 -2
- package/dist/types/components/Button/Loading.d.ts +5 -1
- package/dist/types/components/Segment/Segment.stories.d.ts +2 -2
- package/dist/types/components/Segment/SegmentGroup.d.ts +1 -1
- package/dist/types/components/Stack/Stack.d.ts +15 -0
- package/dist/types/components/Stack/Stack.stories.d.ts +7 -0
- package/dist/types/components/Stack/Stack.test.d.ts +1 -0
- package/dist/types/components/Stack/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/package.json +3 -2
- package/src/components/Accordion/Accordion.css +72 -0
- package/src/components/Accordion/Accordion.mdx +9 -10
- package/src/components/Accordion/Accordion.test.tsx +4 -4
- package/src/components/Accordion/Accordion.tsx +8 -8
- package/src/components/Alert/Alert.css +53 -0
- package/src/components/Alert/Alert.mdx +1 -5
- package/src/components/Alert/Alert.tsx +4 -4
- package/src/components/Box/Box.css +3 -0
- package/src/components/Box/Box.mdx +1 -5
- package/src/components/Box/Box.test.tsx +1 -1
- package/src/components/Box/Box.tsx +1 -1
- package/src/components/Breadcrumbs/BreadcrumbItem.tsx +2 -2
- package/src/components/Breadcrumbs/Breadcrumbs.css +34 -0
- package/src/components/Breadcrumbs/Breadcrumbs.mdx +4 -8
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +2 -2
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
- package/src/components/Button/Button.css +253 -0
- package/src/components/Button/Button.mdx +3 -11
- package/src/components/Button/Button.story.styles.css +2 -2
- package/src/components/Button/Button.test.tsx +4 -6
- package/src/components/Button/Button.tsx +4 -4
- package/src/components/Button/Loading.tsx +21 -8
- package/src/components/Button/Success.tsx +5 -3
- package/src/components/Checkbox/Checkbox.css +112 -0
- package/src/components/Checkbox/Checkbox.mdx +6 -12
- package/src/components/Checkbox/Checkbox.test.tsx +1 -7
- package/src/components/Checkbox/Checkbox.tsx +9 -7
- package/src/components/Checkbox/CheckboxGroup.css +26 -0
- package/src/components/Checkbox/CheckboxGroup.mdx +12 -22
- package/src/components/Checkbox/CheckboxGroup.test.tsx +2 -7
- package/src/components/Checkbox/CheckboxGroup.tsx +2 -2
- package/src/components/Container/Container.css +13 -0
- package/src/components/Container/Container.mdx +1 -5
- package/src/components/Container/Container.test.tsx +1 -2
- package/src/components/Container/Container.tsx +1 -1
- package/src/components/Divider/Divider.css +14 -0
- package/src/components/Divider/Divider.mdx +2 -6
- package/src/components/Divider/Divider.test.tsx +1 -1
- package/src/components/Divider/Divider.tsx +2 -2
- package/src/components/Drawer/Content.tsx +1 -1
- package/src/components/Drawer/Drawer.css +189 -0
- package/src/components/Drawer/Drawer.mdx +5 -12
- package/src/components/Drawer/Drawer.test.tsx +2 -2
- package/src/components/Drawer/Drawer.tsx +1 -1
- package/src/components/Drawer/Header.tsx +2 -2
- package/src/components/DropdownMenu/DropdownMenu.css +70 -0
- package/src/components/DropdownMenu/DropdownMenu.mdx +4 -8
- package/src/components/DropdownMenu/DropdownMenu.story.styles.css +3 -3
- package/src/components/DropdownMenu/DropdownMenu.test.tsx +4 -4
- package/src/components/DropdownMenu/DropdownMenu.tsx +3 -3
- package/src/components/DropdownMenu/Item.tsx +1 -1
- package/src/components/ErrorMessage/ErrorMessage.css +11 -0
- package/src/components/ErrorMessage/ErrorMessage.test.tsx +1 -1
- package/src/components/ErrorMessage/ErrorMessage.tsx +5 -3
- package/src/components/Fieldset/Fieldset.css +15 -0
- package/src/components/Fieldset/Fieldset.mdx +2 -6
- package/src/components/Fieldset/Fieldset.tsx +2 -2
- package/src/components/Flex/Flex.css +4 -0
- package/src/components/Flex/Flex.mdx +1 -5
- package/src/components/Flex/Flex.test.tsx +1 -1
- package/src/components/Flex/Flex.tsx +1 -1
- package/src/components/Grid/Grid.mdx +0 -4
- package/src/components/Grid/Grid.tsx +1 -1
- package/src/components/Grid/Item.tsx +1 -1
- package/src/components/Icon/Icon.css +44 -0
- package/src/components/Icon/Icon.mdx +1 -5
- package/src/components/Icon/Icon.test.tsx +1 -1
- package/src/components/Icon/Icon.tsx +1 -1
- package/src/components/Image/Image.mdx +1 -5
- package/src/components/Image/Image.test.tsx +1 -1
- package/src/components/Image/Image.tsx +1 -1
- package/src/components/Label/Label.css +21 -0
- package/src/components/Label/Label.mdx +1 -5
- package/src/components/Label/Label.test.tsx +1 -1
- package/src/components/Label/Label.tsx +1 -1
- package/src/components/Link/Link.css +26 -0
- package/src/components/Link/Link.mdx +1 -5
- package/src/components/Link/Link.test.tsx +1 -1
- package/src/components/Link/Link.tsx +1 -1
- package/src/components/LinkButton/LinkButton.mdx +1 -5
- package/src/components/LinkButton/LinkButton.tsx +1 -1
- package/src/components/List/List.css +60 -0
- package/src/components/List/List.mdx +4 -8
- package/src/components/List/List.test.tsx +4 -4
- package/src/components/List/List.tsx +1 -1
- package/src/components/List/ListItem.tsx +3 -3
- package/src/components/LoadingIndicator/LoadingIndicator.css +3 -0
- package/src/components/LoadingIndicator/LoadingIndicator.mdx +1 -5
- package/src/components/LoadingIndicator/LoadingIndicator.test.tsx +1 -1
- package/src/components/LoadingIndicator/LoadingIndicator.tsx +1 -1
- package/src/components/Logo/Logo.mdx +1 -5
- package/src/components/Logo/Logo.test.tsx +1 -1
- package/src/components/Logo/Logo.tsx +1 -1
- package/src/components/Modal/Content.tsx +1 -1
- package/src/components/Modal/Header.tsx +2 -2
- package/src/components/Modal/Modal.css +145 -0
- package/src/components/Modal/Modal.mdx +5 -12
- package/src/components/Modal/Modal.test.tsx +2 -2
- package/src/components/Modal/Modal.tsx +1 -1
- package/src/components/NumberField/NumberField.css +64 -0
- package/src/components/NumberField/NumberField.mdx +4 -8
- package/src/components/NumberField/NumberField.tsx +7 -6
- package/src/components/PasswordField/PasswordField.css +31 -0
- package/src/components/PasswordField/PasswordField.mdx +4 -8
- package/src/components/PasswordField/PasswordField.tsx +1 -1
- package/src/components/PasswordField/ShowHideButton.tsx +1 -1
- package/src/components/Popover/Popover.css +43 -0
- package/src/components/Popover/Popover.mdx +7 -11
- package/src/components/Popover/Popover.story.styles.css +3 -3
- package/src/components/Popover/Popover.test.tsx +7 -7
- package/src/components/Popover/Popover.tsx +8 -8
- package/src/components/Progress/Progress.css +30 -0
- package/src/components/Progress/Progress.mdx +5 -11
- package/src/components/Progress/Progress.test.tsx +7 -3
- package/src/components/Progress/Progress.tsx +5 -5
- package/src/components/Radio/Radio.css +185 -0
- package/src/components/Radio/Radio.mdx +9 -13
- package/src/components/Radio/Radio.test.tsx +10 -5
- package/src/components/Radio/Radio.tsx +6 -6
- package/src/components/Radio/RadioGroup.tsx +28 -25
- package/src/components/SVG/SVG.mdx +1 -5
- package/src/components/SVG/SVG.test.tsx +1 -1
- package/src/components/SVG/SVG.tsx +1 -1
- package/src/components/Segment/Segment.css +204 -0
- package/src/components/Segment/Segment.mdx +9 -13
- package/src/components/Segment/Segment.stories.tsx +7 -7
- package/src/components/Segment/Segment.tsx +2 -2
- package/src/components/Segment/SegmentGroup.tsx +6 -6
- package/src/components/Select/Select.css +85 -0
- package/src/components/Select/Select.mdx +4 -8
- package/src/components/Select/Select.test.tsx +2 -2
- package/src/components/Select/Select.tsx +7 -7
- package/src/components/Slider/Slider.css +138 -0
- package/src/components/Slider/Slider.mdx +8 -14
- package/src/components/Slider/Slider.test.tsx +4 -1
- package/src/components/Slider/Slider.tsx +7 -7
- package/src/components/Stack/Stack.css +30 -0
- package/src/components/Stack/Stack.mdx +41 -0
- package/src/components/Stack/Stack.stories.tsx +56 -0
- package/src/components/Stack/Stack.test.tsx +8 -0
- package/src/components/Stack/Stack.tsx +34 -0
- package/src/components/Stack/index.tsx +1 -0
- package/src/components/Table/Body.tsx +1 -1
- package/src/components/Table/Cell.tsx +1 -1
- package/src/components/Table/Foot.tsx +1 -1
- package/src/components/Table/Head.tsx +1 -1
- package/src/components/Table/HeaderCell.tsx +1 -1
- package/src/components/Table/Row.tsx +1 -1
- package/src/components/Table/Table.css +62 -0
- package/src/components/Table/Table.mdx +10 -14
- package/src/components/Table/Table.test.tsx +28 -15
- package/src/components/Table/Table.tsx +1 -1
- package/src/components/Text/Text.css +94 -0
- package/src/components/Text/Text.mdx +1 -5
- package/src/components/Text/Text.test.tsx +1 -1
- package/src/components/Text/Text.tsx +3 -4
- package/src/components/TextArea/TextArea.css +46 -0
- package/src/components/TextArea/TextArea.mdx +4 -8
- package/src/components/TextArea/TextArea.test.tsx +1 -1
- package/src/components/TextArea/TextArea.tsx +8 -5
- package/src/components/TextAreaInput/TextAreaInput.test.tsx +1 -1
- package/src/components/TextAreaInput/TextAreaInput.tsx +1 -1
- package/src/components/TextField/TextField.css +166 -0
- package/src/components/TextField/TextField.mdx +4 -8
- package/src/components/TextField/TextField.test.tsx +10 -10
- package/src/components/TextField/TextField.tsx +14 -11
- package/src/components/Title/Title.css +41 -0
- package/src/components/Title/Title.mdx +4 -8
- package/src/components/Title/Title.tsx +4 -4
- package/src/components/Trust/Trust.mdx +1 -7
- package/src/components/Trust/Trust.test.tsx +1 -1
- package/src/components/Trust/Trust.tsx +4 -5
- package/src/components/Trust/constants.ts +3 -3
- package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -4
- package/src/components/index.tsx +1 -0
|
@@ -174,9 +174,9 @@ import { Segment, SegmentGroup } from "@simplybusiness/mobius";
|
|
|
174
174
|
</Segment>
|
|
175
175
|
```
|
|
176
176
|
|
|
177
|
-
### Bottom
|
|
177
|
+
### Bottom gap is removed from the last child in a Segment
|
|
178
178
|
|
|
179
|
-
<SegmentStories.
|
|
179
|
+
<SegmentStories.BottomGapRemoved />
|
|
180
180
|
|
|
181
181
|
{/* prettier-ignore */}
|
|
182
182
|
```jsx
|
|
@@ -222,9 +222,9 @@ import { Segment, SegmentGroup } from "@simplybusiness/mobius";
|
|
|
222
222
|
</SegmentGroup>
|
|
223
223
|
```
|
|
224
224
|
|
|
225
|
-
Add
|
|
225
|
+
Add gap around a SegmentGroup with a `gap="size-{xs|s|m|l|xl|xxl}"` prop:
|
|
226
226
|
|
|
227
|
-
<SegmentStories.
|
|
227
|
+
<SegmentStories.GapAround />
|
|
228
228
|
|
|
229
229
|
{/* prettier-ignore */}
|
|
230
230
|
```jsx
|
|
@@ -232,7 +232,7 @@ import { Segment, SegmentGroup } from "@simplybusiness/mobius";
|
|
|
232
232
|
|
|
233
233
|
<SegmentGroup>
|
|
234
234
|
<Segment>Top</Segment>
|
|
235
|
-
<SegmentGroup
|
|
235
|
+
<SegmentGroup gap="size-s">
|
|
236
236
|
<Segment>Nested Top</Segment>
|
|
237
237
|
<Segment>Nested Middle</Segment>
|
|
238
238
|
<Segment>Nested Bottom</Segment>
|
|
@@ -323,13 +323,9 @@ import { Segment, SegmentGroup, Text, Flex } from "@simplybusiness/mobius";
|
|
|
323
323
|
The following HTML is rendered for a Segment Group:
|
|
324
324
|
|
|
325
325
|
```html
|
|
326
|
-
<div class="mobius
|
|
327
|
-
<div class="mobius
|
|
328
|
-
<div class="mobius
|
|
329
|
-
<div class="mobius
|
|
326
|
+
<div class="mobius-segment-group">
|
|
327
|
+
<div class="mobius-segment">Top</div>
|
|
328
|
+
<div class="mobius-segment">Middle</div>
|
|
329
|
+
<div class="mobius-segment">Middle</div>
|
|
330
330
|
</div>
|
|
331
331
|
```
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
[See on Github](https://github.com/simplybusiness/mobius/tree/master/packages/mobius/src/components/Label) | [Give feedback](https://simplybusiness.atlassian.net/CreateIssue.jspa?issuetype=10103&pid=10609) | [Get support](https://simplybusiness.slack.com/archives/C016CC0NDNE)
|
|
@@ -24,9 +24,9 @@ const meta: Meta<typeof Segment> = {
|
|
|
24
24
|
"HorizontalStack3",
|
|
25
25
|
"Nested2",
|
|
26
26
|
"Nested3",
|
|
27
|
-
"
|
|
27
|
+
"BottomGapRemoved",
|
|
28
28
|
"CompoundLayout",
|
|
29
|
-
"
|
|
29
|
+
"GapAround",
|
|
30
30
|
"PaymentDetails",
|
|
31
31
|
],
|
|
32
32
|
argTypes: {
|
|
@@ -115,10 +115,10 @@ export const HorizontalStack: Meta<typeof SegmentGroup> = {
|
|
|
115
115
|
),
|
|
116
116
|
args: {
|
|
117
117
|
horizontal: true,
|
|
118
|
-
|
|
118
|
+
gap: "size-xs",
|
|
119
119
|
},
|
|
120
120
|
argTypes: {
|
|
121
|
-
|
|
121
|
+
gap: {
|
|
122
122
|
control: { type: "select" },
|
|
123
123
|
options: [...sizeOptions],
|
|
124
124
|
},
|
|
@@ -187,7 +187,7 @@ export const HorizontalStack3 = () => (
|
|
|
187
187
|
</SegmentGroup>
|
|
188
188
|
);
|
|
189
189
|
|
|
190
|
-
export const
|
|
190
|
+
export const BottomGapRemoved = () => (
|
|
191
191
|
<SegmentGroup horizontal>
|
|
192
192
|
<Segment>
|
|
193
193
|
<TextField label="First name" />
|
|
@@ -227,10 +227,10 @@ export const CompoundLayout = () => (
|
|
|
227
227
|
</SegmentGroup>
|
|
228
228
|
);
|
|
229
229
|
|
|
230
|
-
export const
|
|
230
|
+
export const GapAround = () => (
|
|
231
231
|
<SegmentGroup>
|
|
232
232
|
<Segment>Top</Segment>
|
|
233
|
-
<SegmentGroup
|
|
233
|
+
<SegmentGroup gap="size-s">
|
|
234
234
|
<Segment>Nested Top</Segment>
|
|
235
235
|
<Segment>Nested Middle</Segment>
|
|
236
236
|
<Segment>Nested Bottom</Segment>
|
|
@@ -17,7 +17,7 @@ const Segment = (props: SegmentProps) => {
|
|
|
17
17
|
|
|
18
18
|
const classes = classNames(
|
|
19
19
|
"mobius",
|
|
20
|
-
"mobius
|
|
20
|
+
"mobius-segment",
|
|
21
21
|
colour,
|
|
22
22
|
{ inverted },
|
|
23
23
|
className,
|
|
@@ -25,7 +25,7 @@ const Segment = (props: SegmentProps) => {
|
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
27
|
<div className={classes} {...rest}>
|
|
28
|
-
{heading && <div className="mobius
|
|
28
|
+
{heading && <div className="mobius-segment__heading">{heading}</div>}
|
|
29
29
|
{children}
|
|
30
30
|
</div>
|
|
31
31
|
);
|
|
@@ -5,20 +5,20 @@ import { DOMProps } from "../../types/dom";
|
|
|
5
5
|
export interface SegmentGroupProps extends DOMProps {
|
|
6
6
|
className?: string;
|
|
7
7
|
horizontal?: boolean;
|
|
8
|
-
|
|
8
|
+
gap?: "size-xs" | "size-s" | "size-m" | "size-l" | "size-xl" | "size-xxl";
|
|
9
9
|
children?: ReactNode;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
const SegmentGroup = (props: SegmentGroupProps) => {
|
|
13
|
-
const { children, horizontal,
|
|
13
|
+
const { children, horizontal, gap, className, ...rest } = props;
|
|
14
14
|
|
|
15
|
-
const
|
|
15
|
+
const gapClass = gap ? `gap-${gap}` : "";
|
|
16
16
|
const classes = classNames(
|
|
17
17
|
"mobius",
|
|
18
|
-
"mobius
|
|
18
|
+
"mobius-segment-group",
|
|
19
19
|
className,
|
|
20
|
-
{ horizontal },
|
|
21
|
-
|
|
20
|
+
{ "--is-horizontal": horizontal },
|
|
21
|
+
gapClass,
|
|
22
22
|
);
|
|
23
23
|
|
|
24
24
|
return (
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
:root,
|
|
2
|
+
:host {
|
|
3
|
+
--select-wrapper-max-width: none;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.mobius-select__outer {
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
width: 100%;
|
|
9
|
+
|
|
10
|
+
> :where(.mobius-label.--is-optional)::after {
|
|
11
|
+
content: " (optional)";
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.mobius-select__wrapper {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
display: flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
position: relative;
|
|
20
|
+
max-width: var(--select-wrapper-max-width);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.mobius-select {
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
width: 100%;
|
|
26
|
+
padding: var(--input-field-padding);
|
|
27
|
+
font-family: var(--font-family);
|
|
28
|
+
font-size: var(--font-size-regular);
|
|
29
|
+
border: var(--border-default);
|
|
30
|
+
border-radius: var(--radius-1);
|
|
31
|
+
background-color: var(--color-background-input);
|
|
32
|
+
color: var(--color-text-medium);
|
|
33
|
+
outline: 0;
|
|
34
|
+
appearance: none;
|
|
35
|
+
|
|
36
|
+
/* Disabled */
|
|
37
|
+
&.--is-disabled {
|
|
38
|
+
background-color: var(--color-background-light);
|
|
39
|
+
border-color: var(--color-border-medium);
|
|
40
|
+
color: var(--color-text-light);
|
|
41
|
+
cursor: not-allowed;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Hovered */
|
|
45
|
+
&:not(.--is-invalid):not(.--is-disabled):hover {
|
|
46
|
+
border-color: var(--color-primary);
|
|
47
|
+
background-color: var(--color-background-input-active);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Focused */
|
|
51
|
+
&:focus-visible {
|
|
52
|
+
border-color: var(--color-primary);
|
|
53
|
+
background-color: var(--color-background-input-active);
|
|
54
|
+
box-shadow: var(--box-shadow-default);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* Invalid */
|
|
58
|
+
&.--is-invalid {
|
|
59
|
+
border-color: var(--color-error);
|
|
60
|
+
background-color: var(--color-error-background);
|
|
61
|
+
color: var(--color-error);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.mobius-select__icon {
|
|
66
|
+
box-sizing: border-box;
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
justify-content: center;
|
|
70
|
+
position: absolute;
|
|
71
|
+
right: 2px;
|
|
72
|
+
height: 100%;
|
|
73
|
+
padding: var(--size-md);
|
|
74
|
+
border-radius: var(--radius-1);
|
|
75
|
+
pointer-events: none;
|
|
76
|
+
color: var(--color-text-medium);
|
|
77
|
+
|
|
78
|
+
&.--is-disabled {
|
|
79
|
+
color: var(--color-text-light);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&.--is-invalid {
|
|
83
|
+
color: var(--color-error);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -171,13 +171,13 @@ The following HTML is rendered for a Select:
|
|
|
171
171
|
|
|
172
172
|
```html
|
|
173
173
|
<div>
|
|
174
|
-
<label class="mobius
|
|
175
|
-
<div class="mobius
|
|
176
|
-
<select class="mobius
|
|
174
|
+
<label class="mobius-label" for="{select-id}" id="{label-id}"> Color </label>
|
|
175
|
+
<div class="mobius-select__wrapper">
|
|
176
|
+
<select class="mobius-select" id="{select-id}" aria-labelledby="{label-id}">
|
|
177
177
|
<option>Red</option>
|
|
178
178
|
<option>Blue</option>
|
|
179
179
|
</select>
|
|
180
|
-
<span class="mobius
|
|
180
|
+
<span class="mobius-select__icon"></span>
|
|
181
181
|
</div>
|
|
182
182
|
</div>
|
|
183
183
|
```
|
|
@@ -189,7 +189,3 @@ The span allows for an image overlay to replace the standard select UX in browse
|
|
|
189
189
|
- \--is-valid
|
|
190
190
|
- \--is-invalid
|
|
191
191
|
- \--is-optional
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
[See on Github](https://github.com/simplybusiness/mobius/tree/master/packages/mobius/src/components/Select) | [Give feedback](https://simplybusiness.atlassian.net/CreateIssue.jspa?issuetype=10103&pid=10609) | [Get support](https://simplybusiness.slack.com/archives/C016CC0NDNE)
|
|
@@ -4,8 +4,8 @@ import { ChangeEvent } from "react";
|
|
|
4
4
|
import { Select } from ".";
|
|
5
5
|
import { Option } from "..";
|
|
6
6
|
|
|
7
|
-
const CLASS_NAME = "mobius
|
|
8
|
-
const LABEL_CLASS_NAME = "mobius
|
|
7
|
+
const CLASS_NAME = "mobius-select";
|
|
8
|
+
const LABEL_CLASS_NAME = "mobius-label";
|
|
9
9
|
|
|
10
10
|
describe("Select", () => {
|
|
11
11
|
it("should render without error", () => {
|
|
@@ -15,11 +15,11 @@ import { DOMProps, Validation } from "../../types";
|
|
|
15
15
|
import { ForwardedRefComponent } from "../../types/components";
|
|
16
16
|
import { spaceDelimitedList } from "../../utils/spaceDelimitedList";
|
|
17
17
|
import { ErrorMessage } from "../ErrorMessage";
|
|
18
|
-
import { Flex } from "../Flex";
|
|
19
18
|
import { Label } from "../Label";
|
|
20
19
|
import { OptionProps } from "../Option";
|
|
21
20
|
import { useValidationClasses } from "../../hooks";
|
|
22
21
|
import { Icon } from "../Icon";
|
|
22
|
+
import { Stack } from "../Stack";
|
|
23
23
|
|
|
24
24
|
export type SelectElementType = HTMLSelectElement;
|
|
25
25
|
export interface SelectProps
|
|
@@ -72,21 +72,21 @@ const Select: ForwardedRefComponent<SelectProps, SelectElementType> =
|
|
|
72
72
|
const sharedClasses = classNames(validationClasses, stateClasses);
|
|
73
73
|
|
|
74
74
|
const wrapperClasses = classNames(
|
|
75
|
-
"mobius
|
|
75
|
+
"mobius-select__wrapper",
|
|
76
76
|
sharedClasses,
|
|
77
77
|
otherProps.className,
|
|
78
78
|
);
|
|
79
79
|
const selectClasses = classNames(
|
|
80
|
-
"mobius
|
|
80
|
+
"mobius-select",
|
|
81
81
|
sharedClasses,
|
|
82
82
|
otherProps.className,
|
|
83
83
|
);
|
|
84
84
|
const labelClasses = classNames(
|
|
85
|
-
"mobius
|
|
85
|
+
"mobius-label",
|
|
86
86
|
sharedClasses,
|
|
87
87
|
otherProps.className,
|
|
88
88
|
);
|
|
89
|
-
const iconClasses = classNames("mobius
|
|
89
|
+
const iconClasses = classNames("mobius-select__icon", sharedClasses);
|
|
90
90
|
const errorMessageId = useId();
|
|
91
91
|
const shouldErrorMessageShow = errorMessage ? errorMessageId : undefined;
|
|
92
92
|
const describedBy = spaceDelimitedList([
|
|
@@ -101,7 +101,7 @@ const Select: ForwardedRefComponent<SelectProps, SelectElementType> =
|
|
|
101
101
|
};
|
|
102
102
|
|
|
103
103
|
return (
|
|
104
|
-
<
|
|
104
|
+
<Stack className="mobius mobius-select__outer" gap="xs">
|
|
105
105
|
{label && (
|
|
106
106
|
<Label {...labelProps} className={labelClasses}>
|
|
107
107
|
{label}
|
|
@@ -127,7 +127,7 @@ const Select: ForwardedRefComponent<SelectProps, SelectElementType> =
|
|
|
127
127
|
{errorMessage && (
|
|
128
128
|
<ErrorMessage id={errorMessageId} errorMessage={errorMessage} />
|
|
129
129
|
)}
|
|
130
|
-
</
|
|
130
|
+
</Stack>
|
|
131
131
|
);
|
|
132
132
|
});
|
|
133
133
|
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
:root,
|
|
2
|
+
:host {
|
|
3
|
+
--slider-primary-track-background: #4632d820; /* --color-primary, alpha channel 20% */
|
|
4
|
+
--slider-primary-thumb-background: var(--color-primary);
|
|
5
|
+
--slider-secondary-track-background: #e943c920; /* --color-secondary, alpha channel 20% */
|
|
6
|
+
--slider-secondary-thumb-background: var(--color-accent);
|
|
7
|
+
--thumb-size: 20px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.mobius-slider {
|
|
11
|
+
position: relative;
|
|
12
|
+
display: grid;
|
|
13
|
+
gap: var(--size-xxs);
|
|
14
|
+
|
|
15
|
+
&.--is-primary {
|
|
16
|
+
.mobius-slider__track {
|
|
17
|
+
background-color: var(--slider-primary-track-background);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.mobius-slider__track::-webkit-slider-thumb {
|
|
21
|
+
background-color: var(--slider-primary-thumb-background);
|
|
22
|
+
box-shadow:
|
|
23
|
+
0 0 0 var(--size-xxs) var(--color-background),
|
|
24
|
+
0 0 0 5px var(--slider-primary-thumb-background);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.mobius-slider__track::-moz-range-thumb {
|
|
28
|
+
background-color: var(--slider-primary-thumb-background);
|
|
29
|
+
box-shadow:
|
|
30
|
+
0 0 0 var(--size-xxs) var(--color-background),
|
|
31
|
+
0 0 0 5px var(--slider-primary-thumb-background);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&.--is-secondary {
|
|
36
|
+
.mobius-slider__track {
|
|
37
|
+
background-color: var(--slider-secondary-track-background);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.mobius-slider__track::-webkit-slider-thumb {
|
|
41
|
+
background-color: var(--slider-secondary-thumb-background);
|
|
42
|
+
box-shadow:
|
|
43
|
+
0 0 0 var(--size-xxs) var(--color-background),
|
|
44
|
+
0 0 0 5px var(--slider-secondary-thumb-background);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.mobius-slider__track::-moz-range-thumb {
|
|
48
|
+
background-color: var(--slider-secondary-thumb-background);
|
|
49
|
+
box-shadow:
|
|
50
|
+
0 0 0 var(--size-xxs) var(--color-background),
|
|
51
|
+
0 0 0 5px var(--slider-secondary-thumb-background);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&.--is-disabled {
|
|
56
|
+
color: var(--color-text-light);
|
|
57
|
+
cursor: not-allowed;
|
|
58
|
+
|
|
59
|
+
.mobius-slider__track {
|
|
60
|
+
background-color: var(--color-background-light);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.mobius-slider__track::-webkit-slider-thumb {
|
|
64
|
+
background-color: var(--color-background-light);
|
|
65
|
+
box-shadow:
|
|
66
|
+
0 0 0 var(--size-xxs) var(--color-background),
|
|
67
|
+
0 0 0 5px var(--color-border-medium);
|
|
68
|
+
cursor: not-allowed;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.mobius-slider__track::-moz-range-thumb {
|
|
72
|
+
background-color: var(--color-background-light);
|
|
73
|
+
box-shadow:
|
|
74
|
+
0 0 0 var(--size-xxs) var(--color-background),
|
|
75
|
+
0 0 0 5px var(--color-border-medium);
|
|
76
|
+
cursor: not-allowed;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.mobius-slider__track-wrapper {
|
|
82
|
+
position: relative;
|
|
83
|
+
width: 100%;
|
|
84
|
+
height: 30px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.mobius-slider__track {
|
|
88
|
+
position: absolute;
|
|
89
|
+
appearance: none;
|
|
90
|
+
-webkit-appearance: none;
|
|
91
|
+
width: 100%;
|
|
92
|
+
height: var(--size-xs);
|
|
93
|
+
top: calc(var(--size-xs) + 2px);
|
|
94
|
+
border-radius: 999px;
|
|
95
|
+
touch-action: none; /* TODO: check */
|
|
96
|
+
outline: none;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.mobius-slider__label-wrapper {
|
|
100
|
+
display: flex;
|
|
101
|
+
align-self: stretch;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* Thumb */
|
|
105
|
+
.mobius-slider__track::-webkit-slider-thumb {
|
|
106
|
+
appearance: none;
|
|
107
|
+
-webkit-appearance: none;
|
|
108
|
+
width: var(--thumb-size);
|
|
109
|
+
height: var(--thumb-size);
|
|
110
|
+
border: var(--thumb-border);
|
|
111
|
+
border-radius: 50%;
|
|
112
|
+
cursor: pointer;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.mobius-slider__track::-moz-range-thumb {
|
|
116
|
+
appearance: none;
|
|
117
|
+
-webkit-appearance: none;
|
|
118
|
+
width: var(--thumb-size);
|
|
119
|
+
height: var(--thumb-size);
|
|
120
|
+
border: var(--thumb-border);
|
|
121
|
+
border-radius: 50%;
|
|
122
|
+
cursor: pointer;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* Thumb focus blur */
|
|
126
|
+
.mobius-slider__track:focus-visible::-webkit-slider-thumb {
|
|
127
|
+
filter: drop-shadow(0px 2px 8px rgba(0, 0, 0, 0.4));
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.mobius-slider__track:focus-visible::-moz-range-thumb {
|
|
131
|
+
filter: drop-shadow(0px 2px 8px rgba(0, 0, 0, 0.4));
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.mobius-slider__labels {
|
|
135
|
+
width: 100%;
|
|
136
|
+
display: flex;
|
|
137
|
+
justify-content: space-between;
|
|
138
|
+
}
|
|
@@ -53,18 +53,16 @@ import { Slider } from "@simplybusiness/mobius";
|
|
|
53
53
|
The following HTML is rendered for a Slider:
|
|
54
54
|
|
|
55
55
|
```html
|
|
56
|
-
<div class="mobius
|
|
57
|
-
<div class="mobius
|
|
58
|
-
<label class="mobius
|
|
59
|
-
My Slider Label
|
|
60
|
-
</label>
|
|
56
|
+
<div class="mobius-slider --is-primary">
|
|
57
|
+
<div class="mobius-slider__label-wrapper">
|
|
58
|
+
<label class="mobius-label" for=":r1:" id=":r2:"> My Slider Label </label>
|
|
61
59
|
<output>5</output>
|
|
62
60
|
</div>
|
|
63
61
|
|
|
64
|
-
<div class="mobius
|
|
62
|
+
<div class="mobius-slider__track-wrapper">
|
|
65
63
|
<input
|
|
66
64
|
id=":r1:"
|
|
67
|
-
class="mobius
|
|
65
|
+
class="mobius-slider__track"
|
|
68
66
|
type="range"
|
|
69
67
|
value="5"
|
|
70
68
|
min="1"
|
|
@@ -74,13 +72,9 @@ The following HTML is rendered for a Slider:
|
|
|
74
72
|
/>
|
|
75
73
|
</div>
|
|
76
74
|
|
|
77
|
-
<div class="mobius
|
|
78
|
-
<div class="mobius
|
|
79
|
-
<div class="mobius
|
|
75
|
+
<div class="mobius-slider__labels">
|
|
76
|
+
<div class="mobius-slider__min-label">Min</div>
|
|
77
|
+
<div class="mobius-slider__max-label">Max</div>
|
|
80
78
|
</div>
|
|
81
79
|
</div>
|
|
82
80
|
```
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
[See on Github](https://github.com/simplybusiness/mobius/tree/master/packages/mobius/src/components/Slider) | [Give feedback](https://simplybusiness.atlassian.net/CreateIssue.jspa?issuetype=10103&pid=10609) | [Get support](https://simplybusiness.slack.com/archives/C016CC0NDNE)
|
|
@@ -2,6 +2,9 @@ import { fireEvent, render } from "@testing-library/react";
|
|
|
2
2
|
import userEvent from "@testing-library/user-event";
|
|
3
3
|
import { Slider } from "./Slider";
|
|
4
4
|
|
|
5
|
+
const BASE_CLASS = "mobius";
|
|
6
|
+
const SLIDER_CLASS = "mobius-slider";
|
|
7
|
+
|
|
5
8
|
describe("Slider", () => {
|
|
6
9
|
it("should render without errors", () => {
|
|
7
10
|
const { container } = render(
|
|
@@ -37,7 +40,7 @@ describe("Slider", () => {
|
|
|
37
40
|
);
|
|
38
41
|
});
|
|
39
42
|
|
|
40
|
-
const classNames = [
|
|
43
|
+
const classNames = [BASE_CLASS, SLIDER_CLASS, "test"];
|
|
41
44
|
it.each(classNames)("should have classname %s", className => {
|
|
42
45
|
expect(result.container.firstChild).toHaveClass(className);
|
|
43
46
|
});
|
|
@@ -57,7 +57,7 @@ export const Slider = (props: SliderProps) => {
|
|
|
57
57
|
});
|
|
58
58
|
const formattedValue = numberFormatter(currentValue, formatOptions);
|
|
59
59
|
|
|
60
|
-
const classes = classNames("mobius", "mobius
|
|
60
|
+
const classes = classNames("mobius", "mobius-slider", className, {
|
|
61
61
|
"--is-disabled": isDisabled,
|
|
62
62
|
"--is-primary": variant === "primary",
|
|
63
63
|
"--is-secondary": variant === "secondary",
|
|
@@ -85,7 +85,7 @@ export const Slider = (props: SliderProps) => {
|
|
|
85
85
|
|
|
86
86
|
return (
|
|
87
87
|
<div className={classes}>
|
|
88
|
-
<div className="mobius
|
|
88
|
+
<div className="mobius-slider__label-wrapper">
|
|
89
89
|
{label && <Label {...labelProps}>{label}</Label>}
|
|
90
90
|
{label && (
|
|
91
91
|
<output style={{ flex: "1 0 auto", textAlign: "end" }}>
|
|
@@ -95,9 +95,9 @@ export const Slider = (props: SliderProps) => {
|
|
|
95
95
|
</div>
|
|
96
96
|
|
|
97
97
|
{/* The track element holds the visible track line and the thumb. */}
|
|
98
|
-
<div ref={trackRef} className="mobius
|
|
98
|
+
<div ref={trackRef} className="mobius-slider__track-wrapper">
|
|
99
99
|
<input
|
|
100
|
-
className="mobius
|
|
100
|
+
className="mobius-slider__track"
|
|
101
101
|
type="range"
|
|
102
102
|
min={minValue}
|
|
103
103
|
max={maxValue}
|
|
@@ -114,11 +114,11 @@ export const Slider = (props: SliderProps) => {
|
|
|
114
114
|
/>
|
|
115
115
|
</div>
|
|
116
116
|
|
|
117
|
-
<div className="mobius
|
|
118
|
-
<div className="mobius
|
|
117
|
+
<div className="mobius-slider__labels">
|
|
118
|
+
<div className="mobius-slider__min-label" data-testid="min-label">
|
|
119
119
|
{minLabel}
|
|
120
120
|
</div>
|
|
121
|
-
<div className="mobius
|
|
121
|
+
<div className="mobius-slider__max-label" data-testid="max-label">
|
|
122
122
|
{maxLabel}
|
|
123
123
|
</div>
|
|
124
124
|
</div>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
.mobius-stack {
|
|
2
|
+
display: grid;
|
|
3
|
+
flex: 1 1 auto;
|
|
4
|
+
align-self: stretch;
|
|
5
|
+
grid-auto-flow: row;
|
|
6
|
+
|
|
7
|
+
&.--gap-xxs {
|
|
8
|
+
gap: var(--size-xxs);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&.--gap-xs {
|
|
12
|
+
gap: var(--size-xs);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&.--gap-sm {
|
|
16
|
+
gap: var(--size-sm);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&.--gap-md {
|
|
20
|
+
gap: var(--size-md);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&.--gap-lg {
|
|
24
|
+
gap: var(--size-lg);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.--gap-xl {
|
|
28
|
+
gap: var(--size-xl);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Meta, ArgTypes, Canvas } from "@storybook/addon-docs";
|
|
2
|
+
import * as StackStories from "./Stack.stories";
|
|
3
|
+
import { Stack } from "./Stack";
|
|
4
|
+
|
|
5
|
+
<Meta of={StackStories} />
|
|
6
|
+
|
|
7
|
+
# Stack
|
|
8
|
+
|
|
9
|
+
The `Stack` component is used for creating a stack of components, with an optional gap between each component. It is useful for creating vertical layouts of components.
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
yarn add @simplybusiness/mobius
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```js
|
|
20
|
+
import { Stack } from "@simplybusiness/mobius";
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Default
|
|
24
|
+
|
|
25
|
+
<Canvas of={StackStories.Default} />
|
|
26
|
+
|
|
27
|
+
### Nested
|
|
28
|
+
|
|
29
|
+
<Canvas of={StackStories.Nested} />
|
|
30
|
+
|
|
31
|
+
## Props
|
|
32
|
+
|
|
33
|
+
<ArgTypes of={Stack} />
|
|
34
|
+
|
|
35
|
+
## Component HTML Structure and Class names
|
|
36
|
+
|
|
37
|
+
The following HTML is rendered for a Stack:
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<div class="mobius mobius-stack">{children}</div>
|
|
41
|
+
```
|