@iress-oss/ids-components 6.0.0-alpha.3 → 6.0.0-alpha.30
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/.ai/components/alert.md +141 -0
- package/.ai/components/autocomplete-recipes.md +35 -0
- package/.ai/components/autocomplete.md +305 -0
- package/.ai/components/button-group.md +132 -0
- package/.ai/components/button.md +326 -0
- package/.ai/components/card.md +254 -0
- package/.ai/components/checkbox-group-recipes.md +20 -0
- package/.ai/components/checkbox-group.md +160 -0
- package/.ai/components/checkbox.md +153 -0
- package/.ai/components/col.md +285 -0
- package/.ai/components/container.md +62 -0
- package/.ai/components/divider.md +96 -0
- package/.ai/components/expander.md +84 -0
- package/.ai/components/field.md +445 -0
- package/.ai/components/icon.md +655 -0
- package/.ai/components/image.md +54 -0
- package/.ai/components/inline.md +144 -0
- package/.ai/components/input-currency-recipes.md +32 -0
- package/.ai/components/input-currency.md +93 -0
- package/.ai/components/input-recipes.md +32 -0
- package/.ai/components/input.md +274 -0
- package/.ai/components/label.md +81 -0
- package/.ai/components/link.md +95 -0
- package/.ai/components/menu-item.md +140 -0
- package/.ai/components/menu.md +285 -0
- package/.ai/components/modal.md +256 -0
- package/.ai/components/panel.md +49 -0
- package/.ai/components/pill.md +83 -0
- package/.ai/components/placeholder.md +36 -0
- package/.ai/components/popover-recipes.md +80 -0
- package/.ai/components/popover.md +216 -0
- package/.ai/components/progress.md +103 -0
- package/.ai/components/provider.md +46 -0
- package/.ai/components/radio-group.md +170 -0
- package/.ai/components/radio.md +78 -0
- package/.ai/components/readonly.md +51 -0
- package/.ai/components/row.md +126 -0
- package/.ai/components/skeleton-recipes.md +20 -0
- package/.ai/components/skeleton.md +103 -0
- package/.ai/components/skip-link.md +32 -0
- package/.ai/components/slideout.md +250 -0
- package/.ai/components/slider.md +126 -0
- package/.ai/components/spinner.md +68 -0
- package/.ai/components/stack.md +121 -0
- package/.ai/components/styled.md +214 -0
- package/.ai/components/tab-set.md +119 -0
- package/.ai/components/tab.md +71 -0
- package/.ai/components/table.md +356 -0
- package/.ai/components/tag.md +93 -0
- package/.ai/components/text.md +195 -0
- package/.ai/components/toaster.md +101 -0
- package/.ai/components/toggle.md +127 -0
- package/.ai/components/tooltip.md +190 -0
- package/.ai/components/validation-message.md +100 -0
- package/.ai/guides/foundations-accessibility.md +38 -0
- package/.ai/guides/foundations-consistency.md +45 -0
- package/.ai/guides/foundations-content.md +22 -0
- package/.ai/guides/foundations-iconography.md +107 -0
- package/.ai/guides/foundations-principles.md +61 -0
- package/.ai/guides/foundations-responsive.md +735 -0
- package/.ai/guides/foundations-user-experience.md +52 -0
- package/.ai/guides/foundations-visual-design.md +41 -0
- package/.ai/guides/foundations-zindex.md +22 -0
- package/.ai/guides/get-started-develop.md +47 -0
- package/.ai/guides/migration-guides-v5.md +247 -0
- package/.ai/guides/styling-props-accessibility.md +48 -0
- package/.ai/guides/styling-props-colour.md +139 -0
- package/.ai/guides/styling-props-layout.md +172 -0
- package/.ai/guides/styling-props-radius.md +39 -0
- package/.ai/guides/styling-props-reference.md +305 -0
- package/.ai/guides/styling-props-sizing.md +80 -0
- package/.ai/guides/styling-props-spacing.md +279 -0
- package/.ai/guides/styling-props-typography.md +153 -0
- package/.ai/index.json +598 -0
- package/.ai/patterns/breadcrumbs.md +164 -0
- package/.ai/patterns/contextual-menu.md +131 -0
- package/.ai/patterns/dropdown-menu.md +195 -0
- package/.ai/patterns/form-recipes.md +160 -0
- package/.ai/patterns/form.md +619 -0
- package/.ai/patterns/loading.md +315 -0
- package/.ai/patterns/shadow.md +37 -0
- package/.ai/patterns/side-nav.md +142 -0
- package/.ai/skills/figma-to-ids.md +252 -0
- package/.ai/skills/ui-doctor.md +733 -0
- package/.ai/skills/ui-translation.md +231 -0
- package/dist/Autocomplete-BRMDwwwT.js +402 -0
- package/dist/Button-C0p8bEXn.js +581 -0
- package/dist/Provider-uPW2d6U5.js +49 -0
- package/dist/TableProvider-CNduJwA4.js +82 -0
- package/dist/components/Alert/Alert.d.ts +71 -0
- package/dist/components/Alert/Alert.js +77 -68
- package/dist/components/Alert/Alert.styles.d.ts +238 -0
- package/dist/components/Alert/Alert.styles.js +202 -74
- package/dist/components/Autocomplete/Autocomplete.d.ts +52 -0
- package/dist/components/Autocomplete/Autocomplete.js +14 -22
- package/dist/components/Autocomplete/Autocomplete.styles.js +6 -2
- package/dist/components/Autocomplete/components/AutocompleteInstructions.d.ts +10 -0
- package/dist/components/Autocomplete/components/AutocompleteInstructions.js +6 -6
- package/dist/components/Autocomplete/hooks/useAutocompleteSearch.d.ts +83 -0
- package/dist/components/Autocomplete/hooks/useAutocompleteSearch.js +152 -133
- package/dist/components/Autocomplete/index.js +1 -1
- package/dist/components/Button/Button.d.ts +103 -0
- package/dist/components/Button/Button.js +15 -6
- package/dist/components/Button/CloseButton/CloseButton.js +18 -18
- package/dist/components/Button/index.js +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +38 -0
- package/dist/components/ButtonGroup/ButtonGroup.js +47 -36
- package/dist/components/ButtonGroup/ButtonGroup.styles.js +1 -1
- package/dist/components/Card/Card.d.ts +57 -0
- package/dist/components/Card/Card.js +78 -63
- package/dist/components/Card/Card.styles.d.ts +80 -0
- package/dist/components/Card/Card.styles.js +18 -13
- package/dist/components/Checkbox/Checkbox.d.ts +71 -0
- package/dist/components/Checkbox/Checkbox.js +97 -82
- package/dist/components/Checkbox/Checkbox.styles.d.ts +68 -0
- package/dist/components/Checkbox/Checkbox.styles.js +68 -58
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +56 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js +53 -54
- package/dist/components/CheckboxGroup/CheckboxGroup.styles.js +1 -1
- package/dist/components/CheckboxMark/CheckboxMark.d.ts +19 -0
- package/dist/components/CheckboxMark/CheckboxMark.js +22 -36
- package/dist/components/CheckboxMark/CheckboxMark.styles.js +13 -11
- package/dist/components/Col/Col.d.ts +27 -0
- package/dist/components/Col/Col.js +7 -6
- package/dist/components/Col/Col.styles.d.ts +1 -0
- package/dist/components/Col/Col.styles.js +4 -19
- package/dist/components/Container/Container.d.ts +16 -0
- package/dist/components/Container/Container.js +8 -7
- package/dist/components/Container/Container.styles.d.ts +39 -0
- package/dist/components/Container/Container.styles.js +15 -12
- package/dist/components/Divider/Divider.d.ts +11 -0
- package/dist/components/Divider/Divider.js +22 -17
- package/dist/components/Divider/Divider.styles.d.ts +23 -0
- package/dist/components/Divider/Divider.styles.js +18 -4
- package/dist/components/Expander/Expander.d.ts +34 -0
- package/dist/components/Expander/Expander.js +61 -47
- package/dist/components/Expander/Expander.styles.d.ts +60 -0
- package/dist/components/Expander/Expander.styles.js +47 -34
- package/dist/components/Field/Field.d.ts +60 -0
- package/dist/components/Field/Field.js +30 -29
- package/dist/components/Field/Field.styles.d.ts +88 -0
- package/dist/components/Field/Field.styles.js +13 -5
- package/dist/components/Field/FieldGroup/FieldGroup.d.ts +20 -0
- package/dist/components/Field/FieldGroup/FieldGroup.js +19 -18
- package/dist/components/Field/FieldGroup/FieldGroup.styles.d.ts +81 -0
- package/dist/components/Field/FieldGroup/FieldGroup.styles.js +13 -13
- package/dist/components/Field/components/FieldFooter.d.ts +25 -0
- package/dist/components/Field/components/FieldFooter.js +41 -31
- package/dist/components/Field/components/FieldHint.d.ts +30 -0
- package/dist/components/Field/components/FieldHint.js +15 -13
- package/dist/components/Hide/Hide.d.ts +30 -0
- package/dist/components/Hide/Hide.js +11 -16
- package/dist/components/Hide/helpers/normaliseHideValues.d.ts +4 -0
- package/dist/components/Hide/helpers/normaliseHideValues.js +6 -4
- package/dist/components/Icon/Icon.constants.d.ts +9 -0
- package/dist/components/Icon/Icon.constants.js +12 -0
- package/dist/components/Icon/Icon.d.ts +57 -0
- package/dist/components/Icon/Icon.js +70 -30
- package/dist/components/Icon/Icon.styles.d.ts +62 -0
- package/dist/components/Icon/Icon.styles.js +39 -4
- package/dist/components/Icon/IconProvider.d.ts +100 -0
- package/dist/components/Icon/IconProvider.js +66 -0
- package/dist/components/Icon/components/FontLoader.d.ts +31 -0
- package/dist/components/Icon/components/FontLoader.js +29 -0
- package/dist/components/Icon/helpers/getMaterialSymbolsList.d.ts +12 -0
- package/dist/components/Icon/helpers/getMaterialSymbolsList.js +12 -0
- package/dist/components/Icon/helpers/iconMapping.d.ts +78 -0
- package/dist/components/Icon/helpers/iconMapping.js +75 -0
- package/dist/components/Icon/hooks/useDynamicFontSubsetting.d.ts +45 -0
- package/dist/components/Icon/hooks/useDynamicFontSubsetting.js +78 -0
- package/dist/components/Icon/index.d.ts +4 -0
- package/dist/components/Icon/index.js +6 -2
- package/dist/components/Image/Image.d.ts +19 -0
- package/dist/components/Image/Image.js +18 -17
- package/dist/components/Image/Image.styles.js +1 -1
- package/dist/components/Inline/Inline.d.ts +34 -0
- package/dist/components/Inline/Inline.js +5 -4
- package/dist/components/Inline/Inline.styles.js +1 -1
- package/dist/components/Input/Input.d.ts +78 -0
- package/dist/components/Input/Input.js +140 -110
- package/dist/components/Input/Input.styles.d.ts +151 -0
- package/dist/components/Input/Input.styles.js +107 -34
- package/dist/components/Input/InputBase/InputBase.d.ts +41 -0
- package/dist/components/Input/InputBase/InputBase.js +16 -15
- package/dist/components/InputCurrency/InputCurrency.d.ts +30 -0
- package/dist/components/InputCurrency/InputCurrency.js +25 -24
- package/dist/components/Label/Label.d.ts +22 -0
- package/dist/components/Label/Label.js +4 -3
- package/dist/components/Label/Label.styles.js +5 -5
- package/dist/components/Label/LabelBase/LabelBase.d.ts +31 -0
- package/dist/components/Label/LabelBase/LabelBase.js +38 -32
- package/dist/components/Link/Link.d.ts +44 -0
- package/dist/components/Link/Link.js +45 -45
- package/dist/components/Link/Link.styles.d.ts +29 -0
- package/dist/components/Link/Link.styles.js +5 -11
- package/dist/components/Menu/Menu.d.ts +134 -0
- package/dist/components/Menu/Menu.js +91 -64
- package/dist/components/Menu/Menu.styles.d.ts +77 -0
- package/dist/components/Menu/Menu.styles.js +27 -159
- package/dist/components/Menu/MenuDivider/MenuDivider.d.ts +6 -0
- package/dist/components/Menu/MenuDivider/MenuDivider.js +13 -12
- package/dist/components/Menu/MenuGroup/MenuGroup.d.ts +59 -0
- package/dist/components/Menu/MenuGroup/MenuGroup.js +127 -0
- package/dist/components/Menu/MenuGroup/MenuGroup.styles.d.ts +39 -0
- package/dist/components/Menu/MenuGroup/MenuGroup.styles.js +94 -0
- package/dist/components/Menu/MenuItem/MenuItem.d.ts +111 -0
- package/dist/components/Menu/MenuItem/MenuItem.js +180 -119
- package/dist/components/Menu/MenuItem/MenuItem.styles.d.ts +170 -0
- package/dist/components/Menu/MenuItem/MenuItem.styles.js +286 -0
- package/dist/components/Menu/MenuItem/hooks/useMenuItemRole.js +10 -6
- package/dist/components/Menu/MenuText/MenuText.d.ts +25 -0
- package/dist/components/Menu/MenuText/MenuText.js +49 -46
- package/dist/components/Menu/index.d.ts +9 -0
- package/dist/components/Menu/index.js +15 -9
- package/dist/components/Modal/Modal.d.ts +84 -0
- package/dist/components/Modal/Modal.js +44 -42
- package/dist/components/Modal/Modal.styles.d.ts +110 -0
- package/dist/components/Modal/Modal.styles.js +38 -8
- package/dist/components/Modal/ModalProvider.d.ts +13 -0
- package/dist/components/Modal/ModalProvider.js +20 -19
- package/dist/components/Panel/Panel.d.ts +6 -0
- package/dist/components/Panel/Panel.js +12 -8
- package/dist/components/Panel/index.d.ts +1 -0
- package/dist/components/Panel/index.js +1 -3
- package/dist/components/Pill/Pill.d.ts +18 -0
- package/dist/components/Pill/Pill.js +29 -0
- package/dist/components/Pill/Pill.styles.d.ts +56 -0
- package/dist/components/Pill/Pill.styles.js +83 -0
- package/dist/components/Pill/index.d.ts +2 -0
- package/dist/components/Pill/index.js +6 -0
- package/dist/components/Placeholder/Placeholder.d.ts +28 -0
- package/dist/components/Placeholder/Placeholder.js +55 -26
- package/dist/components/Placeholder/Placeholder.styles.d.ts +1 -0
- package/dist/components/Placeholder/Placeholder.styles.js +13 -9
- package/dist/components/Popover/InputPopover/InputPopover.d.ts +21 -0
- package/dist/components/Popover/InputPopover/InputPopover.js +67 -67
- package/dist/components/Popover/InputPopover/InputPopoverActivator.d.ts +12 -0
- package/dist/components/Popover/InputPopover/InputPopoverActivator.js +23 -22
- package/dist/components/Popover/Popover.d.ts +100 -0
- package/dist/components/Popover/Popover.js +52 -48
- package/dist/components/Popover/Popover.styles.js +6 -4
- package/dist/components/Popover/components/PopoverActivator.d.ts +9 -0
- package/dist/components/Popover/components/PopoverActivator.js +23 -22
- package/dist/components/Popover/components/PopoverContent.d.ts +19 -0
- package/dist/components/Popover/components/PopoverContent.js +59 -47
- package/dist/components/Popover/helpers/composeFloatingProps.d.ts +16 -0
- package/dist/components/Popover/helpers/composeFloatingProps.js +15 -17
- package/dist/components/Popover/helpers/handlePopoverTabKey.d.ts +8 -0
- package/dist/components/Popover/helpers/handlePopoverTabKey.js +32 -21
- package/dist/components/Popover/hooks/useFloatingPopover.d.ts +192 -0
- package/dist/components/Popover/hooks/useFloatingPopover.js +145 -0
- package/dist/components/Popover/hooks/usePopover.d.ts +5 -0
- package/dist/components/Popover/hooks/usePopover.js +4 -141
- package/dist/components/Popover/hooks/usePopoverActivatorInteractions.d.ts +15 -0
- package/dist/components/Popover/hooks/usePopoverActivatorInteractions.js +12 -11
- package/dist/components/Popover/hooks/usePopoverImperativeHandle.d.ts +20 -0
- package/dist/components/Popover/hooks/usePopoverItem.d.ts +39 -0
- package/dist/components/Popover/hooks/usePopoverItem.js +4 -4
- package/dist/components/Popover/hooks/usePopoverNavigation.js +14 -13
- package/dist/components/Popover/index.d.ts +8 -0
- package/dist/components/Popover/index.js +4 -2
- package/dist/components/Progress/Progress.d.ts +52 -0
- package/dist/components/Progress/Progress.js +39 -36
- package/dist/components/Progress/Progress.styles.js +10 -2
- package/dist/components/Provider/Provider.d.ts +31 -0
- package/dist/components/Provider/Provider.js +9 -8
- package/dist/components/Provider/index.js +1 -1
- package/dist/components/Radio/Radio.d.ts +52 -0
- package/dist/components/Radio/Radio.js +87 -90
- package/dist/components/Radio/Radio.styles.d.ts +56 -0
- package/dist/components/Radio/Radio.styles.js +68 -153
- package/dist/components/RadioGroup/RadioGroup.d.ts +58 -0
- package/dist/components/RadioGroup/RadioGroup.js +65 -66
- package/dist/components/RadioGroup/RadioGroup.styles.d.ts +41 -0
- package/dist/components/RadioGroup/RadioGroup.styles.js +2 -11
- package/dist/components/RadioMark/RadioMark.d.ts +19 -0
- package/dist/components/RadioMark/RadioMark.js +31 -0
- package/dist/components/RadioMark/RadioMark.styles.d.ts +15 -0
- package/dist/components/RadioMark/RadioMark.styles.js +45 -0
- package/dist/components/RadioMark/index.d.ts +2 -0
- package/dist/components/RadioMark/index.js +6 -0
- package/dist/components/Readonly/Readonly.d.ts +16 -0
- package/dist/components/Readonly/Readonly.js +17 -16
- package/dist/components/Readonly/Readonly.styles.d.ts +106 -0
- package/dist/components/Readonly/Readonly.styles.js +12 -12
- package/dist/components/Row/Row.d.ts +31 -0
- package/dist/components/Row/Row.js +7 -6
- package/dist/components/Row/Row.styles.js +1 -1
- package/dist/components/Select/Select.d.ts +175 -0
- package/dist/components/Select/Select.js +22 -94
- package/dist/components/Select/Select.styles.d.ts +59 -0
- package/dist/components/Select/Select.styles.js +49 -74
- package/dist/components/Select/SelectBody/SelectBody.d.ts +16 -0
- package/dist/components/Select/SelectBody/SelectBody.js +30 -0
- package/dist/components/Select/SelectBody/SelectBody.styles.js +23 -0
- package/dist/components/Select/SelectCreate/SelectCreate.d.ts +32 -0
- package/dist/components/Select/SelectCreate/SelectCreate.js +43 -0
- package/dist/components/Select/SelectHeading/SelectHeading.d.ts +20 -0
- package/dist/components/Select/SelectHeading/SelectHeading.js +78 -0
- package/dist/components/Select/SelectLabel/SelectLabel.d.ts +7 -0
- package/dist/components/Select/SelectLabel/SelectLabel.js +51 -0
- package/dist/components/Select/SelectLabel/SelectLabel.styles.d.ts +15 -0
- package/dist/components/Select/SelectLabel/SelectLabel.styles.js +73 -0
- package/dist/components/Select/SelectMenu/SelectMenu.d.ts +55 -0
- package/dist/components/Select/SelectMenu/SelectMenu.js +195 -0
- package/dist/components/Select/SelectMenu/SelectMenu.styles.js +16 -0
- package/dist/components/Select/SelectMenu/SelectMenuItem.d.ts +5 -0
- package/dist/components/Select/SelectMenu/SelectMenuItem.js +67 -0
- package/dist/components/Select/SelectSearch/SelectSearch.d.ts +6 -0
- package/dist/components/Select/SelectSearch/SelectSearch.js +45 -0
- package/dist/components/Select/SelectSearch/SelectSearch.styles.js +28 -0
- package/dist/components/Select/SelectSearchInput/SelectSearchInput.js +47 -0
- package/dist/components/Select/SelectSearchInput/SelectSearchInput.styles.js +26 -0
- package/dist/components/Select/SelectTags/SelectTags.d.ts +35 -0
- package/dist/components/Select/SelectTags/SelectTags.js +174 -0
- package/dist/components/Select/SelectTags/SelectTags.styles.d.ts +16 -0
- package/dist/components/Select/SelectTags/SelectTags.styles.js +73 -0
- package/dist/components/Select/components/NativeSelect.d.ts +50 -0
- package/dist/components/Select/components/NativeSelect.js +89 -0
- package/dist/components/Select/components/NativeSelect.styles.d.ts +101 -0
- package/dist/components/Select/components/NativeSelect.styles.js +133 -0
- package/dist/components/Select/components/SelectActivator.d.ts +41 -0
- package/dist/components/Select/components/SelectActivator.js +69 -0
- package/dist/components/Select/components/SelectHiddenInput.d.ts +30 -0
- package/dist/components/Select/components/SelectHiddenInput.js +32 -0
- package/dist/components/Select/components/SelectOptions.d.ts +11 -0
- package/dist/components/Select/components/SelectOptions.js +219 -0
- package/dist/components/Select/hooks/useSelectState.d.ts +17 -0
- package/dist/components/Select/hooks/useSelectState.js +18 -0
- package/dist/components/Select/index.d.ts +11 -0
- package/dist/components/Select/index.js +22 -6
- package/dist/components/Skeleton/Skeleton.d.ts +28 -0
- package/dist/components/Skeleton/Skeleton.js +11 -10
- package/dist/components/Skeleton/Skeleton.styles.js +2 -2
- package/dist/components/SkipLink/SkipLink.d.ts +19 -0
- package/dist/components/SkipLink/SkipLink.js +13 -12
- package/dist/components/SkipLink/SkipLink.styles.js +1 -1
- package/dist/components/Slideout/Slideout.d.ts +85 -0
- package/dist/components/Slideout/Slideout.js +38 -37
- package/dist/components/Slideout/Slideout.styles.d.ts +64 -0
- package/dist/components/Slideout/Slideout.styles.js +15 -14
- package/dist/components/Slideout/SlideoutProvider.d.ts +13 -0
- package/dist/components/Slideout/SlideoutProvider.js +16 -15
- package/dist/components/Slideout/components/SlideoutInner.d.ts +13 -0
- package/dist/components/Slideout/components/SlideoutInner.js +24 -23
- package/dist/components/Slideout/hooks/usePushElement.js +1 -1
- package/dist/components/Slider/Slider.js +9 -8
- package/dist/components/Slider/Slider.styles.js +7 -13
- package/dist/components/Slider/components/SliderTicks.d.ts +61 -0
- package/dist/components/Slider/components/SliderTicks.js +33 -30
- package/dist/components/Spinner/Spinner.d.ts +31 -0
- package/dist/components/Spinner/Spinner.js +36 -18
- package/dist/components/Spinner/Spinner.styles.d.ts +2 -0
- package/dist/components/Spinner/Spinner.styles.js +32 -4
- package/dist/components/Spinner/index.js +3 -2
- package/dist/components/Stack/Stack.d.ts +30 -0
- package/dist/components/Stack/Stack.js +12 -11
- package/dist/components/Stack/Stack.styles.d.ts +33 -0
- package/dist/components/Stack/Stack.styles.js +23 -3
- package/dist/components/Styled/Styled.d.ts +19 -0
- package/dist/components/Styled/Styled.js +16 -0
- package/dist/components/Styled/index.d.ts +1 -0
- package/dist/components/Styled/index.js +4 -0
- package/dist/components/TabSet/Tab/Tab.d.ts +33 -0
- package/dist/components/TabSet/Tab/Tab.js +106 -89
- package/dist/components/TabSet/Tab/Tab.styles.d.ts +28 -0
- package/dist/components/TabSet/Tab/Tab.styles.js +21 -10
- package/dist/components/TabSet/TabSet.d.ts +48 -0
- package/dist/components/TabSet/TabSet.js +86 -65
- package/dist/components/TabSet/TabSet.styles.d.ts +64 -0
- package/dist/components/TabSet/TabSet.styles.js +103 -22
- package/dist/components/TabSet/TabSetProvider.d.ts +38 -0
- package/dist/components/TabSet/TabSetProvider.js +58 -52
- package/dist/components/Table/Table.d.ts +70 -0
- package/dist/components/Table/Table.js +19 -18
- package/dist/components/Table/Table.styles.js +13 -9
- package/dist/components/Table/TableBody/TableBody.d.ts +32 -0
- package/dist/components/Table/TableBody/TableBody.js +71 -66
- package/dist/components/Table/TableFormattedValue/TableFormattedValue.d.ts +28 -0
- package/dist/components/Table/TableFormattedValue/TableFormattedValue.js +10 -9
- package/dist/components/Table/TableProvider.d.ts +17 -0
- package/dist/components/Table/TableProvider.js +1 -1
- package/dist/components/Table/components/TableBodyCell.d.ts +15 -0
- package/dist/components/Table/components/TableBodyCell.js +17 -16
- package/dist/components/Table/components/TableEmpty.d.ts +5 -0
- package/dist/components/Table/components/TableEmpty.js +9 -8
- package/dist/components/Table/components/TableHeader.d.ts +11 -0
- package/dist/components/Table/components/TableHeader.js +13 -12
- package/dist/components/Table/components/TableHeaderCell.d.ts +12 -0
- package/dist/components/Table/components/TableHeaderCell.js +18 -17
- package/dist/components/Table/components/TableRows.d.ts +15 -0
- package/dist/components/Table/components/TableRows.js +27 -26
- package/dist/components/Table/components/TableSortButton.d.ts +12 -0
- package/dist/components/Table/components/TableSortButton.js +48 -21
- package/dist/components/Table/hooks/useTable.d.ts +5 -0
- package/dist/components/Table/hooks/useTable.js +6 -0
- package/dist/components/Table/hooks/useTableColumnSort.js +1 -1
- package/dist/components/Table/hooks/useTableColumnStyles.js +3 -3
- package/dist/components/Table/index.d.ts +6 -0
- package/dist/components/Table/index.js +3 -1
- package/dist/components/Tag/Tag.d.ts +58 -0
- package/dist/components/Tag/Tag.js +54 -33
- package/dist/components/Tag/Tag.styles.d.ts +120 -0
- package/dist/components/Tag/Tag.styles.js +107 -13
- package/dist/components/Tag/TagInput/TagInput.js +84 -79
- package/dist/components/Tag/TagInput/TagInput.styles.js +10 -13
- package/dist/components/Text/Text.d.ts +12 -0
- package/dist/components/Text/Text.js +17 -16
- package/dist/components/Text/Text.styles.js +5 -5
- package/dist/components/Toaster/Toaster.d.ts +28 -0
- package/dist/components/Toaster/Toaster.js +26 -25
- package/dist/components/Toaster/Toaster.styles.js +1 -1
- package/dist/components/Toaster/ToasterProvider.d.ts +13 -0
- package/dist/components/Toaster/ToasterProvider.js +32 -31
- package/dist/components/Toaster/components/Toast/Toast.d.ts +27 -0
- package/dist/components/Toaster/components/Toast/Toast.js +64 -93
- package/dist/components/Toaster/components/Toast/Toast.styles.d.ts +36 -0
- package/dist/components/Toaster/components/Toast/Toast.styles.js +27 -141
- package/dist/components/Toaster/hooks/useToaster.js +13 -13
- package/dist/components/Toaster/index.d.ts +6 -0
- package/dist/components/Toggle/Toggle.d.ts +40 -0
- package/dist/components/Toggle/Toggle.js +54 -48
- package/dist/components/Toggle/Toggle.styles.js +15 -7
- package/dist/components/Tooltip/Tooltip.d.ts +31 -0
- package/dist/components/Tooltip/Tooltip.js +16 -15
- package/dist/components/Tooltip/Tooltip.styles.js +7 -4
- package/dist/components/ValidationMessage/ValidationLink/ValidationLink.d.ts +22 -0
- package/dist/components/ValidationMessage/ValidationLink/ValidationLink.js +11 -10
- package/dist/components/ValidationMessage/ValidationMessage.d.ts +38 -0
- package/dist/components/ValidationMessage/ValidationMessage.js +30 -22
- package/dist/components/ValidationMessage/ValidationSummary/ValidationSummary.d.ts +34 -0
- package/dist/components/ValidationMessage/ValidationSummary/ValidationSummary.js +21 -20
- package/dist/constants.d.ts +144 -0
- package/dist/constants.js +52 -100
- package/dist/create-recipe-BDTG8O8S.js +50 -0
- package/dist/css-DVJ-ALYD.js +228 -0
- package/dist/cva-3iuaj0TL.js +63 -0
- package/dist/enums.d.ts +88 -0
- package/dist/enums.js +2 -20
- package/dist/factory-CcYfm2kB.js +58 -0
- package/dist/floating-ui.react-B0nDXRN6.js +3474 -0
- package/dist/helpers/dom/getActiveElement.js +4 -5
- package/dist/helpers/formatting/stringReplacer.d.ts +6 -0
- package/dist/helpers/label-value/getValueFromLabelValues.d.ts +5 -0
- package/dist/helpers/label-value/highlightQueryInLabel.js +3 -4
- package/dist/helpers/label-value/highlightQueryInLabelValue.js +4 -4
- package/dist/helpers/label-value/searchLabelValues.d.ts +2 -0
- package/dist/helpers/label-value/searchLabelValues.js +6 -5
- package/dist/helpers/styling/iressCss.d.ts +10 -0
- package/dist/helpers/styling/iressCss.js +3 -5
- package/dist/helpers/utility/idsLogger.d.ts +1 -0
- package/dist/highlightQueryInLabel-Cx7nIoII.js +399 -0
- package/dist/hooks/useBreakpoint.d.ts +19 -0
- package/dist/hooks/useBreakpoint.js +12 -11
- package/dist/hooks/useResponsiveProps.d.ts +25 -0
- package/dist/hooks/useResponsiveProps.js +18 -18
- package/dist/index-BPhnth66.js +784 -0
- package/dist/index.d-CZvOUeIl.js +3808 -0
- package/dist/interfaces.d.ts +436 -0
- package/dist/is-valid-prop-C5D641yn.js +7 -0
- package/dist/main.d.ts +65 -0
- package/dist/main.js +314 -313
- package/dist/patterns/Breadcrumbs/Breadcrumbs.d.ts +47 -0
- package/dist/patterns/Breadcrumbs/Breadcrumbs.js +130 -0
- package/dist/patterns/Breadcrumbs/Breadcrumbs.styles.d.ts +1 -0
- package/dist/patterns/Breadcrumbs/Breadcrumbs.styles.js +57 -0
- package/dist/patterns/Breadcrumbs/index.d.ts +2 -0
- package/dist/patterns/Breadcrumbs/index.js +6 -0
- package/dist/patterns/ContextualMenu/ContextualMenu.d.ts +50 -0
- package/dist/patterns/ContextualMenu/ContextualMenu.js +99 -0
- package/dist/patterns/ContextualMenu/ContextualMenu.styles.d.ts +59 -0
- package/dist/patterns/ContextualMenu/ContextualMenu.styles.js +100 -0
- package/dist/patterns/ContextualMenu/index.d.ts +2 -0
- package/dist/patterns/ContextualMenu/index.js +6 -0
- package/dist/patterns/DropdownMenu/DropdownMenu.d.ts +76 -0
- package/dist/patterns/DropdownMenu/DropdownMenu.js +221 -0
- package/dist/patterns/DropdownMenu/DropdownMenu.styles.d.ts +1 -0
- package/dist/patterns/DropdownMenu/DropdownMenu.styles.js +75 -0
- package/dist/patterns/DropdownMenu/hooks/useDropdownMenuFlags.d.ts +7 -0
- package/dist/patterns/DropdownMenu/hooks/useDropdownMenuFlags.js +25 -0
- package/dist/patterns/DropdownMenu/index.d.ts +2 -0
- package/dist/patterns/DropdownMenu/index.js +6 -0
- package/dist/patterns/Form/Form.d.ts +11 -0
- package/dist/patterns/Form/Form.js +7 -9
- package/dist/patterns/Form/Form.styles.d.ts +30 -0
- package/dist/patterns/Form/Form.styles.js +1 -1
- package/dist/patterns/Form/FormContext.js +3 -2
- package/dist/patterns/Form/FormField/FormField.d.ts +76 -0
- package/dist/patterns/Form/FormField/FormField.js +47 -38
- package/dist/patterns/Form/FormField/FormFieldset.d.ts +43 -0
- package/dist/patterns/Form/FormField/FormFieldset.js +26 -27
- package/dist/patterns/Form/FormField/hooks/useFieldRenderProps.d.ts +10 -0
- package/dist/patterns/Form/FormField/hooks/useFieldRenderProps.js +11 -29
- package/dist/patterns/Form/FormValidationSummary/FormValidationSummary.d.ts +18 -0
- package/dist/patterns/Form/FormValidationSummary/FormValidationSummary.js +26 -23
- package/dist/patterns/Form/HookForm/HookForm.d.ts +144 -0
- package/dist/patterns/Form/HookForm/HookForm.js +75 -75
- package/dist/patterns/Form/components/LongForm.d.ts +55 -0
- package/dist/patterns/Form/components/LongForm.js +15 -15
- package/dist/patterns/Form/components/ShortForm.d.ts +38 -0
- package/dist/patterns/Form/components/ShortForm.js +21 -20
- package/dist/patterns/Loading/Loading.d.ts +48 -0
- package/dist/patterns/Loading/Loading.js +7 -6
- package/dist/patterns/Loading/Loading.styles.d.ts +186 -0
- package/dist/patterns/Loading/Loading.styles.js +3 -3
- package/dist/patterns/Loading/LoadingSuspense.d.ts +74 -0
- package/dist/patterns/Loading/LoadingSuspense.js +22 -21
- package/dist/patterns/Loading/components/ComponentLoading.d.ts +56 -0
- package/dist/patterns/Loading/components/ComponentLoading.js +23 -22
- package/dist/patterns/Loading/components/DefaultLoading.d.ts +30 -0
- package/dist/patterns/Loading/components/DefaultLoading.js +14 -13
- package/dist/patterns/Loading/components/LongLoading.d.ts +63 -0
- package/dist/patterns/Loading/components/LongLoading.js +34 -34
- package/dist/patterns/Loading/components/PageLoading.d.ts +48 -0
- package/dist/patterns/Loading/components/PageLoading.js +36 -35
- package/dist/patterns/Loading/components/StartUpLoading.d.ts +75 -0
- package/dist/patterns/Loading/components/StartUpLoading.js +34 -33
- package/dist/patterns/Loading/components/ValidateLoading.d.ts +41 -0
- package/dist/patterns/Loading/components/ValidateLoading.js +27 -26
- package/dist/patterns/Loading/hooks/useEstimatedProgressValue.js +17 -22
- package/dist/patterns/Loading/hooks/useShouldRenderLoading.js +20 -14
- package/dist/patterns/Shadow/Shadow.d.ts +30 -0
- package/dist/patterns/Shadow/Shadow.js +4319 -7399
- package/dist/patterns/Shadow/meta/Thumbnail.d.ts +2 -0
- package/dist/patterns/Shadow/meta/index.d.ts +7 -0
- package/dist/patterns/SideNav/SideNav.d.ts +156 -0
- package/dist/patterns/SideNav/SideNav.helpers.d.ts +5 -0
- package/dist/patterns/SideNav/SideNav.helpers.js +4 -0
- package/dist/patterns/SideNav/SideNav.js +212 -0
- package/dist/patterns/SideNav/SideNav.styles.d.ts +14 -0
- package/dist/patterns/SideNav/SideNav.styles.js +87 -0
- package/dist/patterns/SideNav/hooks/useSideNavState.d.ts +47 -0
- package/dist/patterns/SideNav/hooks/useSideNavState.js +57 -0
- package/dist/patterns/SideNav/index.d.ts +2 -0
- package/dist/patterns/SideNav/index.js +6 -0
- package/dist/patterns/SideNav/meta/Thumbnail.d.ts +2 -0
- package/dist/patterns/SideNav/meta/index.d.ts +7 -0
- package/dist/style.css +1 -1
- package/dist/styled-system/patterns/divider.d.ts +22 -0
- package/dist/styled-system/patterns/float.d.ts +23 -0
- package/dist/styled-system/recipes/button.d.ts +41 -0
- package/dist/styled-system/recipes/table.d.ts +49 -0
- package/dist/styled-system/tokens/tokens.d.ts +30 -0
- package/dist/styled-system/types/composition.d.ts +227 -0
- package/dist/styled-system/types/conditions.d.ts +334 -0
- package/dist/styled-system/types/pattern.d.ts +78 -0
- package/dist/styled-system/types/prop-type.d.ts +243 -0
- package/dist/styled-system/types/style-props.d.ts +7519 -0
- package/dist/sva-CsHRIRDW.js +34 -0
- package/dist/types.d.ts +66 -0
- package/package.json +49 -32
- package/dist/Autocomplete-C5ubHBTi.js +0 -358
- package/dist/Button-mmhMLwp9.js +0 -359
- package/dist/Provider-8wS70V56.js +0 -64
- package/dist/TableProvider-bdUNuoG-.js +0 -81
- package/dist/components/Badge/Badge.js +0 -43
- package/dist/components/Badge/Badge.styles.js +0 -105
- package/dist/components/Badge/index.js +0 -6
- package/dist/components/Filter/Filter.js +0 -225
- package/dist/components/Filter/Filter.styles.js +0 -65
- package/dist/components/Filter/components/FilterLabel.js +0 -10
- package/dist/components/Filter/components/FilterResetButton.js +0 -27
- package/dist/components/Filter/components/FilterResultsDescriptor.js +0 -18
- package/dist/components/Filter/components/FilterSearch.js +0 -32
- package/dist/components/Filter/hooks/useFilterFlags.js +0 -25
- package/dist/components/Filter/index.js +0 -4
- package/dist/components/Panel/Panel.styles.js +0 -23
- package/dist/components/Popover/components/NestedPopoverActivator.js +0 -9
- package/dist/components/RichSelect/RichSelect.js +0 -40
- package/dist/components/RichSelect/RichSelect.styles.js +0 -96
- package/dist/components/RichSelect/SelectBody/SelectBody.js +0 -33
- package/dist/components/RichSelect/SelectBody/SelectBody.styles.js +0 -21
- package/dist/components/RichSelect/SelectCreate/SelectCreate.js +0 -37
- package/dist/components/RichSelect/SelectHeading/SelectHeading.js +0 -74
- package/dist/components/RichSelect/SelectLabel/SelectLabel.js +0 -50
- package/dist/components/RichSelect/SelectLabel/SelectLabel.styles.js +0 -91
- package/dist/components/RichSelect/SelectMenu/SelectMenu.js +0 -115
- package/dist/components/RichSelect/SelectMenu/SelectMenu.styles.js +0 -14
- package/dist/components/RichSelect/SelectMenu/SelectMenuItem.js +0 -64
- package/dist/components/RichSelect/SelectSearch/SelectSearch.js +0 -47
- package/dist/components/RichSelect/SelectSearch/SelectSearch.styles.js +0 -28
- package/dist/components/RichSelect/SelectSearchInput/SelectSearchInput.js +0 -46
- package/dist/components/RichSelect/SelectSearchInput/SelectSearchInput.styles.js +0 -32
- package/dist/components/RichSelect/SelectTags/SelectTags.js +0 -163
- package/dist/components/RichSelect/SelectTags/SelectTags.styles.js +0 -86
- package/dist/components/RichSelect/components/SelectActivator.js +0 -65
- package/dist/components/RichSelect/components/SelectHiddenInput.js +0 -29
- package/dist/components/RichSelect/components/SelectOptions.js +0 -208
- package/dist/components/RichSelect/hooks/useRichSelectState.js +0 -18
- package/dist/components/RichSelect/index.js +0 -22
- package/dist/components/Select/SelectOption/SelectOption.js +0 -10
- package/dist/components/Select/components/SelectControl.js +0 -41
- package/dist/components/Select/components/SelectReadonly.js +0 -39
- package/dist/components/Select/helpers/nodesToSelectOptions.js +0 -41
- package/dist/components/Toaster/components/Toast/ToastAnimated.js +0 -52
- package/dist/constants/index.css +0 -1
- package/dist/constants/index.scss +0 -2
- package/dist/create-recipe-C-ASk1Hy.js +0 -50
- package/dist/css-fGu_jDvv.js +0 -228
- package/dist/cva-JiDXAa83.js +0 -63
- package/dist/factory-oPXoMw9H.js +0 -58
- package/dist/floating-ui.react-BetVZ099.js +0 -3464
- package/dist/fuzzysort-DKAolWVP.js +0 -397
- package/dist/helpers/dom/domUtils.js +0 -12
- package/dist/helpers/dom/hasShadowDom.js +0 -4
- package/dist/helpers/form/isValidFormInputElement.js +0 -4
- package/dist/helpers/label-value/getQueryRangeExclusive.js +0 -14
- package/dist/helpers/responsive/getResponsiveLayoutModifiers.js +0 -11
- package/dist/helpers/responsive/getResponsivePaddingClasses.js +0 -11
- package/dist/helpers/styling/getVariablePadding.js +0 -38
- package/dist/helpers/styling/mapGutterToGap.js +0 -23
- package/dist/index-CZ9ot38T.js +0 -600
- package/dist/index.esm-B6vzbp0e.js +0 -1215
- package/dist/is-valid-prop-Ce0wiweq.js +0 -7
- package/dist/src/components/Alert/Alert.d.ts +0 -57
- package/dist/src/components/Alert/Alert.styles.d.ts +0 -128
- package/dist/src/components/Autocomplete/Autocomplete.d.ts +0 -52
- package/dist/src/components/Autocomplete/components/AutocompleteInstructions.d.ts +0 -7
- package/dist/src/components/Autocomplete/hooks/useAutocompleteSearch.d.ts +0 -73
- package/dist/src/components/Badge/Badge.d.ts +0 -21
- package/dist/src/components/Badge/Badge.styles.d.ts +0 -63
- package/dist/src/components/Badge/index.d.ts +0 -2
- package/dist/src/components/Button/Button.d.ts +0 -90
- package/dist/src/components/ButtonGroup/ButtonGroup.d.ts +0 -35
- package/dist/src/components/Card/Card.d.ts +0 -44
- package/dist/src/components/Card/Card.styles.d.ts +0 -76
- package/dist/src/components/Checkbox/Checkbox.d.ts +0 -66
- package/dist/src/components/Checkbox/Checkbox.styles.d.ts +0 -59
- package/dist/src/components/CheckboxGroup/CheckboxGroup.d.ts +0 -55
- package/dist/src/components/CheckboxMark/CheckboxMark.d.ts +0 -16
- package/dist/src/components/Col/Col.d.ts +0 -23
- package/dist/src/components/Col/Col.styles.d.ts +0 -16
- package/dist/src/components/Container/Container.d.ts +0 -13
- package/dist/src/components/Container/Container.styles.d.ts +0 -35
- package/dist/src/components/Divider/Divider.d.ts +0 -8
- package/dist/src/components/Divider/Divider.styles.d.ts +0 -18
- package/dist/src/components/Expander/Expander.d.ts +0 -31
- package/dist/src/components/Expander/Expander.styles.d.ts +0 -45
- package/dist/src/components/Field/Field.d.ts +0 -57
- package/dist/src/components/Field/Field.styles.d.ts +0 -88
- package/dist/src/components/Field/FieldGroup/FieldGroup.d.ts +0 -17
- package/dist/src/components/Field/FieldGroup/FieldGroup.styles.d.ts +0 -81
- package/dist/src/components/Field/components/FieldFooter.d.ts +0 -22
- package/dist/src/components/Field/components/FieldHint.d.ts +0 -27
- package/dist/src/components/Filter/Filter.d.ts +0 -75
- package/dist/src/components/Filter/Filter.styles.d.ts +0 -2
- package/dist/src/components/Filter/components/FilterLabel.d.ts +0 -3
- package/dist/src/components/Filter/components/FilterResetButton.d.ts +0 -1
- package/dist/src/components/Filter/components/FilterResultsDescriptor.d.ts +0 -15
- package/dist/src/components/Filter/components/FilterSearch.d.ts +0 -15
- package/dist/src/components/Filter/hooks/useFilterFlags.d.ts +0 -7
- package/dist/src/components/Filter/index.d.ts +0 -1
- package/dist/src/components/Hide/Hide.d.ts +0 -28
- package/dist/src/components/Hide/helpers/normaliseHideValues.d.ts +0 -2
- package/dist/src/components/Icon/Icon.d.ts +0 -36
- package/dist/src/components/Icon/Icon.styles.d.ts +0 -38
- package/dist/src/components/Icon/index.d.ts +0 -2
- package/dist/src/components/Image/Image.d.ts +0 -16
- package/dist/src/components/Inline/Inline.d.ts +0 -31
- package/dist/src/components/Input/Input.d.ts +0 -57
- package/dist/src/components/Input/Input.styles.d.ts +0 -121
- package/dist/src/components/Input/InputBase/InputBase.d.ts +0 -39
- package/dist/src/components/InputCurrency/InputCurrency.d.ts +0 -28
- package/dist/src/components/Label/Label.d.ts +0 -19
- package/dist/src/components/Label/LabelBase/LabelBase.d.ts +0 -28
- package/dist/src/components/Link/Link.d.ts +0 -42
- package/dist/src/components/Link/Link.styles.d.ts +0 -29
- package/dist/src/components/Menu/Menu.d.ts +0 -110
- package/dist/src/components/Menu/Menu.styles.d.ts +0 -121
- package/dist/src/components/Menu/MenuDivider/MenuDivider.d.ts +0 -3
- package/dist/src/components/Menu/MenuItem/MenuItem.d.ts +0 -99
- package/dist/src/components/Menu/MenuText/MenuText.d.ts +0 -19
- package/dist/src/components/Menu/index.d.ts +0 -6
- package/dist/src/components/Modal/Modal.d.ts +0 -74
- package/dist/src/components/Modal/Modal.styles.d.ts +0 -87
- package/dist/src/components/Modal/ModalProvider.d.ts +0 -10
- package/dist/src/components/Panel/Panel.d.ts +0 -15
- package/dist/src/components/Panel/Panel.styles.d.ts +0 -7
- package/dist/src/components/Panel/index.d.ts +0 -2
- package/dist/src/components/Placeholder/Placeholder.d.ts +0 -21
- package/dist/src/components/Placeholder/Placeholder.styles.d.ts +0 -1
- package/dist/src/components/Popover/InputPopover/InputPopover.d.ts +0 -21
- package/dist/src/components/Popover/InputPopover/InputPopoverActivator.d.ts +0 -9
- package/dist/src/components/Popover/Popover.d.ts +0 -91
- package/dist/src/components/Popover/components/NestedPopoverActivator.d.ts +0 -5
- package/dist/src/components/Popover/components/PopoverActivator.d.ts +0 -6
- package/dist/src/components/Popover/components/PopoverContent.d.ts +0 -7
- package/dist/src/components/Popover/helpers/composeFloatingProps.d.ts +0 -16
- package/dist/src/components/Popover/helpers/handlePopoverTabKey.d.ts +0 -8
- package/dist/src/components/Popover/hooks/usePopover.d.ts +0 -124
- package/dist/src/components/Popover/hooks/usePopoverActivatorInteractions.d.ts +0 -15
- package/dist/src/components/Popover/hooks/usePopoverImperativeHandle.d.ts +0 -8
- package/dist/src/components/Popover/hooks/usePopoverItem.d.ts +0 -39
- package/dist/src/components/Popover/index.d.ts +0 -5
- package/dist/src/components/Progress/Progress.d.ts +0 -44
- package/dist/src/components/Provider/Provider.d.ts +0 -24
- package/dist/src/components/Radio/Radio.d.ts +0 -47
- package/dist/src/components/Radio/Radio.styles.d.ts +0 -51
- package/dist/src/components/RadioGroup/RadioGroup.d.ts +0 -56
- package/dist/src/components/RadioGroup/RadioGroup.styles.d.ts +0 -50
- package/dist/src/components/Readonly/Readonly.d.ts +0 -14
- package/dist/src/components/Readonly/Readonly.styles.d.ts +0 -106
- package/dist/src/components/RichSelect/RichSelect.d.ts +0 -152
- package/dist/src/components/RichSelect/RichSelect.styles.d.ts +0 -59
- package/dist/src/components/RichSelect/SelectBody/SelectBody.d.ts +0 -13
- package/dist/src/components/RichSelect/SelectCreate/SelectCreate.d.ts +0 -29
- package/dist/src/components/RichSelect/SelectHeading/SelectHeading.d.ts +0 -17
- package/dist/src/components/RichSelect/SelectLabel/SelectLabel.d.ts +0 -4
- package/dist/src/components/RichSelect/SelectLabel/SelectLabel.styles.d.ts +0 -15
- package/dist/src/components/RichSelect/SelectMenu/SelectMenu.d.ts +0 -52
- package/dist/src/components/RichSelect/SelectMenu/SelectMenuItem.d.ts +0 -2
- package/dist/src/components/RichSelect/SelectSearch/SelectSearch.d.ts +0 -3
- package/dist/src/components/RichSelect/SelectTags/SelectTags.d.ts +0 -32
- package/dist/src/components/RichSelect/SelectTags/SelectTags.styles.d.ts +0 -16
- package/dist/src/components/RichSelect/components/SelectActivator.d.ts +0 -38
- package/dist/src/components/RichSelect/components/SelectHiddenInput.d.ts +0 -27
- package/dist/src/components/RichSelect/components/SelectOptions.d.ts +0 -8
- package/dist/src/components/RichSelect/hooks/useRichSelectState.d.ts +0 -17
- package/dist/src/components/RichSelect/index.d.ts +0 -10
- package/dist/src/components/Row/Row.d.ts +0 -28
- package/dist/src/components/Select/Select.d.ts +0 -47
- package/dist/src/components/Select/Select.styles.d.ts +0 -94
- package/dist/src/components/Select/SelectOption/SelectOption.d.ts +0 -9
- package/dist/src/components/Select/components/SelectControl.d.ts +0 -24
- package/dist/src/components/Select/components/SelectReadonly.d.ts +0 -16
- package/dist/src/components/Select/helpers/nodesToSelectOptions.d.ts +0 -16
- package/dist/src/components/Select/index.d.ts +0 -3
- package/dist/src/components/Skeleton/Skeleton.d.ts +0 -25
- package/dist/src/components/SkipLink/SkipLink.d.ts +0 -17
- package/dist/src/components/Slideout/Slideout.d.ts +0 -82
- package/dist/src/components/Slideout/Slideout.styles.d.ts +0 -66
- package/dist/src/components/Slideout/SlideoutProvider.d.ts +0 -10
- package/dist/src/components/Slideout/components/SlideoutInner.d.ts +0 -10
- package/dist/src/components/Slider/components/SliderTicks.d.ts +0 -58
- package/dist/src/components/Spinner/Spinner.d.ts +0 -9
- package/dist/src/components/Spinner/Spinner.styles.d.ts +0 -1
- package/dist/src/components/Stack/Stack.d.ts +0 -23
- package/dist/src/components/Stack/Stack.styles.d.ts +0 -13
- package/dist/src/components/TabSet/Tab/Tab.d.ts +0 -31
- package/dist/src/components/TabSet/Tab/Tab.styles.d.ts +0 -17
- package/dist/src/components/TabSet/TabSet.d.ts +0 -38
- package/dist/src/components/TabSet/TabSet.styles.d.ts +0 -25
- package/dist/src/components/TabSet/TabSetProvider.d.ts +0 -32
- package/dist/src/components/Table/Table.d.ts +0 -67
- package/dist/src/components/Table/TableBody/TableBody.d.ts +0 -29
- package/dist/src/components/Table/TableFormattedValue/TableFormattedValue.d.ts +0 -25
- package/dist/src/components/Table/TableProvider.d.ts +0 -14
- package/dist/src/components/Table/components/TableBodyCell.d.ts +0 -12
- package/dist/src/components/Table/components/TableEmpty.d.ts +0 -2
- package/dist/src/components/Table/components/TableHeader.d.ts +0 -8
- package/dist/src/components/Table/components/TableHeaderCell.d.ts +0 -9
- package/dist/src/components/Table/components/TableRows.d.ts +0 -12
- package/dist/src/components/Table/components/TableSortButton.d.ts +0 -9
- package/dist/src/components/Table/index.d.ts +0 -5
- package/dist/src/components/Tag/Tag.d.ts +0 -26
- package/dist/src/components/Tag/Tag.styles.d.ts +0 -31
- package/dist/src/components/Text/Text.d.ts +0 -9
- package/dist/src/components/Toaster/Toaster.d.ts +0 -25
- package/dist/src/components/Toaster/ToasterProvider.d.ts +0 -10
- package/dist/src/components/Toaster/components/Toast/Toast.d.ts +0 -32
- package/dist/src/components/Toaster/components/Toast/Toast.styles.d.ts +0 -90
- package/dist/src/components/Toaster/components/Toast/ToastAnimated.d.ts +0 -19
- package/dist/src/components/Toaster/index.d.ts +0 -7
- package/dist/src/components/Toggle/Toggle.d.ts +0 -33
- package/dist/src/components/Tooltip/Tooltip.d.ts +0 -28
- package/dist/src/components/ValidationMessage/ValidationLink/ValidationLink.d.ts +0 -19
- package/dist/src/components/ValidationMessage/ValidationMessage.d.ts +0 -35
- package/dist/src/components/ValidationMessage/ValidationSummary/ValidationSummary.d.ts +0 -31
- package/dist/src/constants.d.ts +0 -123
- package/dist/src/enums.d.ts +0 -281
- package/dist/src/helpers/dom/domUtils.d.ts +0 -5
- package/dist/src/helpers/dom/hasShadowDom.d.ts +0 -1
- package/dist/src/helpers/form/isValidFormInputElement.d.ts +0 -1
- package/dist/src/helpers/formatting/stringReplacer.d.ts +0 -2
- package/dist/src/helpers/label-value/getQueryRangeExclusive.d.ts +0 -8
- package/dist/src/helpers/label-value/getValueFromLabelValues.d.ts +0 -2
- package/dist/src/helpers/label-value/searchLabelValues.d.ts +0 -2
- package/dist/src/helpers/responsive/getResponsiveLayoutModifiers.d.ts +0 -2
- package/dist/src/helpers/responsive/getResponsivePaddingClasses.d.ts +0 -2
- package/dist/src/helpers/styling/getVariablePadding.d.ts +0 -6
- package/dist/src/helpers/styling/iressCss.d.ts +0 -22
- package/dist/src/helpers/styling/mapGutterToGap.d.ts +0 -3
- package/dist/src/helpers/utility/idsLogger.d.ts +0 -3
- package/dist/src/hooks/useBreakpoint.d.ts +0 -11
- package/dist/src/hooks/useResponsiveProps.d.ts +0 -12
- package/dist/src/interfaces.d.ts +0 -442
- package/dist/src/main.d.ts +0 -60
- package/dist/src/patterns/Form/Form.d.ts +0 -11
- package/dist/src/patterns/Form/Form.styles.d.ts +0 -30
- package/dist/src/patterns/Form/FormField/FormField.d.ts +0 -54
- package/dist/src/patterns/Form/FormField/FormFieldset.d.ts +0 -40
- package/dist/src/patterns/Form/FormField/hooks/useFieldRenderProps.d.ts +0 -17
- package/dist/src/patterns/Form/FormValidationSummary/FormValidationSummary.d.ts +0 -15
- package/dist/src/patterns/Form/HookForm/HookForm.d.ts +0 -174
- package/dist/src/patterns/Form/components/LongForm.d.ts +0 -53
- package/dist/src/patterns/Form/components/ShortForm.d.ts +0 -36
- package/dist/src/patterns/Loading/Loading.d.ts +0 -47
- package/dist/src/patterns/Loading/Loading.styles.d.ts +0 -186
- package/dist/src/patterns/Loading/LoadingSuspense.d.ts +0 -73
- package/dist/src/patterns/Loading/components/ComponentLoading.d.ts +0 -53
- package/dist/src/patterns/Loading/components/DefaultLoading.d.ts +0 -27
- package/dist/src/patterns/Loading/components/LongLoading.d.ts +0 -60
- package/dist/src/patterns/Loading/components/PageLoading.d.ts +0 -45
- package/dist/src/patterns/Loading/components/StartUpLoading.d.ts +0 -72
- package/dist/src/patterns/Loading/components/ValidateLoading.d.ts +0 -38
- package/dist/src/patterns/Shadow/Shadow.d.ts +0 -34
- package/dist/src/styled-system/patterns/divider.d.ts +0 -22
- package/dist/src/styled-system/patterns/float.d.ts +0 -23
- package/dist/src/styled-system/recipes/button.d.ts +0 -39
- package/dist/src/styled-system/recipes/table.d.ts +0 -49
- package/dist/src/styled-system/tokens/tokens.d.ts +0 -30
- package/dist/src/styled-system/types/composition.d.ts +0 -224
- package/dist/src/styled-system/types/conditions.d.ts +0 -338
- package/dist/src/styled-system/types/pattern.d.ts +0 -78
- package/dist/src/styled-system/types/prop-type.d.ts +0 -241
- package/dist/src/styled-system/types/style-props.d.ts +0 -7518
- package/dist/src/types.d.ts +0 -33
- package/dist/sva-OmxClA9g.js +0 -34
- /package/dist/{src/components → components}/Alert/index.d.ts +0 -0
- /package/dist/{src/components → components}/Alert/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components → components}/Alert/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Autocomplete/Autocomplete.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Autocomplete/index.d.ts +0 -0
- /package/dist/{src/components → components}/Autocomplete/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components → components}/Autocomplete/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Button/CloseButton/CloseButton.d.ts +0 -0
- /package/dist/{src/components → components}/Button/index.d.ts +0 -0
- /package/dist/{src/components/Badge → components/Button}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Badge → components/Button}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/ButtonGroup/ButtonGroup.styles.d.ts +0 -0
- /package/dist/{src/components → components}/ButtonGroup/ButtonGroupProvider.d.ts +0 -0
- /package/dist/{src/components → components}/ButtonGroup/hooks/useButtonGroupItem.d.ts +0 -0
- /package/dist/{src/components → components}/ButtonGroup/index.d.ts +0 -0
- /package/dist/{src/components/Button → components/ButtonGroup}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Button → components/ButtonGroup}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Card/index.d.ts +0 -0
- /package/dist/{src/components/ButtonGroup → components/Card}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/ButtonGroup → components/Card}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Checkbox/index.d.ts +0 -0
- /package/dist/{src/components/Card → components/Checkbox}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Card → components/Checkbox}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/CheckboxGroup/CheckboxGroup.styles.d.ts +0 -0
- /package/dist/{src/components → components}/CheckboxGroup/index.d.ts +0 -0
- /package/dist/{src/components/Checkbox → components/CheckboxGroup}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Checkbox → components/CheckboxGroup}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/CheckboxMark/CheckboxMark.styles.d.ts +0 -0
- /package/dist/{src/components → components}/CheckboxMark/index.d.ts +0 -0
- /package/dist/{src/components → components}/Col/index.d.ts +0 -0
- /package/dist/{src/components/CheckboxGroup → components/Col}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/CheckboxGroup → components/Col}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Container/index.d.ts +0 -0
- /package/dist/{src/components/Col → components/Container}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Col → components/Container}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Divider/index.d.ts +0 -0
- /package/dist/{src/components/Container → components/Divider}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Container → components/Divider}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Expander/index.d.ts +0 -0
- /package/dist/{src/components/Divider → components/Expander}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Divider → components/Expander}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Field/helpers/getUniqueItemsByKey.d.ts +0 -0
- /package/dist/{src/components → components}/Field/index.d.ts +0 -0
- /package/dist/{src/components/Expander → components/Field}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Expander → components/Field}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Hide/index.d.ts +0 -0
- /package/dist/{src/components/Field → components/Hide}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Field → components/Hide}/meta/index.d.ts +0 -0
- /package/dist/{src/components/Filter → components/Icon}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Filter → components/Icon}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Image/Image.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Image/index.d.ts +0 -0
- /package/dist/{src/components/Hide → components/Image}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Hide → components/Image}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Inline/Inline.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Inline/index.d.ts +0 -0
- /package/dist/{src/components/Icon → components/Inline}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Icon → components/Inline}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Input/index.d.ts +0 -0
- /package/dist/{src/components/Image → components/Input}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Image → components/Input}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/InputCurrency/index.d.ts +0 -0
- /package/dist/{src/components/Inline → components/InputCurrency}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Inline → components/InputCurrency}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Label/Label.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Label/index.d.ts +0 -0
- /package/dist/{src/components/Input → components/Label}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Input → components/Label}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Link/index.d.ts +0 -0
- /package/dist/{src/components/InputCurrency → components/Link}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/InputCurrency → components/Link}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Menu/MenuItem/hooks/useMenuItemRole.d.ts +0 -0
- /package/dist/{src/components/Label → components/Menu}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Label → components/Menu}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Modal/hooks/useModal.d.ts +0 -0
- /package/dist/{src/components → components}/Modal/hooks/useProviderModal.d.ts +0 -0
- /package/dist/{src/components → components}/Modal/index.d.ts +0 -0
- /package/dist/{src/components/Link → components/Modal}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Link → components/Modal}/meta/index.d.ts +0 -0
- /package/dist/{src/components/Menu → components/Panel}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Menu → components/Panel}/meta/index.d.ts +0 -0
- /package/dist/{src/components/Modal → components/Pill}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Modal → components/Pill}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Placeholder/index.d.ts +0 -0
- /package/dist/{src/components/Panel → components/Placeholder}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Panel → components/Placeholder}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Popover/Popover.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Popover/helpers/hasFocus.d.ts +0 -0
- /package/dist/{src/components → components}/Popover/helpers/waitUntilTrue.d.ts +0 -0
- /package/dist/{src/components → components}/Popover/hooks/usePopoverAria.d.ts +0 -0
- /package/dist/{src/components → components}/Popover/hooks/usePopoverNavigation.d.ts +0 -0
- /package/dist/{src/components/Placeholder → components/Popover}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Placeholder → components/Popover}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Progress/Progress.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Progress/index.d.ts +0 -0
- /package/dist/{src/components/Popover → components/Progress}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Popover → components/Progress}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Provider/index.d.ts +0 -0
- /package/dist/{src/components → components}/Radio/index.d.ts +0 -0
- /package/dist/{src/components/Progress → components/Radio}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Progress → components/Radio}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/RadioGroup/index.d.ts +0 -0
- /package/dist/{src/components/Radio → components/RadioGroup}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Radio → components/RadioGroup}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Readonly/index.d.ts +0 -0
- /package/dist/{src/components/RadioGroup → components/Readonly}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/RadioGroup → components/Readonly}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Row/Row.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Row/index.d.ts +0 -0
- /package/dist/{src/components/Readonly → components/Row}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Readonly → components/Row}/meta/index.d.ts +0 -0
- /package/dist/{src/components/RichSelect → components/Select}/SelectBody/SelectBody.styles.d.ts +0 -0
- /package/dist/{src/components/RichSelect → components/Select}/SelectMenu/SelectMenu.styles.d.ts +0 -0
- /package/dist/{src/components/RichSelect → components/Select}/SelectSearch/SelectSearch.styles.d.ts +0 -0
- /package/dist/{src/components/RichSelect → components/Select}/SelectSearchInput/SelectSearchInput.d.ts +0 -0
- /package/dist/{src/components/RichSelect → components/Select}/SelectSearchInput/SelectSearchInput.styles.d.ts +0 -0
- /package/dist/{src/components/RichSelect → components/Select}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/RichSelect → components/Select}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Skeleton/Skeleton.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Skeleton/index.d.ts +0 -0
- /package/dist/{src/components/Row → components/Skeleton}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Row → components/Skeleton}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/SkipLink/SkipLink.styles.d.ts +0 -0
- /package/dist/{src/components → components}/SkipLink/index.d.ts +0 -0
- /package/dist/{src/components/Select → components/SkipLink}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Select → components/SkipLink}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Slideout/hooks/useProviderSlideout.d.ts +0 -0
- /package/dist/{src/components → components}/Slideout/hooks/usePushElement.d.ts +0 -0
- /package/dist/{src/components → components}/Slideout/hooks/useSlideout.d.ts +0 -0
- /package/dist/{src/components → components}/Slideout/index.d.ts +0 -0
- /package/dist/{src/components/Skeleton → components/Slideout}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Skeleton → components/Slideout}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Slider/Slider.d.ts +0 -0
- /package/dist/{src/components → components}/Slider/Slider.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Slider/index.d.ts +0 -0
- /package/dist/{src/components/SkipLink → components/Slider}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/SkipLink → components/Slider}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Spinner/index.d.ts +0 -0
- /package/dist/{src/components/Slideout → components/Spinner}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Slideout → components/Spinner}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Stack/index.d.ts +0 -0
- /package/dist/{src/components/Slider → components/Stack}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Slider → components/Stack}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/TabSet/index.d.ts +0 -0
- /package/dist/{src/components/Spinner → components/TabSet}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Spinner → components/TabSet}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Table/Table.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Table/helpers/composeTableColumnDefs.d.ts +0 -0
- /package/dist/{src/components → components}/Table/helpers/composeTableInitialSorting.d.ts +0 -0
- /package/dist/{src/components → components}/Table/hooks/useTableColumnSort.d.ts +0 -0
- /package/dist/{src/components → components}/Table/hooks/useTableColumnStyles.d.ts +0 -0
- /package/dist/{src/components/Stack → components/Table}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Stack → components/Table}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Tag/TagInput/TagInput.d.ts +0 -0
- /package/dist/{src/components → components}/Tag/TagInput/TagInput.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Tag/index.d.ts +0 -0
- /package/dist/{src/components/TabSet → components/Tag}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/TabSet → components/Tag}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Text/Text.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Text/index.d.ts +0 -0
- /package/dist/{src/components/Table → components/Text}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Table → components/Text}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Toaster/Toaster.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Toaster/helpers/toasterRegister.d.ts +0 -0
- /package/dist/{src/components → components}/Toaster/hooks/useToaster.d.ts +0 -0
- /package/dist/{src/components/Tag → components/Toaster}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Tag → components/Toaster}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Toggle/Toggle.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Toggle/index.d.ts +0 -0
- /package/dist/{src/components/Text → components/Toggle}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Text → components/Toggle}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/Tooltip/Tooltip.styles.d.ts +0 -0
- /package/dist/{src/components → components}/Tooltip/index.d.ts +0 -0
- /package/dist/{src/components/Toaster → components/Tooltip}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Toaster → components/Tooltip}/meta/index.d.ts +0 -0
- /package/dist/{src/components → components}/ValidationMessage/index.d.ts +0 -0
- /package/dist/{src/components/Toggle → components/ValidationMessage}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Toggle → components/ValidationMessage}/meta/index.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/dom/closestCrossShadow.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/dom/focusableElements.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/dom/getActiveElement.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/form/getFormControlValueAsString.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/form/getFormControlValueAsStringIfDefined.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/form/getValueAsEvent.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/formatting/capitalizeFirstLetter.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/formatting/formatCurrency.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/formatting/formatDate.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/formatting/formatDateTime.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/formatting/formatObjectKey.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/formatting/formatPercentage.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/formatting/toArray.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/formatting/toCSSLengthValue.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/label-value/composeLabelValueDescriptor.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/label-value/highlightQueryInLabel.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/label-value/highlightQueryInLabelValue.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/transition/getTransitionDuration.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/transition/timeStringToNumber.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/utility/propagateTestid.d.ts +0 -0
- /package/dist/{src/helpers → helpers}/utility/spreadUnlessUndefined.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/index.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useAriaRelationship.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useControlledState.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useIdIfNeeded.d.ts +0 -0
- /package/dist/{src/components/Tooltip → patterns/Breadcrumbs}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/Tooltip → patterns/Breadcrumbs}/meta/index.d.ts +0 -0
- /package/dist/{src/components/ValidationMessage → patterns/ContextualMenu}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/components/ValidationMessage → patterns/ContextualMenu}/meta/index.d.ts +0 -0
- /package/dist/{src/patterns/Form → patterns/DropdownMenu}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/patterns/Form → patterns/DropdownMenu}/meta/index.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Form/FormContext.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Form/FormField/helpers/getErrorTypeMessage.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Form/FormField/helpers/transformCustomRulesToValidateRule.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Form/hooks/useNoDefaultValueInForms.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Form/index.d.ts +0 -0
- /package/dist/{src/patterns/Loading → patterns/Form}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/patterns/Loading → patterns/Form}/meta/index.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Loading/hooks/useEstimatedProgressValue.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Loading/hooks/useShouldRenderLoading.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Loading/hooks/useShowIndicator.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Loading/hooks/useSuspenseResource.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Loading/index.d.ts +0 -0
- /package/dist/{src/patterns/Shadow → patterns/Loading}/meta/Thumbnail.d.ts +0 -0
- /package/dist/{src/patterns/Shadow → patterns/Loading}/meta/index.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Shadow/index.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/css/css.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/css/cva.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/css/cx.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/css/index.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/css/sva.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/aspect-ratio.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/bleed.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/box.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/center.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/circle.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/container.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/cq.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/create-style-context.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/divider.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/factory.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/flex.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/float.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/grid-item.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/grid.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/hstack.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/index.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/is-valid-prop.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/link-overlay.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/spacer.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/square.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/stack.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/visually-hidden.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/vstack.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/jsx/wrap.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/aspect-ratio.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/bleed.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/box.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/center.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/circle.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/container.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/cq.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/flex.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/grid-item.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/grid.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/hstack.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/index.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/link-overlay.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/spacer.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/square.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/stack.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/visually-hidden.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/vstack.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/patterns/wrap.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/recipes/index.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/recipes/text.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/tokens/index.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/csstype.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/global.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/index.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/jsx.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/parts.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/recipe.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/selectors.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/static-css.d.ts +0 -0
- /package/dist/{src/styled-system → styled-system}/types/system-types.d.ts +0 -0
|
@@ -0,0 +1,619 @@
|
|
|
1
|
+
# Form
|
|
2
|
+
|
|
3
|
+
Use the IressForm component when you want to request, validate and process data from the user.
|
|
4
|
+
|
|
5
|
+
> **Pattern:** `import { IressForm } from '@iress-oss/ids-components'`
|
|
6
|
+
> **Storybook:** [Form in Storybook](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/docs/components_patterns-form--docs)
|
|
7
|
+
|
|
8
|
+
## Quick Start
|
|
9
|
+
|
|
10
|
+
```tsx
|
|
11
|
+
import { IressForm } from '@iress-oss/ids-components';
|
|
12
|
+
|
|
13
|
+
<IressForm heading="Contact details" pattern="short" />
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
import {
|
|
17
|
+
ComponentApiExpander,
|
|
18
|
+
ComponentExample,
|
|
19
|
+
ComponentOverview,
|
|
20
|
+
} from '@iress-oss/ids-storybook-config';
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
As of version 6, `react-hook-form` has been moved to a peer dependency. You will need to install it alongside `@iress-oss/ids-components` in order to use the `IressForm` or `IressHookForm` component.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
yarn add @iress-oss/ids-components react-hook-form
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Key concepts
|
|
31
|
+
|
|
32
|
+
`IressForm` is built on top of [React Hook Forms](https://react-hook-form.com/). This provides you the power of React Hook Forms with the convenience of IDS form components. However, there are some key differences to be aware of as it may affect how you build your forms.
|
|
33
|
+
|
|
34
|
+
### State management
|
|
35
|
+
|
|
36
|
+
`IressForm` manages the state of the form, including the form data and validation. This is done using the `useForm` hook from React Hook Forms. This hook provides a way to manage the form state, and provides methods to interact with the form. This was done to simplify the form components, make them more predictable (as the form becomes the single source of truth for all form related data) and improve performance by reducing re-renders (very important for large forms).
|
|
37
|
+
|
|
38
|
+
Due to this change, there are a few things you should consider during development:
|
|
39
|
+
|
|
40
|
+
- Avoid using the `useState` hook to manage form state. Instead, use the `useFormContext()` hook from `react-hook-form` or the `ref` of the `IressForm` component to interact with the form state. The initial value of the form can be set using the `defaultValues` prop, but from then on you should be using either the hook or ref to interact with the form state.
|
|
41
|
+
- Avoid using `onChange` handlers on form fields to react to form values. Instead, use the `useWatch` hook from `react-hook-form` to watch the value of a field and conditionally render fields based on the value of another field.
|
|
42
|
+
|
|
43
|
+
See below an example comparing a version 4 and version 5 `IressForm` when managing form state.
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
<DiffViewer
|
|
47
|
+
allowModeChange
|
|
48
|
+
oldValue={`import { IressForm, IressField, IressInput, IressCheckboxGroup, IressCheckbox } from '@iress/components';
|
|
49
|
+
|
|
50
|
+
export const App = () => {
|
|
51
|
+
// We need to create our own state to manage the visibility of the fields,
|
|
52
|
+
// which means we have two sources of truth potentially making our code harder to maintain
|
|
53
|
+
const [show, setShow] = useState(['name']);
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<IressForm>
|
|
57
|
+
<IressField label="Show fields">
|
|
58
|
+
<IressCheckboxGroup value={show} onChange={(newValues) => setShow(newValues)}>
|
|
59
|
+
<IressCheckbox value="name">Name</IressCheckbox>
|
|
60
|
+
<IressCheckbox value="email">Email</IressCheckbox>
|
|
61
|
+
</IressCheckboxGroup>
|
|
62
|
+
</IressField>
|
|
63
|
+
{show.includes('name') && (
|
|
64
|
+
<IressField label="Name">
|
|
65
|
+
<IressInput name="name" />
|
|
66
|
+
</IressField>
|
|
67
|
+
)}
|
|
68
|
+
{show.includes('email') && (
|
|
69
|
+
<IressField label="Email">
|
|
70
|
+
<IressInput name="email" type="email" />
|
|
71
|
+
</IressField>
|
|
72
|
+
)}
|
|
73
|
+
</IressForm>
|
|
74
|
+
);
|
|
75
|
+
};`}
|
|
76
|
+
newValue={`import { IressForm, IressFormField, IressInput, IressCheckboxGroup, IressCheckbox } from '@iress-oss/ids-components';
|
|
77
|
+
import { useWatch } from 'react-hook-form';
|
|
78
|
+
|
|
79
|
+
const ConditionalFields = () => {
|
|
80
|
+
// Instead of creating our own state, we can now use the form state via the useWatch hook,
|
|
81
|
+
// meaning we still have a single source of truth
|
|
82
|
+
const show = useWatch({ name: 'show'});
|
|
83
|
+
|
|
84
|
+
return (
|
|
85
|
+
<>
|
|
86
|
+
<IressFormField
|
|
87
|
+
label="Show fields"
|
|
88
|
+
name="show"
|
|
89
|
+
render={(controlledProps) => (
|
|
90
|
+
<IressCheckboxGroup {...controlledProps}>
|
|
91
|
+
<IressCheckbox value="name">Name</IressCheckbox>
|
|
92
|
+
<IressCheckbox value="email">Email</IressCheckbox>
|
|
93
|
+
</IressCheckboxGroup>
|
|
94
|
+
)}
|
|
95
|
+
/>
|
|
96
|
+
{show?.includes('name') && (
|
|
97
|
+
<IressFormField
|
|
98
|
+
label="Name"
|
|
99
|
+
name="name"
|
|
100
|
+
render={(controlledProps) => <IressInput {...controlledProps} />}
|
|
101
|
+
/>
|
|
102
|
+
)}
|
|
103
|
+
{show?.includes('email') && (
|
|
104
|
+
<IressFormField
|
|
105
|
+
label="Email"
|
|
106
|
+
name="email"
|
|
107
|
+
render={(controlledProps) => <IressInput {...controlledProps} type="email" />}
|
|
108
|
+
/>
|
|
109
|
+
)}
|
|
110
|
+
</>
|
|
111
|
+
);
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export const App = () => (
|
|
115
|
+
<IressForm defaultValues={{ show: ['name'] }}>
|
|
116
|
+
<ConditionalFields />
|
|
117
|
+
</IressForm>
|
|
118
|
+
);`}
|
|
119
|
+
/>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
[View "StateManagementV4ToV5" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--state-management-v4to-v5)
|
|
123
|
+
|
|
124
|
+
### Validation
|
|
125
|
+
|
|
126
|
+
Validation is now done declaratively using the `rules` prop on the `IressFormField` component. This is based on the [rules available in React Hook Forms](https://www.react-hook-form.com/api/useform/register/#options). This change was made to allow for more complex validation rules to be implemented.
|
|
127
|
+
|
|
128
|
+
Due to this change, there are a few things you should consider during development:
|
|
129
|
+
|
|
130
|
+
- If you want validation messages to be shown on form controls, you need to use the `IressFormField` component to wrap around the form control and set the `rules` prop. This will allow the form to manage the validation state of the field.
|
|
131
|
+
- Although you can still use props such as `maxLength` on `IressInput`, these no longer propagate to the form validation. You need to use the `rules` prop to set these validation rules as well, and rely on `maxLength` for the input to stop the user from entering more characters than allowed (a user experience improvement that we definitely recommend).
|
|
132
|
+
- You can no longer override default error messages for the whole form. To override the default messages, you must specify them in the `rules` prop per `IressFormField`.
|
|
133
|
+
|
|
134
|
+
See below an example comparing a version 4 and version 5 `IressForm` when adding validation rules.
|
|
135
|
+
|
|
136
|
+
```tsx
|
|
137
|
+
<DiffViewer
|
|
138
|
+
allowModeChange
|
|
139
|
+
oldValue={`import { IressForm, IressField, IressInput, IressButton } from '@iress/components';
|
|
140
|
+
|
|
141
|
+
export const App = () => (
|
|
142
|
+
<IressForm valueMissing="{{fieldName}} needs to be filled in!">
|
|
143
|
+
<IressField label="Name">
|
|
144
|
+
<IressInput name="name" required />
|
|
145
|
+
</IressField>
|
|
146
|
+
<IressField label="Email">
|
|
147
|
+
<IressInput name="email" maxLength={10} />
|
|
148
|
+
</IressField>
|
|
149
|
+
<IressButton type="submit" mode="primary">
|
|
150
|
+
Sign up
|
|
151
|
+
</IressButton>
|
|
152
|
+
</IressForm>
|
|
153
|
+
);`}
|
|
154
|
+
newValue={`import { IressForm, IressFormField, IressInput, IressButton } from '@iress-oss/ids-components';
|
|
155
|
+
|
|
156
|
+
export const App = () => (
|
|
157
|
+
<IressForm>
|
|
158
|
+
<IressFormField
|
|
159
|
+
label="Name"
|
|
160
|
+
name="name"
|
|
161
|
+
render={(controlledProps) => <IressInput {...controlledProps} />}
|
|
162
|
+
rules={{ required: 'Name needs to be filled in!' }}
|
|
163
|
+
/>
|
|
164
|
+
<IressFormField
|
|
165
|
+
label="Email"
|
|
166
|
+
name="email"
|
|
167
|
+
render={(controlledProps) => <IressInput {...controlledProps} type="email" maxLength={10} />}
|
|
168
|
+
rules={{ maxLength: 10 }}
|
|
169
|
+
/>
|
|
170
|
+
<IressButton type="submit" mode="primary">
|
|
171
|
+
Sign up
|
|
172
|
+
</IressButton>
|
|
173
|
+
</IressForm>
|
|
174
|
+
);`}
|
|
175
|
+
/>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
[View "ValidationV4ToV5" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--validation-v4to-v5)
|
|
179
|
+
|
|
180
|
+
### Syncing state
|
|
181
|
+
|
|
182
|
+
For most scenarios, you should use the `onSubmit` event to sync the form data with other state management systems (eg. server, browser storage or state management libraries such as Redux). This event is emitted when the form passes validation, and contains a map of the field names and the data entered by the user.
|
|
183
|
+
|
|
184
|
+
For more complex scenarios, you may need to sync a field value before the form is submitted. In this case, you can use the `useWatch` hook to watch the value of a field and sync it with your state.
|
|
185
|
+
|
|
186
|
+
Consider the following for your development:
|
|
187
|
+
|
|
188
|
+
- Only use other state management systems to fill out the form at the initial render using `defaultValues`. After that, use the `onSubmit` event to sync the form data with your state.
|
|
189
|
+
- If you need to set form with data coming from an external system, use the `ref` of the form to `reset` the form values.
|
|
190
|
+
|
|
191
|
+
```tsx
|
|
192
|
+
const ref = useRef<FormRef | null>(null);
|
|
193
|
+
const api = useApi();
|
|
194
|
+
|
|
195
|
+
const handleSubmit = async (data) => {
|
|
196
|
+
// Sync the form data with your state
|
|
197
|
+
const details = await api.updateUser(data);
|
|
198
|
+
|
|
199
|
+
// Update the form with the new data
|
|
200
|
+
ref.current?.reset(details);
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
return (
|
|
204
|
+
<IressForm onSubmit={handleSubmit} ref={ref}>
|
|
205
|
+
...
|
|
206
|
+
</IressForm>
|
|
207
|
+
);
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Usage
|
|
211
|
+
|
|
212
|
+
### Patterns
|
|
213
|
+
|
|
214
|
+
The `IressForm` component supports different patterns to ensure consistency in how forms are displayed depending on the context of the form.
|
|
215
|
+
|
|
216
|
+
1. `long`: This pattern is used when a form has more than 8 fields. It has the following characteristics:
|
|
217
|
+
- The `heading` and `actions` are displayed at the top of the form and can be `sticky`, ensuring they are always visible to the user.
|
|
218
|
+
- The validation errors are displayed when the user blurs out of a field (ie. moves to the next field), ensuring that the user is informed of any errors before submitting the form.
|
|
219
|
+
2. `short`: This is the default pattern and should be used when a form has 8 or fewer fields, usually for familiar data such as the user's login details. It has the following characteristics:
|
|
220
|
+
- The `heading` is displayed at the top of the for and the `actions` are displayed at the bottom of the form.
|
|
221
|
+
- The validation errors are displayed when the user submits the form to ensure that the user is not overwhelmed with errors when filling out the form.
|
|
222
|
+
|
|
223
|
+
**Note:** It is recommended to use the patterns above for new applications, or those doing an overhaul, as they provide a consistent user experience across forms. For older products, please follow the existing patterns in your application to ensure consistency with the rest of the product.
|
|
224
|
+
|
|
225
|
+
### Fields
|
|
226
|
+
|
|
227
|
+
Use the `IressFormField` component to create form fields. This component is a layout component that wraps around form controls such as `IressInput`. It provides a consistent layout for form fields, and hooks into the `IressForm` component to provide validation and error handling.
|
|
228
|
+
|
|
229
|
+
It has three required props:
|
|
230
|
+
|
|
231
|
+
- `name`: The name of the field, which will be used to identify the field in the form data.
|
|
232
|
+
- `label`: The label for the field.
|
|
233
|
+
- `render`: A render prop that renders the form control. It is passed an object containing the props to be spread onto the form control to allow it to be controlled by the form.
|
|
234
|
+
|
|
235
|
+
```tsx
|
|
236
|
+
<IressFormField
|
|
237
|
+
name="email"
|
|
238
|
+
label="Email"
|
|
239
|
+
render={(controlledProps) => <IressInput {...controlledProps} type="email" />}
|
|
240
|
+
/>
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
#### Supported form controls
|
|
244
|
+
|
|
245
|
+
Here are some examples of how to use `IressFormField` with different form controls. If you are using a form control that has multiple inputs inside (for example, `IressCheckboxGroup`), you can use `IressFormFieldset`, which changes the HTML structure to use a `fieldset` and `legend` element to group the inputs.
|
|
246
|
+
|
|
247
|
+
```tsx
|
|
248
|
+
<IressForm heading="All supported form fields" pattern="long" />
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
[View "Fields" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--fields)
|
|
252
|
+
|
|
253
|
+
### Supplementary content
|
|
254
|
+
|
|
255
|
+
The `renderSupplementary` prop allows you to render additional content alongside the field that has access to the field props and state. This is useful for displaying dynamic information such as character counters, password strength meters, or custom help text that responds to user input.
|
|
256
|
+
|
|
257
|
+
The render function receives two arguments:
|
|
258
|
+
|
|
259
|
+
1. `field`: An object containing the field props (id, name, value, onChange, onBlur, ref)
|
|
260
|
+
2. `state`: An object containing the field state (fieldState, formState)
|
|
261
|
+
|
|
262
|
+
Common use cases include:
|
|
263
|
+
|
|
264
|
+
- **Character counters**: Display the current character count and maximum allowed
|
|
265
|
+
- **Password strength indicators**: Show password strength based on the current value
|
|
266
|
+
- **Dynamic hints**: Provide contextual help based on the field value
|
|
267
|
+
- **Custom validation feedback**: Display real-time validation feedback separate from error messages
|
|
268
|
+
|
|
269
|
+
```tsx
|
|
270
|
+
<IressInput
|
|
271
|
+
{...controlledProps}
|
|
272
|
+
rows={3}
|
|
273
|
+
maxLength={200}
|
|
274
|
+
placeholder="Type your comment here..."
|
|
275
|
+
/>
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
[View "RenderSupplementary" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-field--render-supplementary)
|
|
279
|
+
|
|
280
|
+
### Rules
|
|
281
|
+
|
|
282
|
+
Use the `rules` prop on the `IressFormField` component to add validation rules. These are based on the [rules available in React Hook Forms](https://www.react-hook-form.com/api/useform/register/#options). The following rules are supported.
|
|
283
|
+
|
|
284
|
+
**Note:** In version 5, you can no longer override default error messages for the whole form. To override the default messages, you must specify them in the `rules` prop per `IressFormField`.
|
|
285
|
+
|
|
286
|
+
#### `required`
|
|
287
|
+
|
|
288
|
+
A boolean which, if `true`, indicates that the input must have a value before the form can be submitted. You can assign a string to return a custom error message.
|
|
289
|
+
|
|
290
|
+
```tsx
|
|
291
|
+
<IressFormRules element="IressInput" />
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
[View "Required" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--required)
|
|
295
|
+
|
|
296
|
+
#### `maxLength`
|
|
297
|
+
|
|
298
|
+
The maximum character length of the value to accept for this input.
|
|
299
|
+
|
|
300
|
+
**Notes**
|
|
301
|
+
|
|
302
|
+
- For `IressInput`, you should also set the `maxLength` to stop the user from entering more characters than allowed.
|
|
303
|
+
- Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
|
|
304
|
+
|
|
305
|
+
```tsx
|
|
306
|
+
<IressFormRules element="IressInput" />
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
[View "MaxLength" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--max-length)
|
|
310
|
+
|
|
311
|
+
#### `minLength`
|
|
312
|
+
|
|
313
|
+
The minimum character length of the value to accept for this input.
|
|
314
|
+
|
|
315
|
+
**Notes**
|
|
316
|
+
|
|
317
|
+
- For `IressInput`, you should also set the `minLength` to stop the user from entering more characters than allowed.
|
|
318
|
+
- Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
|
|
319
|
+
|
|
320
|
+
```tsx
|
|
321
|
+
<IressFormRules element="IressInput" />
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
[View "MinLength" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--min-length)
|
|
325
|
+
|
|
326
|
+
#### `max`
|
|
327
|
+
|
|
328
|
+
The maximum number to accept for this input.
|
|
329
|
+
|
|
330
|
+
**Notes**
|
|
331
|
+
|
|
332
|
+
- Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
|
|
333
|
+
|
|
334
|
+
```tsx
|
|
335
|
+
<IressFormRules element="IressInput" />
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
[View "Max" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--max)
|
|
339
|
+
|
|
340
|
+
#### `min`
|
|
341
|
+
|
|
342
|
+
The minimum number to accept for this input.
|
|
343
|
+
|
|
344
|
+
**Notes**
|
|
345
|
+
|
|
346
|
+
- Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
|
|
347
|
+
|
|
348
|
+
```tsx
|
|
349
|
+
<IressFormRules element="IressInput" />
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
[View "Min" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--min)
|
|
353
|
+
|
|
354
|
+
#### `pattern`
|
|
355
|
+
|
|
356
|
+
The accepted regex pattern for the input.
|
|
357
|
+
|
|
358
|
+
**Notes**
|
|
359
|
+
|
|
360
|
+
- Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
|
|
361
|
+
|
|
362
|
+
[View "Pattern" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--pattern)
|
|
363
|
+
|
|
364
|
+
#### `minDate`
|
|
365
|
+
|
|
366
|
+
The minimum date to accept for this input.
|
|
367
|
+
|
|
368
|
+
**Note:** This is a custom rule created for `IressForm` and its sub-components. It will translate the rule into a `validate` rule for react-hook-forms. It will not work with a `validate` function, only if you set the `validate` prop to an `object` of functions.
|
|
369
|
+
|
|
370
|
+
```tsx
|
|
371
|
+
<IressFormRules element="IressInputDate" />
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
[View "MinDate" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--min-date)
|
|
375
|
+
|
|
376
|
+
#### `maxDate`
|
|
377
|
+
|
|
378
|
+
The maximum date to accept for this input.
|
|
379
|
+
|
|
380
|
+
**Note:** This is a custom rule created for `IressForm` and its sub-components. It will translate the rule into a `validate` rule for react-hook-forms. It will not work with a `validate` function, only if you set the `validate` prop to an `object` of functions.
|
|
381
|
+
|
|
382
|
+
```tsx
|
|
383
|
+
<IressFormRules element="IressInputDate" />
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
[View "MaxDate" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--max-date)
|
|
387
|
+
|
|
388
|
+
#### `email`
|
|
389
|
+
|
|
390
|
+
Ensures the input is a valid email address.
|
|
391
|
+
|
|
392
|
+
**Note:** This is a custom rule created for `IressForm` and its sub-components. It will translate the rule into a `validate` rule for react-hook-forms. It will not work with a `validate` function, only if you set the `validate` prop to an `object` of functions.
|
|
393
|
+
|
|
394
|
+
```tsx
|
|
395
|
+
<IressFormRules element="IressInput" />
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
[View "Email" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--email)
|
|
399
|
+
|
|
400
|
+
#### `validate`
|
|
401
|
+
|
|
402
|
+
You can pass a callback function as the argument to validate, or you can pass an object of callback functions to validate against all of them. This function will be executed on its own without depending on other validation rules included.
|
|
403
|
+
|
|
404
|
+
**Notes**
|
|
405
|
+
|
|
406
|
+
- for `object` or `array` input data, it's recommended to use the validate function for validation as the other rules mostly apply to `string`, `string[]`, `number` and `boolean` data types.
|
|
407
|
+
|
|
408
|
+
```tsx
|
|
409
|
+
<IressFormRules 2 element="IressCheckboxGroup" />
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
[View "Validate" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--validate)
|
|
413
|
+
|
|
414
|
+
### Handling submission
|
|
415
|
+
|
|
416
|
+
When the form passes validation (if not disabled), the `onSubmit` event is emitted. Its event details contain a map of the field names and the data entered by the user.
|
|
417
|
+
|
|
418
|
+
```tsx
|
|
419
|
+
<FormSubmission />
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
[View "HandlingSubmission" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--handling-submission)
|
|
423
|
+
|
|
424
|
+
## Behaviour
|
|
425
|
+
|
|
426
|
+
- Initial form validation is done when the user first submits the form. This allows them to focus on entering data without being overwhelmed by validation errors.
|
|
427
|
+
- If there are validation errors on submission, they will be shown at the form level as a summary, as well as per field. Only the first failing error will be displayed per field.
|
|
428
|
+
- After the first submission, fields are validated on change, to provide users instant feedback as they are now at the validation phase.
|
|
429
|
+
|
|
430
|
+
**Note:** The default user experience regarding validation is different to previous versions of IDS. This change was done to align IDS with the typical user experience found in other applications. If you would like to change the behaviour to be more consistent with the original IDS, set the `mode` prop of the form to `onBlur`.
|
|
431
|
+
|
|
432
|
+
## Examples
|
|
433
|
+
|
|
434
|
+
### Pre-fill the form
|
|
435
|
+
|
|
436
|
+
You can set the `defaultValues` prop to pre-fill the form values.
|
|
437
|
+
|
|
438
|
+
[View "DefaultValues" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--default-values)
|
|
439
|
+
|
|
440
|
+
### Custom error handling
|
|
441
|
+
|
|
442
|
+
The `onError` prop allows you to listen to any field errors. It takes two arguments. The first is a map of the field name and an object containing the first error message and type. The second is a ref to the original element that caused the error (the ref of the underlying input).
|
|
443
|
+
|
|
444
|
+
One use case for this prop is to create your own visible error summary at the top of the form, or to log errors to an external service.
|
|
445
|
+
|
|
446
|
+
```tsx
|
|
447
|
+
<CustomErrorHandlingForm />
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
[View "CustomErrorHandling" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--custom-error-handling)
|
|
451
|
+
|
|
452
|
+
### `values`
|
|
453
|
+
|
|
454
|
+
If you would like more control over each value of the form, you should use the `values` prop. This will make the form controlled, meaning it will rely completely on the `values` state to render the value of each field. You will need to use the `onSubmit` prop to sync the form value with your state.
|
|
455
|
+
|
|
456
|
+
Use cases where you may need the `values` prop:
|
|
457
|
+
|
|
458
|
+
- Syncing with a server once the values have been processed
|
|
459
|
+
- Syncing the value with browser storage
|
|
460
|
+
|
|
461
|
+
**Note:** `values` takes precedence over `defaultValues`. To ensure your form state is predictable, it is best to only use one prop to manage form values.
|
|
462
|
+
|
|
463
|
+
```tsx
|
|
464
|
+
<ControlledForm />
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
[View "Values" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--values)
|
|
468
|
+
|
|
469
|
+
### Disable validation
|
|
470
|
+
|
|
471
|
+
Disabling validation is not possible with the `IressForm` component. In cases where you do need to disable validation, please consider the following:
|
|
472
|
+
|
|
473
|
+
1. Use a non-submitting button to save a draft (eg. `<IressButton type="button">Save as draft</IressButton>`). Then you can use the `ref` of the form to get the form data.
|
|
474
|
+
2. Use a native `form` element, and customise the error handling.
|
|
475
|
+
|
|
476
|
+
Here we have an example showcasing option one.
|
|
477
|
+
|
|
478
|
+
```tsx
|
|
479
|
+
<DisableValidationForm />
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
[View "DisableValidation" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--disable-validation)
|
|
483
|
+
|
|
484
|
+
### Resetting the form
|
|
485
|
+
|
|
486
|
+
You can reset the form using the `ref` of the form. You must provide a `defaultValues` prop that contains all the fields in the form to ensure it resets properly.
|
|
487
|
+
|
|
488
|
+
**Note:** `<button type="reset" />` does not work with `IressForm`. You need to add an `onClick` prop to the button and use the `ref.reset` method to reset the form.
|
|
489
|
+
|
|
490
|
+
```tsx
|
|
491
|
+
<FormReset />
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
[View "ResetForm" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--reset-form)
|
|
495
|
+
|
|
496
|
+
### Read only
|
|
497
|
+
|
|
498
|
+
You can pass the `readOnly` prop to remove the asterisk symbol (\*) even when the field is `required`, and that field will be exempted from validation.
|
|
499
|
+
|
|
500
|
+
```tsx
|
|
501
|
+
<IressStack gap="md">
|
|
502
|
+
<IressText>
|
|
503
|
+
<h2>Excludes read-only validation</h2>
|
|
504
|
+
<p>Try hitting submit to see that only email is being validated</p>
|
|
505
|
+
</IressText>
|
|
506
|
+
<IressForm />
|
|
507
|
+
</IressStack>
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
[View "ExcludeReadOnlyValidation" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--exclude-read-only-validation)
|
|
511
|
+
|
|
512
|
+
## `IressHookForm`
|
|
513
|
+
|
|
514
|
+
`IressHookForm` is the underlying component that `IressForm` is built upon. It has a single required prop, `form`, which expects the return value of the `useForm` hook from React Hook Forms.
|
|
515
|
+
|
|
516
|
+
It has been exposed to consumers to allow you to have complete control of your React Hook Forms instance whilst still taking advantage of the IDS form components.
|
|
517
|
+
|
|
518
|
+
Some use cases:
|
|
519
|
+
|
|
520
|
+
1. You may need to use the `useForm` hook in a parent component to share the form state with multiple child components.
|
|
521
|
+
2. You would like to use the return value of the `useForm` hook without having to use a ref to access the `react-hook-form` api.
|
|
522
|
+
|
|
523
|
+
```tsx
|
|
524
|
+
<HookFormExample />
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
[View "HookForm" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-hook-form--hook-form)
|
|
528
|
+
|
|
529
|
+
## `IressFormValidationSummary`
|
|
530
|
+
|
|
531
|
+
`IressFormValidationSummary` is the error summary component that is added to the top of the form for screen readers to announce validation errors. It is automatically added to the form when there are validation errors, but you can also use it independently to create your own error summary, usually used if you want a visible error summary at the top of the form.
|
|
532
|
+
|
|
533
|
+
```tsx
|
|
534
|
+
<IressForm heading="Try hitting submit to see the validation summary" />
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
[View "ValidationSummary" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--validation-summary)
|
|
538
|
+
|
|
539
|
+
## Migration to version 5 and beyond
|
|
540
|
+
|
|
541
|
+
The previous form components contained a lot of logic to translate the HTML5 validation API to a format that matched the design system’s guidelines. This allowed users to use the default props of input such as `pattern` and `required`, and be assured that the `IressField` would display errors accordingly.
|
|
542
|
+
|
|
543
|
+
Although this worked for simple forms, it did not work for forms which had complex business requirements. This was due to the logic inside the form components being hard to override. Additionally, it was seemingly impossible to implement the business requirements using the HTML5 validation API, which itself is very restricted.
|
|
544
|
+
|
|
545
|
+
In version 5 we have decided to provide two alternative methods of using form components to better accommodate our consumer’s needs.
|
|
546
|
+
|
|
547
|
+
The validation logic has been stripped from all of the existing form components. They are now closer to their native implementation, with a few customisations to match the IDS guidelines. IressField has transformed into a layout component to allow you to lay out form fields consistent with IDS guidelines, using your own validation tools.
|
|
548
|
+
|
|
549
|
+
Automated validation is now solely contained in `IressForm` and `IressFormField`, using [React Hook Form](https://react-hook-form.com/docs/useform) under the hood to simplify maintenance.
|
|
550
|
+
|
|
551
|
+
## Testing
|
|
552
|
+
|
|
553
|
+
Unfortunately due to the asynchronous nature of React Hook Form validation, `IressForm` still needs to be tested using `screen.findBy` queries (at least in the first query after render). If `findBy` is not used, you will start to see the dreaded `act warnings`. For more information on testing IressForm, please refer to the (React Hook Form testing documentation)[https://react-hook-form.com/advanced-usage#TestingForm]
|
|
554
|
+
|
|
555
|
+
Here is an example of testing a form submission.
|
|
556
|
+
|
|
557
|
+
```tsx
|
|
558
|
+
render(
|
|
559
|
+
<IressForm>
|
|
560
|
+
<IressFormField
|
|
561
|
+
label="Email"
|
|
562
|
+
name="email"
|
|
563
|
+
rules={{ required: true }}
|
|
564
|
+
render={(controlledProps) => (
|
|
565
|
+
<IressInput {...controlledProps} type="email" />
|
|
566
|
+
)}
|
|
567
|
+
/>
|
|
568
|
+
<IressButton type="submit">Submit</IressButton>
|
|
569
|
+
</IressForm>,
|
|
570
|
+
);
|
|
571
|
+
|
|
572
|
+
// May be needed sometimes to get over the act warning
|
|
573
|
+
await screen.getByRole('form');
|
|
574
|
+
|
|
575
|
+
const emailInput = screen.getByRole('textbox');
|
|
576
|
+
const submitButton = screen.getByRole('button', { name: 'Submit' });
|
|
577
|
+
|
|
578
|
+
await userEvent.click(submitButton);
|
|
579
|
+
|
|
580
|
+
// Errors are asynchronous, so we need to wait for them to appear
|
|
581
|
+
const summaryError = await screen.findByText(
|
|
582
|
+
'There was a problem submitting this form',
|
|
583
|
+
);
|
|
584
|
+
expect(summaryError).toBeInTheDocument();
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
## Caveat
|
|
588
|
+
|
|
589
|
+
### Properly resetting fields
|
|
590
|
+
|
|
591
|
+
When resetting fields that accept non-string values (like `IressSelect`), you should reset them to `null` or `undefined` instead of an empty string. This is because the underlying component is strictly typed and expects a specific value type.
|
|
592
|
+
|
|
593
|
+
**Problem:**
|
|
594
|
+
|
|
595
|
+
```tsx
|
|
596
|
+
const { resetField } = useFormContext();
|
|
597
|
+
|
|
598
|
+
resetField('rich-select', {
|
|
599
|
+
label: '',
|
|
600
|
+
value: '',
|
|
601
|
+
});
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
In this case, it will look like it cleared the field, but actually it has not. This is obvious with a `placeholder` set, as it will not show the placeholder.
|
|
605
|
+
|
|
606
|
+
**Solution:**
|
|
607
|
+
Override the `onChange` handler to pass the actual value as a second parameter:
|
|
608
|
+
|
|
609
|
+
```tsx
|
|
610
|
+
const { resetField } = useFormContext();
|
|
611
|
+
|
|
612
|
+
resetField('rich-select', null); // or undefined
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
This will properly reset the field to null and clear the field value.
|
|
616
|
+
|
|
617
|
+
---
|
|
618
|
+
|
|
619
|
+
*View interactive examples: [https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/docs/components_patterns-form--docs](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/docs/components_patterns-form--docs)*
|