@simplybusiness/mobius 10.4.3 → 10.5.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 +18 -0
- package/dist/cjs/components/AddressLookup/AddressLookup.js +39 -36
- package/dist/cjs/components/AddressLookup/AddressLookup.js.map +3 -3
- package/dist/cjs/components/AddressLookup/LoqateAddressLookupService.js +28 -40
- package/dist/cjs/components/AddressLookup/LoqateAddressLookupService.js.map +1 -1
- package/dist/cjs/components/AddressLookup/index.js +67 -76
- package/dist/cjs/components/AddressLookup/index.js.map +3 -3
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +3 -7
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +2 -2
- package/dist/cjs/components/Breadcrumbs/index.js +3 -7
- package/dist/cjs/components/Breadcrumbs/index.js.map +2 -2
- package/dist/cjs/components/Combobox/Combobox.js +35 -32
- package/dist/cjs/components/Combobox/Combobox.js.map +3 -3
- package/dist/cjs/components/Combobox/index.js +35 -32
- package/dist/cjs/components/Combobox/index.js.map +3 -3
- package/dist/cjs/components/DateField/DateField.js +11 -8
- package/dist/cjs/components/DateField/DateField.js.map +3 -3
- package/dist/cjs/components/DateField/index.js +11 -8
- package/dist/cjs/components/DateField/index.js.map +3 -3
- package/dist/cjs/components/DropdownMenu/Item.js +3 -6
- package/dist/cjs/components/DropdownMenu/Item.js.map +2 -2
- package/dist/cjs/components/DropdownMenu/index.js +3 -6
- package/dist/cjs/components/DropdownMenu/index.js.map +2 -2
- package/dist/cjs/components/MaskedField/MaskedField.js +11 -8
- package/dist/cjs/components/MaskedField/MaskedField.js.map +3 -3
- package/dist/cjs/components/MaskedField/index.js +13 -10
- package/dist/cjs/components/MaskedField/index.js.map +3 -3
- package/dist/cjs/components/NumberField/NumberField.js +10 -7
- package/dist/cjs/components/NumberField/NumberField.js.map +3 -3
- package/dist/cjs/components/NumberField/index.js +10 -7
- package/dist/cjs/components/NumberField/index.js.map +3 -3
- package/dist/cjs/components/PasswordField/PasswordField.js +9 -6
- package/dist/cjs/components/PasswordField/PasswordField.js.map +3 -3
- package/dist/cjs/components/PasswordField/index.js +9 -6
- package/dist/cjs/components/PasswordField/index.js.map +3 -3
- package/dist/cjs/components/StickyOnMobile/StickyOnMobile.js +49 -0
- package/dist/cjs/components/StickyOnMobile/StickyOnMobile.js.map +7 -0
- package/dist/cjs/components/StickyOnMobile/index.js +51 -0
- package/dist/cjs/components/StickyOnMobile/index.js.map +7 -0
- package/dist/cjs/components/TextField/TextField.js +6 -3
- package/dist/cjs/components/TextField/TextField.js.map +3 -3
- package/dist/cjs/components/TextField/adornmentWithClassName.js +3 -2
- package/dist/cjs/components/TextField/adornmentWithClassName.js.map +2 -2
- package/dist/cjs/components/TextField/index.js +6 -3
- package/dist/cjs/components/TextField/index.js.map +3 -3
- package/dist/cjs/components/index.js +343 -343
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/index.js +343 -343
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/meta.json +329 -107
- package/dist/esm/{chunk-NEFRXIFY.js → chunk-53QMWUHB.js} +2 -2
- package/dist/esm/chunk-53QMWUHB.js.map +7 -0
- package/dist/esm/{chunk-4HI2AOBC.js → chunk-6TSYA7CJ.js} +4 -7
- package/dist/esm/{chunk-4HI2AOBC.js.map → chunk-6TSYA7CJ.js.map} +2 -2
- package/dist/esm/{chunk-VHAA22YE.js → chunk-A7KFYNH6.js} +1 -3
- package/dist/esm/{chunk-IQKS662C.js → chunk-AKCNBW55.js} +8 -6
- package/dist/esm/chunk-AKCNBW55.js.map +7 -0
- package/dist/esm/{chunk-6JCU4CGA.js → chunk-AZUVQRYC.js} +4 -4
- package/dist/esm/{chunk-XNEQHHNV.js → chunk-C2QJDKXS.js} +2 -2
- package/dist/esm/chunk-CTY6LDFI.js +1 -0
- package/dist/esm/{chunk-KFHPI67N.js → chunk-GJBH37DH.js} +4 -4
- package/dist/esm/{chunk-IM3I5CZL.js → chunk-I6CFRGID.js} +4 -3
- package/dist/esm/{chunk-IM3I5CZL.js.map → chunk-I6CFRGID.js.map} +2 -2
- package/dist/esm/{chunk-LGZWQZLS.js → chunk-IF7FRSC2.js} +2 -2
- package/dist/esm/{chunk-OEDU5ZEA.js → chunk-KUH5AB5T.js} +2 -2
- package/dist/esm/chunk-L2X5IF3K.js +1 -0
- package/dist/esm/chunk-L2X5IF3K.js.map +7 -0
- package/dist/esm/{chunk-2HUMNED2.js → chunk-M3X3ECNH.js} +4 -4
- package/dist/esm/chunk-NXWWQSZA.js +82 -0
- package/dist/esm/{chunk-VVL4B2KD.js.map → chunk-NXWWQSZA.js.map} +1 -1
- package/dist/esm/{chunk-JFDDW3IV.js → chunk-P7TPNRU4.js} +4 -8
- package/dist/esm/{chunk-JFDDW3IV.js.map → chunk-P7TPNRU4.js.map} +2 -2
- package/dist/esm/{chunk-VZ3IWSK6.js → chunk-Q5RB4O4S.js} +7 -7
- package/dist/esm/{chunk-S4CU4XRB.js → chunk-RBB3WHBJ.js} +2 -2
- package/dist/esm/{chunk-GV36OVX7.js → chunk-TQWUPLN6.js} +2 -2
- package/dist/esm/{chunk-X4CMSAET.js → chunk-YEZ6KR3Q.js} +2 -2
- package/dist/esm/chunk-YWFAKGQQ.js +19 -0
- package/dist/esm/chunk-YWFAKGQQ.js.map +7 -0
- package/dist/esm/{chunk-P6YHEIFT.js → chunk-ZLAAOGRQ.js} +4 -4
- package/dist/esm/components/Accordion/Accordion.js +1 -1
- package/dist/esm/components/Accordion/AccordionLink.js +1 -1
- package/dist/esm/components/Accordion/AccordionList.js +1 -1
- package/dist/esm/components/Accordion/index.js +1 -1
- package/dist/esm/components/AddressLookup/AddressLookup.js +7 -7
- package/dist/esm/components/AddressLookup/LoqateAddressLookupError.js +1 -1
- package/dist/esm/components/AddressLookup/LoqateAddressLookupService.js +2 -2
- package/dist/esm/components/AddressLookup/__mocks__/LoqateAddressLookupService.js +1 -1
- package/dist/esm/components/AddressLookup/index.js +10 -10
- package/dist/esm/components/AddressLookup/utils.js +1 -1
- package/dist/esm/components/Alert/Alert.js +1 -1
- package/dist/esm/components/Alert/index.js +1 -1
- package/dist/esm/components/Box/Box.js +1 -1
- package/dist/esm/components/Box/index.js +1 -1
- package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +2 -2
- package/dist/esm/components/Breadcrumbs/index.js +3 -3
- package/dist/esm/components/Button/Button.js +1 -1
- package/dist/esm/components/Button/Loading.js +1 -1
- package/dist/esm/components/Button/Success.js +1 -1
- package/dist/esm/components/Button/index.js +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +1 -1
- package/dist/esm/components/Checkbox/CheckboxGroup.js +3 -3
- package/dist/esm/components/Checkbox/index.js +3 -3
- package/dist/esm/components/Combobox/Combobox.js +6 -6
- package/dist/esm/components/Combobox/Listbox.js +1 -1
- package/dist/esm/components/Combobox/Option.js +1 -1
- package/dist/esm/components/Combobox/fixtures.js +1 -1
- package/dist/esm/components/Combobox/index.js +6 -6
- package/dist/esm/components/Combobox/useComboboxHighlight.js +1 -1
- package/dist/esm/components/Combobox/useComboboxOptions.js +1 -1
- package/dist/esm/components/Combobox/utils.js +1 -1
- package/dist/esm/components/Container/Container.js +1 -1
- package/dist/esm/components/Container/index.js +1 -1
- package/dist/esm/components/DateField/DateField.js +6 -6
- package/dist/esm/components/DateField/index.js +6 -6
- package/dist/esm/components/DateField/validation.js +1 -1
- package/dist/esm/components/Divider/Divider.js +1 -1
- package/dist/esm/components/Divider/index.js +1 -1
- package/dist/esm/components/Drawer/Content.js +1 -1
- package/dist/esm/components/Drawer/Drawer.js +1 -1
- package/dist/esm/components/Drawer/DrawerContext.js +1 -1
- package/dist/esm/components/Drawer/Header.js +1 -1
- package/dist/esm/components/Drawer/index.js +4 -4
- package/dist/esm/components/Drawer/useDrawer.js +1 -1
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +1 -1
- package/dist/esm/components/DropdownMenu/Item.js +2 -2
- package/dist/esm/components/DropdownMenu/index.js +3 -3
- package/dist/esm/components/ErrorMessage/ErrorMessage.js +1 -1
- package/dist/esm/components/ErrorMessage/index.js +1 -1
- package/dist/esm/components/ExpandableText/ExpandableText.js +1 -1
- package/dist/esm/components/ExpandableText/index.js +1 -1
- package/dist/esm/components/Fieldset/Fieldset.js +1 -1
- package/dist/esm/components/Fieldset/index.js +1 -1
- package/dist/esm/components/Flex/Flex.js +1 -1
- package/dist/esm/components/Flex/index.js +1 -1
- package/dist/esm/components/Flex/propUtils.js +1 -1
- package/dist/esm/components/Grid/Grid.js +1 -1
- package/dist/esm/components/Grid/Item.js +1 -1
- package/dist/esm/components/Grid/index.js +1 -1
- package/dist/esm/components/Icon/Icon.js +1 -1
- package/dist/esm/components/Icon/index.js +1 -1
- package/dist/esm/components/Image/Image.js +1 -1
- package/dist/esm/components/Image/index.js +1 -1
- package/dist/esm/components/Label/Label.js +1 -1
- package/dist/esm/components/Label/index.js +1 -1
- package/dist/esm/components/Link/Link.js +1 -1
- package/dist/esm/components/Link/index.js +1 -1
- package/dist/esm/components/LinkButton/LinkButton.js +1 -1
- package/dist/esm/components/LinkButton/index.js +1 -1
- package/dist/esm/components/List/List.js +1 -1
- package/dist/esm/components/List/ListItem.js +1 -1
- package/dist/esm/components/List/index.js +1 -1
- package/dist/esm/components/LoadingIndicator/LoadingIndicator.js +1 -1
- package/dist/esm/components/LoadingIndicator/index.js +1 -1
- package/dist/esm/components/Logo/Logo.js +1 -1
- package/dist/esm/components/Logo/index.js +1 -1
- package/dist/esm/components/MaskedField/MaskedField.js +5 -5
- package/dist/esm/components/MaskedField/index.js +6 -6
- 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 +1 -1
- package/dist/esm/components/Modal/ModalContext.js +1 -1
- package/dist/esm/components/Modal/index.js +1 -1
- package/dist/esm/components/Modal/useModal.js +1 -1
- package/dist/esm/components/NumberField/NumberField.js +6 -6
- package/dist/esm/components/NumberField/index.js +6 -6
- package/dist/esm/components/Option/Option.js +1 -1
- package/dist/esm/components/Option/index.js +1 -1
- package/dist/esm/components/PasswordField/PasswordField.js +6 -6
- package/dist/esm/components/PasswordField/ShowHideButton.js +1 -1
- package/dist/esm/components/PasswordField/index.js +6 -6
- package/dist/esm/components/Popover/Arrow.js +1 -1
- package/dist/esm/components/Popover/Popover.js +4 -4
- package/dist/esm/components/Popover/index.js +4 -4
- package/dist/esm/components/Popover/useAutoUpdate.js +1 -1
- package/dist/esm/components/Popover/useFloatingPosition.js +1 -1
- package/dist/esm/components/Popover/useOutsidePress.js +1 -1
- package/dist/esm/components/Progress/Progress.js +1 -1
- package/dist/esm/components/Progress/index.js +1 -1
- package/dist/esm/components/Radio/Radio.js +1 -1
- package/dist/esm/components/Radio/RadioGroup.js +4 -4
- package/dist/esm/components/Radio/index.js +6 -6
- package/dist/esm/components/SVG/SVG.js +1 -1
- package/dist/esm/components/SVG/index.js +1 -1
- package/dist/esm/components/Segment/Segment.js +1 -1
- package/dist/esm/components/Segment/SegmentGroup.js +1 -1
- package/dist/esm/components/Segment/index.js +1 -1
- package/dist/esm/components/Select/Select.js +4 -4
- package/dist/esm/components/Select/index.js +4 -4
- package/dist/esm/components/Slider/Slider.js +1 -1
- package/dist/esm/components/Slider/helpers.js +1 -1
- package/dist/esm/components/Slider/index.js +1 -1
- package/dist/esm/components/Stack/Stack.js +1 -1
- package/dist/esm/components/Stack/index.js +1 -1
- package/dist/esm/components/StickyOnMobile/StickyOnMobile.js +8 -0
- package/dist/esm/components/StickyOnMobile/StickyOnMobile.js.map +7 -0
- package/dist/esm/components/StickyOnMobile/index.js +9 -0
- package/dist/esm/components/StickyOnMobile/index.js.map +7 -0
- package/dist/esm/components/Switch/Switch.js +1 -1
- package/dist/esm/components/Switch/index.js +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/index.js +1 -1
- package/dist/esm/components/Text/Text.js +1 -1
- package/dist/esm/components/Text/index.js +1 -1
- package/dist/esm/components/TextArea/TextArea.js +4 -4
- package/dist/esm/components/TextArea/index.js +4 -4
- package/dist/esm/components/TextAreaInput/TextAreaInput.js +1 -1
- package/dist/esm/components/TextAreaInput/index.js +1 -1
- package/dist/esm/components/TextField/TextField.js +5 -5
- package/dist/esm/components/TextField/adornmentWithClassName.js +2 -2
- package/dist/esm/components/TextField/index.js +5 -5
- package/dist/esm/components/TextOrHTML/TextOrHTML.js +1 -1
- package/dist/esm/components/TextOrHTML/index.js +1 -1
- package/dist/esm/components/Title/Title.js +1 -1
- package/dist/esm/components/Title/index.js +1 -1
- package/dist/esm/components/Toast/Toast.js +1 -1
- package/dist/esm/components/Toast/ToastOptionsDoc.js +1 -1
- package/dist/esm/components/Toast/Toaster.js +1 -1
- package/dist/esm/components/Toast/index.js +1 -1
- package/dist/esm/components/Toast/state.js +1 -1
- package/dist/esm/components/Trust/Trust.js +1 -1
- package/dist/esm/components/Trust/TrustpilotProvider.js +1 -1
- package/dist/esm/components/Trust/constants.js +1 -1
- package/dist/esm/components/Trust/index.js +1 -1
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/esm/components/VisuallyHidden/index.js +1 -1
- package/dist/esm/components/index.js +68 -63
- package/dist/esm/hooks/index.js +1 -1
- package/dist/esm/hooks/useBreakpoint/index.js +1 -1
- package/dist/esm/hooks/useBreakpoint/useBreakpoint.js +1 -1
- package/dist/esm/hooks/useButton/index.js +1 -1
- package/dist/esm/hooks/useButton/useButton.js +1 -1
- package/dist/esm/hooks/useDialog/index.js +1 -1
- package/dist/esm/hooks/useDialog/useDialog.js +1 -1
- package/dist/esm/hooks/useDialogPolyfill/index.js +1 -1
- package/dist/esm/hooks/useDialogPolyfill/useDialogPolyfill.js +1 -1
- package/dist/esm/hooks/useLabel/index.js +1 -1
- package/dist/esm/hooks/useLabel/useLabel.js +1 -1
- package/dist/esm/hooks/useTextField/index.js +1 -1
- package/dist/esm/hooks/useTextField/useTextField.js +1 -1
- package/dist/esm/hooks/useValidationClasses/index.js +1 -1
- package/dist/esm/hooks/useValidationClasses/useValidationClasses.js +1 -1
- package/dist/esm/index.js +68 -63
- package/dist/esm/meta.json +3460 -3303
- package/dist/esm/utils/StoryContainer.js +1 -1
- package/dist/esm/utils/changeCSS.js +1 -1
- package/dist/esm/utils/colours.js +1 -1
- package/dist/esm/utils/delay.js +1 -1
- package/dist/esm/utils/excludeControls.js +1 -1
- package/dist/esm/utils/filterUndefinedProps.js +1 -1
- package/dist/esm/utils/filterUnsetValues.js +1 -1
- package/dist/esm/utils/getSpacingValue.js +1 -1
- package/dist/esm/utils/htmlDialogPolyfill.js +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/mergeRefs.js +1 -1
- package/dist/esm/utils/mockMatchMedia.js +1 -1
- package/dist/esm/utils/polyfill-tests.js +1 -1
- package/dist/esm/utils/sizeClasses.js +1 -1
- package/dist/esm/utils/sizeOptions.js +1 -1
- package/dist/esm/utils/spaceDelimitedList.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Accordion/Accordion.d.ts +4 -4
- package/dist/types/components/Accordion/AccordionList.d.ts +4 -4
- package/dist/types/components/AddressLookup/AddressLookup.d.ts +4 -4
- package/dist/types/components/AddressLookup/LoqateAddressLookupService.d.ts +1 -1
- package/dist/types/components/Alert/Alert.d.ts +4 -4
- package/dist/types/components/Box/Box.d.ts +4 -4
- package/dist/types/components/Breadcrumbs/BreadcrumbItem.d.ts +4 -4
- package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
- package/dist/types/components/Button/Button.d.ts +4 -4
- package/dist/types/components/Checkbox/Checkbox.d.ts +4 -4
- package/dist/types/components/Checkbox/CheckboxGroup.d.ts +4 -4
- package/dist/types/components/Combobox/Combobox.d.ts +2 -5
- package/dist/types/components/Combobox/useComboboxOptions.d.ts +1 -1
- package/dist/types/components/Container/Container.d.ts +4 -4
- package/dist/types/components/DateField/DateField.d.ts +4 -4
- package/dist/types/components/Divider/Divider.d.ts +4 -4
- package/dist/types/components/Drawer/Content.d.ts +4 -4
- package/dist/types/components/Drawer/Drawer.d.ts +4 -4
- package/dist/types/components/Drawer/Header.d.ts +4 -4
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +4 -4
- package/dist/types/components/DropdownMenu/Item.d.ts +4 -4
- package/dist/types/components/ErrorMessage/ErrorMessage.d.ts +4 -4
- package/dist/types/components/ExpandableText/ExpandableText.d.ts +4 -4
- package/dist/types/components/Fieldset/Fieldset.d.ts +4 -4
- package/dist/types/components/Flex/Flex.d.ts +4 -4
- package/dist/types/components/Grid/Grid.d.ts +4 -4
- package/dist/types/components/Grid/Item.d.ts +4 -4
- package/dist/types/components/Image/Image.d.ts +4 -4
- package/dist/types/components/Label/Label.d.ts +4 -4
- package/dist/types/components/Link/Link.d.ts +4 -4
- package/dist/types/components/List/List.d.ts +4 -4
- package/dist/types/components/List/ListItem.d.ts +4 -4
- package/dist/types/components/LoadingIndicator/LoadingIndicator.d.ts +4 -4
- package/dist/types/components/Logo/Logo.d.ts +4 -4
- package/dist/types/components/MaskedField/MaskedField.d.ts +4 -4
- package/dist/types/components/Modal/Content.d.ts +4 -4
- package/dist/types/components/Modal/Header.d.ts +4 -4
- package/dist/types/components/Modal/Modal.d.ts +4 -4
- package/dist/types/components/NumberField/NumberField.d.ts +4 -4
- package/dist/types/components/Option/Option.d.ts +4 -4
- package/dist/types/components/PasswordField/PasswordField.d.ts +4 -4
- package/dist/types/components/Progress/Progress.d.ts +4 -4
- package/dist/types/components/Radio/Radio.d.ts +4 -4
- package/dist/types/components/Radio/RadioGroup.d.ts +4 -4
- package/dist/types/components/SVG/SVG.d.ts +4 -4
- package/dist/types/components/Segment/Segment.d.ts +4 -4
- package/dist/types/components/Segment/SegmentGroup.d.ts +4 -4
- package/dist/types/components/Select/Select.d.ts +4 -4
- package/dist/types/components/Stack/Stack.d.ts +4 -4
- package/dist/types/components/StickyOnMobile/StickyOnMobile.d.ts +15 -0
- package/dist/types/components/StickyOnMobile/index.d.ts +1 -0
- package/dist/types/components/Switch/Switch.d.ts +4 -4
- package/dist/types/components/Table/Body.d.ts +4 -4
- package/dist/types/components/Table/Cell.d.ts +4 -4
- package/dist/types/components/Table/Foot.d.ts +4 -4
- package/dist/types/components/Table/Head.d.ts +4 -4
- package/dist/types/components/Table/HeaderCell.d.ts +4 -4
- package/dist/types/components/Table/Row.d.ts +4 -4
- package/dist/types/components/Table/Table.d.ts +4 -4
- package/dist/types/components/Text/Text.d.ts +4 -4
- package/dist/types/components/TextArea/TextArea.d.ts +4 -4
- package/dist/types/components/TextAreaInput/TextAreaInput.d.ts +4 -4
- package/dist/types/components/TextField/TextField.d.ts +1 -4
- package/dist/types/components/TextField/adornmentWithClassName.d.ts +3 -1
- package/dist/types/components/TextOrHTML/TextOrHTML.d.ts +4 -4
- package/dist/types/components/Title/Title.d.ts +4 -4
- package/dist/types/components/Toast/ToastOptionsDoc.d.ts +4 -8
- package/dist/types/components/Toast/Toaster.d.ts +4 -4
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/hooks/useButton/useButton.d.ts +5 -5
- package/dist/types/hooks/useLabel/useLabel.d.ts +1 -1
- package/package.json +22 -21
- package/src/components/Box/Box.test.tsx +1 -2
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +3 -7
- package/src/components/Button/Button.stories.tsx +1 -1
- package/src/components/Combobox/Combobox.tsx +2 -4
- package/src/components/DropdownMenu/DropdownMenu.stories.tsx +1 -1
- package/src/components/DropdownMenu/Item.tsx +3 -6
- package/src/components/Grid/Grid.stories.tsx +1 -1
- package/src/components/StickyOnMobile/StickyOnMobile.css +19 -0
- package/src/components/StickyOnMobile/StickyOnMobile.mdx +52 -0
- package/src/components/StickyOnMobile/StickyOnMobile.stories.tsx +99 -0
- package/src/components/StickyOnMobile/StickyOnMobile.test.tsx +100 -0
- package/src/components/StickyOnMobile/StickyOnMobile.tsx +37 -0
- package/src/components/StickyOnMobile/index.tsx +1 -0
- package/src/components/TextField/TextField.tsx +3 -1
- package/src/components/TextField/adornmentWithClassName.ts +4 -3
- package/src/components/index.tsx +1 -0
- package/src/hooks/useBreakpoint/useBreakpoint.test.tsx +4 -4
- package/src/styles.d.ts +2 -0
- package/dist/esm/chunk-IQKS662C.js.map +0 -7
- package/dist/esm/chunk-NEFRXIFY.js.map +0 -7
- package/dist/esm/chunk-NOQ27VLY.js +0 -1
- package/dist/esm/chunk-VVL4B2KD.js +0 -92
- /package/dist/esm/{chunk-NOQ27VLY.js.map → chunk-A7KFYNH6.js.map} +0 -0
- /package/dist/esm/{chunk-6JCU4CGA.js.map → chunk-AZUVQRYC.js.map} +0 -0
- /package/dist/esm/{chunk-XNEQHHNV.js.map → chunk-C2QJDKXS.js.map} +0 -0
- /package/dist/esm/{chunk-VHAA22YE.js.map → chunk-CTY6LDFI.js.map} +0 -0
- /package/dist/esm/{chunk-KFHPI67N.js.map → chunk-GJBH37DH.js.map} +0 -0
- /package/dist/esm/{chunk-LGZWQZLS.js.map → chunk-IF7FRSC2.js.map} +0 -0
- /package/dist/esm/{chunk-OEDU5ZEA.js.map → chunk-KUH5AB5T.js.map} +0 -0
- /package/dist/esm/{chunk-2HUMNED2.js.map → chunk-M3X3ECNH.js.map} +0 -0
- /package/dist/esm/{chunk-VZ3IWSK6.js.map → chunk-Q5RB4O4S.js.map} +0 -0
- /package/dist/esm/{chunk-S4CU4XRB.js.map → chunk-RBB3WHBJ.js.map} +0 -0
- /package/dist/esm/{chunk-GV36OVX7.js.map → chunk-TQWUPLN6.js.map} +0 -0
- /package/dist/esm/{chunk-X4CMSAET.js.map → chunk-YEZ6KR3Q.js.map} +0 -0
- /package/dist/esm/{chunk-P6YHEIFT.js.map → chunk-ZLAAOGRQ.js.map} +0 -0
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-2JLZNSLY.js";
|
|
15
15
|
import {
|
|
16
16
|
TextField
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-AKCNBW55.js";
|
|
18
18
|
import {
|
|
19
19
|
VisuallyHidden
|
|
20
20
|
} from "./chunk-PRZRE6A5.js";
|
|
@@ -352,4 +352,4 @@ var Combobox = ComboboxInner;
|
|
|
352
352
|
export {
|
|
353
353
|
Combobox
|
|
354
354
|
};
|
|
355
|
-
//# sourceMappingURL=chunk-
|
|
355
|
+
//# sourceMappingURL=chunk-53QMWUHB.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/Combobox/Combobox.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useOnUnmount } from \"@simplybusiness/mobius-hooks\";\nimport classNames from \"classnames/dedupe\";\nimport type React from \"react\";\nimport type { FocusEvent } from \"react\";\nimport { useEffect, useId, useRef, useState } from \"react\";\nimport { useBreakpoint } from \"../../hooks\";\nimport { TextField } from \"../TextField\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\nimport { Listbox } from \"./Listbox\"; // Import Listbox component\nimport type { ComboboxOption, ComboboxProps } from \"./types\";\nimport { useComboboxHighlight } from \"./useComboboxHighlight\";\nimport { useComboboxOptions } from \"./useComboboxOptions\";\nimport { getOptionLabel, getOptionValue, isOptionGroup } from \"./utils\";\nimport \"./Combobox.css\";\n\nconst ComboboxInner = <T extends ComboboxOption>({\n ref,\n ...props\n}: ComboboxProps<T>) => {\n const {\n id,\n defaultValue,\n value,\n options,\n asyncOptions,\n delay,\n minSearchLength,\n onSelected,\n className,\n placeholder,\n icon,\n onBlur,\n onFocus,\n onChange,\n // onSearched, // unused prop, consider removing\n optionComponent,\n optionTestIdPrefix,\n errorMessage,\n ...otherProps\n } = props;\n // Avoid re-fetching after selecting an option\n const skipNextDebounceRef = useRef(false);\n const fallbackRef = useRef<HTMLInputElement>(null);\n const [inputValue, setInputValue] = useState(defaultValue || \"\");\n const [isOpen, setIsOpen] = useState(false);\n const [isChanging, setIsChanging] = useState(false);\n const { filteredOptions, updateFilteredOptions, isLoading, error } =\n useComboboxOptions({\n options,\n asyncOptions,\n inputValue,\n delay,\n minSearchLength,\n skipNextDebounceRef,\n });\n const [validationError, setValidationError] = useState(\n error?.message || errorMessage,\n );\n const {\n highlightedIndex,\n highlightedGroupIndex,\n highlightNextOption,\n highlightPreviousOption,\n highlightFirstOption,\n highlightLastOption,\n clearHighlight,\n } = useComboboxHighlight(filteredOptions);\n\n const inputRef = ref || fallbackRef;\n const listboxId = useId();\n const statusId = useId();\n const blurTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const userInteractedRef = useRef(false);\n const justSelectedRef = useRef(false);\n const { down } = useBreakpoint();\n const isMobile = down(\"md\");\n\n useEffect(() => {\n setValidationError(error?.message || errorMessage);\n }, [error, errorMessage]);\n\n // Helper to create properly-typed empty value based on option type\n const getEmptyValue = (): T => {\n // Check first available option to determine if we're using string or object options\n const firstOption = filteredOptions\n ? isOptionGroup(filteredOptions)\n ? filteredOptions[0]?.options[0]\n : filteredOptions[0]\n : options\n ? isOptionGroup(options)\n ? options[0]?.options[0]\n : options[0]\n : undefined;\n\n // If options are strings, return empty string\n if (typeof firstOption === \"string\") {\n return \"\" as T;\n }\n\n // If options are objects, return empty object with same shape\n return { label: \"\", value: \"\" } as T;\n };\n\n const handleFocus = (e: FocusEvent) => {\n onFocus?.(e);\n if (!filteredOptions || filteredOptions.length === 0) return;\n if (blurTimeoutRef.current) {\n clearTimeout(blurTimeoutRef.current);\n blurTimeoutRef.current = null;\n }\n\n // Check if this is natural focus (user click/Tab) or programmatic focus\n const isNaturalFocus =\n userInteractedRef.current || e.relatedTarget !== null;\n if (userInteractedRef.current) {\n userInteractedRef.current = false;\n }\n\n // Block opening only if programmatic focus right after selection\n if (justSelectedRef.current && !isNaturalFocus) {\n return;\n }\n\n // Open dropdown for natural focus\n if (isNaturalFocus) {\n setIsOpen(true);\n justSelectedRef.current = false;\n }\n };\n\n useEffect(() => {\n if (!inputRef || typeof inputRef === \"function\") return;\n const inputElement = inputRef.current;\n if (!inputElement) return;\n\n const handleMouseDown = () => {\n // Track that user clicked/interacted with input\n userInteractedRef.current = true;\n };\n\n inputElement.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n inputElement.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, [inputRef]);\n\n useOnUnmount(() => {\n if (blurTimeoutRef.current) {\n clearTimeout(blurTimeoutRef.current);\n }\n });\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n setInputValue(newValue);\n setValidationError(undefined);\n justSelectedRef.current = false;\n setIsChanging(true);\n // Only open immediately for sync options; async options controlled by useEffect\n if (!asyncOptions) {\n setIsOpen(true);\n }\n clearHighlight();\n onChange?.(e);\n };\n\n const handleOptionSelect = (option: T) => {\n const val = getOptionValue(option);\n\n // Allow empty values to pass through\n if (!val && val !== \"\") return;\n\n if (\n typeof option === \"object\" &&\n \"callback\" in option &&\n option.callback &&\n typeof option.callback === \"function\"\n ) {\n justSelectedRef.current = true;\n setTimeout(() => {\n if (inputRef && typeof inputRef !== \"function\" && inputRef.current) {\n inputRef.current.focus();\n }\n }, 0);\n const callbackPromise = option.callback();\n updateFilteredOptions(callbackPromise);\n callbackPromise\n .then(() => {\n setIsOpen(true);\n setIsChanging(true);\n })\n .catch(() => {\n // error handled inside updateFilteredOptions via setError\n });\n return;\n }\n\n // Prevent re-fetching options after selecting an option\n skipNextDebounceRef.current = true;\n justSelectedRef.current = true;\n\n setIsChanging(false);\n setValidationError(undefined);\n setIsOpen(false);\n setInputValue(val);\n onSelected?.(option);\n };\n\n const getFirstOption = () => {\n if (!filteredOptions) return undefined;\n if (isOptionGroup(filteredOptions)) {\n return filteredOptions[0]?.options[0];\n }\n\n return filteredOptions[0];\n };\n\n const getHighlightedOption = () => {\n if (!filteredOptions) return undefined;\n if (highlightedIndex === -1) return undefined;\n\n if (isOptionGroup(filteredOptions)) {\n const group = filteredOptions[highlightedGroupIndex];\n return group?.options[highlightedIndex];\n }\n\n return filteredOptions[highlightedIndex];\n };\n\n const getHighlightedOptionId = () => {\n const option = getHighlightedOption();\n if (!option) return undefined;\n\n if (isOptionGroup(filteredOptions)) {\n return `${listboxId}-option-${highlightedGroupIndex}-${highlightedIndex}`;\n }\n\n return `${listboxId}-option-${highlightedIndex}`;\n };\n\n const handleBlur = (e: FocusEvent<Element, Element>) => {\n // Force selection if user has matched an entry by typing (not already selected)\n // Defer this to allow natural focus flow to complete first\n if (!justSelectedRef.current) {\n const typedText = inputValue.trim();\n const typedTextLower = typedText.toLowerCase();\n const highlightedOption = getHighlightedOption();\n const label = getOptionLabel(highlightedOption);\n\n if (typedTextLower === label?.toLowerCase()) {\n // Exact match with an option\n setTimeout(() => {\n handleOptionSelect(highlightedOption as T);\n }, 0);\n } else if (typedText === \"\") {\n // Allow empty values\n setTimeout(() => {\n handleOptionSelect(getEmptyValue());\n }, 0);\n } else {\n // Invalid value (not in options and not empty)\n setValidationError(\n errorMessage || \"Please select an option from the list\",\n );\n setTimeout(() => {\n setInputValue(\"\");\n }, 0);\n }\n }\n\n blurTimeoutRef.current = setTimeout(() => {\n onBlur?.(e);\n setIsOpen(false);\n setIsChanging(false);\n }, 150);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n justSelectedRef.current = false;\n setIsOpen(true);\n highlightNextOption();\n break;\n case \"ArrowUp\":\n e.preventDefault();\n justSelectedRef.current = false;\n setIsOpen(true);\n highlightPreviousOption();\n break;\n case \"Home\":\n e.preventDefault();\n justSelectedRef.current = false;\n setIsOpen(true);\n highlightFirstOption();\n break;\n case \"End\":\n e.preventDefault();\n justSelectedRef.current = false;\n setIsOpen(true);\n highlightLastOption();\n break;\n case \"Enter\":\n e.preventDefault();\n if (isOpen) {\n const selectedOption = getHighlightedOption() || getFirstOption();\n if (selectedOption) {\n handleOptionSelect(selectedOption);\n }\n }\n break;\n case \"Escape\":\n e.preventDefault();\n setInputValue(\"\");\n setIsOpen(false);\n clearHighlight();\n break;\n default:\n // Do nothing\n }\n };\n\n useEffect(() => {\n if (value) {\n setInputValue(value);\n }\n }, [value]);\n\n // Open and close the combobox based on async filtered options\n useEffect(() => {\n if (asyncOptions && isChanging) {\n setIsOpen(!!filteredOptions && filteredOptions.length > 0);\n }\n }, [filteredOptions, asyncOptions, isChanging]);\n\n const classes = classNames(\n \"mobius mobius-combobox\",\n {\n \"mobius-combobox--is-expanded\": isOpen,\n \"mobius-combobox--is-loading\": isLoading,\n \"mobius-combobox--is-mobile\": isMobile,\n },\n className,\n );\n\n const getStatusMessage = () => {\n if (isLoading) return \"Loading options\";\n if (!filteredOptions || filteredOptions.length === 0) {\n return isChanging ? \"No options found\" : \"\";\n }\n const count = isOptionGroup(filteredOptions)\n ? filteredOptions.reduce((sum, group) => sum + group.options.length, 0)\n : filteredOptions.length;\n return isOpen && isChanging\n ? `${count} option${count === 1 ? \"\" : \"s\"} available`\n : \"\";\n };\n\n return (\n <div id={id} data-testid=\"mobius-combobox__wrapper\" className={classes}>\n <VisuallyHidden\n role=\"status\"\n aria-live=\"polite\"\n id={statusId}\n elementType=\"div\"\n className=\"mobius-combobox__status\"\n >\n {getStatusMessage()}\n </VisuallyHidden>\n <TextField\n {...otherProps}\n className=\"mobius-combobox__input\"\n role=\"combobox\"\n value={inputValue}\n placeholder={placeholder}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onChange={handleInputChange}\n autoComplete=\"off\"\n aria-describedby={isLoading ? statusId : undefined}\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls={isOpen ? listboxId : undefined}\n aria-expanded={isOpen}\n aria-activedescendant={\n highlightedIndex === -1 ? undefined : getHighlightedOptionId()\n }\n prefixInside={icon}\n ref={inputRef}\n errorMessage={errorMessage || validationError || error?.message}\n />\n <Listbox\n id={listboxId}\n isOpen={isOpen}\n isLoading={isLoading}\n options={filteredOptions}\n highlightedIndex={highlightedIndex}\n highlightedGroupIndex={highlightedGroupIndex}\n onOptionSelect={handleOptionSelect}\n optionComponent={optionComponent}\n optionTestIdPrefix={optionTestIdPrefix}\n />\n </div>\n );\n};\n\nexport const Combobox = ComboboxInner;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -22,12 +22,9 @@ var Item = ({ ref, ...props }) => {
|
|
|
22
22
|
child.props.className,
|
|
23
23
|
classes
|
|
24
24
|
);
|
|
25
|
-
return cloneElement(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
className: childClasses
|
|
29
|
-
}
|
|
30
|
-
);
|
|
25
|
+
return cloneElement(child, {
|
|
26
|
+
className: childClasses
|
|
27
|
+
});
|
|
31
28
|
}
|
|
32
29
|
return /* @__PURE__ */ jsx("span", { className: classes, children: child });
|
|
33
30
|
}) });
|
|
@@ -37,4 +34,4 @@ Item.displayName = "DropdownMenu.Item";
|
|
|
37
34
|
export {
|
|
38
35
|
Item
|
|
39
36
|
};
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-6TSYA7CJ.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/DropdownMenu/Item.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { Ref, RefAttributes, ReactNode, ReactElement } from \"react\";\nimport { cloneElement, isValidElement, Children } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport type { DOMProps } from \"../../types/dom\";\n\nexport type ItemElementType = HTMLLIElement;\n\nexport interface ItemProps extends DOMProps, RefAttributes<ItemElementType> {\n elementType?: React.ElementType;\n /** Custom class name for setting specific CSS */\n className?: string;\n active?: boolean;\n children?: ReactNode;\n onClick?: () => void;\n}\n\nexport type ItemRef = Ref<ItemElementType>;\n\nconst Item = ({ ref, ...props }: ItemProps) => {\n const {\n elementType: Element = \"li\",\n active,\n onClick,\n children,\n ...otherProps\n } = props;\n const classes = classNames(\n \"mobius\",\n \"mobius-dropdown-menu__item\",\n { \"--is-active\": active },\n otherProps.className,\n );\n\n return (\n <Element ref={ref} onClick={onClick} {...otherProps}>\n {Children.map(children, child => {\n if (isValidElement(child)) {\n const childClasses = classNames(\n (child.props as { className?: string }).className,\n classes,\n );\n return cloneElement(
|
|
5
|
-
"mappings": ";AACA,SAAS,cAAc,gBAAgB,gBAAgB;AACvD,OAAO,gBAAgB;
|
|
4
|
+
"sourcesContent": ["import type { Ref, RefAttributes, ReactNode, ReactElement } from \"react\";\nimport { cloneElement, isValidElement, Children } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport type { DOMProps } from \"../../types/dom\";\n\nexport type ItemElementType = HTMLLIElement;\n\nexport interface ItemProps extends DOMProps, RefAttributes<ItemElementType> {\n elementType?: React.ElementType;\n /** Custom class name for setting specific CSS */\n className?: string;\n active?: boolean;\n children?: ReactNode;\n onClick?: () => void;\n}\n\nexport type ItemRef = Ref<ItemElementType>;\n\nconst Item = ({ ref, ...props }: ItemProps) => {\n const {\n elementType: Element = \"li\",\n active,\n onClick,\n children,\n ...otherProps\n } = props;\n const classes = classNames(\n \"mobius\",\n \"mobius-dropdown-menu__item\",\n { \"--is-active\": active },\n otherProps.className,\n );\n\n return (\n <Element ref={ref} onClick={onClick} {...otherProps}>\n {Children.map(children, child => {\n if (isValidElement(child)) {\n const childClasses = classNames(\n (child.props as { className?: string }).className,\n classes,\n );\n return cloneElement(child as ReactElement<{ className?: string }>, {\n className: childClasses,\n });\n }\n\n return <span className={classes}>{child}</span>;\n })}\n </Element>\n );\n};\n\nItem.displayName = \"DropdownMenu.Item\";\nexport { Item };\n"],
|
|
5
|
+
"mappings": ";AACA,SAAS,cAAc,gBAAgB,gBAAgB;AACvD,OAAO,gBAAgB;AA4CR;AA5Bf,IAAM,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,MAAiB;AAC7C,QAAM;AAAA,IACJ,aAAa,UAAU;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,EAAE,eAAe,OAAO;AAAA,IACxB,WAAW;AAAA,EACb;AAEA,SACE,oBAAC,WAAQ,KAAU,SAAmB,GAAG,YACtC,mBAAS,IAAI,UAAU,WAAS;AAC/B,QAAI,eAAe,KAAK,GAAG;AACzB,YAAM,eAAe;AAAA,QAClB,MAAM,MAAiC;AAAA,QACxC;AAAA,MACF;AACA,aAAO,aAAa,OAA+C;AAAA,QACjE,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AAEA,WAAO,oBAAC,UAAK,WAAW,SAAU,iBAAM;AAAA,EAC1C,CAAC,GACH;AAEJ;AAEA,KAAK,cAAc;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,13 +2,11 @@ var __typeError = (msg) => {
|
|
|
2
2
|
throw TypeError(msg);
|
|
3
3
|
};
|
|
4
4
|
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
5
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
6
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
7
|
|
|
9
8
|
export {
|
|
10
|
-
__privateGet,
|
|
11
9
|
__privateAdd,
|
|
12
10
|
__privateSet
|
|
13
11
|
};
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
12
|
+
//# sourceMappingURL=chunk-A7KFYNH6.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
adornmentWithClassName
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-I6CFRGID.js";
|
|
4
4
|
import {
|
|
5
5
|
ErrorMessage
|
|
6
6
|
} from "./chunk-MZJT3USG.js";
|
|
7
|
-
import {
|
|
8
|
-
Stack
|
|
9
|
-
} from "./chunk-XH3OJQMW.js";
|
|
10
7
|
import {
|
|
11
8
|
Label
|
|
12
9
|
} from "./chunk-ZN7OWLZY.js";
|
|
10
|
+
import {
|
|
11
|
+
Stack
|
|
12
|
+
} from "./chunk-XH3OJQMW.js";
|
|
13
13
|
import {
|
|
14
14
|
useTextField
|
|
15
15
|
} from "./chunk-UYVF3QSW.js";
|
|
@@ -19,9 +19,10 @@ import {
|
|
|
19
19
|
|
|
20
20
|
// src/components/TextField/TextField.tsx
|
|
21
21
|
import classNames from "classnames/dedupe";
|
|
22
|
+
import { memo } from "react";
|
|
22
23
|
import "@simplybusiness/mobius/src/components/TextField/TextField.css";
|
|
23
24
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
24
|
-
var
|
|
25
|
+
var TextFieldInner = ({ ref, ...props }) => {
|
|
25
26
|
const {
|
|
26
27
|
isDisabled,
|
|
27
28
|
type = "text",
|
|
@@ -115,9 +116,10 @@ var TextField = ({ ref, ...props }) => {
|
|
|
115
116
|
/* @__PURE__ */ jsx(ErrorMessage, { ...errorMessageProps, errorMessage })
|
|
116
117
|
] });
|
|
117
118
|
};
|
|
119
|
+
var TextField = memo(TextFieldInner);
|
|
118
120
|
TextField.displayName = "TextField";
|
|
119
121
|
|
|
120
122
|
export {
|
|
121
123
|
TextField
|
|
122
124
|
};
|
|
123
|
-
//# sourceMappingURL=chunk-
|
|
125
|
+
//# sourceMappingURL=chunk-AKCNBW55.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/TextField/TextField.tsx"],
|
|
4
|
+
"sourcesContent": ["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport { memo } from \"react\";\nimport type {\n HTMLInputTypeAttribute,\n ReactElement,\n ReactNode,\n Ref,\n RefAttributes,\n} from \"react\";\nimport type { UseTextFieldProps } from \"../../hooks\";\nimport { useTextField, useValidationClasses } from \"../../hooks\";\nimport type { DOMProps, FocusEvents } from \"../../types\";\nimport { ErrorMessage } from \"../ErrorMessage\";\nimport { Label } from \"../Label\";\nimport { Stack } from \"../Stack\";\nimport { adornmentWithClassName } from \"./adornmentWithClassName\";\nimport \"./TextField.css\";\n\nexport type TextFieldElementType = HTMLInputElement;\nexport interface TextFieldProps\n extends\n DOMProps,\n FocusEvents,\n UseTextFieldProps,\n RefAttributes<TextFieldElementType> {\n className?: string;\n errorMessage?: string;\n children?: ReactNode;\n label?: string;\n type?: Exclude<\n HTMLInputTypeAttribute,\n | \"button\"\n | \"checkbox\"\n | \"color\"\n | \"date\"\n | \"datetime-local\"\n | \"file\"\n | \"image\"\n | \"month\"\n | \"radio\"\n | \"range\"\n | \"reset\"\n | \"submit\"\n | \"week\"\n >;\n prefixInside?: ReactElement;\n prefixOutside?: ReactElement;\n suffixInside?: ReactElement;\n suffixOutside?: ReactElement;\n}\n\nexport type TextFieldRef = Ref<TextFieldElementType>;\n\nconst TextFieldInner = ({ ref, ...props }: TextFieldProps) => {\n const {\n isDisabled,\n type = \"text\",\n isInvalid,\n className,\n label,\n errorMessage,\n children,\n isRequired,\n prefixInside,\n prefixOutside,\n suffixInside,\n suffixOutside,\n autoComplete,\n isReadOnly,\n ...otherProps\n } = props;\n\n const resolvedAutoComplete =\n autoComplete ??\n (type === \"email\" ? \"email\" : type === \"tel\" ? \"tel\" : undefined);\n\n const { inputProps, labelProps, errorMessageProps } = useTextField({\n ...props,\n autoComplete: resolvedAutoComplete,\n \"aria-errormessage\": errorMessage,\n });\n\n const hidden = type === \"hidden\";\n\n const validationClasses = useValidationClasses({ isInvalid });\n\n const textfieldClasses = {\n \"--is-disabled\": isDisabled,\n \"--is-required\": typeof isRequired === \"boolean\" && isRequired,\n \"--is-optional\": typeof isRequired === \"boolean\" && !isRequired,\n \"--is-hidden\": hidden,\n [className || \"\"]: true,\n };\n\n const sharedClasses = classNames(validationClasses, textfieldClasses);\n\n const labelClasses = classNames(\n {\n \"--is-disabled\": isDisabled,\n },\n validationClasses,\n );\n\n const containerClasses = classNames(\n \"mobius\",\n \"mobius-text-field\",\n sharedClasses,\n );\n\n const inputClasses = classNames(\n \"mobius\",\n \"mobius-text-field__input\",\n sharedClasses,\n );\n\n const inputWrapperClasses = classNames(\n \"mobius-text-field__input-wrapper\",\n sharedClasses,\n );\n\n return (\n <Stack gap=\"xs\" className={containerClasses}>\n {label && !hidden && (\n <Label {...labelProps} className={labelClasses}>\n {label}\n </Label>\n )}\n <div className=\"mobius-text-field__inner-container\">\n {adornmentWithClassName(\n prefixOutside,\n labelClasses,\n \"mobius-text-field__prefix-outside\",\n )}\n <div className={inputWrapperClasses}>\n {adornmentWithClassName(\n prefixInside,\n labelClasses,\n \"mobius-text-field__prefix-inside\",\n )}\n <input\n {...otherProps}\n {...inputProps}\n ref={ref}\n type={type}\n className={inputClasses}\n />\n {adornmentWithClassName(\n suffixInside,\n labelClasses,\n \"mobius-text-field__suffix-inside\",\n )}\n </div>\n {adornmentWithClassName(\n suffixOutside,\n labelClasses,\n \"mobius-text-field__suffix-outside\",\n )}\n </div>\n {children && (\n <div className=\"mobius-text-field__children\">{children}</div>\n )}\n\n <ErrorMessage {...errorMessageProps} errorMessage={errorMessage} />\n </Stack>\n );\n};\n\nconst TextField = memo(TextFieldInner);\nTextField.displayName = \"TextField\";\nexport { TextField };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAEA,OAAO,gBAAgB;AACvB,SAAS,YAAY;AAerB,OAAO;AA2GC,cAUA,YAVA;AAtER,IAAM,iBAAiB,CAAC,EAAE,KAAK,GAAG,MAAM,MAAsB;AAC5D,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,uBACJ,iBACC,SAAS,UAAU,UAAU,SAAS,QAAQ,QAAQ;AAEzD,QAAM,EAAE,YAAY,YAAY,kBAAkB,IAAI,aAAa;AAAA,IACjE,GAAG;AAAA,IACH,cAAc;AAAA,IACd,qBAAqB;AAAA,EACvB,CAAC;AAED,QAAM,SAAS,SAAS;AAExB,QAAM,oBAAoB,qBAAqB,EAAE,UAAU,CAAC;AAE5D,QAAM,mBAAmB;AAAA,IACvB,iBAAiB;AAAA,IACjB,iBAAiB,OAAO,eAAe,aAAa;AAAA,IACpD,iBAAiB,OAAO,eAAe,aAAa,CAAC;AAAA,IACrD,eAAe;AAAA,IACf,CAAC,aAAa,EAAE,GAAG;AAAA,EACrB;AAEA,QAAM,gBAAgB,WAAW,mBAAmB,gBAAgB;AAEpE,QAAM,eAAe;AAAA,IACnB;AAAA,MACE,iBAAiB;AAAA,IACnB;AAAA,IACA;AAAA,EACF;AAEA,QAAM,mBAAmB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,sBAAsB;AAAA,IAC1B;AAAA,IACA;AAAA,EACF;AAEA,SACE,qBAAC,SAAM,KAAI,MAAK,WAAW,kBACxB;AAAA,aAAS,CAAC,UACT,oBAAC,SAAO,GAAG,YAAY,WAAW,cAC/B,iBACH;AAAA,IAEF,qBAAC,SAAI,WAAU,sCACZ;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,qBAAC,SAAI,WAAW,qBACb;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAG;AAAA,YACJ;AAAA,YACA;AAAA,YACA,WAAW;AAAA;AAAA,QACb;AAAA,QACC;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,SACF;AAAA,MACC;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,OACF;AAAA,IACC,YACC,oBAAC,SAAI,WAAU,+BAA+B,UAAS;AAAA,IAGzD,oBAAC,gBAAc,GAAG,mBAAmB,cAA4B;AAAA,KACnE;AAEJ;AAEA,IAAM,YAAY,KAAK,cAAc;AACrC,UAAU,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ErrorMessage
|
|
3
3
|
} from "./chunk-MZJT3USG.js";
|
|
4
|
-
import {
|
|
5
|
-
Stack
|
|
6
|
-
} from "./chunk-XH3OJQMW.js";
|
|
7
4
|
import {
|
|
8
5
|
Label
|
|
9
6
|
} from "./chunk-ZN7OWLZY.js";
|
|
7
|
+
import {
|
|
8
|
+
Stack
|
|
9
|
+
} from "./chunk-XH3OJQMW.js";
|
|
10
10
|
import {
|
|
11
11
|
TextAreaInput
|
|
12
12
|
} from "./chunk-BM4M36KU.js";
|
|
@@ -61,4 +61,4 @@ TextArea.displayName = "TextArea";
|
|
|
61
61
|
export {
|
|
62
62
|
TextArea
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-AZUVQRYC.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-CI5GCPUG.js";
|
|
5
5
|
import {
|
|
6
6
|
TextField
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-AKCNBW55.js";
|
|
8
8
|
import {
|
|
9
9
|
mergeRefs
|
|
10
10
|
} from "./chunk-QGGILW3D.js";
|
|
@@ -97,4 +97,4 @@ export {
|
|
|
97
97
|
MIN_MAX_ERROR,
|
|
98
98
|
DateField
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=chunk-
|
|
100
|
+
//# sourceMappingURL=chunk-C2QJDKXS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-CTY6LDFI.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Header
|
|
3
|
-
} from "./chunk-UZV5PZ7R.js";
|
|
4
1
|
import {
|
|
5
2
|
Content
|
|
6
3
|
} from "./chunk-WHRUNWJI.js";
|
|
7
4
|
import {
|
|
8
5
|
Drawer
|
|
9
6
|
} from "./chunk-VYQRTISC.js";
|
|
7
|
+
import {
|
|
8
|
+
Header
|
|
9
|
+
} from "./chunk-UZV5PZ7R.js";
|
|
10
10
|
|
|
11
11
|
// src/components/Drawer/index.tsx
|
|
12
12
|
var Drawer2 = Object.assign(Drawer, {
|
|
@@ -18,4 +18,4 @@ Drawer2.displayName = "Drawer";
|
|
|
18
18
|
export {
|
|
19
19
|
Drawer2 as Drawer
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-GJBH37DH.js.map
|
|
@@ -3,9 +3,10 @@ import classNames from "classnames/dedupe";
|
|
|
3
3
|
import { cloneElement } from "react";
|
|
4
4
|
var adornmentWithClassName = (component, validationClasses, className) => {
|
|
5
5
|
if (!component) return null;
|
|
6
|
-
|
|
6
|
+
const typedComponent = component;
|
|
7
|
+
return cloneElement(typedComponent, {
|
|
7
8
|
className: classNames(
|
|
8
|
-
|
|
9
|
+
typedComponent.props.className,
|
|
9
10
|
validationClasses,
|
|
10
11
|
className
|
|
11
12
|
)
|
|
@@ -15,4 +16,4 @@ var adornmentWithClassName = (component, validationClasses, className) => {
|
|
|
15
16
|
export {
|
|
16
17
|
adornmentWithClassName
|
|
17
18
|
};
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
19
|
+
//# sourceMappingURL=chunk-I6CFRGID.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/TextField/adornmentWithClassName.ts"],
|
|
4
|
-
"sourcesContent": ["import classNames from \"classnames/dedupe\";\nimport type { ReactElement } from \"react\";\nimport { cloneElement } from \"react\";\n\nexport const adornmentWithClassName = (\n component?: ReactElement,\n validationClasses?: string,\n className?: string,\n) => {\n if (!component) return null;\n\n return cloneElement(
|
|
5
|
-
"mappings": ";AAAA,OAAO,gBAAgB;AAEvB,SAAS,oBAAoB;AAEtB,IAAM,yBAAyB,CACpC,WACA,mBACA,cACG;AACH,MAAI,CAAC,UAAW,QAAO;AAEvB,SAAO,aAAa,
|
|
4
|
+
"sourcesContent": ["import classNames from \"classnames/dedupe\";\nimport type { ReactElement } from \"react\";\nimport { cloneElement } from \"react\";\n\nexport const adornmentWithClassName = (\n component?: ReactElement,\n validationClasses?: string,\n className?: string,\n) => {\n if (!component) return null;\n\n const typedComponent = component as ReactElement<{ className?: string }>;\n return cloneElement(typedComponent, {\n className: classNames(\n typedComponent.props.className,\n validationClasses,\n className,\n ),\n });\n};\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,gBAAgB;AAEvB,SAAS,oBAAoB;AAEtB,IAAM,yBAAyB,CACpC,WACA,mBACA,cACG;AACH,MAAI,CAAC,UAAW,QAAO;AAEvB,QAAM,iBAAiB;AACvB,SAAO,aAAa,gBAAgB;AAAA,IAClC,WAAW;AAAA,MACT,eAAe,MAAM;AAAA,MACrB;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AACH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-66ARYOY7.js";
|
|
4
4
|
import {
|
|
5
5
|
Combobox
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-53QMWUHB.js";
|
|
7
7
|
import {
|
|
8
8
|
Icon
|
|
9
9
|
} from "./chunk-TKIP5Q5H.js";
|
|
@@ -93,4 +93,4 @@ AddressLookup.displayName = "AddressLookup";
|
|
|
93
93
|
export {
|
|
94
94
|
AddressLookup
|
|
95
95
|
};
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
96
|
+
//# sourceMappingURL=chunk-IF7FRSC2.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-YGME6T3L.js";
|
|
4
4
|
import {
|
|
5
5
|
Item
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6TSYA7CJ.js";
|
|
7
7
|
|
|
8
8
|
// src/components/DropdownMenu/index.tsx
|
|
9
9
|
var DropdownMenu2 = Object.assign(
|
|
@@ -17,4 +17,4 @@ DropdownMenu2.displayName = "DropdownMenu";
|
|
|
17
17
|
export {
|
|
18
18
|
DropdownMenu2 as DropdownMenu
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-KUH5AB5T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-L2X5IF3K.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ErrorMessage
|
|
3
3
|
} from "./chunk-MZJT3USG.js";
|
|
4
|
-
import {
|
|
5
|
-
Stack
|
|
6
|
-
} from "./chunk-XH3OJQMW.js";
|
|
7
4
|
import {
|
|
8
5
|
Label
|
|
9
6
|
} from "./chunk-ZN7OWLZY.js";
|
|
7
|
+
import {
|
|
8
|
+
Stack
|
|
9
|
+
} from "./chunk-XH3OJQMW.js";
|
|
10
10
|
import {
|
|
11
11
|
useValidationClasses
|
|
12
12
|
} from "./chunk-DYOFXXZD.js";
|
|
@@ -154,4 +154,4 @@ RadioGroup.displayName = "RadioGroup";
|
|
|
154
154
|
export {
|
|
155
155
|
RadioGroup
|
|
156
156
|
};
|
|
157
|
-
//# sourceMappingURL=chunk-
|
|
157
|
+
//# sourceMappingURL=chunk-M3X3ECNH.js.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import {
|
|
2
|
+
LoqateAddressLookupError
|
|
3
|
+
} from "./chunk-EDSRI6SV.js";
|
|
4
|
+
|
|
5
|
+
// src/components/AddressLookup/LoqateAddressLookupService.tsx
|
|
6
|
+
var LOQATE_BASE_URL = "https://api.addressy.com/Capture/Interactive";
|
|
7
|
+
var LOQATE_FIND_URL = "/Find/v1.00/json3.ws";
|
|
8
|
+
var LOQATE_RETRIEVE_URL = "/Retrieve/v1.2/json3.ws";
|
|
9
|
+
var DEFAULT_COUNTRIES = ["GB"];
|
|
10
|
+
var LoqateAddressLookupService = class {
|
|
11
|
+
/**
|
|
12
|
+
* Base URL for the Loqate API
|
|
13
|
+
*/
|
|
14
|
+
#baseUrl;
|
|
15
|
+
/**
|
|
16
|
+
* API key for the Loqate API
|
|
17
|
+
*/
|
|
18
|
+
#apiKey;
|
|
19
|
+
/**
|
|
20
|
+
* List of allowed country codes for the Loqate API
|
|
21
|
+
* 2 or 3 character ISO country codes
|
|
22
|
+
*/
|
|
23
|
+
#countries;
|
|
24
|
+
/**
|
|
25
|
+
* Optional filters for the Loqate API
|
|
26
|
+
* E.g., { AdministrativeArea: "CA", PostalCode: "90210" }
|
|
27
|
+
*/
|
|
28
|
+
#filters;
|
|
29
|
+
constructor({
|
|
30
|
+
baseUrl,
|
|
31
|
+
apiKey,
|
|
32
|
+
countries,
|
|
33
|
+
filters
|
|
34
|
+
}) {
|
|
35
|
+
this.#apiKey = apiKey;
|
|
36
|
+
this.#baseUrl = baseUrl || LOQATE_BASE_URL;
|
|
37
|
+
this.#countries = countries || DEFAULT_COUNTRIES;
|
|
38
|
+
this.#filters = filters;
|
|
39
|
+
}
|
|
40
|
+
fetchFromApi(url) {
|
|
41
|
+
return fetch(`${this.#baseUrl}${url}`).then((response) => response.json()).then((json) => {
|
|
42
|
+
if (json.Items?.some((item) => item.Error)) {
|
|
43
|
+
throw new LoqateAddressLookupError(json);
|
|
44
|
+
}
|
|
45
|
+
return json;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Builds the Filters query parameter for Loqate API requests.
|
|
50
|
+
* - Filter keys (e.g., "AdministrativeArea", "PostalCode") are predefined by Loqate API (no need to encode)
|
|
51
|
+
* - Filter values (e.g., "New York", "90210") contain user input that may have special characters (need encoding)
|
|
52
|
+
*
|
|
53
|
+
* @returns Empty string if no filters, otherwise "&Filters=key1:value1&key2:value2" (Loqate's expected format for Filters)
|
|
54
|
+
*/
|
|
55
|
+
buildFiltersQuery() {
|
|
56
|
+
if (!this.#filters || Object.keys(this.#filters).length === 0) {
|
|
57
|
+
return "";
|
|
58
|
+
}
|
|
59
|
+
const encodedFilters = Object.entries(this.#filters).map(([key, value]) => `${key}:${encodeURIComponent(value)}`).join("&");
|
|
60
|
+
return `&Filters=${encodedFilters}`;
|
|
61
|
+
}
|
|
62
|
+
search(searchTerm) {
|
|
63
|
+
let url = `${LOQATE_FIND_URL}?Key=${this.#apiKey}&Text=${searchTerm}&Countries=${this.#countries?.join(",")}`;
|
|
64
|
+
url += this.buildFiltersQuery();
|
|
65
|
+
return this.fetchFromApi(url);
|
|
66
|
+
}
|
|
67
|
+
findById(id) {
|
|
68
|
+
let url = `${LOQATE_FIND_URL}?Key=${this.#apiKey}&Container=${id}&Countries=${this.#countries?.join(",")}`;
|
|
69
|
+
url += this.buildFiltersQuery();
|
|
70
|
+
return this.fetchFromApi(url);
|
|
71
|
+
}
|
|
72
|
+
async get(id) {
|
|
73
|
+
const url = `${LOQATE_RETRIEVE_URL}?Key=${this.#apiKey}&Id=${id}`;
|
|
74
|
+
const response = await this.fetchFromApi(url);
|
|
75
|
+
return response.Items[0];
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export {
|
|
80
|
+
LoqateAddressLookupService
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=chunk-NXWWQSZA.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/AddressLookup/LoqateAddressLookupService.tsx"],
|
|
4
4
|
"sourcesContent": ["import { LoqateAddressLookupError } from \"./LoqateAddressLookupError\";\nimport type {\n LoqateAddressDetailsItem,\n LoqateAddressDetailsResponse,\n LoqateSearchResponse,\n} from \"./types\";\n\nconst LOQATE_BASE_URL = \"https://api.addressy.com/Capture/Interactive\";\nconst LOQATE_FIND_URL = \"/Find/v1.00/json3.ws\";\nconst LOQATE_RETRIEVE_URL = \"/Retrieve/v1.2/json3.ws\";\nconst DEFAULT_COUNTRIES = [\"GB\"];\n\nexport class LoqateAddressLookupService {\n /**\n * Base URL for the Loqate API\n */\n #baseUrl: string;\n\n /**\n * API key for the Loqate API\n */\n #apiKey?: string;\n\n /**\n * List of allowed country codes for the Loqate API\n * 2 or 3 character ISO country codes\n */\n #countries?: string[];\n\n /**\n * Optional filters for the Loqate API\n * E.g., { AdministrativeArea: \"CA\", PostalCode: \"90210\" }\n */\n #filters?: Record<string, string>;\n\n constructor({\n baseUrl,\n apiKey,\n countries,\n filters,\n }: {\n baseUrl?: string;\n apiKey?: string;\n countries?: string[];\n filters?: Record<string, string>;\n }) {\n this.#apiKey = apiKey;\n this.#baseUrl = baseUrl || LOQATE_BASE_URL;\n this.#countries = countries || DEFAULT_COUNTRIES;\n this.#filters = filters;\n }\n\n private fetchFromApi<TResponse = unknown>(url: string): Promise<TResponse> {\n return fetch(`${this.#baseUrl}${url}`)\n .then(response => response.json())\n .then(json => {\n if (json.Items?.some((item: any) => item.Error)) {\n throw new LoqateAddressLookupError(json);\n }\n return json;\n });\n }\n\n /**\n * Builds the Filters query parameter for Loqate API requests.\n * - Filter keys (e.g., \"AdministrativeArea\", \"PostalCode\") are predefined by Loqate API (no need to encode)\n * - Filter values (e.g., \"New York\", \"90210\") contain user input that may have special characters (need encoding)\n *\n * @returns Empty string if no filters, otherwise \"&Filters=key1:value1&key2:value2\" (Loqate's expected format for Filters)\n */\n private buildFiltersQuery(): string {\n if (!this.#filters || Object.keys(this.#filters).length === 0) {\n return \"\";\n }\n\n // Transform Record<string, string> to Loqate's \"key:value&key:value\" format\n const encodedFilters = Object.entries(this.#filters)\n .map(([key, value]) => `${key}:${encodeURIComponent(value)}`)\n .join(\"&\");\n\n return `&Filters=${encodedFilters}`;\n }\n\n search(searchTerm: string): Promise<LoqateSearchResponse> {\n let url = `${LOQATE_FIND_URL}?Key=${this.#apiKey}&Text=${searchTerm}&Countries=${this.#countries?.join(\",\")}`;\n url += this.buildFiltersQuery();\n return this.fetchFromApi<LoqateSearchResponse>(url);\n }\n\n findById(id: string): Promise<LoqateSearchResponse> {\n let url = `${LOQATE_FIND_URL}?Key=${this.#apiKey}&Container=${id}&Countries=${this.#countries?.join(\",\")}`;\n url += this.buildFiltersQuery();\n return this.fetchFromApi<LoqateSearchResponse>(url);\n }\n\n async get(id: string): Promise<LoqateAddressDetailsItem> {\n const url = `${LOQATE_RETRIEVE_URL}?Key=${this.#apiKey}&Id=${id}`;\n const response = await this.fetchFromApi<LoqateAddressDetailsResponse>(url);\n return response.Items[0];\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;AAOA,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,sBAAsB;AAC5B,IAAM,oBAAoB,CAAC,IAAI;AAExB,IAAM,6BAAN,MAAiC;AAAA;AAAA;AAAA;AAAA,EAItC;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EAEA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAKG;AACD,SAAK,UAAU;AACf,SAAK,WAAW,WAAW;AAC3B,SAAK,aAAa,aAAa;AAC/B,SAAK,WAAW;AAAA,EAClB;AAAA,EAEQ,aAAkC,KAAiC;AACzE,WAAO,MAAM,GAAG,KAAK,QAAQ,GAAG,GAAG,EAAE,EAClC,KAAK,cAAY,SAAS,KAAK,CAAC,EAChC,KAAK,UAAQ;AACZ,UAAI,KAAK,OAAO,KAAK,CAAC,SAAc,KAAK,KAAK,GAAG;AAC/C,cAAM,IAAI,yBAAyB,IAAI;AAAA,MACzC;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASQ,oBAA4B;AAClC,QAAI,CAAC,KAAK,YAAY,OAAO,KAAK,KAAK,QAAQ,EAAE,WAAW,GAAG;AAC7D,aAAO;AAAA,IACT;AAGA,UAAM,iBAAiB,OAAO,QAAQ,KAAK,QAAQ,EAChD,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,IAAI,mBAAmB,KAAK,CAAC,EAAE,EAC3D,KAAK,GAAG;AAEX,WAAO,YAAY,cAAc;AAAA,EACnC;AAAA,EAEA,OAAO,YAAmD;AACxD,QAAI,MAAM,GAAG,eAAe,QAAQ,KAAK,OAAO,SAAS,UAAU,cAAc,KAAK,YAAY,KAAK,GAAG,CAAC;AAC3G,WAAO,KAAK,kBAAkB;AAC9B,WAAO,KAAK,aAAmC,GAAG;AAAA,EACpD;AAAA,EAEA,SAAS,IAA2C;AAClD,QAAI,MAAM,GAAG,eAAe,QAAQ,KAAK,OAAO,cAAc,EAAE,cAAc,KAAK,YAAY,KAAK,GAAG,CAAC;AACxG,WAAO,KAAK,kBAAkB;AAC9B,WAAO,KAAK,aAAmC,GAAG;AAAA,EACpD;AAAA,EAEA,MAAM,IAAI,IAA+C;AACvD,UAAM,MAAM,GAAG,mBAAmB,QAAQ,KAAK,OAAO,OAAO,EAAE;AAC/D,UAAM,WAAW,MAAM,KAAK,aAA2C,GAAG;AAC1E,WAAO,SAAS,MAAM,CAAC;AAAA,EACzB;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -14,13 +14,9 @@ var Breadcrumbs = ({ ref, ...props }) => {
|
|
|
14
14
|
otherProps.className
|
|
15
15
|
);
|
|
16
16
|
return /* @__PURE__ */ jsx("nav", { ref, ...otherProps, ...navProps, className: classes, children: /* @__PURE__ */ jsx("ul", { children: childArray.map(
|
|
17
|
-
(child, i) => cloneElement(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
key: i,
|
|
21
|
-
isCurrent: i === childArray.length - 1
|
|
22
|
-
}
|
|
23
|
-
)
|
|
17
|
+
(child, i) => cloneElement(child, {
|
|
18
|
+
isCurrent: i === childArray.length - 1
|
|
19
|
+
})
|
|
24
20
|
) }) });
|
|
25
21
|
};
|
|
26
22
|
Breadcrumbs.displayName = "Breadcrumbs";
|
|
@@ -28,4 +24,4 @@ Breadcrumbs.displayName = "Breadcrumbs";
|
|
|
28
24
|
export {
|
|
29
25
|
Breadcrumbs
|
|
30
26
|
};
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-P7TPNRU4.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/Breadcrumbs/Breadcrumbs.tsx"],
|
|
4
|
-
"sourcesContent": ["\"use client\";\n\nimport type { ReactElement, RefAttributes, ReactNode } from \"react\";\nimport { Children, cloneElement } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport \"./Breadcrumbs.css\";\n\nexport type BreadcrumbsElementType = HTMLElement;\n\nexport interface BreadcrumbsProps extends RefAttributes<BreadcrumbsElementType> {\n /** Custom class name for setting specific CSS */\n className?: string;\n children?: ReactNode;\n \"aria-label\"?: string;\n}\n\nconst Breadcrumbs = ({ ref, ...props }: BreadcrumbsProps) => {\n const { \"aria-label\": ariaLabel = \"Breadcrumbs\" } = props;\n const { navProps } = { navProps: { \"aria-label\": ariaLabel } };\n const { children, ...otherProps } = props;\n const childArray = Children.toArray(children);\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius-breadcrumb\",\n otherProps.className,\n );\n\n return (\n <nav ref={ref} {...otherProps} {...navProps} className={classes}>\n <ul>\n {childArray.map((child, i) =>\n cloneElement(
|
|
5
|
-
"mappings": ";AAGA,SAAS,UAAU,oBAAoB;AACvC,OAAO,gBAAgB;AACvB,OAAO;AA0BD;AAfN,IAAM,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,MAAwB;AAC3D,QAAM,EAAE,cAAc,YAAY,cAAc,IAAI;AACpD,QAAM,EAAE,SAAS,IAAI,EAAE,UAAU,EAAE,cAAc,UAAU,EAAE;AAC7D,QAAM,EAAE,UAAU,GAAG,WAAW,IAAI;AACpC,QAAM,aAAa,SAAS,QAAQ,QAAQ;AAG5C,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,WAAW;AAAA,EACb;AAEA,SACE,oBAAC,SAAI,KAAW,GAAG,YAAa,GAAG,UAAU,WAAW,SACtD,8BAAC,QACE,qBAAW;AAAA,IAAI,CAAC,OAAO,MACtB
|
|
4
|
+
"sourcesContent": ["\"use client\";\n\nimport type { ReactElement, RefAttributes, ReactNode } from \"react\";\nimport { Children, cloneElement } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport \"./Breadcrumbs.css\";\n\nexport type BreadcrumbsElementType = HTMLElement;\n\nexport interface BreadcrumbsProps extends RefAttributes<BreadcrumbsElementType> {\n /** Custom class name for setting specific CSS */\n className?: string;\n children?: ReactNode;\n \"aria-label\"?: string;\n}\n\nconst Breadcrumbs = ({ ref, ...props }: BreadcrumbsProps) => {\n const { \"aria-label\": ariaLabel = \"Breadcrumbs\" } = props;\n const { navProps } = { navProps: { \"aria-label\": ariaLabel } };\n const { children, ...otherProps } = props;\n const childArray = Children.toArray(children);\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius-breadcrumb\",\n otherProps.className,\n );\n\n return (\n <nav ref={ref} {...otherProps} {...navProps} className={classes}>\n <ul>\n {childArray.map((child, i) =>\n cloneElement(child as ReactElement<{ isCurrent?: boolean }>, {\n isCurrent: i === childArray.length - 1,\n }),\n )}\n </ul>\n </nav>\n );\n};\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\nexport { Breadcrumbs };\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,UAAU,oBAAoB;AACvC,OAAO,gBAAgB;AACvB,OAAO;AA0BD;AAfN,IAAM,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,MAAwB;AAC3D,QAAM,EAAE,cAAc,YAAY,cAAc,IAAI;AACpD,QAAM,EAAE,SAAS,IAAI,EAAE,UAAU,EAAE,cAAc,UAAU,EAAE;AAC7D,QAAM,EAAE,UAAU,GAAG,WAAW,IAAI;AACpC,QAAM,aAAa,SAAS,QAAQ,QAAQ;AAG5C,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,WAAW;AAAA,EACb;AAEA,SACE,oBAAC,SAAI,KAAW,GAAG,YAAa,GAAG,UAAU,WAAW,SACtD,8BAAC,QACE,qBAAW;AAAA,IAAI,CAAC,OAAO,MACtB,aAAa,OAAgD;AAAA,MAC3D,WAAW,MAAM,WAAW,SAAS;AAAA,IACvC,CAAC;AAAA,EACH,GACF,GACF;AAEJ;AAEA,YAAY,cAAc;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Button
|
|
3
3
|
} from "./chunk-FD3JTY5L.js";
|
|
4
|
-
import {
|
|
5
|
-
useAutoUpdate
|
|
6
|
-
} from "./chunk-K3ECDAUR.js";
|
|
7
|
-
import {
|
|
8
|
-
useFloatingPosition
|
|
9
|
-
} from "./chunk-26KZYRE6.js";
|
|
10
4
|
import {
|
|
11
5
|
useOutsidePress
|
|
12
6
|
} from "./chunk-WYJP7HVL.js";
|
|
13
7
|
import {
|
|
14
8
|
Arrow
|
|
15
9
|
} from "./chunk-CAL44W47.js";
|
|
10
|
+
import {
|
|
11
|
+
useAutoUpdate
|
|
12
|
+
} from "./chunk-K3ECDAUR.js";
|
|
13
|
+
import {
|
|
14
|
+
useFloatingPosition
|
|
15
|
+
} from "./chunk-26KZYRE6.js";
|
|
16
16
|
import {
|
|
17
17
|
Icon
|
|
18
18
|
} from "./chunk-TKIP5Q5H.js";
|
|
@@ -155,4 +155,4 @@ var Popover = (props) => {
|
|
|
155
155
|
export {
|
|
156
156
|
Popover
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-Q5RB4O4S.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TextField
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AKCNBW55.js";
|
|
4
4
|
|
|
5
5
|
// src/components/NumberField/NumberField.tsx
|
|
6
6
|
import classNames from "classnames/dedupe";
|
|
@@ -94,4 +94,4 @@ NumberField.displayName = "NumberField";
|
|
|
94
94
|
export {
|
|
95
95
|
NumberField
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=chunk-
|
|
97
|
+
//# sourceMappingURL=chunk-RBB3WHBJ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TextField
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AKCNBW55.js";
|
|
4
4
|
|
|
5
5
|
// src/components/MaskedField/index.tsx
|
|
6
6
|
import loadable from "@loadable/component";
|
|
@@ -38,4 +38,4 @@ MaskedField.displayName = "MaskedField";
|
|
|
38
38
|
export {
|
|
39
39
|
MaskedField
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=chunk-
|
|
41
|
+
//# sourceMappingURL=chunk-TQWUPLN6.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-WC3D5GNN.js";
|
|
4
4
|
import {
|
|
5
5
|
TextField
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AKCNBW55.js";
|
|
7
7
|
import {
|
|
8
8
|
mergeRefs
|
|
9
9
|
} from "./chunk-QGGILW3D.js";
|
|
@@ -51,4 +51,4 @@ PasswordField.displayName = "PasswordField";
|
|
|
51
51
|
export {
|
|
52
52
|
PasswordField
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
54
|
+
//# sourceMappingURL=chunk-YEZ6KR3Q.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/components/StickyOnMobile/StickyOnMobile.tsx
|
|
2
|
+
import classNames from "classnames/dedupe";
|
|
3
|
+
import "@simplybusiness/mobius/src/components/StickyOnMobile/StickyOnMobile.css";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
var StickyOnMobile = ({ ref, ...props }) => {
|
|
6
|
+
const { elementType: Element = "div", ...otherProps } = props;
|
|
7
|
+
const classes = classNames(
|
|
8
|
+
"mobius",
|
|
9
|
+
"mobius-sticky-on-mobile",
|
|
10
|
+
otherProps.className
|
|
11
|
+
);
|
|
12
|
+
return /* @__PURE__ */ jsx(Element, { ref, ...otherProps, className: classes });
|
|
13
|
+
};
|
|
14
|
+
StickyOnMobile.displayName = "StickyOnMobile";
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
StickyOnMobile
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=chunk-YWFAKGQQ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/StickyOnMobile/StickyOnMobile.tsx"],
|
|
4
|
+
"sourcesContent": ["import type {\n RefAttributes,\n ReactNode,\n ElementType,\n CSSProperties,\n HTMLAttributes,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport \"./StickyOnMobile.css\";\n\nexport type StickyOnMobileElementType = HTMLElement;\n\nexport interface StickyOnMobileProps\n extends\n HTMLAttributes<StickyOnMobileElementType>,\n RefAttributes<StickyOnMobileElementType> {\n children?: ReactNode;\n /** HTML element to render. Defaults to `div`. */\n elementType?: ElementType;\n className?: string;\n style?: CSSProperties;\n}\n\nconst StickyOnMobile = ({ ref, ...props }: StickyOnMobileProps) => {\n const { elementType: Element = \"div\", ...otherProps } = props;\n\n const classes = classNames(\n \"mobius\",\n \"mobius-sticky-on-mobile\",\n otherProps.className,\n );\n\n return <Element ref={ref} {...otherProps} className={classes} />;\n};\n\nStickyOnMobile.displayName = \"StickyOnMobile\";\nexport { StickyOnMobile };\n"],
|
|
5
|
+
"mappings": ";AAOA,OAAO,gBAAgB;AACvB,OAAO;AAwBE;AATT,IAAM,iBAAiB,CAAC,EAAE,KAAK,GAAG,MAAM,MAA2B;AACjE,QAAM,EAAE,aAAa,UAAU,OAAO,GAAG,WAAW,IAAI;AAExD,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,WAAW;AAAA,EACb;AAEA,SAAO,oBAAC,WAAQ,KAAW,GAAG,YAAY,WAAW,SAAS;AAChE;AAEA,eAAe,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ErrorMessage
|
|
3
3
|
} from "./chunk-MZJT3USG.js";
|
|
4
|
-
import {
|
|
5
|
-
Stack
|
|
6
|
-
} from "./chunk-XH3OJQMW.js";
|
|
7
4
|
import {
|
|
8
5
|
Label
|
|
9
6
|
} from "./chunk-ZN7OWLZY.js";
|
|
7
|
+
import {
|
|
8
|
+
Stack
|
|
9
|
+
} from "./chunk-XH3OJQMW.js";
|
|
10
10
|
import {
|
|
11
11
|
Icon
|
|
12
12
|
} from "./chunk-TKIP5Q5H.js";
|
|
@@ -103,4 +103,4 @@ Select.displayName = "Select";
|
|
|
103
103
|
export {
|
|
104
104
|
Select
|
|
105
105
|
};
|
|
106
|
-
//# sourceMappingURL=chunk-
|
|
106
|
+
//# sourceMappingURL=chunk-ZLAAOGRQ.js.map
|