@dnb/eufemia 10.30.2 → 10.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/cjs/components/anchor/Anchor.d.ts +8 -1
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/card/Card.js +3 -2
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +1 -2
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/cjs/components/checkbox/CheckIcon.d.ts +1 -1
- package/cjs/components/checkbox/CheckIcon.js +4 -9
- package/cjs/components/checkbox/CheckIcon.js.map +1 -1
- package/cjs/components/checkbox/Checkbox.d.ts +4 -0
- package/cjs/components/checkbox/Checkbox.js +9 -3
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/checkbox/CheckboxDocs.js +10 -5
- package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.css +95 -15
- package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.scss +156 -21
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
- package/cjs/components/flex/Container.d.ts +4 -1
- package/cjs/components/flex/Container.js +10 -7
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/Stack.js +3 -3
- package/cjs/components/flex/Stack.js.map +1 -1
- package/cjs/components/flex/utils.js +7 -7
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/height-animation/HeightAnimationInstance.js +6 -1
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/components/modal/Modal.d.ts +2 -0
- package/cjs/components/modal/Modal.js +10 -3
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
- package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/cjs/components/space/SpacingUtils.d.ts +1 -1
- package/cjs/components/space/SpacingUtils.js +1 -1
- package/cjs/components/space/SpacingUtils.js.map +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/cjs/components/table/style/dnb-table.css +5 -10
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
- package/cjs/extensions/forms/DataContext/Context.js +2 -3
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -32
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
- package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +25 -0
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/FieldDocs.js +1 -1
- package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +53 -0
- package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
- package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +38 -0
- package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/Indeterminate/index.js +27 -0
- package/cjs/extensions/forms/Field/Indeterminate/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +81 -0
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.js +1 -7
- package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +3 -1
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +2 -2
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +35 -0
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +24 -16
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
- package/cjs/extensions/forms/Form/Element/Element.js +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +2 -2
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
- package/cjs/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +100 -0
- package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
- package/cjs/extensions/forms/Form/Tools/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/Tools/index.js +14 -0
- package/cjs/extensions/forms/Form/Tools/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +41 -10
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +2 -2
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
- package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +5 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +105 -31
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +10 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +15 -6
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js +71 -32
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +4 -5
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +9 -0
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +5 -2
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/MediaQuery.js +19 -1
- package/cjs/shared/MediaQuery.js.map +1 -1
- package/cjs/shared/MediaQueryUtils.d.ts +12 -34
- package/cjs/shared/MediaQueryUtils.js +22 -12
- package/cjs/shared/MediaQueryUtils.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +1 -1
- package/cjs/shared/component-helper.js +5 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/useMedia.d.ts +7 -2
- package/cjs/shared/useMedia.js +16 -11
- package/cjs/shared/useMedia.js.map +1 -1
- package/cjs/shared/useMediaQuery.js +30 -9
- package/cjs/shared/useMediaQuery.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +2 -3
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +110 -42
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +2 -3
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +4 -5
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +4 -5
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +139 -51
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +10 -6
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -5
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- package/components/anchor/Anchor.d.ts +8 -1
- package/components/anchor/Anchor.js.map +1 -1
- package/components/card/Card.js +3 -2
- package/components/card/Card.js.map +1 -1
- package/components/card/style/dnb-card.css +1 -2
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/components/checkbox/CheckIcon.d.ts +1 -1
- package/components/checkbox/CheckIcon.js +4 -8
- package/components/checkbox/CheckIcon.js.map +1 -1
- package/components/checkbox/Checkbox.d.ts +4 -0
- package/components/checkbox/Checkbox.js +9 -3
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox/CheckboxDocs.js +10 -5
- package/components/checkbox/CheckboxDocs.js.map +1 -1
- package/components/checkbox/style/dnb-checkbox.css +95 -15
- package/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/components/checkbox/style/dnb-checkbox.scss +156 -21
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
- package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
- package/components/flex/Container.d.ts +4 -1
- package/components/flex/Container.js +10 -7
- package/components/flex/Container.js.map +1 -1
- package/components/flex/Stack.js +3 -3
- package/components/flex/Stack.js.map +1 -1
- package/components/flex/utils.js +8 -8
- package/components/flex/utils.js.map +1 -1
- package/components/height-animation/HeightAnimationInstance.js +6 -1
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/components/modal/Modal.d.ts +2 -0
- package/components/modal/Modal.js +10 -3
- package/components/modal/Modal.js.map +1 -1
- package/components/skeleton/style/dnb-skeleton.css +4 -8
- package/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/components/space/SpacingUtils.d.ts +1 -1
- package/components/space/SpacingUtils.js +1 -1
- package/components/space/SpacingUtils.js.map +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/components/table/style/dnb-table.css +5 -10
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/es/components/anchor/Anchor.d.ts +8 -1
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/card/Card.js +3 -2
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/style/dnb-card.css +1 -2
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
- package/es/components/checkbox/CheckIcon.d.ts +1 -1
- package/es/components/checkbox/CheckIcon.js +5 -10
- package/es/components/checkbox/CheckIcon.js.map +1 -1
- package/es/components/checkbox/Checkbox.d.ts +4 -0
- package/es/components/checkbox/Checkbox.js +9 -3
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/CheckboxDocs.js +10 -5
- package/es/components/checkbox/CheckboxDocs.js.map +1 -1
- package/es/components/checkbox/style/dnb-checkbox.css +95 -15
- package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/es/components/checkbox/style/dnb-checkbox.scss +156 -21
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
- package/es/components/flex/Container.d.ts +4 -1
- package/es/components/flex/Container.js +10 -7
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/Stack.js +3 -3
- package/es/components/flex/Stack.js.map +1 -1
- package/es/components/flex/utils.js +8 -8
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/height-animation/HeightAnimationInstance.js +6 -1
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/modal/Modal.d.ts +2 -0
- package/es/components/modal/Modal.js +10 -3
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/skeleton/style/dnb-skeleton.css +4 -8
- package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
- package/es/components/space/SpacingUtils.d.ts +1 -1
- package/es/components/space/SpacingUtils.js +1 -1
- package/es/components/space/SpacingUtils.js.map +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
- package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
- package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
- package/es/components/table/style/dnb-table.css +5 -10
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
- package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +20 -9
- package/es/extensions/forms/DataContext/Context.js +2 -3
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/es/extensions/forms/DataContext/Provider/Provider.js +66 -30
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
- package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Boolean/BooleanDocs.js +18 -0
- package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
- package/es/extensions/forms/Field/FieldDocs.js +2 -2
- package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +43 -0
- package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
- package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +29 -0
- package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
- package/es/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
- package/es/extensions/forms/Field/Indeterminate/index.js +3 -0
- package/es/extensions/forms/Field/Indeterminate/index.js.map +1 -0
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +74 -0
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
- package/es/extensions/forms/Field/Name/NameDocs.js +1 -8
- package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +3 -1
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +2 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js +28 -0
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -15
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
- package/es/extensions/forms/Form/Element/Element.js +1 -1
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +2 -2
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
- package/es/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
- package/es/extensions/forms/Form/Tools/GenerateSchema.js +89 -0
- package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
- package/es/extensions/forms/Form/Tools/index.d.ts +1 -0
- package/es/extensions/forms/Form/Tools/index.js +1 -0
- package/es/extensions/forms/Form/Tools/index.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/es/extensions/forms/Form/Visibility/Visibility.js +41 -10
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +1 -2
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/es/extensions/forms/Form/data-context/useError.js +5 -3
- package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +101 -31
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +10 -1
- package/es/extensions/forms/Wizard/Step/Step.js +15 -6
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/es/extensions/forms/hooks/useFieldProps.js +68 -29
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +4 -5
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +9 -0
- package/es/extensions/forms/types.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js +5 -2
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/MediaQuery.js +19 -1
- package/es/shared/MediaQuery.js.map +1 -1
- package/es/shared/MediaQueryUtils.d.ts +12 -34
- package/es/shared/MediaQueryUtils.js +22 -17
- package/es/shared/MediaQueryUtils.js.map +1 -1
- package/es/shared/component-helper.d.ts +1 -1
- package/es/shared/component-helper.js +5 -2
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/useMedia.d.ts +7 -2
- package/es/shared/useMedia.js +14 -11
- package/es/shared/useMedia.js.map +1 -1
- package/es/shared/useMediaQuery.js +28 -9
- package/es/shared/useMediaQuery.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +2 -3
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +110 -42
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +2 -3
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +4 -5
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +4 -5
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +139 -51
- package/es/style/themes/theme-ui/ui-theme-components.min.css +10 -6
- package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-forms.css +8 -5
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +20 -9
- package/extensions/forms/DataContext/Context.js +2 -3
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/extensions/forms/DataContext/Provider/Provider.js +69 -32
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
- package/extensions/forms/Field/Boolean/Boolean.js +2 -1
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
- package/extensions/forms/Field/Boolean/BooleanDocs.js +18 -0
- package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
- package/extensions/forms/Field/FieldDocs.js +2 -2
- package/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
- package/extensions/forms/Field/Indeterminate/Indeterminate.js +43 -0
- package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
- package/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
- package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +29 -0
- package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
- package/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
- package/extensions/forms/Field/Indeterminate/index.js +3 -0
- package/extensions/forms/Field/Indeterminate/index.js.map +1 -0
- package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js +75 -0
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
- package/extensions/forms/Field/Name/NameDocs.js +1 -8
- package/extensions/forms/Field/Name/NameDocs.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +3 -1
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
- package/extensions/forms/Field/Toggle/Toggle.js +2 -2
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
- package/extensions/forms/Field/Toggle/ToggleDocs.js +28 -0
- package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
- package/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -15
- package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
- package/extensions/forms/Form/Element/Element.js +1 -1
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.js +2 -2
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
- package/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
- package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
- package/extensions/forms/Form/Tools/GenerateSchema.js +90 -0
- package/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
- package/extensions/forms/Form/Tools/index.d.ts +1 -0
- package/extensions/forms/Form/Tools/index.js +1 -0
- package/extensions/forms/Form/Tools/index.js.map +1 -0
- package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
- package/extensions/forms/Form/Visibility/Visibility.js +41 -10
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +1 -1
- package/extensions/forms/Form/data-context/useData.js +2 -2
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Form/data-context/useError.d.ts +1 -0
- package/extensions/forms/Form/data-context/useError.js +5 -3
- package/extensions/forms/Form/data-context/useError.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +2 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
- package/extensions/forms/Wizard/Container/WizardContainer.js +105 -31
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +10 -1
- package/extensions/forms/Wizard/Step/Step.js +15 -6
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
- package/extensions/forms/hooks/useFieldProps.js +71 -32
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +4 -5
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +9 -0
- package/extensions/forms/types.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js +5 -2
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/MediaQuery.js +19 -1
- package/shared/MediaQuery.js.map +1 -1
- package/shared/MediaQueryUtils.d.ts +12 -34
- package/shared/MediaQueryUtils.js +22 -12
- package/shared/MediaQueryUtils.js.map +1 -1
- package/shared/component-helper.d.ts +1 -1
- package/shared/component-helper.js +5 -1
- package/shared/component-helper.js.map +1 -1
- package/shared/useMedia.d.ts +7 -2
- package/shared/useMedia.js +14 -11
- package/shared/useMedia.js.map +1 -1
- package/shared/useMediaQuery.js +28 -9
- package/shared/useMediaQuery.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +2 -3
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +110 -42
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +2 -3
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +4 -5
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +4 -5
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/style/themes/theme-ui/ui-theme-components.css +139 -51
- package/style/themes/theme-ui/ui-theme-components.min.css +10 -6
- package/style/themes/theme-ui/ui-theme-extensions.css +8 -5
- package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/style/themes/theme-ui/ui-theme-forms.css +8 -5
- package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFieldProps.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","FieldPropsContext","combineDescribedBy","useId","useUpdateEffect","useMountEffect","useUnmountEffect","FieldBlockContext","IterateElementContext","FieldBoundaryContext","useProcessManager","createSharedState","useSharedState","isAsync","useTranslation","useFieldProps","localeProps","_dataContext$props","_dataContext$ajvInsta","_localErrorRef$curren","_ref2","_this","_props$path","_props$autoComplete","extend","props","path","itemPath","emptyValue","required","disabled","disabledProp","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","transformIn","value","transformOut","toInput","fromInput","toEvent","transformValue","fromExternal","validateRequired","_ref","res","undefined","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateElementContext","fieldBoundaryContext","translation","transformers","handlePathChangeUnvalidated","handlePathChangeUnvalidatedDataContext","handlePathChange","handlePathChangeDataContext","updateDataValue","updateDataValueDataContext","validateData","validateDataDataContext","setFieldState","setFieldStateDataContext","setFieldError","setFieldErrorDataContext","setProps","setPropsDataContext","errors","dataContextErrors","contextErrorMessages","onChangeContext","readOnly","dataContextError","inFieldBlock","Boolean","setFieldStateFieldBlock","showFieldError","showFieldErrorFieldBlock","inIterate","index","iterateElementIndex","iteratePath","handleChange","handleChangeIterateContext","substring","Error","identifier","iterateValuePath","externalValue","useExternalValue","valueRef","changedRef","hasFocusRef","showErrorRef","errorMethodRef","localErrorRef","contextErrorRef","validatorRef","current","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","asyncBehaviorIsEnabled","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","name","asyncBufferRef","key","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","arguments","length","pending","fieldStateRef","state","resolveValidatingState","showError","hideError","hasVisibleError","hasErrorProp","hasError","_ref3","errorMessagesRef","_objectSpread","Field","errorRequired","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","messageWithValues","Object","entries","messageValues","reduce","_ref4","replace","stateId","persistErrorState","method","errorArg","keys","filter","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","callOnBlurValidator","valueOverride","validateValue","isProcessActive","requiredError","isChanged","handleError","setHasFocus","hasFocus","yieldAsyncProcess","_ref5","waitFor","Promise","some","_ref6","processName","withStates","withValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","additionalArgs","currentValue","transformedValue","getArgs","args","apply","handleFocus","handleBlur","handleMountField","handleUnMountField","_dataContext$ajvInsta2","hasValue","has","data","existingValue","get","sharedState","sharedValue","showAllErrors","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","call","show","mountedFieldsRef","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","ids","fieldBlockProps","fieldState","sharedData","set","autoComplete","_ref7","iterateElementValue"],"sources":["../../../../../src/extensions/forms/hooks/useFieldProps.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport {\n FormError,\n FieldProps,\n AdditionalEventArgs,\n SubmitState,\n EventReturnWithStateObjectAndSuccess,\n EventStateObjectWithSuccess,\n Path,\n} from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport FieldPropsContext from '../Form/FieldProps/FieldPropsContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUpdateEffect from '../../../shared/helpers/useUpdateEffect'\nimport useMountEffect from '../../../shared/helpers/useMountEffect'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext'\nimport useProcessManager from './useProcessManager'\nimport {\n createSharedState,\n useSharedState,\n} from '../../../shared/helpers/useSharedState'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useTranslation from './useTranslation'\n\ntype SubmitStateWithValidating = SubmitState | 'validating'\ntype AsyncProcesses =\n | 'validator'\n | 'onBlurValidator'\n | 'onChangeLocal'\n | 'onChangeContext'\ntype PersistErrorStateMethod =\n /**\n * Add or remove the error regardless\n */\n | 'weak'\n /**\n * Check if there is an existing error, and if so, keep it\n */\n | 'gracefully'\n /**\n * Remove the error, if any\n */\n | 'wipe'\ntype AsyncProcessesBuffer = {\n resolve: () => void\n validateProcesses: () => boolean\n}\n\nexport type DataAttributes = {\n [property: `data-${string}`]: string | boolean | number\n}\n\nexport default function useFieldProps<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(\n localeProps: Props\n): Props & FieldProps<Value> & ReturnAdditional<Value> {\n const { extend } = useContext(FieldPropsContext)\n const props = extend<Props>(localeProps)\n\n const {\n path,\n itemPath,\n emptyValue,\n required,\n disabled: disabledProp,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n transformIn = (value: Value) => value,\n transformOut = (value: Value) => value,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n const fieldBoundaryContext = useContext(FieldBoundaryContext)\n const translation = useTranslation()\n\n const transformers = useRef({\n transformIn,\n transformOut,\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,\n handlePathChange: handlePathChangeDataContext,\n updateDataValue: updateDataValueDataContext,\n validateData: validateDataDataContext,\n setFieldState: setFieldStateDataContext,\n setFieldError: setFieldErrorDataContext,\n setProps: setPropsDataContext,\n errors: dataContextErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n const onChangeContext = dataContext?.props?.onChange\n\n const disabled = disabledProp ?? props.readOnly\n const dataContextError = path ? dataContextErrors?.[path] : undefined\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldStateFieldBlock,\n showFieldError: showFieldErrorFieldBlock,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n path: iteratePath,\n handleChange: handleChangeIterateContext,\n } = iterateElementContext ?? {}\n const { setFieldError } = fieldBoundaryContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (itemPath && itemPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid itemPath. Item pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (itemPath && !inIterate) {\n throw new Error(\n 'itemPath cannot be used when not inside an iterate context. Wrap the component in an Iterate.Array.'\n )\n }\n\n const identifier = useMemo(() => {\n if (itemPath) {\n const iterateValuePath = `${iteratePath}/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n return iterateValuePath\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path ?? id\n }, [itemPath, path, id, iteratePath, iterateElementIndex])\n\n const externalValue = useExternalValue<Value>({\n path,\n itemPath,\n props,\n transformers,\n emptyValue,\n })\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorRef = useRef<boolean>(\n Boolean(validateInitially || errorProp)\n )\n // - Local errors are errors based on validation instructions received by\n const errorMethodRef = useRef<\n Partial<Record<PersistErrorStateMethod, Error | FormError>>\n >({})\n const localErrorRef = useRef<Error | FormError | undefined>()\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n const onBlurValidatorRef = useRef(onBlurValidator)\n useUpdateEffect(() => {\n onBlurValidatorRef.current = onBlurValidator\n }, [onBlurValidator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n // - Async behavior\n const asyncBehaviorIsEnabled = useMemo(() => {\n return isAsync(onChange) || isAsync(onChangeContext)\n }, [onChangeContext, onChange])\n const validatedValue = useRef<Value>()\n const changeEventResultRef = useRef<EventStateObjectWithSuccess>(null)\n const asyncProcessRef = useRef<AsyncProcesses>(null)\n const defineAsyncProcess = useCallback((name: AsyncProcesses) => {\n asyncProcessRef.current = name\n }, [])\n\n // When both an async onChange and async validators are used,\n // we buffer the onChange calls to avoid race conditions.\n const asyncBufferRef = useRef<\n Record<AsyncProcesses, AsyncProcessesBuffer> | Record<string, unknown>\n >({})\n\n for (const key in asyncBufferRef.current) {\n const { resolve, validateProcesses } = (asyncBufferRef.current[key] ||\n {}) as AsyncProcessesBuffer\n if (validateProcesses?.() === false) {\n delete asyncBufferRef.current[key]\n if (typeof resolve === 'function') {\n window.requestAnimationFrame(resolve)\n }\n }\n }\n\n const eventPool = useRef({\n validator: null,\n onBlurValidator: null,\n onChangeContext: null,\n onChangeLocal: null,\n })\n\n const addToPool = useCallback(\n (name: keyof typeof eventPool.current, fn, runAsync) => {\n if (!eventPool.current[name]) {\n eventPool.current[name] = { fn, runAsync }\n }\n },\n []\n )\n\n const runPool = useCallback(async (cb = null) => {\n for (const key in eventPool.current) {\n if (!eventPool.current[key] || eventPool.current[key].pending) {\n continue\n }\n\n const { fn, runAsync } = eventPool.current[key] || {}\n if (fn) {\n eventPool.current[key].pending = true\n eventPool.current[key] = null\n\n if (runAsync) {\n await fn()\n } else {\n fn()\n }\n }\n }\n\n // use a callback in order to avoid any async/await,\n // because it will delay the execution of the following code\n cb?.()\n }, [])\n\n const fieldStateRef = useRef<SubmitStateWithValidating>()\n const setFieldState = useCallback(\n (state: SubmitStateWithValidating) => {\n fieldStateRef.current = state\n setFieldStateDataContext(identifier, resolveValidatingState(state))\n if (!validateInitially) {\n forceUpdate()\n }\n },\n [setFieldStateDataContext, identifier, validateInitially]\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n showFieldErrorFieldBlock?.(identifier, true)\n }, [showFieldErrorFieldBlock, identifier])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n showFieldErrorFieldBlock?.(identifier, false)\n }, [showFieldErrorFieldBlock, identifier])\n\n const error =\n showErrorRef.current ||\n // If the error is a type error, we want to show it even if the field as not been used\n localErrorRef.current?.['validationRule'] === 'type'\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasVisibleError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n const hasError = useCallback(() => {\n return Boolean(\n errorProp ?? localErrorRef.current ?? contextErrorRef.current\n )\n }, [errorProp])\n\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: translation.Field.errorRequired,\n ...errorMessages,\n }\n }, [errorMessages, translation.Field.errorRequired])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n error.message = messageWithValues\n\n return error\n }\n\n return error\n },\n []\n )\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (\n method: PersistErrorStateMethod,\n errorArg: Error | FormError | undefined = undefined\n ) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n if (method === 'wipe') {\n errorMethodRef.current = {}\n } else {\n errorMethodRef.current[method] = error\n }\n\n if (\n !error &&\n method === 'gracefully' &&\n Object.keys(errorMethodRef.current).filter(Boolean).length > 0\n ) {\n // If the error is removed, we need to check if there are other errors that still should be shown\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n setFieldErrorDataContext?.(identifier, error)\n setFieldError?.(identifier, error)\n\n // Set the visual states\n setFieldStateDataContext?.(identifier, error ? 'error' : undefined)\n setFieldStateFieldBlock?.({\n stateId,\n identifier,\n type: 'error',\n content: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n prepareError,\n setFieldErrorDataContext,\n identifier,\n setFieldError,\n setFieldStateDataContext,\n setFieldStateFieldBlock,\n stateId,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(() => {\n persistErrorState('wipe')\n }, [persistErrorState])\n\n const callValidator = useCallback(async () => {\n if (typeof validatorRef.current !== 'function') {\n return\n }\n\n const runAsync = isAsync(validatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('validator')\n setFieldState('validating')\n hideError()\n }\n\n const opts = {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n }\n\n const tmpValue = valueRef.current\n\n // Run async regardless to support Promise based validators\n const result = await validatorRef.current(valueRef.current, opts)\n\n const unchangedValue = tmpValue === valueRef.current\n\n // Don't show the error if the value has changed in the meantime\n if (unchangedValue) {\n persistErrorState('gracefully', result as Error)\n\n // Because its a better UX to show the error when the validation is async/delayed\n if (continuousValidation || runAsync) {\n // Because we first need to throw the error to be able to display it, we delay the showError call\n window.requestAnimationFrame(() => {\n showError()\n forceUpdate()\n })\n }\n }\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n\n if (unchangedValue) {\n setFieldState(result instanceof Error ? 'error' : 'complete')\n } else {\n setFieldState('pending')\n }\n }\n\n return result\n }, [\n contextErrorMessages,\n continuousValidation,\n hideError,\n persistErrorState,\n defineAsyncProcess,\n setFieldState,\n showError,\n ])\n\n const callOnBlurValidator = useCallback(\n async ({ valueOverride = null } = {}) => {\n if (typeof onBlurValidatorRef.current !== 'function') {\n return\n }\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n\n const runAsync = isAsync(onBlurValidatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('onBlurValidator')\n setFieldState('validating')\n }\n\n // Run async regardless to support Promise based validators\n const result = await onBlurValidatorRef.current(value)\n\n persistErrorState('gracefully', result as Error)\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n setFieldState(result instanceof Error ? 'error' : 'complete')\n }\n\n showError()\n forceUpdate()\n },\n [persistErrorState, defineAsyncProcess, setFieldState, showError]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n setFieldState(undefined)\n return // stop here\n }\n\n const value = valueRef.current\n changeEventResultRef.current = null\n validatedValue.current = null\n\n try {\n // Validate required\n const requiredError = transformers.current.validateRequired(value, {\n emptyValue,\n required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n })\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n value !== undefined &&\n !schemaValidatorRef.current(value)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors,\n valueRef.current\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (\n validatorRef.current &&\n (changedRef.current || validateInitially)\n ) {\n const result = await callValidator()\n\n if (result instanceof Error) {\n throw result\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n\n validatedValue.current = value\n } catch (error: unknown) {\n if (isProcessActive()) {\n persistErrorState('weak', error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n setFieldState,\n clearErrorState,\n emptyValue,\n required,\n validateInitially,\n callValidator,\n persistErrorState,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n async (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n addToPool(\n 'onBlurValidator',\n async () => await callOnBlurValidator({ valueOverride }),\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool(() => {\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n })\n }\n },\n [\n addToPool,\n callOnBlurValidator,\n onBlur,\n onFocus,\n runPool,\n showError,\n validateUnchanged,\n ]\n )\n\n // Await an async operation to run after criteria are fulfilled\n const yieldAsyncProcess = useCallback(\n async ({\n name,\n waitFor,\n }: {\n name: 'onChangeLocal' | 'onChangeContext' | 'onSubmitContext'\n waitFor: Array<{\n processName?: AsyncProcesses\n withStates: Array<SubmitStateWithValidating>\n withValue?: Value\n }>\n }) => {\n return new Promise<void>((resolve) => {\n const validateProcesses = () => {\n const result = waitFor.some(\n ({ processName, withStates, withValue }) => {\n const hasMatchingValue =\n // If the value has changed during the async process, we don't want to resolve anymore\n withValue === validatedValue.current\n\n const result =\n (typeof withValue === 'undefined'\n ? false\n : !hasMatchingValue) ||\n ((processName\n ? processName === asyncProcessRef.current\n : true) &&\n withStates?.some((state) => {\n return state === fieldStateRef.current\n }))\n\n return result\n }\n )\n\n return result\n }\n\n if (validateProcesses() === true) {\n asyncBufferRef.current[name] = { resolve, validateProcesses }\n } else {\n resolve()\n setFieldState('pending')\n }\n })\n },\n [setFieldState]\n )\n\n const handleChangeEventResult = useCallback(async () => {\n const result: EventStateObjectWithSuccess =\n changeEventResultRef.current\n\n if (typeof result?.error !== 'undefined') {\n persistErrorState('gracefully', result.error)\n showError()\n }\n if (typeof result?.warning !== 'undefined') {\n warningRef.current = result.warning\n }\n if (typeof result?.info !== 'undefined') {\n infoRef.current = result.info\n }\n\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onSubmitContext',\n waitFor: [{ withStates: ['validating'] }],\n })\n }\n\n defineAsyncProcess(undefined)\n\n if (result?.success === 'saved') {\n setFieldState('success')\n } else if (result?.error) {\n setFieldState('error')\n } else if (asyncBehaviorIsEnabled) {\n setFieldState('complete')\n }\n }, [\n asyncBehaviorIsEnabled,\n defineAsyncProcess,\n persistErrorState,\n setFieldState,\n showError,\n yieldAsyncProcess,\n ])\n\n const setEventResult = useCallback(\n (result: EventReturnWithStateObjectAndSuccess) => {\n if (result instanceof Error) {\n result = { error: result }\n }\n changeEventResultRef.current = {\n ...changeEventResultRef.current,\n ...result,\n } as EventStateObjectWithSuccess\n\n handleChangeEventResult()\n },\n [handleChangeEventResult]\n )\n\n const callOnChangeContext = useCallback(async () => {\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onChangeContext',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n ],\n })\n }\n\n if (path) {\n if (isAsync(onChangeContext)) {\n defineAsyncProcess('onChangeContext')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n setEventResult(\n (await handlePathChangeDataContext?.(\n path\n )) as EventReturnWithStateObjectAndSuccess\n )\n } else {\n setEventResult(null)\n }\n } else {\n setEventResult(\n handlePathChangeDataContext?.(\n path\n ) as EventReturnWithStateObjectAndSuccess\n )\n }\n }\n\n forceUpdate()\n }, [\n asyncBehaviorIsEnabled,\n path,\n hasError,\n yieldAsyncProcess,\n onChangeContext,\n defineAsyncProcess,\n setEventResult,\n handlePathChangeDataContext,\n ])\n\n const updateValue = useCallback(\n async (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n handlePathChangeUnvalidatedDataContext(path, newValue)\n\n addToPool('validator', validateValue, isAsync(validatorRef.current))\n\n addToPool(\n 'onChangeContext',\n callOnChangeContext,\n isAsync(onChangeContext)\n )\n\n await runPool(() => {\n handleError()\n })\n },\n [\n handlePathChangeUnvalidatedDataContext,\n path,\n addToPool,\n validateValue,\n callOnChangeContext,\n onChangeContext,\n runPool,\n handleError,\n ]\n )\n\n const handleChange = useCallback(\n async (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n const fromInput = transformers.current.fromInput(argFromInput)\n\n if (fromInput === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n const transformedValue = transformers.current.transformOut(\n transformers.current.transformValue(fromInput, currentValue)\n )\n\n // Must be set before validation\n changedRef.current = true\n\n // Run in sync, before any async operations to avoid lag in UX\n if (itemPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n handleChangeIterateContext?.(iterateValuePath, transformedValue)\n }\n\n if (asyncBehaviorIsEnabled) {\n hideError()\n await updateValue(transformedValue)\n } else {\n updateValue(transformedValue)\n }\n\n const getArgs = (): [Value] | [Value, AdditionalEventArgs] => {\n const value = transformers.current.toEvent(\n valueRef.current,\n 'onChange'\n )\n\n return typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n }\n\n if (isAsync(onChange)) {\n addToPool(\n 'onChangeLocal',\n async () => {\n const args = getArgs()\n\n await yieldAsyncProcess({\n name: 'onChangeLocal',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onChangeContext',\n withStates: ['pending', 'error'],\n withValue: args[0],\n },\n ],\n })\n\n defineAsyncProcess('onChangeLocal')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n // If the value has changed during the async process, we don't want to call the onChange anymore\n setEventResult(await onChange?.apply(this, args))\n } else {\n setEventResult(null)\n }\n },\n true\n )\n } else {\n setEventResult(onChange?.apply(this, getArgs()))\n }\n\n await runPool()\n },\n [\n addToPool,\n asyncBehaviorIsEnabled,\n handleChangeIterateContext,\n hasError,\n hideError,\n itemPath,\n iterateElementIndex,\n onChange,\n runPool,\n defineAsyncProcess,\n setEventResult,\n updateValue,\n yieldAsyncProcess,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n // Put props into the surrounding data context\n setPropsDataContext?.(identifier, props)\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n\n // Run this twice, because when remounting happens, the props where removed by the unmount effect\n setPropsDataContext?.(identifier, props)\n\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n setFieldErrorDataContext?.(identifier, undefined)\n setFieldError?.(identifier, undefined)\n localErrorRef.current = undefined\n })\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n if (valueRef.current !== externalValue) {\n valueRef.current = externalValue\n validateValue()\n }\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n contextErrorRef.current = error\n forceUpdate()\n }\n }, [dataContextError, prepareError])\n\n useEffect(() => {\n if (path) {\n let value = props.value\n\n // First, look for existing data in the context\n const hasValue = pointer.has(dataContext.data, path)\n const existingValue = hasValue\n ? pointer.get(dataContext.data, path)\n : undefined\n\n // If no data where found in the dataContext, look for shared data\n if (\n dataContext.id &&\n !hasValue &&\n typeof existingValue === 'undefined' &&\n typeof value === 'undefined'\n ) {\n const sharedState = createSharedState(dataContext.id)\n const hasValue = pointer.has(sharedState.data, path)\n if (hasValue) {\n const sharedValue = pointer.get(sharedState.data, path)\n if (sharedValue) {\n value = sharedValue\n }\n }\n }\n\n if (\n !hasValue ||\n (value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n updateDataValueDataContext?.(path, value)\n validateDataDataContext?.()\n }\n }\n }, [\n dataContext.data,\n dataContext.id,\n path,\n props.value,\n updateDataValueDataContext,\n validateDataDataContext,\n ])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // In case of async validation, we don't want to show existing errors before the validation has been completed\n if (fieldStateRef.current !== 'validating') {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (\n dataContext.formState === 'pending' &&\n (validatorRef.current || onBlurValidatorRef.current)\n ) {\n hideError()\n forceUpdate()\n }\n }, [dataContext.formState, hideError])\n\n const onSubmitHandler = useCallback(async () => {\n if (hasError()) {\n return // stop here\n }\n\n addToPool('validator', callValidator, isAsync(validatorRef.current))\n addToPool(\n 'onBlurValidator',\n callOnBlurValidator,\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool()\n }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool])\n\n // Validate/call validator functions during submit of the form\n useMountEffect(() => {\n dataContext?.setFieldEventListener?.(\n identifier,\n 'onSubmit',\n onSubmitHandler\n )\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'error',\n content: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'warning',\n content: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'info',\n content: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (fieldBlockContext.mountedFieldsRef) {\n fieldBlockContext.mountedFieldsRef.current[identifier] = true\n }\n }\n }\n })\n\n const infoRef = useRef<React.ReactNode>(info)\n const warningRef = useRef<React.ReactNode>(warning)\n useUpdateEffect(() => {\n infoRef.current = info\n warningRef.current = warning\n forceUpdate()\n }, [info, warning])\n\n // - Handle htmlAttributes\n const htmlAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>((acc, cur) => {\n if (cur.startsWith('aria-') || cur.startsWith('data-')) {\n acc[cur] = props[cur]\n }\n return acc\n }, {})\n }, [props])\n\n if (error) {\n htmlAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n htmlAttributes['aria-required'] = required ? 'true' : 'false'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (fieldBlockContext.mountedFieldsRef) {\n fieldBlockContext.mountedFieldsRef.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n const ids = [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n\n if (ids.length) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n ids\n )\n }\n }\n\n const fieldBlockProps = {\n /** Documented APIs */\n info: !inFieldBlock ? infoRef.current : undefined,\n warning: !inFieldBlock ? warningRef.current : undefined,\n error: !inFieldBlock ? error : undefined,\n\n /** HTML Attributes */\n disabled:\n onBlurValidator &&\n asyncProcessRef.current === 'onBlurValidator' &&\n fieldStateRef.current === 'validating'\n ? true\n : disabled,\n\n /** Internal */\n fieldState: resolveValidatingState(fieldStateRef.current),\n }\n\n const sharedData = useSharedState(id)\n sharedData.set(fieldBlockProps)\n\n return {\n ...props,\n ...fieldBlockProps,\n\n /** HTML Attributes */\n name: props.name || props.path?.replace('/', '') || id,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : undefined),\n\n /** Documented APIs */\n id,\n value: transformers.current.transformIn(\n transformers.current.toInput(valueRef.current)\n ),\n hasError: hasVisibleError,\n isChanged: changedRef.current,\n htmlAttributes,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n\n /** Internal */\n dataContext,\n }\n}\n\nexport interface ReturnAdditional<Value> {\n /** Documented APIs */\n value: Value\n isChanged: boolean\n htmlAttributes: AriaAttributes | DataAttributes\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => void\n updateValue: (value: Value) => void\n forceUpdate: () => void\n hasError?: boolean\n\n /** Internal */\n dataContext: ContextState\n fieldState: SubmitState\n}\n\nfunction resolveValidatingState(state: SubmitStateWithValidating) {\n return state === 'validating' ? 'pending' : state\n}\n\nexport function useExternalValue<Value>({\n path,\n itemPath,\n props,\n transformers,\n emptyValue = undefined,\n}: {\n path?: Path\n itemPath?: Path\n props: FieldProps<Value>\n transformers: React.MutableRefObject<{\n fromExternal: FieldProps<Value>['fromExternal']\n }>\n emptyValue?: FieldProps<Value>['emptyValue']\n}) {\n const dataContext = useContext(DataContext)\n const iterateElementContext = useContext(IterateElementContext)\n const inIterate = Boolean(iterateElementContext)\n const { value: iterateElementValue } = iterateElementContext ?? {}\n\n return useMemo(() => {\n if (props.value !== emptyValue) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return transformers.current.fromExternal(props.value)\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, itemPath)\n ? pointer.get(iterateElementValue, itemPath)\n : emptyValue\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : emptyValue\n }\n\n return emptyValue\n }, [\n props.value,\n emptyValue,\n inIterate,\n itemPath,\n dataContext.data,\n path,\n transformers,\n iterateElementValue,\n ])\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFieldProps.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","FieldPropsContext","combineDescribedBy","useId","useUpdateEffect","useMountEffect","useUnmountEffect","FieldBlockContext","IterateElementContext","FieldBoundaryContext","useProcessManager","createSharedState","useSharedState","isAsync","useTranslation","useFieldProps","localeProps","_dataContext$props","_dataContext$ajvInsta","_localErrorRef$curren","_ref3","_this","_props$path","_props$autoComplete","extend","props","path","itemPath","emptyValue","required","requiredProp","disabled","disabledProp","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","transformIn","value","transformOut","toInput","fromInput","toEvent","transformValue","fromExternal","validateRequired","_ref","res","undefined","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateElementContext","fieldBoundaryContext","translation","transformers","handlePathChangeUnvalidated","handlePathChangeUnvalidatedDataContext","handlePathChange","handlePathChangeDataContext","updateDataValue","updateDataValueDataContext","validateData","validateDataDataContext","setFieldState","setFieldStateDataContext","setFieldError","setFieldErrorDataContext","setProps","setPropsDataContext","errors","dataContextErrors","contextErrorMessages","onChangeContext","readOnly","inFieldBlock","Boolean","setFieldStateFieldBlock","showFieldError","showFieldErrorFieldBlock","mountedFieldsRef","mountedFieldsRefFieldBlock","inIterate","index","iterateElementIndex","iteratePath","handleChange","handleChangeIterateContext","substring","Error","identifier","iterateValuePath","externalValue","useExternalValue","valueRef","changedRef","hasFocusRef","paths","split","length","requiredList","schemaPath","slice","join","schemaPart","has","get","push","collected","flatMap","v","filter","includes","at","showErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","current","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","asyncBehaviorIsEnabled","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","name","asyncBufferRef","key","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","arguments","pending","fieldStateRef","state","resolveValidatingState","showError","hideError","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","errorMessagesRef","messageWithValues","Object","entries","messageValues","reduce","_ref2","replace","hasVisibleError","hasErrorProp","hasError","_ref4","_objectSpread","Field","errorRequired","stateId","persistErrorState","method","errorArg","keys","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","callOnBlurValidator","valueOverride","validateValue","isProcessActive","requiredError","isChanged","handleError","setHasFocus","hasFocus","yieldAsyncProcess","_ref5","waitFor","Promise","some","_ref6","processName","withStates","withValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","additionalArgs","currentValue","transformedValue","getArgs","args","apply","handleFocus","handleBlur","handleMountField","handleUnMountField","_dataContext$ajvInsta2","hasValue","data","existingValue","sharedState","sharedValue","showAllErrors","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","call","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","ids","fieldBlockProps","fieldState","sharedData","set","autoComplete","_ref7","iterateElementValue"],"sources":["../../../../../src/extensions/forms/hooks/useFieldProps.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport {\n FormError,\n FieldProps,\n AdditionalEventArgs,\n SubmitState,\n EventReturnWithStateObjectAndSuccess,\n EventStateObjectWithSuccess,\n Path,\n} from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport FieldPropsContext from '../Form/FieldProps/FieldPropsContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUpdateEffect from '../../../shared/helpers/useUpdateEffect'\nimport useMountEffect from '../../../shared/helpers/useMountEffect'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext'\nimport useProcessManager from './useProcessManager'\nimport {\n createSharedState,\n useSharedState,\n} from '../../../shared/helpers/useSharedState'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useTranslation from './useTranslation'\n\ntype SubmitStateWithValidating = SubmitState | 'validating'\ntype AsyncProcesses =\n | 'validator'\n | 'onBlurValidator'\n | 'onChangeLocal'\n | 'onChangeContext'\ntype PersistErrorStateMethod =\n /**\n * Add or remove the error regardless\n */\n | 'weak'\n /**\n * Check if there is an existing error, and if so, keep it\n */\n | 'gracefully'\n /**\n * Remove the error, if any\n */\n | 'wipe'\ntype AsyncProcessesBuffer = {\n resolve: () => void\n validateProcesses: () => boolean\n}\n\nexport type DataAttributes = {\n [property: `data-${string}`]: string | boolean | number\n}\n\nexport default function useFieldProps<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(\n localeProps: Props\n): Props & FieldProps<Value> & ReturnAdditional<Value> {\n const { extend } = useContext(FieldPropsContext)\n const props = extend<Props>(localeProps)\n\n const {\n path,\n itemPath,\n emptyValue,\n required: requiredProp,\n disabled: disabledProp,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n transformIn = (value: Value) => value,\n transformOut = (value: Value) => value,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n const fieldBoundaryContext = useContext(FieldBoundaryContext)\n const translation = useTranslation()\n\n const transformers = useRef({\n transformIn,\n transformOut,\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,\n handlePathChange: handlePathChangeDataContext,\n updateDataValue: updateDataValueDataContext,\n validateData: validateDataDataContext,\n setFieldState: setFieldStateDataContext,\n setFieldError: setFieldErrorDataContext,\n setProps: setPropsDataContext,\n errors: dataContextErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n const onChangeContext = dataContext?.props?.onChange\n\n const disabled = disabledProp ?? props.readOnly\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldStateFieldBlock,\n showFieldError: showFieldErrorFieldBlock,\n mountedFieldsRef: mountedFieldsRefFieldBlock,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n path: iteratePath,\n handleChange: handleChangeIterateContext,\n } = iterateElementContext ?? {}\n const { setFieldError } = fieldBoundaryContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (itemPath && itemPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid itemPath. Item pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (itemPath && !inIterate) {\n throw new Error(\n 'itemPath cannot be used when not inside an iterate context. Wrap the component in an Iterate.Array.'\n )\n }\n\n const identifier = useMemo(() => {\n if (itemPath) {\n const iterateValuePath = `${iteratePath}/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n return iterateValuePath\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path ?? id\n }, [itemPath, path, id, iteratePath, iterateElementIndex])\n\n const externalValue = useExternalValue<Value>({\n path,\n itemPath,\n props,\n transformers,\n emptyValue,\n })\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n const required = useMemo(() => {\n if (requiredProp) {\n return requiredProp\n }\n\n const paths = identifier.split('/')\n if (paths.length > 0 && (schema || dataContext?.schema)) {\n const requiredList = [schema?.['required']]\n\n if (paths.length > 1) {\n const schema = dataContext.schema\n const schemaPath = paths.slice(0, -1).join('/properties/')\n const schemaPart = pointer.has(schema, schemaPath)\n ? pointer.get(schema, schemaPath)\n : schema\n\n requiredList.push(schemaPart?.required)\n }\n\n const collected = requiredList.flatMap((v) => v).filter(Boolean)\n if (collected.includes(paths.at(-1))) {\n return true\n }\n }\n }, [dataContext?.schema, identifier, requiredProp, schema])\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorRef = useRef<boolean>(\n Boolean(validateInitially || errorProp)\n )\n // - Local errors are errors based on validation instructions received by\n const errorMethodRef = useRef<\n Partial<Record<PersistErrorStateMethod, Error | FormError>>\n >({})\n const localErrorRef = useRef<Error | FormError | undefined>()\n const hasLocalErrorRef = useRef(false)\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const dataContextError = useMemo(() => {\n return path ? dataContextErrors?.[identifier] : undefined\n }, [dataContextErrors, identifier, path])\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n const onBlurValidatorRef = useRef(onBlurValidator)\n useUpdateEffect(() => {\n onBlurValidatorRef.current = onBlurValidator\n }, [onBlurValidator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n // - Async behavior\n const asyncBehaviorIsEnabled = useMemo(() => {\n return isAsync(onChange) || isAsync(onChangeContext)\n }, [onChangeContext, onChange])\n const validatedValue = useRef<Value>()\n const changeEventResultRef = useRef<EventStateObjectWithSuccess>(null)\n const asyncProcessRef = useRef<AsyncProcesses>(null)\n const defineAsyncProcess = useCallback((name: AsyncProcesses) => {\n asyncProcessRef.current = name\n }, [])\n\n // When both an async onChange and async validators are used,\n // we buffer the onChange calls to avoid race conditions.\n const asyncBufferRef = useRef<\n Record<AsyncProcesses, AsyncProcessesBuffer> | Record<string, unknown>\n >({})\n\n for (const key in asyncBufferRef.current) {\n const { resolve, validateProcesses } = (asyncBufferRef.current[key] ||\n {}) as AsyncProcessesBuffer\n if (validateProcesses?.() === false) {\n delete asyncBufferRef.current[key]\n if (typeof resolve === 'function') {\n window.requestAnimationFrame(resolve)\n }\n }\n }\n\n const eventPool = useRef({\n validator: null,\n onBlurValidator: null,\n onChangeContext: null,\n onChangeLocal: null,\n })\n\n const addToPool = useCallback(\n (name: keyof typeof eventPool.current, fn, runAsync) => {\n if (!eventPool.current[name]) {\n eventPool.current[name] = { fn, runAsync }\n }\n },\n []\n )\n\n const runPool = useCallback(async (cb = null) => {\n for (const key in eventPool.current) {\n if (!eventPool.current[key] || eventPool.current[key].pending) {\n continue\n }\n\n const { fn, runAsync } = eventPool.current[key] || {}\n if (fn) {\n eventPool.current[key].pending = true\n eventPool.current[key] = null\n\n if (runAsync) {\n await fn()\n } else {\n fn()\n }\n }\n }\n\n // use a callback in order to avoid any async/await,\n // because it will delay the execution of the following code\n cb?.()\n }, [])\n\n const fieldStateRef = useRef<SubmitStateWithValidating>()\n const setFieldState = useCallback(\n (state: SubmitStateWithValidating) => {\n fieldStateRef.current = state\n setFieldStateDataContext(identifier, resolveValidatingState(state))\n if (!validateInitially) {\n forceUpdate()\n }\n },\n [setFieldStateDataContext, identifier, validateInitially]\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n showFieldErrorFieldBlock?.(identifier, true)\n }, [showFieldErrorFieldBlock, identifier])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n showFieldErrorFieldBlock?.(identifier, false)\n }, [showFieldErrorFieldBlock, identifier])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n error.message = messageWithValues\n\n return error\n }\n\n return error\n },\n []\n )\n\n contextErrorRef.current = useMemo(() => {\n if (!dataContextError) {\n return undefined\n }\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n return error\n }\n }, [dataContextError, prepareError])\n\n const error =\n showErrorRef.current ||\n // If the error is a type error, we want to show it even if the field as not been used\n localErrorRef.current?.['validationRule'] === 'type'\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasVisibleError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n const hasError = useCallback(() => {\n return Boolean(\n errorProp ?? localErrorRef.current ?? contextErrorRef.current\n )\n }, [errorProp])\n\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: translation.Field.errorRequired,\n ...errorMessages,\n }\n }, [errorMessages, translation.Field.errorRequired])\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (\n method: PersistErrorStateMethod,\n errorArg: Error | FormError | undefined = undefined\n ) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n if (method === 'wipe') {\n errorMethodRef.current = {}\n } else {\n errorMethodRef.current[method] = error\n }\n\n if (\n !error &&\n method === 'gracefully' &&\n Object.keys(errorMethodRef.current).filter(Boolean).length > 0\n ) {\n // If the error is removed, we need to check if there are other errors that still should be shown\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n setFieldErrorDataContext?.(identifier, error)\n setFieldError?.(identifier, error)\n\n // Set the visual states\n setFieldStateDataContext?.(identifier, error ? 'error' : undefined)\n setFieldStateFieldBlock?.({\n stateId,\n identifier,\n type: 'error',\n content: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n prepareError,\n setFieldErrorDataContext,\n identifier,\n setFieldError,\n setFieldStateDataContext,\n setFieldStateFieldBlock,\n stateId,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(() => {\n persistErrorState('wipe')\n hasLocalErrorRef.current = false\n }, [persistErrorState])\n\n const callValidator = useCallback(async () => {\n if (typeof validatorRef.current !== 'function') {\n return\n }\n\n const runAsync = isAsync(validatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('validator')\n setFieldState('validating')\n hideError()\n }\n\n const opts = {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n }\n\n const tmpValue = valueRef.current\n\n // Run async regardless to support Promise based validators\n const result = await validatorRef.current(valueRef.current, opts)\n\n const unchangedValue = tmpValue === valueRef.current\n\n // Don't show the error if the value has changed in the meantime\n if (unchangedValue) {\n persistErrorState('gracefully', result as Error)\n\n // Because its a better UX to show the error when the validation is async/delayed\n if (continuousValidation || runAsync) {\n // Because we first need to throw the error to be able to display it, we delay the showError call\n window.requestAnimationFrame(() => {\n showError()\n forceUpdate()\n })\n }\n }\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n\n if (unchangedValue) {\n setFieldState(result instanceof Error ? 'error' : 'complete')\n } else {\n setFieldState('pending')\n }\n }\n\n return result\n }, [\n contextErrorMessages,\n continuousValidation,\n hideError,\n persistErrorState,\n defineAsyncProcess,\n setFieldState,\n showError,\n ])\n\n const callOnBlurValidator = useCallback(\n async ({ valueOverride = null } = {}) => {\n if (typeof onBlurValidatorRef.current !== 'function') {\n return\n }\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n\n const runAsync = isAsync(onBlurValidatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('onBlurValidator')\n setFieldState('validating')\n }\n\n // Run async regardless to support Promise based validators\n const result = await onBlurValidatorRef.current(value)\n\n persistErrorState('gracefully', result as Error)\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n setFieldState(result instanceof Error ? 'error' : 'complete')\n }\n\n showError()\n forceUpdate()\n },\n [persistErrorState, defineAsyncProcess, setFieldState, showError]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n setFieldState(undefined)\n return // stop here\n }\n\n const value = valueRef.current\n changeEventResultRef.current = null\n validatedValue.current = null\n\n try {\n // Validate required\n const requiredError = transformers.current.validateRequired(value, {\n emptyValue,\n required: requiredProp,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n })\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n value !== undefined &&\n !schemaValidatorRef.current(value)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors,\n valueRef.current\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (\n validatorRef.current &&\n (changedRef.current || validateInitially)\n ) {\n const result = await callValidator()\n\n if (result instanceof Error) {\n throw result\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n\n validatedValue.current = value\n } catch (error: unknown) {\n if (isProcessActive()) {\n hasLocalErrorRef.current = true\n persistErrorState('weak', error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n setFieldState,\n clearErrorState,\n emptyValue,\n requiredProp,\n validateInitially,\n callValidator,\n persistErrorState,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n async (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n addToPool(\n 'onBlurValidator',\n async () => await callOnBlurValidator({ valueOverride }),\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool(() => {\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n })\n }\n },\n [\n addToPool,\n callOnBlurValidator,\n onBlur,\n onFocus,\n runPool,\n showError,\n validateUnchanged,\n ]\n )\n\n // Await an async operation to run after criteria are fulfilled\n const yieldAsyncProcess = useCallback(\n async ({\n name,\n waitFor,\n }: {\n name: 'onChangeLocal' | 'onChangeContext' | 'onSubmitContext'\n waitFor: Array<{\n processName?: AsyncProcesses\n withStates: Array<SubmitStateWithValidating>\n withValue?: Value\n }>\n }) => {\n return new Promise<void>((resolve) => {\n const validateProcesses = () => {\n const result = waitFor.some(\n ({ processName, withStates, withValue }) => {\n const hasMatchingValue =\n // If the value has changed during the async process, we don't want to resolve anymore\n withValue === validatedValue.current\n\n const result =\n (typeof withValue === 'undefined'\n ? false\n : !hasMatchingValue) ||\n ((processName\n ? processName === asyncProcessRef.current\n : true) &&\n withStates?.some((state) => {\n return state === fieldStateRef.current\n }))\n\n return result\n }\n )\n\n return result\n }\n\n if (validateProcesses() === true) {\n asyncBufferRef.current[name] = { resolve, validateProcesses }\n } else {\n resolve()\n setFieldState('pending')\n }\n })\n },\n [setFieldState]\n )\n\n const handleChangeEventResult = useCallback(async () => {\n const result: EventStateObjectWithSuccess =\n changeEventResultRef.current\n\n if (typeof result?.error !== 'undefined') {\n persistErrorState('gracefully', result.error)\n showError()\n }\n if (typeof result?.warning !== 'undefined') {\n warningRef.current = result.warning\n }\n if (typeof result?.info !== 'undefined') {\n infoRef.current = result.info\n }\n\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onSubmitContext',\n waitFor: [{ withStates: ['validating'] }],\n })\n }\n\n defineAsyncProcess(undefined)\n\n if (result?.success === 'saved') {\n setFieldState('success')\n } else if (result?.error) {\n setFieldState('error')\n } else if (asyncBehaviorIsEnabled) {\n setFieldState('complete')\n }\n }, [\n asyncBehaviorIsEnabled,\n defineAsyncProcess,\n persistErrorState,\n setFieldState,\n showError,\n yieldAsyncProcess,\n ])\n\n const setEventResult = useCallback(\n (result: EventReturnWithStateObjectAndSuccess) => {\n if (result instanceof Error) {\n result = { error: result }\n }\n changeEventResultRef.current = {\n ...changeEventResultRef.current,\n ...result,\n } as EventStateObjectWithSuccess\n\n handleChangeEventResult()\n },\n [handleChangeEventResult]\n )\n\n const callOnChangeContext = useCallback(async () => {\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onChangeContext',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n ],\n })\n }\n\n if (path) {\n if (isAsync(onChangeContext)) {\n defineAsyncProcess('onChangeContext')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n setEventResult(\n (await handlePathChangeDataContext?.(\n path\n )) as EventReturnWithStateObjectAndSuccess\n )\n } else {\n setEventResult(null)\n }\n } else {\n setEventResult(\n handlePathChangeDataContext?.(\n path\n ) as EventReturnWithStateObjectAndSuccess\n )\n }\n }\n\n forceUpdate()\n }, [\n asyncBehaviorIsEnabled,\n path,\n hasError,\n yieldAsyncProcess,\n onChangeContext,\n defineAsyncProcess,\n setEventResult,\n handlePathChangeDataContext,\n ])\n\n const updateValue = useCallback(\n async (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n handlePathChangeUnvalidatedDataContext(path, newValue)\n\n addToPool('validator', validateValue, isAsync(validatorRef.current))\n\n addToPool(\n 'onChangeContext',\n callOnChangeContext,\n isAsync(onChangeContext)\n )\n\n await runPool(() => {\n handleError()\n })\n },\n [\n handlePathChangeUnvalidatedDataContext,\n path,\n addToPool,\n validateValue,\n callOnChangeContext,\n onChangeContext,\n runPool,\n handleError,\n ]\n )\n\n const handleChange = useCallback(\n async (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n const fromInput = transformers.current.fromInput(argFromInput)\n\n if (fromInput === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n const transformedValue = transformers.current.transformOut(\n transformers.current.transformValue(fromInput, currentValue)\n )\n\n // Must be set before validation\n changedRef.current = true\n\n // Run in sync, before any async operations to avoid lag in UX\n if (itemPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n handleChangeIterateContext?.(iterateValuePath, transformedValue)\n }\n\n if (asyncBehaviorIsEnabled) {\n hideError()\n await updateValue(transformedValue)\n } else {\n updateValue(transformedValue)\n }\n\n const getArgs = (): [Value] | [Value, AdditionalEventArgs] => {\n const value = transformers.current.toEvent(\n valueRef.current,\n 'onChange'\n )\n\n return typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n }\n\n if (isAsync(onChange)) {\n addToPool(\n 'onChangeLocal',\n async () => {\n const args = getArgs()\n\n await yieldAsyncProcess({\n name: 'onChangeLocal',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onChangeContext',\n withStates: ['pending', 'error'],\n withValue: args[0],\n },\n ],\n })\n\n defineAsyncProcess('onChangeLocal')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n // If the value has changed during the async process, we don't want to call the onChange anymore\n setEventResult(await onChange?.apply(this, args))\n } else {\n setEventResult(null)\n }\n },\n true\n )\n } else {\n setEventResult(onChange?.apply(this, getArgs()))\n }\n\n await runPool()\n },\n [\n addToPool,\n asyncBehaviorIsEnabled,\n handleChangeIterateContext,\n hasError,\n hideError,\n itemPath,\n iterateElementIndex,\n onChange,\n runPool,\n defineAsyncProcess,\n setEventResult,\n updateValue,\n yieldAsyncProcess,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n // Put props into the surrounding data context as early as possible\n setPropsDataContext?.(identifier, props)\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n setFieldErrorDataContext?.(identifier, undefined)\n setFieldError?.(identifier, undefined)\n localErrorRef.current = undefined\n })\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n if (valueRef.current !== externalValue) {\n valueRef.current = externalValue\n validateValue()\n }\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n // Check against the local error state,\n // so we prioritize the local error state over the context error state\n if (!hasLocalErrorRef.current) {\n const error = prepareError(dataContextError)\n if (error) {\n persistErrorState('weak', error)\n if (validateInitially) {\n handleError()\n }\n } else {\n clearErrorState()\n }\n }\n }, [\n clearErrorState,\n dataContextError,\n handleError,\n persistErrorState,\n prepareError,\n validateInitially,\n ])\n\n useEffect(() => {\n if (path) {\n let value = props.value\n\n // First, look for existing data in the context\n const hasValue = pointer.has(dataContext.data, path)\n const existingValue = hasValue\n ? pointer.get(dataContext.data, path)\n : undefined\n\n // If no data where found in the dataContext, look for shared data\n if (\n dataContext.id &&\n !hasValue &&\n typeof existingValue === 'undefined' &&\n typeof value === 'undefined'\n ) {\n const sharedState = createSharedState(dataContext.id)\n const hasValue = pointer.has(sharedState.data, path)\n if (hasValue) {\n const sharedValue = pointer.get(sharedState.data, path)\n if (sharedValue) {\n value = sharedValue\n }\n }\n }\n\n if (\n !hasValue ||\n (value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n updateDataValueDataContext?.(path, value)\n validateDataDataContext?.()\n }\n }\n }, [\n dataContext.data,\n dataContext.id,\n path,\n props.value,\n updateDataValueDataContext,\n validateDataDataContext,\n ])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // In case of async validation, we don't want to show existing errors before the validation has been completed\n if (fieldStateRef.current !== 'validating') {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (\n dataContext.formState === 'pending' &&\n (validatorRef.current || onBlurValidatorRef.current)\n ) {\n hideError()\n forceUpdate()\n }\n }, [dataContext.formState, hideError])\n\n const onSubmitHandler = useCallback(async () => {\n if (hasError()) {\n return // stop here\n }\n\n addToPool('validator', callValidator, isAsync(validatorRef.current))\n addToPool(\n 'onBlurValidator',\n callOnBlurValidator,\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool()\n }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool])\n\n // Validate/call validator functions during submit of the form\n useMountEffect(() => {\n dataContext?.setFieldEventListener?.(\n identifier,\n 'onSubmit',\n onSubmitHandler\n )\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'error',\n content: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'warning',\n content: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'info',\n content: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n }\n }\n })\n\n const infoRef = useRef<React.ReactNode>(info)\n const warningRef = useRef<React.ReactNode>(warning)\n useUpdateEffect(() => {\n infoRef.current = info\n warningRef.current = warning\n forceUpdate()\n }, [info, warning])\n\n // - Handle htmlAttributes\n const htmlAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>(\n (acc, cur) => {\n if (cur.startsWith('aria-') || cur.startsWith('data-')) {\n acc[cur] = props[cur]\n }\n return acc\n },\n { ...props.htmlAttributes }\n )\n }, [props])\n\n if (error) {\n htmlAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n htmlAttributes['aria-required'] = 'true'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n const ids = [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n\n if (ids.length) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n ids\n )\n }\n }\n\n const fieldBlockProps = {\n /** Documented APIs */\n info: !inFieldBlock ? infoRef.current : undefined,\n warning: !inFieldBlock ? warningRef.current : undefined,\n error: !inFieldBlock ? error : undefined,\n\n /** HTML Attributes */\n disabled:\n onBlurValidator &&\n asyncProcessRef.current === 'onBlurValidator' &&\n fieldStateRef.current === 'validating'\n ? true\n : disabled,\n\n /** Internal */\n fieldState: resolveValidatingState(fieldStateRef.current),\n }\n\n const sharedData = useSharedState(id)\n sharedData.set(fieldBlockProps)\n\n return {\n ...props,\n ...fieldBlockProps,\n\n /** HTML Attributes */\n name: props.name || props.path?.replace('/', '') || id,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : undefined),\n\n /** Documented APIs */\n id,\n value: transformers.current.transformIn(\n transformers.current.toInput(valueRef.current)\n ),\n hasError: hasVisibleError,\n isChanged: changedRef.current,\n htmlAttributes,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n\n /** Internal */\n dataContext,\n }\n}\n\nexport interface ReturnAdditional<Value> {\n /** Documented APIs */\n value: Value\n isChanged: boolean\n htmlAttributes: AriaAttributes | DataAttributes\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => void\n updateValue: (value: Value) => void\n forceUpdate: () => void\n hasError?: boolean\n\n /** Internal */\n dataContext: ContextState\n fieldState: SubmitState\n}\n\nfunction resolveValidatingState(state: SubmitStateWithValidating) {\n return state === 'validating' ? 'pending' : state\n}\n\nexport function useExternalValue<Value>({\n path,\n itemPath,\n props,\n transformers,\n emptyValue = undefined,\n}: {\n path?: Path\n itemPath?: Path\n props: FieldProps<Value>\n transformers: React.MutableRefObject<{\n fromExternal: FieldProps<Value>['fromExternal']\n }>\n emptyValue?: FieldProps<Value>['emptyValue']\n}) {\n const dataContext = useContext(DataContext)\n const iterateElementContext = useContext(IterateElementContext)\n const inIterate = Boolean(iterateElementContext)\n const { value: iterateElementValue } = iterateElementContext ?? {}\n\n return useMemo(() => {\n if (props.value !== emptyValue) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return transformers.current.fromExternal(props.value)\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, itemPath)\n ? pointer.get(iterateElementValue, itemPath)\n : emptyValue\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : emptyValue\n }\n\n return emptyValue\n }, [\n props.value,\n emptyValue,\n inIterate,\n itemPath,\n dataContext.data,\n path,\n transformers,\n iterateElementValue,\n ])\n}\n"],"mappings":"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"}
|
|
@@ -233,9 +233,6 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
233
233
|
margin-left: 0;
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
-
.dnb-forms-field-block {
|
|
237
|
-
width: 100%;
|
|
238
|
-
}
|
|
239
236
|
.dnb-forms-field-block__grid {
|
|
240
237
|
display: grid;
|
|
241
238
|
}
|
|
@@ -257,6 +254,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
257
254
|
grid-template-areas: "label contents" "status status";
|
|
258
255
|
}
|
|
259
256
|
.dnb-forms-field-block--width-stretch {
|
|
257
|
+
width: 100%;
|
|
260
258
|
flex-grow: 1;
|
|
261
259
|
}
|
|
262
260
|
@media screen and (min-width: 25em) {
|
|
@@ -511,7 +509,6 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
511
509
|
}
|
|
512
510
|
.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing] {
|
|
513
511
|
border-radius: 0.375rem;
|
|
514
|
-
box-shadow: inset 0 0 0 2px var(--block-outline-color);
|
|
515
512
|
}
|
|
516
513
|
.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small {
|
|
517
514
|
--space: var(--spacing-small);
|
|
@@ -522,6 +519,9 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
522
519
|
.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large {
|
|
523
520
|
--space: var(--spacing-large);
|
|
524
521
|
}
|
|
522
|
+
.dnb-forms-iterate-block--variant-outline .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing] {
|
|
523
|
+
box-shadow: inset 0 0 0 2px var(--block-outline-color);
|
|
524
|
+
}
|
|
525
525
|
.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd {
|
|
526
526
|
margin-bottom: 0;
|
|
527
527
|
}
|
|
@@ -657,7 +657,6 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
657
657
|
outline: none;
|
|
658
658
|
}
|
|
659
659
|
.dnb-forms-wizard-layout__contents .dnb-card {
|
|
660
|
-
--border-color: var(--color-pistachio);
|
|
661
660
|
max-width: var(--forms-card-max-width);
|
|
662
661
|
}
|
|
663
662
|
.dnb-forms-wizard-layout__contents .dnb-forms-step > .appear-fx,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--spacing-x-small)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block{width:100%}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-iterate-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-iterate-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-iterate-block__inner{flex:1;margin-bottom:var(--space);padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem;box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner{transform:translateY(-.5rem)}.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner{transform:translateY(0)}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}.dnb-forms-summary-list.dnb-dl .dnb-dt,.dnb-forms-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{--border-color:var(--color-pistachio);max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
|
|
1
|
+
@charset "UTF-8";.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--spacing-x-small)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1;width:100%}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-iterate-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-iterate-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-iterate-block__inner{flex:1;margin-bottom:var(--space);padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-iterate-block--variant-outline .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner{transform:translateY(-.5rem)}.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner{transform:translateY(0)}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}.dnb-forms-summary-list.dnb-dl .dnb-dt,.dnb-forms-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
|
|
@@ -97,6 +97,11 @@ export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown
|
|
|
97
97
|
disabled?: boolean;
|
|
98
98
|
readOnly?: boolean;
|
|
99
99
|
autoComplete?: HTMLInputElement['autocomplete'] | HTMLTextAreaElement['autocomplete'];
|
|
100
|
+
/**
|
|
101
|
+
* NB: Undocumented for now.
|
|
102
|
+
* Forwards all possible props to the underlying component.
|
|
103
|
+
*/
|
|
104
|
+
htmlAttributes?: Record<string, unknown>;
|
|
100
105
|
info?: React.ReactNode;
|
|
101
106
|
warning?: React.ReactNode;
|
|
102
107
|
error?: Error | FormError;
|
|
@@ -159,6 +164,10 @@ export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown
|
|
|
159
164
|
* Transforms the given props `value` before any other step gets entered.
|
|
160
165
|
*/
|
|
161
166
|
fromExternal?: (external: Value) => Value;
|
|
167
|
+
/**
|
|
168
|
+
* For internal use only.
|
|
169
|
+
*/
|
|
170
|
+
valueType?: string | number | boolean | Array<string | number | boolean>;
|
|
162
171
|
}
|
|
163
172
|
export type FieldProps<Value = unknown, EmptyValue = undefined | unknown, ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps;
|
|
164
173
|
export interface FieldHelpProps {
|