@simplybusiness/mobius 3.4.5 → 3.5.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 +28 -4
- package/dist/cjs/components/Accordion/Accordion.js +2 -1
- package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
- package/dist/cjs/components/Accordion/Accordion.test.js +1 -1
- package/dist/cjs/components/Alert/Alert.js +6 -2
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.test.js +1 -1
- package/dist/cjs/components/Box/Box.js +1 -1
- package/dist/cjs/components/Box/Box.test.js +1 -1
- package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js +2 -1
- package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js.map +1 -1
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +2 -1
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.test.js +1 -1
- package/dist/cjs/components/Button/Button.js +2 -1
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/Button/Button.test.js +1 -1
- package/dist/cjs/components/Button/Loading.d.ts +2 -1
- package/dist/cjs/components/Button/Loading.js +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.test.js +1 -1
- package/dist/cjs/components/Checkbox/CheckboxContext.js +1 -0
- package/dist/cjs/components/Checkbox/CheckboxContext.js.map +1 -1
- package/dist/cjs/components/Checkbox/CheckboxGroup.js +2 -1
- package/dist/cjs/components/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/cjs/components/Checkbox/CheckboxGroup.test.js +1 -1
- package/dist/cjs/components/Checkbox/CheckboxGroupItem.js +2 -1
- package/dist/cjs/components/Checkbox/CheckboxGroupItem.js.map +1 -1
- package/dist/cjs/components/Checkbox/CheckboxItem.js +2 -1
- package/dist/cjs/components/Checkbox/CheckboxItem.js.map +1 -1
- package/dist/cjs/components/Chopin/Actions/Actions.js +1 -1
- package/dist/cjs/components/Chopin/Actions/Actions.test.js +1 -1
- package/dist/cjs/components/Chopin/Actions/LinkOrButton.d.ts +2 -1
- package/dist/cjs/components/Chopin/Actions/LinkOrButton.js +1 -1
- package/dist/cjs/components/Chopin/Actions/LinkOrButton.test.js +1 -1
- package/dist/cjs/components/Chopin/Footer/Address.js +1 -1
- package/dist/cjs/components/Chopin/Footer/Copyright.js +1 -1
- package/dist/cjs/components/Chopin/Footer/Footer.js +1 -1
- package/dist/cjs/components/Chopin/Footer/Footer.test.js +1 -1
- package/dist/cjs/components/Chopin/Footer/Legal.js +1 -1
- package/dist/cjs/components/Chopin/Header/ContactDetails.js +1 -1
- package/dist/cjs/components/Chopin/Header/Header.js +1 -1
- package/dist/cjs/components/Chopin/Header/Header.test.js +1 -1
- package/dist/cjs/components/Chopin/Header/Logo.js +1 -1
- package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageItem.d.ts +2 -1
- package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageItem.js +2 -1
- package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageItem.js.map +1 -1
- package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.d.ts +2 -1
- package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.js +2 -1
- package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.js.map +1 -1
- package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.test.js +1 -1
- package/dist/cjs/components/Chopin/Question/Question.d.ts +1 -1
- package/dist/cjs/components/Chopin/Question/Question.js +2 -1
- package/dist/cjs/components/Chopin/Question/Question.js.map +1 -1
- package/dist/cjs/components/Chopin/Question/Question.test.js +1 -1
- package/dist/cjs/components/Chopin/QuestionGroup/QuestionGroup.js +2 -1
- package/dist/cjs/components/Chopin/QuestionGroup/QuestionGroup.js.map +1 -1
- package/dist/cjs/components/Chopin/QuestionGroup/QuestionGroup.test.js +1 -1
- package/dist/cjs/components/Chopin/QuestionHelp/QuestionHelp.d.ts +1 -1
- package/dist/cjs/components/Chopin/QuestionHelp/QuestionHelp.js +2 -1
- package/dist/cjs/components/Chopin/QuestionHelp/QuestionHelp.js.map +1 -1
- package/dist/cjs/components/Chopin/QuestionHelp/QuestionHelp.test.js +1 -1
- package/dist/cjs/components/Chopin/Section/Section.js +1 -1
- package/dist/cjs/components/Chopin/Section/Section.test.js +1 -1
- package/dist/cjs/components/Chopin/Steps/StepItem.js +6 -2
- package/dist/cjs/components/Chopin/Steps/StepItem.js.map +1 -1
- package/dist/cjs/components/Chopin/Steps/Steps.js +1 -1
- package/dist/cjs/components/Chopin/Steps/Steps.test.js +1 -1
- package/dist/cjs/components/Chopin/Testimonial/Testimonial.js +1 -1
- package/dist/cjs/components/Chopin/Testimonial/Testimonial.test.js +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/Header/Header.d.ts +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/Header/Header.js +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/Listing/Listing.d.ts +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/Listing/Listing.js +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/Listing/Listing.test.js +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/Listing/ListingItem.js +2 -1
- package/dist/cjs/components/Chopin/TradeSelector/Listing/ListingItem.js.map +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/Listing/ListingItem.test.js +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.d.ts +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.js +2 -1
- package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.js.map +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.d.ts +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.js +2 -1
- package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.js.map +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.js +2 -1
- package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.js.map +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.test.js +1 -1
- package/dist/cjs/components/Chopin/TradeSelector/types.d.ts +1 -0
- package/dist/cjs/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.js +1 -0
- package/dist/cjs/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.js.map +1 -1
- package/dist/cjs/components/Container/Container.js +1 -1
- package/dist/cjs/components/Container/Container.test.js +1 -1
- package/dist/cjs/components/DataTable/DataTable.js +1 -1
- package/dist/cjs/components/DataTable/DataTable.test.js +1 -1
- package/dist/cjs/components/DataTable/FlexLayout.js +1 -1
- package/dist/cjs/components/DataTable/SortIcon.d.ts +2 -1
- package/dist/cjs/components/DataTable/SortIcon.js +1 -1
- package/dist/cjs/components/DataTable/TableLayout.js +1 -1
- package/dist/cjs/components/DatePicker/Calendar.d.ts +2 -1
- package/dist/cjs/components/DatePicker/Calendar.js +2 -1
- package/dist/cjs/components/DatePicker/Calendar.js.map +1 -1
- package/dist/cjs/components/DatePicker/CalendarButton.js +2 -1
- package/dist/cjs/components/DatePicker/CalendarButton.js.map +1 -1
- package/dist/cjs/components/DatePicker/CalendarCell.d.ts +2 -1
- package/dist/cjs/components/DatePicker/CalendarCell.js +2 -1
- package/dist/cjs/components/DatePicker/CalendarCell.js.map +1 -1
- package/dist/cjs/components/DatePicker/CalendarGrid.d.ts +2 -1
- package/dist/cjs/components/DatePicker/CalendarGrid.js +2 -1
- package/dist/cjs/components/DatePicker/CalendarGrid.js.map +1 -1
- package/dist/cjs/components/DatePicker/DateField.d.ts +2 -1
- package/dist/cjs/components/DatePicker/DateField.js +2 -1
- package/dist/cjs/components/DatePicker/DateField.js.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.d.ts +2 -1
- package/dist/cjs/components/DatePicker/DatePicker.js +3 -2
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/DatePicker/DateSegment.d.ts +2 -1
- package/dist/cjs/components/DatePicker/DateSegment.js +2 -1
- package/dist/cjs/components/DatePicker/DateSegment.js.map +1 -1
- package/dist/cjs/components/DatePicker/Popover.d.ts +1 -1
- package/dist/cjs/components/DatePicker/Popover.js +3 -2
- package/dist/cjs/components/DatePicker/Popover.js.map +1 -1
- package/dist/cjs/components/Divider/Divider.d.ts +2 -1
- package/dist/cjs/components/Divider/Divider.js +2 -1
- package/dist/cjs/components/Divider/Divider.js.map +1 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenu.test.js +1 -1
- package/dist/cjs/components/DropdownMenu/Item.js +1 -1
- package/dist/cjs/components/ErrorMessage/ErrorMessage.d.ts +2 -1
- package/dist/cjs/components/ErrorMessage/ErrorMessage.js +1 -1
- package/dist/cjs/components/ErrorMessage/ErrorMessage.test.js +1 -1
- package/dist/cjs/components/Fieldset/Fieldset.js +2 -1
- package/dist/cjs/components/Fieldset/Fieldset.js.map +1 -1
- package/dist/cjs/components/Fieldset/Fieldset.test.js +1 -1
- package/dist/cjs/components/Fieldset/stories/StyledLegend.d.ts +5 -2
- package/dist/cjs/components/Fieldset/stories/StyledLegend.js +9 -7
- package/dist/cjs/components/Fieldset/stories/StyledLegend.js.map +1 -1
- package/dist/cjs/components/Flex/Flex.d.ts +1 -32
- package/dist/cjs/components/Flex/Flex.js +5 -38
- package/dist/cjs/components/Flex/Flex.js.map +1 -1
- package/dist/cjs/components/Flex/Flex.test.js +1 -1
- package/dist/cjs/components/Flex/index.d.ts +1 -0
- package/dist/cjs/components/Flex/index.js +1 -0
- package/dist/cjs/components/Flex/index.js.map +1 -1
- package/dist/cjs/components/Flex/propUtils.d.ts +8 -0
- package/dist/cjs/components/Flex/propUtils.js +54 -0
- package/dist/cjs/components/Flex/propUtils.js.map +1 -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 +32 -0
- package/dist/cjs/components/Flex/types.js +3 -0
- package/dist/cjs/components/Flex/types.js.map +1 -0
- package/dist/cjs/components/Grid/Grid.js +2 -2
- package/dist/cjs/components/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/Grid/Grid.test.js +1 -1
- package/dist/cjs/components/Grid/Item.js +4 -2
- 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.test.js +1 -1
- package/dist/cjs/components/Icon/IconFromName.js +1 -1
- package/dist/cjs/components/Icon/IconFromObject.js +2 -2
- package/dist/cjs/components/Icon/IconFromObject.js.map +1 -1
- package/dist/cjs/components/Image/Image.js +1 -1
- package/dist/cjs/components/Image/Image.test.js +1 -1
- package/dist/cjs/components/Label/Label.js +1 -1
- package/dist/cjs/components/Label/Label.test.js +1 -1
- package/dist/cjs/components/Link/Link.js +2 -1
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/Link/Link.test.js +1 -1
- package/dist/cjs/components/LinkButton/LinkButton.d.ts +1 -1
- package/dist/cjs/components/LinkButton/LinkButton.js +1 -1
- package/dist/cjs/components/LinkButton/LinkButton.test.js +1 -1
- package/dist/cjs/components/List/List.js +1 -1
- package/dist/cjs/components/List/List.test.js +1 -1
- package/dist/cjs/components/List/ListItem.js +1 -1
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.js +1 -1
- package/dist/cjs/components/LoadingIndicator/LoadingIndicator.test.js +1 -1
- package/dist/cjs/components/MaskedField/MaskedField.d.ts +11 -0
- package/dist/cjs/components/MaskedField/MaskedField.js +46 -0
- package/dist/cjs/components/MaskedField/MaskedField.js.map +1 -0
- package/dist/cjs/components/MaskedField/MaskedField.test.d.ts +1 -0
- package/dist/cjs/components/MaskedField/MaskedField.test.js +69 -0
- package/dist/cjs/components/MaskedField/MaskedField.test.js.map +1 -0
- package/dist/cjs/components/MaskedField/index.d.ts +1 -0
- package/dist/cjs/components/MaskedField/index.js +18 -0
- package/dist/cjs/components/MaskedField/index.js.map +1 -0
- package/dist/cjs/components/MaskedField/inputFormatters.d.ts +10 -0
- package/dist/cjs/components/MaskedField/inputFormatters.js +39 -0
- package/dist/cjs/components/MaskedField/inputFormatters.js.map +1 -0
- package/dist/cjs/components/Modal/Content.js +1 -1
- package/dist/cjs/components/Modal/Header.js +1 -1
- package/dist/cjs/components/Modal/Modal.d.ts +1 -1
- package/dist/cjs/components/Modal/Modal.js +2 -1
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.test.js +1 -1
- package/dist/cjs/components/Modal/index.d.ts +1 -1
- package/dist/cjs/components/NumberField/NumberField.js +2 -1
- package/dist/cjs/components/NumberField/NumberField.js.map +1 -1
- package/dist/cjs/components/NumberField/NumberField.test.js +1 -1
- package/dist/cjs/components/NumberField/NumberFieldButton.d.ts +2 -1
- package/dist/cjs/components/NumberField/NumberFieldButton.js +2 -1
- package/dist/cjs/components/NumberField/NumberFieldButton.js.map +1 -1
- package/dist/cjs/components/Option/Option.js +1 -1
- package/dist/cjs/components/PasswordField/PasswordField.d.ts +1 -1
- package/dist/cjs/components/PasswordField/PasswordField.js +2 -1
- package/dist/cjs/components/PasswordField/PasswordField.js.map +1 -1
- package/dist/cjs/components/PasswordField/PasswordField.test.js +1 -1
- package/dist/cjs/components/PasswordField/ShowHideButton.d.ts +2 -1
- package/dist/cjs/components/PasswordField/ShowHideButton.js +1 -1
- package/dist/cjs/components/Progress/Progress.js +3 -2
- package/dist/cjs/components/Progress/Progress.js.map +1 -1
- package/dist/cjs/components/Progress/Progress.test.js +1 -1
- package/dist/cjs/components/Radio/Radio.js +8 -2
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.test.js +1 -1
- package/dist/cjs/components/Radio/RadioButton.js +8 -2
- package/dist/cjs/components/Radio/RadioButton.js.map +1 -1
- package/dist/cjs/components/Radio/RadioButton.test.js +1 -1
- package/dist/cjs/components/Radio/RadioContext.js +1 -0
- package/dist/cjs/components/Radio/RadioContext.js.map +1 -1
- package/dist/cjs/components/Radio/RadioGroup.js +2 -1
- package/dist/cjs/components/Radio/RadioGroup.js.map +1 -1
- package/dist/cjs/components/SVG/SVG.d.ts +1 -0
- package/dist/cjs/components/SVG/SVG.js +1 -1
- package/dist/cjs/components/SVG/SVG.js.map +1 -1
- package/dist/cjs/components/SVG/SVG.test.js +5 -5
- package/dist/cjs/components/SVG/SVG.test.js.map +1 -1
- package/dist/cjs/components/Segment/Segment.d.ts +1 -1
- package/dist/cjs/components/Segment/Segment.js +1 -1
- package/dist/cjs/components/Segment/SegmentGroup.d.ts +1 -1
- package/dist/cjs/components/Segment/SegmentGroup.js +1 -1
- package/dist/cjs/components/Select/Select.d.ts +1 -0
- package/dist/cjs/components/Select/Select.js +7 -2
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Select/Select.test.js +1 -1
- package/dist/cjs/components/Slider/Slider.d.ts +2 -1
- package/dist/cjs/components/Slider/Slider.js +23 -14
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/Slider/Slider.test.js +1 -1
- package/dist/cjs/components/Slider/Thumb.d.ts +1 -1
- package/dist/cjs/components/Slider/Thumb.js +9 -5
- package/dist/cjs/components/Slider/Thumb.js.map +1 -1
- package/dist/cjs/components/Table/Body.js +1 -1
- package/dist/cjs/components/Table/Cell.js +1 -1
- package/dist/cjs/components/Table/Foot.js +1 -1
- package/dist/cjs/components/Table/Head.js +1 -1
- package/dist/cjs/components/Table/HeaderCell.js +1 -1
- package/dist/cjs/components/Table/Row.js +1 -1
- package/dist/cjs/components/Table/Table.js +1 -1
- package/dist/cjs/components/Table/Table.test.js +1 -1
- package/dist/cjs/components/Text/Text.js +1 -1
- package/dist/cjs/components/Text/Text.test.js +1 -1
- package/dist/cjs/components/TextArea/TextArea.js +7 -2
- package/dist/cjs/components/TextArea/TextArea.js.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.test.js +1 -1
- package/dist/cjs/components/TextAreaInput/TextAreaInput.js +1 -1
- package/dist/cjs/components/TextAreaInput/TextAreaInput.test.js +1 -1
- package/dist/cjs/components/TextField/TextField.js +7 -2
- package/dist/cjs/components/TextField/TextField.js.map +1 -1
- package/dist/cjs/components/TextField/TextField.test.js +1 -1
- package/dist/cjs/components/Title/Title.js +1 -1
- package/dist/cjs/components/Title/Title.test.js +1 -1
- package/dist/cjs/components/VisuallyHidden/index.js +1 -0
- package/dist/cjs/components/VisuallyHidden/index.js.map +1 -1
- package/dist/cjs/components/index.d.ts +6 -5
- package/dist/cjs/components/index.js +6 -5
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/contexts/ThemeContext/ThemeContext.d.ts +1 -1
- package/dist/cjs/contexts/ThemeContext/ThemeContext.js +2 -1
- package/dist/cjs/contexts/ThemeContext/ThemeContext.js.map +1 -1
- package/dist/cjs/contexts/ThemeContext/ThemeContext.test.js +1 -1
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.js +1 -0
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.js.map +1 -1
- package/dist/cjs/hooks/useBreakpoint/useBreakpoint.test.js +1 -1
- package/dist/cjs/hooks/useHideColumns/useHideColumns.js +1 -0
- package/dist/cjs/hooks/useHideColumns/useHideColumns.js.map +1 -1
- package/dist/cjs/hooks/useOnClickOutside/useOnClickOutside.js +1 -0
- package/dist/cjs/hooks/useOnClickOutside/useOnClickOutside.js.map +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -0
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/components/Accordion/Accordion.js +2 -1
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/Accordion/Accordion.test.js +1 -1
- package/dist/esm/components/Alert/Alert.js +6 -2
- package/dist/esm/components/Alert/Alert.js.map +1 -1
- package/dist/esm/components/Alert/Alert.test.js +1 -1
- package/dist/esm/components/Box/Box.js +1 -1
- package/dist/esm/components/Box/Box.test.js +1 -1
- package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js +2 -1
- package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js.map +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +2 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.test.js +1 -1
- package/dist/esm/components/Button/Button.js +2 -1
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Button/Button.test.js +1 -1
- package/dist/esm/components/Button/Loading.js +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +1 -1
- package/dist/esm/components/Checkbox/Checkbox.test.js +1 -1
- package/dist/esm/components/Checkbox/CheckboxContext.js +1 -0
- package/dist/esm/components/Checkbox/CheckboxContext.js.map +1 -1
- package/dist/esm/components/Checkbox/CheckboxGroup.js +2 -1
- package/dist/esm/components/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/esm/components/Checkbox/CheckboxGroup.test.js +1 -1
- package/dist/esm/components/Checkbox/CheckboxGroupItem.js +2 -1
- package/dist/esm/components/Checkbox/CheckboxGroupItem.js.map +1 -1
- package/dist/esm/components/Checkbox/CheckboxItem.js +2 -1
- package/dist/esm/components/Checkbox/CheckboxItem.js.map +1 -1
- package/dist/esm/components/Chopin/Actions/Actions.js +1 -1
- package/dist/esm/components/Chopin/Actions/Actions.test.js +1 -1
- package/dist/esm/components/Chopin/Actions/LinkOrButton.js +1 -1
- package/dist/esm/components/Chopin/Actions/LinkOrButton.test.js +1 -1
- package/dist/esm/components/Chopin/Footer/Address.js +1 -1
- package/dist/esm/components/Chopin/Footer/Copyright.js +1 -1
- package/dist/esm/components/Chopin/Footer/Footer.js +1 -1
- package/dist/esm/components/Chopin/Footer/Footer.test.js +1 -1
- package/dist/esm/components/Chopin/Footer/Legal.js +1 -1
- package/dist/esm/components/Chopin/Header/ContactDetails.js +1 -1
- package/dist/esm/components/Chopin/Header/Header.js +1 -1
- package/dist/esm/components/Chopin/Header/Header.test.js +1 -1
- package/dist/esm/components/Chopin/Header/Logo.js +1 -1
- package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageItem.js +2 -1
- package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageItem.js.map +1 -1
- package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.js +2 -1
- package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.js.map +1 -1
- package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.test.js +1 -1
- package/dist/esm/components/Chopin/Question/Question.js +2 -1
- package/dist/esm/components/Chopin/Question/Question.js.map +1 -1
- package/dist/esm/components/Chopin/Question/Question.test.js +1 -1
- package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.js +2 -1
- package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.js.map +1 -1
- package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.test.js +1 -1
- package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.js +2 -1
- package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.js.map +1 -1
- package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.test.js +1 -1
- package/dist/esm/components/Chopin/Section/Section.js +1 -1
- package/dist/esm/components/Chopin/Section/Section.test.js +1 -1
- package/dist/esm/components/Chopin/Steps/StepItem.js +6 -2
- package/dist/esm/components/Chopin/Steps/StepItem.js.map +1 -1
- package/dist/esm/components/Chopin/Steps/Steps.js +1 -1
- package/dist/esm/components/Chopin/Steps/Steps.test.js +1 -1
- package/dist/esm/components/Chopin/Testimonial/Testimonial.js +1 -1
- package/dist/esm/components/Chopin/Testimonial/Testimonial.test.js +1 -1
- package/dist/esm/components/Chopin/TradeSelector/Header/Header.js +1 -1
- package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.js +1 -1
- package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.test.js +1 -1
- package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.js +2 -1
- package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.js.map +1 -1
- package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.test.js +1 -1
- package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.js +2 -1
- package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.js.map +1 -1
- package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js +1 -1
- package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.js +2 -1
- package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.js.map +1 -1
- package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js +1 -1
- package/dist/esm/components/Chopin/TradeSelector/TradeSelector.js +2 -1
- package/dist/esm/components/Chopin/TradeSelector/TradeSelector.js.map +1 -1
- package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js +1 -1
- package/dist/esm/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.js +1 -0
- package/dist/esm/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.js.map +1 -1
- package/dist/esm/components/Container/Container.js +1 -1
- package/dist/esm/components/Container/Container.test.js +1 -1
- package/dist/esm/components/DataTable/DataTable.js +1 -1
- package/dist/esm/components/DataTable/DataTable.test.js +1 -1
- package/dist/esm/components/DataTable/FlexLayout.js +1 -1
- package/dist/esm/components/DataTable/SortIcon.js +1 -1
- package/dist/esm/components/DataTable/TableLayout.js +1 -1
- package/dist/esm/components/DatePicker/Calendar.js +2 -1
- package/dist/esm/components/DatePicker/Calendar.js.map +1 -1
- package/dist/esm/components/DatePicker/CalendarButton.js +2 -1
- package/dist/esm/components/DatePicker/CalendarButton.js.map +1 -1
- package/dist/esm/components/DatePicker/CalendarCell.js +2 -1
- package/dist/esm/components/DatePicker/CalendarCell.js.map +1 -1
- package/dist/esm/components/DatePicker/CalendarGrid.js +2 -1
- package/dist/esm/components/DatePicker/CalendarGrid.js.map +1 -1
- package/dist/esm/components/DatePicker/DateField.js +2 -1
- package/dist/esm/components/DatePicker/DateField.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +3 -2
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/DateSegment.js +2 -1
- package/dist/esm/components/DatePicker/DateSegment.js.map +1 -1
- package/dist/esm/components/DatePicker/Popover.js +3 -2
- package/dist/esm/components/DatePicker/Popover.js.map +1 -1
- package/dist/esm/components/Divider/Divider.js +2 -1
- package/dist/esm/components/Divider/Divider.js.map +1 -1
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +2 -1
- package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/esm/components/DropdownMenu/DropdownMenu.test.js +1 -1
- package/dist/esm/components/DropdownMenu/Item.js +1 -1
- package/dist/esm/components/ErrorMessage/ErrorMessage.js +1 -1
- package/dist/esm/components/ErrorMessage/ErrorMessage.test.js +1 -1
- package/dist/esm/components/Fieldset/Fieldset.js +2 -1
- package/dist/esm/components/Fieldset/Fieldset.js.map +1 -1
- package/dist/esm/components/Fieldset/Fieldset.test.js +1 -1
- package/dist/esm/components/Fieldset/stories/StyledLegend.js +6 -6
- package/dist/esm/components/Fieldset/stories/StyledLegend.js.map +1 -1
- package/dist/esm/components/Flex/Flex.js +3 -36
- package/dist/esm/components/Flex/Flex.js.map +1 -1
- package/dist/esm/components/Flex/Flex.test.js +1 -1
- package/dist/esm/components/Flex/index.js +1 -0
- package/dist/esm/components/Flex/index.js.map +1 -1
- package/dist/esm/components/Flex/propUtils.js +48 -0
- package/dist/esm/components/Flex/propUtils.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/Flex/types.js +2 -0
- package/dist/esm/components/Flex/types.js.map +1 -0
- package/dist/esm/components/Grid/Grid.js +2 -2
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/Grid/Grid.test.js +1 -1
- package/dist/esm/components/Grid/Item.js +4 -2
- 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.test.js +1 -1
- package/dist/esm/components/Icon/IconFromName.js +1 -1
- package/dist/esm/components/Icon/IconFromObject.js +2 -2
- package/dist/esm/components/Icon/IconFromObject.js.map +1 -1
- package/dist/esm/components/Image/Image.js +1 -1
- package/dist/esm/components/Image/Image.test.js +1 -1
- package/dist/esm/components/Label/Label.js +1 -1
- package/dist/esm/components/Label/Label.test.js +1 -1
- package/dist/esm/components/Link/Link.js +2 -1
- package/dist/esm/components/Link/Link.js.map +1 -1
- package/dist/esm/components/Link/Link.test.js +1 -1
- package/dist/esm/components/LinkButton/LinkButton.js +1 -1
- package/dist/esm/components/LinkButton/LinkButton.test.js +1 -1
- package/dist/esm/components/List/List.js +1 -1
- package/dist/esm/components/List/List.test.js +1 -1
- package/dist/esm/components/List/ListItem.js +1 -1
- package/dist/esm/components/LoadingIndicator/LoadingIndicator.js +1 -1
- package/dist/esm/components/LoadingIndicator/LoadingIndicator.test.js +1 -1
- package/dist/esm/components/MaskedField/MaskedField.js +40 -0
- package/dist/esm/components/MaskedField/MaskedField.js.map +1 -0
- package/dist/esm/components/MaskedField/MaskedField.test.js +64 -0
- package/dist/esm/components/MaskedField/MaskedField.test.js.map +1 -0
- package/dist/esm/components/MaskedField/index.js +2 -0
- package/dist/esm/components/MaskedField/index.js.map +1 -0
- package/dist/esm/components/MaskedField/inputFormatters.js +36 -0
- package/dist/esm/components/MaskedField/inputFormatters.js.map +1 -0
- package/dist/esm/components/Modal/Content.js +1 -1
- package/dist/esm/components/Modal/Header.js +1 -1
- package/dist/esm/components/Modal/Modal.js +2 -1
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Modal/Modal.test.js +1 -1
- package/dist/esm/components/NumberField/NumberField.js +2 -1
- package/dist/esm/components/NumberField/NumberField.js.map +1 -1
- package/dist/esm/components/NumberField/NumberField.test.js +1 -1
- package/dist/esm/components/NumberField/NumberFieldButton.js +2 -1
- package/dist/esm/components/NumberField/NumberFieldButton.js.map +1 -1
- package/dist/esm/components/Option/Option.js +1 -1
- package/dist/esm/components/PasswordField/PasswordField.js +2 -1
- package/dist/esm/components/PasswordField/PasswordField.js.map +1 -1
- package/dist/esm/components/PasswordField/PasswordField.test.js +1 -1
- package/dist/esm/components/PasswordField/ShowHideButton.js +1 -1
- package/dist/esm/components/Progress/Progress.js +3 -2
- package/dist/esm/components/Progress/Progress.js.map +1 -1
- package/dist/esm/components/Progress/Progress.test.js +1 -1
- package/dist/esm/components/Radio/Radio.js +8 -2
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/Radio/Radio.test.js +1 -1
- package/dist/esm/components/Radio/RadioButton.js +8 -2
- package/dist/esm/components/Radio/RadioButton.js.map +1 -1
- package/dist/esm/components/Radio/RadioButton.test.js +1 -1
- package/dist/esm/components/Radio/RadioContext.js +1 -0
- package/dist/esm/components/Radio/RadioContext.js.map +1 -1
- package/dist/esm/components/Radio/RadioGroup.js +2 -1
- 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/SVG/SVG.test.js +5 -5
- package/dist/esm/components/SVG/SVG.test.js.map +1 -1
- package/dist/esm/components/Segment/Segment.js +1 -1
- package/dist/esm/components/Segment/SegmentGroup.js +1 -1
- package/dist/esm/components/Select/Select.js +7 -2
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/Select.test.js +1 -1
- package/dist/esm/components/Slider/Slider.js +23 -14
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Slider/Slider.test.js +1 -1
- package/dist/esm/components/Slider/Thumb.js +9 -5
- package/dist/esm/components/Slider/Thumb.js.map +1 -1
- package/dist/esm/components/Table/Body.js +1 -1
- package/dist/esm/components/Table/Cell.js +1 -1
- package/dist/esm/components/Table/Foot.js +1 -1
- package/dist/esm/components/Table/Head.js +1 -1
- package/dist/esm/components/Table/HeaderCell.js +1 -1
- package/dist/esm/components/Table/Row.js +1 -1
- package/dist/esm/components/Table/Table.js +1 -1
- package/dist/esm/components/Table/Table.test.js +1 -1
- package/dist/esm/components/Text/Text.js +1 -1
- package/dist/esm/components/Text/Text.test.js +1 -1
- package/dist/esm/components/TextArea/TextArea.js +7 -2
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.test.js +1 -1
- package/dist/esm/components/TextAreaInput/TextAreaInput.js +1 -1
- package/dist/esm/components/TextAreaInput/TextAreaInput.test.js +1 -1
- package/dist/esm/components/TextField/TextField.js +7 -2
- package/dist/esm/components/TextField/TextField.js.map +1 -1
- package/dist/esm/components/TextField/TextField.test.js +1 -1
- package/dist/esm/components/Title/Title.js +1 -1
- package/dist/esm/components/Title/Title.test.js +1 -1
- package/dist/esm/components/VisuallyHidden/index.js +1 -0
- package/dist/esm/components/VisuallyHidden/index.js.map +1 -1
- package/dist/esm/components/index.js +6 -5
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/contexts/ThemeContext/ThemeContext.js +2 -1
- package/dist/esm/contexts/ThemeContext/ThemeContext.js.map +1 -1
- package/dist/esm/contexts/ThemeContext/ThemeContext.test.js +1 -1
- package/dist/esm/hooks/useBreakpoint/useBreakpoint.js +1 -0
- package/dist/esm/hooks/useBreakpoint/useBreakpoint.js.map +1 -1
- package/dist/esm/hooks/useBreakpoint/useBreakpoint.test.js +1 -1
- package/dist/esm/hooks/useHideColumns/useHideColumns.js +1 -0
- package/dist/esm/hooks/useHideColumns/useHideColumns.js.map +1 -1
- package/dist/esm/hooks/useOnClickOutside/useOnClickOutside.js +1 -0
- package/dist/esm/hooks/useOnClickOutside/useOnClickOutside.js.map +1 -1
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -0
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/mobius.d.ts +25 -13
- package/package.json +2 -2
- package/src/components/Accordion/Accordion.tsx +2 -0
- package/src/components/Alert/Alert.tsx +6 -1
- package/src/components/Breadcrumbs/BreadcrumbItem.tsx +2 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +2 -0
- package/src/components/Button/Button.tsx +2 -0
- package/src/components/Checkbox/CheckboxContext.tsx +2 -0
- package/src/components/Checkbox/CheckboxGroup.tsx +2 -0
- package/src/components/Checkbox/CheckboxGroupItem.tsx +2 -0
- package/src/components/Checkbox/CheckboxItem.tsx +2 -0
- package/src/components/Chopin/PercentageTotalsQuestion/PercentageItem.tsx +2 -0
- package/src/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.tsx +2 -0
- package/src/components/Chopin/Question/Question.tsx +2 -0
- package/src/components/Chopin/QuestionGroup/QuestionGroup.tsx +2 -0
- package/src/components/Chopin/QuestionHelp/QuestionHelp.tsx +2 -0
- package/src/components/Chopin/Steps/StepItem.tsx +6 -1
- package/src/components/Chopin/TradeSelector/Listing/ListingItem.tsx +2 -0
- package/src/components/Chopin/TradeSelector/SearchResults/SearchResults.tsx +2 -0
- package/src/components/Chopin/TradeSelector/TradeInput/TradeInput.tsx +2 -0
- package/src/components/Chopin/TradeSelector/TradeSelector.tsx +2 -0
- package/src/components/Chopin/TradeSelector/types.ts +1 -0
- package/src/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.ts +2 -0
- package/src/components/DatePicker/Calendar.tsx +2 -0
- package/src/components/DatePicker/CalendarButton.tsx +2 -0
- package/src/components/DatePicker/CalendarCell.tsx +2 -0
- package/src/components/DatePicker/CalendarGrid.tsx +2 -0
- package/src/components/DatePicker/DateField.tsx +2 -0
- package/src/components/DatePicker/DatePicker.tsx +3 -1
- package/src/components/DatePicker/DateSegment.tsx +2 -0
- package/src/components/DatePicker/Popover.tsx +3 -1
- package/src/components/Divider/Divider.tsx +2 -0
- package/src/components/DropdownMenu/DropdownMenu.tsx +2 -0
- package/src/components/Fieldset/Fieldset.tsx +2 -0
- package/src/components/Fieldset/stories/StyledLegend.tsx +6 -11
- package/src/components/Flex/Flex.tsx +9 -100
- package/src/components/Flex/index.tsx +1 -0
- package/src/components/Flex/propUtils.test.ts +124 -0
- package/src/components/Flex/propUtils.ts +69 -0
- package/src/components/Flex/types.ts +38 -0
- package/src/components/Grid/Grid.tsx +3 -4
- package/src/components/Grid/Item.tsx +6 -4
- package/src/components/Icon/IconFromObject.tsx +1 -1
- package/src/components/Link/Link.tsx +2 -0
- package/src/components/MaskedField/MaskedField.story.mdx +58 -0
- package/src/components/MaskedField/MaskedField.test.tsx +91 -0
- package/src/components/MaskedField/MaskedField.tsx +58 -0
- package/src/components/MaskedField/index.tsx +1 -0
- package/src/components/MaskedField/inputFormatters.ts +42 -0
- package/src/components/Modal/Modal.tsx +2 -0
- package/src/components/NumberField/NumberField.tsx +2 -0
- package/src/components/NumberField/NumberFieldButton.tsx +2 -0
- package/src/components/NumberField/__snapshots__/NumberField.test.tsx.snap +4 -2
- package/src/components/PasswordField/PasswordField.tsx +2 -0
- package/src/components/Progress/Progress.tsx +3 -1
- package/src/components/Radio/Radio.tsx +10 -3
- package/src/components/Radio/RadioButton.tsx +11 -4
- package/src/components/Radio/RadioContext.tsx +2 -0
- package/src/components/Radio/RadioGroup.tsx +2 -0
- package/src/components/SVG/SVG.test.tsx +3 -4
- package/src/components/SVG/SVG.tsx +1 -0
- package/src/components/Select/Select.tsx +10 -3
- package/src/components/Slider/Slider.tsx +33 -22
- package/src/components/Slider/Thumb.tsx +12 -6
- package/src/components/TextArea/TextArea.tsx +9 -3
- package/src/components/TextField/TextField.tsx +9 -3
- package/src/components/VisuallyHidden/index.tsx +2 -0
- package/src/components/index.tsx +6 -5
- package/src/contexts/ThemeContext/ThemeContext.tsx +2 -0
- package/src/hooks/useBreakpoint/useBreakpoint.tsx +2 -0
- package/src/hooks/useHideColumns/useHideColumns.ts +2 -0
- package/src/hooks/useOnClickOutside/useOnClickOutside.ts +2 -0
- package/src/hooks/useWindowEvent/useWindowEvent.tsx +2 -0
- package/src/index.tsx +2 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import {
|
|
2
|
+
withoutUndefinedValues,
|
|
3
|
+
buildFlexStyles,
|
|
4
|
+
splitProps,
|
|
5
|
+
} from "./propUtils";
|
|
6
|
+
|
|
7
|
+
describe("withoutUndefinedValues", () => {
|
|
8
|
+
it("returns object without undefined values", () => {
|
|
9
|
+
const props = {
|
|
10
|
+
a: 1,
|
|
11
|
+
b: "Two",
|
|
12
|
+
c: [],
|
|
13
|
+
d: {},
|
|
14
|
+
e: undefined,
|
|
15
|
+
f: undefined,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const actual = withoutUndefinedValues(props);
|
|
19
|
+
|
|
20
|
+
const expected = {
|
|
21
|
+
a: 1,
|
|
22
|
+
b: "Two",
|
|
23
|
+
c: [],
|
|
24
|
+
d: {},
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
expect(actual).toStrictEqual(expected);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
describe("buildFlexStyles", () => {
|
|
32
|
+
describe("given a list of props", () => {
|
|
33
|
+
it("returns a specified list of flex props", () => {
|
|
34
|
+
const props = {
|
|
35
|
+
flexDirection: "row",
|
|
36
|
+
flexWrap: "wrap",
|
|
37
|
+
flexGrow: "1",
|
|
38
|
+
flex: "1 1 0px",
|
|
39
|
+
justifyContent: "start",
|
|
40
|
+
alignItems: "stretch",
|
|
41
|
+
alignContent: "center",
|
|
42
|
+
gap: "10px",
|
|
43
|
+
rowGap: "20px",
|
|
44
|
+
columnGap: "30px",
|
|
45
|
+
} as const;
|
|
46
|
+
|
|
47
|
+
const expectedProps = {
|
|
48
|
+
...props,
|
|
49
|
+
display: "flex",
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const actual = buildFlexStyles(props);
|
|
53
|
+
|
|
54
|
+
expect(actual).toStrictEqual(expectedProps);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
describe("given a list of partially defined props", () => {
|
|
59
|
+
it("returns flex props that are defined", () => {
|
|
60
|
+
const props = {
|
|
61
|
+
flexDirection: "row",
|
|
62
|
+
flexWrap: undefined,
|
|
63
|
+
flexGrow: "1",
|
|
64
|
+
flex: undefined,
|
|
65
|
+
justifyContent: "start",
|
|
66
|
+
alignItems: undefined,
|
|
67
|
+
alignContent: "center",
|
|
68
|
+
gap: undefined,
|
|
69
|
+
rowGap: "20px",
|
|
70
|
+
columnGap: undefined,
|
|
71
|
+
} as const;
|
|
72
|
+
|
|
73
|
+
const expectedProps = {
|
|
74
|
+
flexDirection: "row",
|
|
75
|
+
flexGrow: "1",
|
|
76
|
+
justifyContent: "start",
|
|
77
|
+
alignContent: "center",
|
|
78
|
+
rowGap: "20px",
|
|
79
|
+
display: "flex",
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const actual = buildFlexStyles(props);
|
|
83
|
+
|
|
84
|
+
expect(actual).toStrictEqual(expectedProps);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
describe("splitProps", () => {
|
|
90
|
+
describe("given a list of props", () => {
|
|
91
|
+
it("returns an array with two items: 1) specified flex props; 2) all other props", () => {
|
|
92
|
+
const flexProps = {
|
|
93
|
+
flexDirection: "row",
|
|
94
|
+
flexWrap: "wrap",
|
|
95
|
+
flexGrow: "1",
|
|
96
|
+
flex: "1 1 0px",
|
|
97
|
+
justifyContent: "start",
|
|
98
|
+
alignItems: "stretch",
|
|
99
|
+
alignContent: "center",
|
|
100
|
+
gap: "10px",
|
|
101
|
+
rowGap: "20px",
|
|
102
|
+
columnGap: "30px",
|
|
103
|
+
} as const;
|
|
104
|
+
|
|
105
|
+
const otherProps = {
|
|
106
|
+
a: 1,
|
|
107
|
+
b: "Two",
|
|
108
|
+
c: [],
|
|
109
|
+
d: {},
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const props = {
|
|
113
|
+
...flexProps,
|
|
114
|
+
...otherProps,
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
const actual = splitProps(props);
|
|
118
|
+
|
|
119
|
+
const expected = [flexProps, otherProps];
|
|
120
|
+
|
|
121
|
+
expect(actual).toStrictEqual(expected);
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { FlexNonStyleProps, FlexProps, FlexStyleProps } from "./types";
|
|
2
|
+
|
|
3
|
+
export const withoutUndefinedValues = (obj: Record<string, unknown>) =>
|
|
4
|
+
Object.fromEntries(Object.entries(obj).filter(([_, value]) => value));
|
|
5
|
+
|
|
6
|
+
export const buildFlexStyles = (props: FlexStyleProps) => {
|
|
7
|
+
const {
|
|
8
|
+
flexDirection,
|
|
9
|
+
flexWrap,
|
|
10
|
+
flexGrow,
|
|
11
|
+
flex,
|
|
12
|
+
justifyContent,
|
|
13
|
+
alignItems,
|
|
14
|
+
alignContent,
|
|
15
|
+
gap,
|
|
16
|
+
rowGap,
|
|
17
|
+
columnGap,
|
|
18
|
+
} = props;
|
|
19
|
+
|
|
20
|
+
const styleProps = {
|
|
21
|
+
display: "flex",
|
|
22
|
+
flexDirection,
|
|
23
|
+
flexWrap,
|
|
24
|
+
flexGrow,
|
|
25
|
+
flex,
|
|
26
|
+
justifyContent,
|
|
27
|
+
alignItems,
|
|
28
|
+
alignContent,
|
|
29
|
+
gap,
|
|
30
|
+
rowGap,
|
|
31
|
+
columnGap,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
return withoutUndefinedValues(styleProps);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const splitProps = (
|
|
38
|
+
props: FlexProps,
|
|
39
|
+
): [FlexStyleProps, FlexNonStyleProps] => {
|
|
40
|
+
const {
|
|
41
|
+
flexDirection,
|
|
42
|
+
flexWrap,
|
|
43
|
+
flexGrow,
|
|
44
|
+
flex,
|
|
45
|
+
justifyContent,
|
|
46
|
+
alignItems,
|
|
47
|
+
alignContent,
|
|
48
|
+
gap,
|
|
49
|
+
rowGap,
|
|
50
|
+
columnGap,
|
|
51
|
+
...otherProps
|
|
52
|
+
} = props;
|
|
53
|
+
|
|
54
|
+
return [
|
|
55
|
+
{
|
|
56
|
+
flexDirection,
|
|
57
|
+
flexWrap,
|
|
58
|
+
flexGrow,
|
|
59
|
+
flex,
|
|
60
|
+
justifyContent,
|
|
61
|
+
alignItems,
|
|
62
|
+
alignContent,
|
|
63
|
+
gap,
|
|
64
|
+
rowGap,
|
|
65
|
+
columnGap,
|
|
66
|
+
},
|
|
67
|
+
otherProps,
|
|
68
|
+
];
|
|
69
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Ref, ReactNode, RefAttributes } from "react";
|
|
2
|
+
import type { Property } from "csstype";
|
|
3
|
+
import { DOMProps } from "@react-types/shared";
|
|
4
|
+
|
|
5
|
+
export type FlexElementType = HTMLDivElement;
|
|
6
|
+
|
|
7
|
+
export interface FlexStyleProps {
|
|
8
|
+
elementType?: string | React.ElementType;
|
|
9
|
+
flexDirection?: Property.FlexDirection;
|
|
10
|
+
flexWrap?: Property.FlexWrap;
|
|
11
|
+
flexGrow?: Property.FlexGrow;
|
|
12
|
+
flex?: Property.Flex;
|
|
13
|
+
/** Aligns grid items along the block (column) axis */
|
|
14
|
+
alignItems?: Property.AlignItems;
|
|
15
|
+
/** Aligns the grid along the inline (row) axis */
|
|
16
|
+
alignContent?: Property.AlignContent;
|
|
17
|
+
/** Aligns the grid along the inline (row) axis */
|
|
18
|
+
justifyContent?: Property.JustifyContent;
|
|
19
|
+
/** How big a gap between the columns and rows */
|
|
20
|
+
gap?: Property.Gap;
|
|
21
|
+
/** How big a gap between the rows */
|
|
22
|
+
rowGap?: Property.RowGap;
|
|
23
|
+
/** How big a gap between the columns */
|
|
24
|
+
columnGap?: Property.ColumnGap;
|
|
25
|
+
style?: React.CSSProperties;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface FlexNonStyleProps
|
|
29
|
+
extends DOMProps,
|
|
30
|
+
RefAttributes<FlexElementType> {
|
|
31
|
+
children?: ReactNode;
|
|
32
|
+
/** Custom class name for setting specific CSS */
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface FlexProps extends FlexStyleProps, FlexNonStyleProps {}
|
|
37
|
+
|
|
38
|
+
export type FlexRef = Ref<FlexElementType>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Ref, forwardRef, ReactNode, RefAttributes } from "react";
|
|
1
|
+
import { Ref, forwardRef, ReactNode, RefAttributes, CSSProperties } from "react";
|
|
2
2
|
import { DOMProps } from "@react-types/shared";
|
|
3
|
-
import { CSSObject } from "@emotion/react";
|
|
4
3
|
import { ForwardedRefComponent } from "../../types/components";
|
|
5
4
|
|
|
6
5
|
export type GridElementType = HTMLDivElement;
|
|
@@ -52,7 +51,7 @@ const Grid: ForwardedRefComponent<GridProps, GridElementType> = forwardRef(
|
|
|
52
51
|
...rest
|
|
53
52
|
} = props;
|
|
54
53
|
|
|
55
|
-
const styles:
|
|
54
|
+
const styles: CSSProperties = {
|
|
56
55
|
boxSizing: "border-box",
|
|
57
56
|
display: "grid",
|
|
58
57
|
gridTemplateColumns: `repeat(${columns}, 1fr)`,
|
|
@@ -65,7 +64,7 @@ const Grid: ForwardedRefComponent<GridProps, GridElementType> = forwardRef(
|
|
|
65
64
|
justifyItems,
|
|
66
65
|
};
|
|
67
66
|
|
|
68
|
-
return <div
|
|
67
|
+
return <div style={styles} {...rest} />;
|
|
69
68
|
},
|
|
70
69
|
);
|
|
71
70
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Ref, forwardRef, RefAttributes, useEffect, useState, CSSProperties } from "react";
|
|
2
4
|
import { DOMProps } from "@react-types/shared";
|
|
3
|
-
import { CSSObject } from "@emotion/react";
|
|
4
5
|
import { useBreakpoint } from "../../hooks";
|
|
5
6
|
import { ForwardedRefComponent } from "../../types/components";
|
|
6
7
|
import { SizeType } from "../../types";
|
|
@@ -67,16 +68,17 @@ const GridItem: ForwardedRefComponent<GridItemProps, GridItemElementType> =
|
|
|
67
68
|
const [responsiveSpan, setResponsiveSpan] = useState();
|
|
68
69
|
|
|
69
70
|
useEffect(() => {
|
|
71
|
+
// @ts-expect-error
|
|
70
72
|
setResponsiveSpan(breakpointMap[breakpointSize]);
|
|
71
73
|
}, [breakpointSize, breakpointMap]);
|
|
72
74
|
|
|
73
|
-
const styles:
|
|
75
|
+
const styles: CSSProperties = {
|
|
74
76
|
gridColumn: responsiveSpan ? `span ${responsiveSpan}` : undefined,
|
|
75
77
|
alignSelf,
|
|
76
78
|
justifySelf,
|
|
77
79
|
};
|
|
78
80
|
|
|
79
|
-
return <div
|
|
81
|
+
return <div style={{ ...styles }} {...rest} />;
|
|
80
82
|
});
|
|
81
83
|
|
|
82
84
|
GridItem.displayName = "GridItem";
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Meta, ArgsTable, Canvas, Story } from "@storybook/addon-docs";
|
|
2
|
+
import { MaskedField, MaskedFieldProps } from "./MaskedField";
|
|
3
|
+
|
|
4
|
+
<Meta title="Components/MaskedField" component={MaskedField} />
|
|
5
|
+
|
|
6
|
+
# MaskedField
|
|
7
|
+
|
|
8
|
+
The `MaskedField` component is used for formatting user input based on available input formatters - SSN (Social Security Number) or FEIN (Federal Employer Identification Number).
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
yarn add @simplybusiness/mobius
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```js
|
|
19
|
+
import { MaskedField } from "@simplybusiness/mobius";
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Normal
|
|
23
|
+
|
|
24
|
+
<Canvas>
|
|
25
|
+
<Story name="Normal" args={{ label: "MaskedField", pattern: "ssn" }}>
|
|
26
|
+
{args => <MaskedField {...args} />}
|
|
27
|
+
</Story>
|
|
28
|
+
</Canvas>
|
|
29
|
+
|
|
30
|
+
## Props
|
|
31
|
+
|
|
32
|
+
<ArgsTable of={MaskedField} />
|
|
33
|
+
|
|
34
|
+
## Component HTML Structure and Class names
|
|
35
|
+
|
|
36
|
+
The following HTML is rendered for a MaskedField:
|
|
37
|
+
|
|
38
|
+
```html
|
|
39
|
+
<div class="mobius/MaskedField">
|
|
40
|
+
<label class="mobius/Label">{label}</label>
|
|
41
|
+
<input class="mobius/TextFieldInput" type="text" />
|
|
42
|
+
<div class="mobius/ErrorMessage">{errors}</div>
|
|
43
|
+
</div>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Class names are augmented with the following flags if true:
|
|
47
|
+
|
|
48
|
+
- --is-focused
|
|
49
|
+
- --is-disabled
|
|
50
|
+
- --is-hovered
|
|
51
|
+
- --is-selected
|
|
52
|
+
- --is-valid
|
|
53
|
+
- --is-invalid
|
|
54
|
+
- --is-optional
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
[See on Github](https://github.com/simplybusiness/mobius/tree/master/packages/mobius/src/components/MaskedField) | [Give feedback](https://simplybusiness.atlassian.net/CreateIssue.jspa?issuetype=10103&pid=10609) | [Get support](https://simplybusiness.slack.com/archives/C016CC0NDNE)
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { render } from "@testing-library/react";
|
|
2
|
+
import userEvent from "@testing-library/user-event";
|
|
3
|
+
import { MaskedField } from ".";
|
|
4
|
+
|
|
5
|
+
describe("MaskedField", () => {
|
|
6
|
+
const LABEL = "MaskedField";
|
|
7
|
+
|
|
8
|
+
describe("given Social Security Number (SSN) pattern", () => {
|
|
9
|
+
it("should render user input to match the pattern", async () => {
|
|
10
|
+
const { getByLabelText } = render(
|
|
11
|
+
<MaskedField label={LABEL} pattern="ssn" />,
|
|
12
|
+
);
|
|
13
|
+
const inputField = getByLabelText(LABEL);
|
|
14
|
+
const inputValue = "1234567890";
|
|
15
|
+
const expectedUnformatted = "123456789";
|
|
16
|
+
const expectedFormatted = "123-45-6789";
|
|
17
|
+
|
|
18
|
+
await userEvent.tab();
|
|
19
|
+
await userEvent.type(inputField, inputValue);
|
|
20
|
+
|
|
21
|
+
expect(inputField).toHaveValue(expectedUnformatted);
|
|
22
|
+
|
|
23
|
+
await userEvent.tab();
|
|
24
|
+
|
|
25
|
+
expect(inputField).toHaveValue(expectedFormatted);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
describe("given a numerical and non-numerical input", () => {
|
|
29
|
+
it("should only render numerical input", async () => {
|
|
30
|
+
const { getByLabelText } = render(
|
|
31
|
+
<MaskedField label={LABEL} pattern="ssn" />,
|
|
32
|
+
);
|
|
33
|
+
const inputField = getByLabelText(LABEL);
|
|
34
|
+
const inputValue = "abc1234567890efg";
|
|
35
|
+
const expectedUnformatted = "123456789";
|
|
36
|
+
const expectedFormatted = "123-45-6789";
|
|
37
|
+
|
|
38
|
+
await userEvent.tab();
|
|
39
|
+
await userEvent.type(inputField, inputValue);
|
|
40
|
+
|
|
41
|
+
expect(inputField).toHaveValue(expectedUnformatted);
|
|
42
|
+
|
|
43
|
+
await userEvent.tab();
|
|
44
|
+
|
|
45
|
+
expect(inputField).toHaveValue(expectedFormatted);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
describe("given Federal Employer Identification Number (FEIN) pattern", () => {
|
|
51
|
+
it("should render user input to match the pattern", async () => {
|
|
52
|
+
const { getByLabelText } = render(
|
|
53
|
+
<MaskedField label={LABEL} pattern="fein" />,
|
|
54
|
+
);
|
|
55
|
+
const inputField = getByLabelText(LABEL);
|
|
56
|
+
const inputValue = "1234567890";
|
|
57
|
+
const expectedUnformatted = "123456789";
|
|
58
|
+
const expectedFormatted = "12-3456789";
|
|
59
|
+
|
|
60
|
+
await userEvent.tab();
|
|
61
|
+
await userEvent.type(inputField, inputValue);
|
|
62
|
+
|
|
63
|
+
expect(inputField).toHaveValue(expectedUnformatted);
|
|
64
|
+
|
|
65
|
+
await userEvent.tab();
|
|
66
|
+
|
|
67
|
+
expect(inputField).toHaveValue(expectedFormatted);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
describe("given a numerical and non-numerical input", () => {
|
|
71
|
+
it("should only render numerical input", async () => {
|
|
72
|
+
const { getByLabelText } = render(
|
|
73
|
+
<MaskedField label={LABEL} pattern="fein" />,
|
|
74
|
+
);
|
|
75
|
+
const inputField = getByLabelText(LABEL);
|
|
76
|
+
const inputValue = "abc1234567890efg";
|
|
77
|
+
const expectedUnformatted = "123456789";
|
|
78
|
+
const expectedFormatted = "12-3456789";
|
|
79
|
+
|
|
80
|
+
await userEvent.tab();
|
|
81
|
+
await userEvent.type(inputField, inputValue);
|
|
82
|
+
|
|
83
|
+
expect(inputField).toHaveValue(expectedUnformatted);
|
|
84
|
+
|
|
85
|
+
await userEvent.tab();
|
|
86
|
+
|
|
87
|
+
expect(inputField).toHaveValue(expectedFormatted);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Ref, forwardRef, useState, useEffect } from "react";
|
|
4
|
+
import { DOMProps } from "@react-types/shared";
|
|
5
|
+
import clsx from "clsx";
|
|
6
|
+
import { ForwardedRefComponent } from "../../types/components";
|
|
7
|
+
import { TextField, TextFieldElementType, TextFieldProps } from "../TextField";
|
|
8
|
+
import { INPUT_FORMATTERS } from "./inputFormatters";
|
|
9
|
+
|
|
10
|
+
export type MaskedFieldElementType = HTMLInputElement;
|
|
11
|
+
|
|
12
|
+
export interface MaskedFieldProps extends TextFieldProps, DOMProps {
|
|
13
|
+
pattern: "ssn" | "fein";
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type MaskedFieldRef = Ref<MaskedFieldElementType>;
|
|
17
|
+
|
|
18
|
+
const MaskedField: ForwardedRefComponent<
|
|
19
|
+
MaskedFieldProps,
|
|
20
|
+
TextFieldElementType
|
|
21
|
+
> = forwardRef((props: MaskedFieldProps, ref: MaskedFieldRef) => {
|
|
22
|
+
const { pattern, ...otherProps } = props;
|
|
23
|
+
const [isEditable, setIsEditable] = useState<boolean>(false);
|
|
24
|
+
const [unformatted, setUnformatted] = useState<string>("");
|
|
25
|
+
const [formatted, setFormatted] = useState<string>("");
|
|
26
|
+
const inputValue = isEditable ? unformatted : formatted;
|
|
27
|
+
|
|
28
|
+
const handleChange = (value: string) => {
|
|
29
|
+
const trimmedValue = INPUT_FORMATTERS[pattern].clean(value);
|
|
30
|
+
setUnformatted(trimmedValue);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const toggleEditable = () => {
|
|
34
|
+
setIsEditable(!isEditable);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
const formattedValue = INPUT_FORMATTERS[pattern].transform(unformatted);
|
|
39
|
+
setFormatted(formattedValue);
|
|
40
|
+
}, [pattern, unformatted]);
|
|
41
|
+
|
|
42
|
+
const classes = clsx("mobius", "mobius/MaskedField", otherProps.className);
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<TextField
|
|
46
|
+
onChange={handleChange}
|
|
47
|
+
value={inputValue}
|
|
48
|
+
className={classes}
|
|
49
|
+
ref={ref}
|
|
50
|
+
onFocus={toggleEditable}
|
|
51
|
+
onBlur={toggleEditable}
|
|
52
|
+
{...otherProps}
|
|
53
|
+
/>
|
|
54
|
+
);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
MaskedField.displayName = "MaskedField";
|
|
58
|
+
export { MaskedField };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./MaskedField";
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// SSN - Social Security Number. Format: XXX-XX-XXXX
|
|
2
|
+
// FEIN - Federal Employer Identification Number. Format: XX-XXXXXXX
|
|
3
|
+
|
|
4
|
+
const SSN_LENGTH = 9;
|
|
5
|
+
const FEIN_LENGTH = 9;
|
|
6
|
+
|
|
7
|
+
export const INPUT_FORMATTERS = {
|
|
8
|
+
ssn: {
|
|
9
|
+
clean: (value: string) => value.replace(/\D/g, "").slice(0, SSN_LENGTH),
|
|
10
|
+
transform: (value: string) => {
|
|
11
|
+
const startLength = 3;
|
|
12
|
+
const middleLength = 2;
|
|
13
|
+
const start = value.slice(0, 3);
|
|
14
|
+
const middle = value.slice(3, 5);
|
|
15
|
+
const end = value.slice(5, SSN_LENGTH);
|
|
16
|
+
|
|
17
|
+
if (value.length > startLength + middleLength) {
|
|
18
|
+
return `${start}-${middle}-${end}`;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (value.length > startLength) {
|
|
22
|
+
return `${start}-${middle}`;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return start;
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
fein: {
|
|
29
|
+
clean: (value: string) => value.replace(/\D/g, "").slice(0, FEIN_LENGTH),
|
|
30
|
+
transform: (value: string) => {
|
|
31
|
+
const startLength = 2;
|
|
32
|
+
const start = value.slice(0, 2);
|
|
33
|
+
const end = value.slice(2, FEIN_LENGTH);
|
|
34
|
+
|
|
35
|
+
if (value.length > startLength) {
|
|
36
|
+
return `${start}-${end}`;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return start;
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
@@ -37,9 +37,10 @@ exports[`NumberField should match snapshot 1`] = `
|
|
|
37
37
|
>
|
|
38
38
|
<svg
|
|
39
39
|
aria-hidden="true"
|
|
40
|
-
class="mobius mobius/Icon
|
|
40
|
+
class="mobius mobius/Icon"
|
|
41
41
|
focusable="false"
|
|
42
42
|
role="img"
|
|
43
|
+
style="height: 1em; vertical-align: -0.2em; transform-origin: center;"
|
|
43
44
|
viewBox="0 0 24 24"
|
|
44
45
|
xmlns="http://www.w3.org/2000/svg"
|
|
45
46
|
>
|
|
@@ -58,9 +59,10 @@ exports[`NumberField should match snapshot 1`] = `
|
|
|
58
59
|
>
|
|
59
60
|
<svg
|
|
60
61
|
aria-hidden="true"
|
|
61
|
-
class="mobius mobius/Icon
|
|
62
|
+
class="mobius mobius/Icon"
|
|
62
63
|
focusable="false"
|
|
63
64
|
role="img"
|
|
65
|
+
style="height: 1em; vertical-align: -0.2em; transform-origin: center;"
|
|
64
66
|
viewBox="0 0 16 16"
|
|
65
67
|
xmlns="http://www.w3.org/2000/svg"
|
|
66
68
|
>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
/* eslint no-console: "off" */
|
|
2
4
|
import { Ref, forwardRef, RefAttributes, ReactNode } from "react";
|
|
3
5
|
import { DOMProps } from "@react-types/shared";
|
|
@@ -118,7 +120,7 @@ const Progress: ForwardedRefComponent<ProgressProps, ProgressElementType> =
|
|
|
118
120
|
</Label>
|
|
119
121
|
)}
|
|
120
122
|
<div className="mobius/ProgressTrack">
|
|
121
|
-
<div className="mobius/ProgressBar"
|
|
123
|
+
<div className="mobius/ProgressBar" style={{ width: barWidth }} />
|
|
122
124
|
</div>
|
|
123
125
|
{showValueLabel && (
|
|
124
126
|
<Label data-testid="value-label">
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import { forwardRef, ReactNode, useContext, Ref, RefAttributes } from "react";
|
|
2
4
|
import { useRadio } from "@react-aria/radio";
|
|
3
5
|
import { AriaRadioProps } from "@react-types/radio";
|
|
@@ -5,6 +7,7 @@ import { useFocusRing } from "@react-aria/focus";
|
|
|
5
7
|
import { useHover, HoverProps } from "@react-aria/interactions";
|
|
6
8
|
import { DOMProps } from "@react-types/shared";
|
|
7
9
|
import clsx from "clsx";
|
|
10
|
+
import styled from '@emotion/styled';
|
|
8
11
|
import { RadioContext } from "./RadioContext";
|
|
9
12
|
import { ForwardedRefComponent } from "../../types/components";
|
|
10
13
|
import { ErrorMessage } from "../ErrorMessage";
|
|
@@ -25,6 +28,11 @@ export interface RadioProps
|
|
|
25
28
|
|
|
26
29
|
export type RadioRef = Ref<RadioElementType>;
|
|
27
30
|
|
|
31
|
+
const StyledLabel = styled(Label)`
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
`;
|
|
35
|
+
|
|
28
36
|
const Radio: ForwardedRefComponent<RadioProps, RadioElementType> = forwardRef(
|
|
29
37
|
(props: RadioProps, ref: RadioRef) => {
|
|
30
38
|
const radioContext = useContext(RadioContext);
|
|
@@ -83,8 +91,7 @@ const Radio: ForwardedRefComponent<RadioProps, RadioElementType> = forwardRef(
|
|
|
83
91
|
|
|
84
92
|
return (
|
|
85
93
|
<>
|
|
86
|
-
<
|
|
87
|
-
css={{ display: "flex", alignItems: "center" }}
|
|
94
|
+
<StyledLabel
|
|
88
95
|
{...hoverProps}
|
|
89
96
|
className={containerClasses}
|
|
90
97
|
>
|
|
@@ -105,7 +112,7 @@ const Radio: ForwardedRefComponent<RadioProps, RadioElementType> = forwardRef(
|
|
|
105
112
|
) : (
|
|
106
113
|
<div className="mobius/RadioContent">{label || children}</div>
|
|
107
114
|
)}
|
|
108
|
-
</
|
|
115
|
+
</StyledLabel>
|
|
109
116
|
{errorMessage && <ErrorMessage errorMessage={errorMessage} />}
|
|
110
117
|
</>
|
|
111
118
|
);
|