@dnb/eufemia 10.50.0 → 10.51.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 +37 -0
- package/cjs/components/accordion/style/dnb-accordion.css +3 -3
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/button/Button.d.ts +2 -2
- package/cjs/components/card/style/dnb-card.css +1 -1
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +13 -4
- package/cjs/components/drawer/style/dnb-drawer.css +3 -3
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/form-row/style/dnb-form-row.css +1 -1
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +1 -1
- package/cjs/components/grid/style/dnb-grid.css +6 -6
- package/cjs/components/grid/style/dnb-grid.min.css +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +14 -28
- package/cjs/components/number-format/NumberFormat.js +6 -2
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/cjs/components/number-format/NumberFormatDocs.js +161 -0
- package/cjs/components/number-format/NumberFormatDocs.js.map +1 -0
- package/cjs/components/number-format/NumberUtils.d.ts +21 -1
- package/cjs/components/number-format/NumberUtils.js +33 -8
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/pagination/Pagination.d.ts +1 -1
- package/cjs/components/section/style/dnb-section.css +2 -2
- package/cjs/components/section/style/dnb-section.min.css +2 -2
- package/cjs/components/space/style/dnb-space.css +2 -2
- package/cjs/components/space/style/dnb-space.min.css +1 -1
- package/cjs/components/switch/Switch.d.ts +100 -91
- package/cjs/components/switch/Switch.js +167 -239
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/switch/SwitchDocs.d.ts +3 -0
- package/cjs/components/switch/SwitchDocs.js +93 -0
- package/cjs/components/switch/SwitchDocs.js.map +1 -0
- package/cjs/components/tabs/style/dnb-tabs.css +1 -0
- package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
- package/cjs/components/tabs/style/dnb-tabs.scss +1 -0
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/extensions/forms/DataContext/At/At.js +1 -1
- package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +105 -60
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/cjs/extensions/forms/Field/Date/Date.js +20 -4
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → cjs/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/cjs/extensions/forms/Field/Date/DateDocs.js +20 -0
- package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{es/extensions/forms/Form/FieldProps/FieldProps.d.ts → cjs/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/cjs/extensions/forms/Field/Provider/FieldProvider.js +33 -0
- package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.d.ts → Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.js → Field/Provider/FieldProviderContext.js} +3 -3
- package/cjs/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsDocs.js → Field/Provider/FieldProviderDocs.js} +4 -4
- package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/cjs/extensions/forms/{Form/FieldProps → Field/Provider}/index.js +5 -5
- package/cjs/extensions/forms/Field/Provider/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -34
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.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 +12 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js +4 -4
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/cjs/extensions/forms/Form/Section/Section.js +2 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +153 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +30 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.js +27 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/cjs/extensions/forms/Form/data-context/useData.js +13 -15
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{es/extensions/forms/Form/data-context/useError.d.ts → cjs/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/cjs/extensions/forms/Form/data-context/useValidation.js +60 -0
- package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +13 -2
- package/cjs/extensions/forms/Form/index.js +19 -9
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +4 -12
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Count/Count.js +1 -1
- package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.js +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js +28 -0
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Date/Date.js +25 -16
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Number/NumberDocs.js +9 -2
- package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/cjs/extensions/forms/Value/Provider/ValueProvider.js +27 -0
- package/cjs/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js +15 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js +23 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Provider/index.js +27 -0
- package/cjs/extensions/forms/Value/Provider/index.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.js +50 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +37 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/index.d.ts +3 -2
- package/cjs/extensions/forms/Value/index.js +9 -2
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +2 -2
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +111 -56
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.js +7 -4
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +7 -2
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +10 -21
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +7 -3
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.d.ts +2 -1
- package/cjs/extensions/forms/utils/ajv.js +1 -1
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/extensions/forms/utils/index.d.ts +1 -0
- package/cjs/extensions/forms/utils/index.js +12 -0
- package/cjs/extensions/forms/utils/index.js.map +1 -1
- package/cjs/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/cjs/extensions/forms/utils/json-pointer/export.js +17 -0
- package/cjs/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +139 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/cjs/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/cjs/extensions/forms/utils/json-pointer.js +24 -0
- package/cjs/extensions/forms/utils/json-pointer.js.map +1 -0
- package/cjs/shared/Context.d.ts +2 -0
- package/cjs/shared/Context.js +1 -1
- package/cjs/shared/Context.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/MediaQueryUtils.d.ts +0 -1
- package/cjs/shared/MediaQueryUtils.js +17 -14
- package/cjs/shared/MediaQueryUtils.js.map +1 -1
- package/cjs/shared/helpers/extendPropsWithContext.js +3 -3
- package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/core/utilities.scss +10 -5
- package/cjs/style/dnb-ui-basis.css +1 -1
- 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 +35 -45
- package/cjs/style/dnb-ui-components.min.css +5 -5
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +1 -1
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +10 -21
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +10 -21
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +0 -1
- package/cjs/style/dnb-ui-fragments.css +2 -2
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/style/dnb-accordion.css +3 -3
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/button/Button.d.ts +2 -2
- package/components/card/style/dnb-card.css +1 -1
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/date-picker/DatePicker.d.ts +13 -4
- package/components/drawer/style/dnb-drawer.css +3 -3
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/dropdown/style/dnb-dropdown.css +1 -1
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/form-row/style/dnb-form-row.css +1 -1
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/form-status/FormStatus.d.ts +1 -1
- package/components/grid/style/dnb-grid.css +6 -6
- package/components/grid/style/dnb-grid.min.css +1 -1
- package/components/input-masked/InputMasked.d.ts +1 -1
- package/components/input-masked/InputMaskedDocs.js +1 -1
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +14 -28
- package/components/number-format/NumberFormat.js +6 -2
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/components/number-format/NumberFormatDocs.js +153 -0
- package/components/number-format/NumberFormatDocs.js.map +1 -0
- package/components/number-format/NumberUtils.d.ts +21 -1
- package/components/number-format/NumberUtils.js +32 -8
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/pagination/Pagination.d.ts +1 -1
- package/components/section/style/dnb-section.css +2 -2
- package/components/section/style/dnb-section.min.css +2 -2
- package/components/space/style/dnb-space.css +2 -2
- package/components/space/style/dnb-space.min.css +1 -1
- package/components/switch/Switch.d.ts +100 -91
- package/components/switch/Switch.js +165 -238
- package/components/switch/Switch.js.map +1 -1
- package/components/switch/SwitchDocs.d.ts +3 -0
- package/components/switch/SwitchDocs.js +85 -0
- package/components/switch/SwitchDocs.js.map +1 -0
- package/components/tabs/style/dnb-tabs.css +1 -0
- package/components/tabs/style/dnb-tabs.min.css +1 -1
- package/components/tabs/style/dnb-tabs.scss +1 -0
- package/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/accordion/style/dnb-accordion.css +3 -3
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/button/Button.d.ts +2 -2
- package/es/components/card/style/dnb-card.css +1 -1
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/date-picker/DatePicker.d.ts +13 -4
- package/es/components/drawer/style/dnb-drawer.css +3 -3
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/form-row/style/dnb-form-row.css +1 -1
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/form-status/FormStatus.d.ts +1 -1
- package/es/components/grid/style/dnb-grid.css +6 -6
- package/es/components/grid/style/dnb-grid.min.css +1 -1
- package/es/components/input-masked/InputMasked.d.ts +1 -1
- package/es/components/input-masked/InputMaskedDocs.js +1 -1
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +14 -28
- package/es/components/number-format/NumberFormat.js +6 -2
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/es/components/number-format/NumberFormatDocs.js +150 -0
- package/es/components/number-format/NumberFormatDocs.js.map +1 -0
- package/es/components/number-format/NumberUtils.d.ts +21 -1
- package/es/components/number-format/NumberUtils.js +31 -7
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/pagination/Pagination.d.ts +1 -1
- package/es/components/section/style/dnb-section.css +2 -2
- package/es/components/section/style/dnb-section.min.css +2 -2
- package/es/components/space/style/dnb-space.css +2 -2
- package/es/components/space/style/dnb-space.min.css +1 -1
- package/es/components/switch/Switch.d.ts +100 -91
- package/es/components/switch/Switch.js +164 -238
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/switch/SwitchDocs.d.ts +3 -0
- package/es/components/switch/SwitchDocs.js +85 -0
- package/es/components/switch/SwitchDocs.js.map +1 -0
- package/es/components/tabs/style/dnb-tabs.css +1 -0
- package/es/components/tabs/style/dnb-tabs.min.css +1 -1
- package/es/components/tabs/style/dnb-tabs.scss +1 -0
- package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/extensions/forms/DataContext/At/At.js +1 -1
- package/es/extensions/forms/DataContext/At/At.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +20 -9
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +100 -58
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/es/extensions/forms/Field/Date/Date.js +20 -4
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → es/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/es/extensions/forms/Field/Date/DateDocs.js +13 -0
- package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{extensions/forms/Form/FieldProps/FieldProps.d.ts → es/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/es/extensions/forms/Field/Provider/FieldProvider.js +24 -0
- package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/{extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → es/extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/es/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
- package/es/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/es/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/{extensions/forms/Form/FieldProps/FieldPropsDocs.js → es/extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
- package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/es/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/es/extensions/forms/Field/Provider/index.js +3 -0
- package/es/extensions/forms/Field/Provider/index.js.map +1 -0
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/es/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
- package/es/extensions/forms/Field/Provider/useFieldProvider.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 +12 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/Element/Element.js +4 -4
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/es/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/es/extensions/forms/Form/Section/Section.js +1 -1
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +140 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/getData.js +1 -1
- package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/es/extensions/forms/Form/data-context/useData.js +13 -15
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{extensions/forms/Form/data-context/useError.d.ts → es/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/es/extensions/forms/Form/data-context/useValidation.js +52 -0
- package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +13 -2
- package/es/extensions/forms/Form/index.js +5 -2
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +4 -12
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Count/Count.js +1 -1
- package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/es/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/es/extensions/forms/Tools/ListAllProps.js +1 -1
- package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/es/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
- package/es/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/es/extensions/forms/Value/Date/Date.js +25 -16
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Number/NumberDocs.js +7 -2
- package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/es/extensions/forms/Value/Provider/ValueProvider.js +18 -0
- package/es/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/es/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/es/extensions/forms/Value/Provider/index.js +3 -0
- package/es/extensions/forms/Value/Provider/index.js.map +1 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.js +40 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/es/extensions/forms/Value/index.d.ts +3 -2
- package/es/extensions/forms/Value/index.js +3 -2
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +2 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/es/extensions/forms/hooks/useDataValue.js +1 -1
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/es/extensions/forms/hooks/useFieldProps.js +111 -56
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.js +7 -4
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +7 -2
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +10 -21
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +7 -3
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/ajv.d.ts +2 -1
- package/es/extensions/forms/utils/ajv.js +1 -1
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/extensions/forms/utils/index.d.ts +1 -0
- package/es/extensions/forms/utils/index.js +1 -0
- package/es/extensions/forms/utils/index.js.map +1 -1
- package/es/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/es/extensions/forms/utils/json-pointer/export.js +1 -0
- package/es/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.js +122 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/es/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/es/extensions/forms/utils/json-pointer.js +4 -0
- package/es/extensions/forms/utils/json-pointer.js.map +1 -0
- package/es/shared/Context.d.ts +2 -0
- package/es/shared/Context.js +1 -1
- package/es/shared/Context.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/MediaQueryUtils.d.ts +0 -1
- package/es/shared/MediaQueryUtils.js +17 -14
- package/es/shared/MediaQueryUtils.js.map +1 -1
- package/es/shared/helpers/extendPropsWithContext.js +3 -3
- package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/core/utilities.scss +10 -5
- package/es/style/dnb-ui-basis.css +1 -1
- 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 +35 -45
- package/es/style/dnb-ui-components.min.css +5 -5
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +1 -1
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +10 -21
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +10 -21
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +0 -1
- package/es/style/dnb-ui-fragments.css +2 -2
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- 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 +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At/At.js +1 -1
- package/extensions/forms/DataContext/At/At.js.map +1 -1
- package/extensions/forms/DataContext/Context.d.ts +20 -9
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +104 -59
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/extensions/forms/Field/Date/Date.js +20 -4
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/extensions/forms/Field/Date/DateDocs.js +13 -0
- package/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts → extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/extensions/forms/Field/Provider/FieldProvider.js +24 -0
- package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/{es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
- package/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.js → extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
- package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/extensions/forms/Field/Provider/index.js +3 -0
- package/extensions/forms/Field/Provider/index.js.map +1 -0
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
- package/extensions/forms/Field/Provider/useFieldProvider.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 +12 -1
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/Element/Element.js +4 -4
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/extensions/forms/Form/Section/Section.js +1 -1
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +142 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
- package/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Form/data-context/getData.js +1 -1
- package/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/extensions/forms/Form/data-context/useData.js +13 -15
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{cjs/extensions/forms/Form/data-context/useError.d.ts → extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/extensions/forms/Form/data-context/useValidation.js +54 -0
- package/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +13 -2
- package/extensions/forms/Form/index.js +5 -2
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +4 -12
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Count/Count.js +1 -1
- package/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/extensions/forms/Tools/ListAllProps.js +1 -1
- package/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
- package/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/extensions/forms/Value/Date/Date.js +25 -16
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Number/NumberDocs.js +7 -2
- package/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/extensions/forms/Value/Provider/ValueProvider.js +18 -0
- package/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/extensions/forms/Value/Provider/index.js +3 -0
- package/extensions/forms/Value/Provider/index.js.map +1 -0
- package/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/extensions/forms/Value/Provider/useValueProvider.js +40 -0
- package/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/extensions/forms/Value/index.d.ts +3 -2
- package/extensions/forms/Value/index.js +3 -2
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.js +2 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/extensions/forms/hooks/useDataValue.js +1 -1
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useExternalValue.js +1 -1
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/extensions/forms/hooks/useFieldProps.js +111 -56
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.js +7 -4
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/extensions/forms/hooks/useValueProps.js +7 -2
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +10 -21
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +7 -3
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/ajv.d.ts +2 -1
- package/extensions/forms/utils/ajv.js +1 -1
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/extensions/forms/utils/index.d.ts +1 -0
- package/extensions/forms/utils/index.js +1 -0
- package/extensions/forms/utils/index.js.map +1 -1
- package/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/extensions/forms/utils/json-pointer/export.js +1 -0
- package/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/extensions/forms/utils/json-pointer/json-pointer.js +124 -0
- package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/extensions/forms/utils/json-pointer.js +4 -0
- package/extensions/forms/utils/json-pointer.js.map +1 -0
- package/package.json +1 -2
- package/shared/Context.d.ts +2 -0
- package/shared/Context.js +1 -1
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/MediaQueryUtils.d.ts +0 -1
- package/shared/MediaQueryUtils.js +17 -14
- package/shared/MediaQueryUtils.js.map +1 -1
- package/shared/helpers/extendPropsWithContext.js +3 -3
- package/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/core/utilities.scss +10 -5
- package/style/dnb-ui-basis.css +1 -1
- 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 +35 -45
- package/style/dnb-ui-components.min.css +5 -5
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +1 -1
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +10 -21
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +10 -21
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +0 -1
- package/style/dnb-ui-fragments.css +2 -2
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- 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 +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/cjs/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/cjs/extensions/forms/Form/data-context/useError.js +0 -33
- package/cjs/extensions/forms/Form/data-context/useError.js.map +0 -1
- package/es/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/es/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/es/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/es/extensions/forms/Form/FieldProps/index.js +0 -3
- package/es/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/es/extensions/forms/Form/data-context/useError.js +0 -26
- package/es/extensions/forms/Form/data-context/useError.js.map +0 -1
- package/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/extensions/forms/Form/FieldProps/index.js +0 -3
- package/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/extensions/forms/Form/data-context/useError.js +0 -27
- package/extensions/forms/Form/data-context/useError.js.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ValueProps } from '../types';
|
|
2
2
|
export type Props<Value> = ValueProps<Value>;
|
|
3
|
-
export default function useValueProps<Value = unknown, Props extends ValueProps<Value> = ValueProps<Value>>(
|
|
3
|
+
export default function useValueProps<Value = unknown, Props extends ValueProps<Value> = ValueProps<Value>>(localeProps: Props): Props & ValueProps<Value>;
|
|
@@ -7,16 +7,21 @@ import { useCallback, useContext, useEffect, useReducer, useRef } from 'react';
|
|
|
7
7
|
import useExternalValue from './useExternalValue';
|
|
8
8
|
import usePath from './usePath';
|
|
9
9
|
import DataContext from '../DataContext/Context';
|
|
10
|
-
|
|
10
|
+
import ValueProviderContext from '../Value/Provider/ValueProviderContext';
|
|
11
|
+
export default function useValueProps(localeProps) {
|
|
11
12
|
var _useExternalValue, _props$label, _fieldPropsRef$curren, _fieldPropsRef$curren2;
|
|
12
13
|
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
14
|
+
const {
|
|
15
|
+
extend
|
|
16
|
+
} = useContext(ValueProviderContext);
|
|
17
|
+
const props = extend(localeProps);
|
|
13
18
|
const {
|
|
14
19
|
path: pathProp,
|
|
15
20
|
value: valueProp,
|
|
16
21
|
itemPath,
|
|
17
22
|
defaultValue,
|
|
18
|
-
inheritLabel,
|
|
19
23
|
inheritVisibility,
|
|
24
|
+
inheritLabel,
|
|
20
25
|
transformIn = value => value,
|
|
21
26
|
toInput = value => value,
|
|
22
27
|
fromExternal = value => value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useValueProps.js","names":["useCallback","useContext","useEffect","useReducer","useRef","useExternalValue","usePath","DataContext","useValueProps","
|
|
1
|
+
{"version":3,"file":"useValueProps.js","names":["useCallback","useContext","useEffect","useReducer","useRef","useExternalValue","usePath","DataContext","ValueProviderContext","useValueProps","localeProps","_useExternalValue","_props$label","_fieldPropsRef$curren","_fieldPropsRef$curren2","forceUpdate","extend","props","path","pathProp","value","valueProp","itemPath","defaultValue","inheritVisibility","inheritLabel","transformIn","toInput","fromExternal","transformers","externalValue","fieldPropsRef","mountedFieldsRef","setValueProps","setFieldEventListener","requestAnimationFrame","shouldBeVisible","_mountedFieldsRef$cur","item","current","isVisible","isPreMounted","wasStepChange","undefined","label","_objectSpread"],"sources":["../../../../../src/extensions/forms/hooks/useValueProps.ts"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport { Path, ValueProps } from '../types'\nimport useExternalValue from './useExternalValue'\nimport usePath from './usePath'\nimport DataContext from '../DataContext/Context'\nimport ValueProviderContext from '../Value/Provider/ValueProviderContext'\n\nexport type Props<Value> = ValueProps<Value>\n\nexport default function useValueProps<\n Value = unknown,\n Props extends ValueProps<Value> = ValueProps<Value>,\n>(localeProps: Props): Props & ValueProps<Value> {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const { extend } = useContext(ValueProviderContext)\n const props = extend(localeProps)\n\n const {\n path: pathProp,\n value: valueProp,\n itemPath,\n defaultValue,\n inheritVisibility,\n inheritLabel,\n transformIn = (value: Value) => value,\n toInput = (value: Value) => value,\n fromExternal = (value: Value) => value,\n } = props\n\n const transformers = useRef({\n transformIn,\n toInput,\n fromExternal,\n })\n\n const { path } = usePath({ path: pathProp, itemPath })\n\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value: valueProp,\n transformers,\n }) ?? defaultValue\n\n const {\n fieldPropsRef,\n mountedFieldsRef,\n setValueProps,\n setFieldEventListener,\n } = useContext(DataContext) || {}\n setValueProps?.(path, props)\n\n useEffect(() => {\n if (inheritLabel || inheritVisibility) {\n setFieldEventListener?.(path, 'onMount', () => {\n // This is needed to make values, rendered before the field, to get the correct visibility state\n requestAnimationFrame(forceUpdate)\n })\n }\n }, [setFieldEventListener, path, inheritVisibility, inheritLabel])\n\n const shouldBeVisible = useCallback(\n (path: Path): boolean => {\n const item = mountedFieldsRef?.current?.[path]\n\n if (!item || !inheritVisibility) {\n return true\n }\n\n return (\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true)\n )\n },\n [inheritVisibility, mountedFieldsRef]\n )\n\n const value = shouldBeVisible(path)\n ? transformIn(toInput(externalValue))\n : undefined\n\n const label =\n props.label ??\n (inheritLabel ? fieldPropsRef?.current?.[path]?.label : undefined)\n\n return { ...props, label, value }\n}\n"],"mappings":";;;;;AAAA,SACEA,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,MAAM,QACD,OAAO;AAEd,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,oBAAoB,MAAM,wCAAwC;AAIzE,eAAe,SAASC,aAAaA,CAGnCC,WAAkB,EAA6B;EAAA,IAAAC,iBAAA,EAAAC,YAAA,EAAAC,qBAAA,EAAAC,sBAAA;EAC/C,MAAM,GAAGC,WAAW,CAAC,GAAGZ,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAElD,MAAM;IAAEa;EAAO,CAAC,GAAGf,UAAU,CAACO,oBAAoB,CAAC;EACnD,MAAMS,KAAK,GAAGD,MAAM,CAACN,WAAW,CAAC;EAEjC,MAAM;IACJQ,IAAI,EAAEC,QAAQ;IACdC,KAAK,EAAEC,SAAS;IAChBC,QAAQ;IACRC,YAAY;IACZC,iBAAiB;IACjBC,YAAY;IACZC,WAAW,GAAIN,KAAY,IAAKA,KAAK;IACrCO,OAAO,GAAIP,KAAY,IAAKA,KAAK;IACjCQ,YAAY,GAAIR,KAAY,IAAKA;EACnC,CAAC,GAAGH,KAAK;EAET,MAAMY,YAAY,GAAGzB,MAAM,CAAC;IAC1BsB,WAAW;IACXC,OAAO;IACPC;EACF,CAAC,CAAC;EAEF,MAAM;IAAEV;EAAK,CAAC,GAAGZ,OAAO,CAAC;IAAEY,IAAI,EAAEC,QAAQ;IAAEG;EAAS,CAAC,CAAC;EAEtD,MAAMQ,aAAa,IAAAnB,iBAAA,GACjBN,gBAAgB,CAAQ;IACtBa,IAAI;IACJI,QAAQ;IACRF,KAAK,EAAEC,SAAS;IAChBQ;EACF,CAAC,CAAC,cAAAlB,iBAAA,cAAAA,iBAAA,GAAIY,YAAY;EAEpB,MAAM;IACJQ,aAAa;IACbC,gBAAgB;IAChBC,aAAa;IACbC;EACF,CAAC,GAAGjC,UAAU,CAACM,WAAW,CAAC,IAAI,CAAC,CAAC;EACjC0B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAGf,IAAI,EAAED,KAAK,CAAC;EAE5Bf,SAAS,CAAC,MAAM;IACd,IAAIuB,YAAY,IAAID,iBAAiB,EAAE;MACrCU,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAGhB,IAAI,EAAE,SAAS,EAAE,MAAM;QAE7CiB,qBAAqB,CAACpB,WAAW,CAAC;MACpC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACmB,qBAAqB,EAAEhB,IAAI,EAAEM,iBAAiB,EAAEC,YAAY,CAAC,CAAC;EAElE,MAAMW,eAAe,GAAGpC,WAAW,CAChCkB,IAAU,IAAc;IAAA,IAAAmB,qBAAA;IACvB,MAAMC,IAAI,GAAGN,gBAAgB,aAAhBA,gBAAgB,wBAAAK,qBAAA,GAAhBL,gBAAgB,CAAEO,OAAO,cAAAF,qBAAA,uBAAzBA,qBAAA,CAA4BnB,IAAI,CAAC;IAE9C,IAAI,CAACoB,IAAI,IAAI,CAACd,iBAAiB,EAAE;MAC/B,OAAO,IAAI;IACb;IAEA,OACEc,IAAI,CAACE,SAAS,KAAK,KAAK,KACvBF,IAAI,CAACG,YAAY,KAAK,KAAK,IAAIH,IAAI,CAACI,aAAa,KAAK,IAAI,CAAC;EAEhE,CAAC,EACD,CAAClB,iBAAiB,EAAEQ,gBAAgB,CACtC,CAAC;EAED,MAAMZ,KAAK,GAAGgB,eAAe,CAAClB,IAAI,CAAC,GAC/BQ,WAAW,CAACC,OAAO,CAACG,aAAa,CAAC,CAAC,GACnCa,SAAS;EAEb,MAAMC,KAAK,IAAAhC,YAAA,GACTK,KAAK,CAAC2B,KAAK,cAAAhC,YAAA,cAAAA,YAAA,GACVa,YAAY,GAAGM,aAAa,aAAbA,aAAa,wBAAAlB,qBAAA,GAAbkB,aAAa,CAAEQ,OAAO,cAAA1B,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAyBK,IAAI,CAAC,cAAAJ,sBAAA,uBAA9BA,sBAAA,CAAgC8B,KAAK,GAAGD,SAAU;EAEpE,OAAAE,aAAA,CAAAA,aAAA,KAAY5B,KAAK;IAAE2B,KAAK;IAAExB;EAAK;AACjC"}
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
column-gap: var(--spacing-small);
|
|
35
35
|
row-gap: var(--row-gap);
|
|
36
36
|
}
|
|
37
|
-
@media screen and (min-width: 40.
|
|
37
|
+
@media screen and (min-width: 40.00625em) {
|
|
38
38
|
.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label {
|
|
39
39
|
line-height: 2.5rem;
|
|
40
40
|
margin-bottom: 0;
|
|
@@ -284,7 +284,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
284
284
|
.dnb-forms-field-block--width-stretch {
|
|
285
285
|
flex-grow: 1;
|
|
286
286
|
}
|
|
287
|
-
@media screen and (min-width: 25.
|
|
287
|
+
@media screen and (min-width: 25.00625em) {
|
|
288
288
|
.dnb-forms-field-block--width-small {
|
|
289
289
|
width: var(--forms-field-width--small);
|
|
290
290
|
}
|
|
@@ -323,7 +323,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
323
323
|
.dnb-forms-field-block__contents--width-stretch {
|
|
324
324
|
width: 100%;
|
|
325
325
|
}
|
|
326
|
-
@media screen and (min-width: 25.
|
|
326
|
+
@media screen and (min-width: 25.00625em) {
|
|
327
327
|
.dnb-forms-field-block__contents--width-small {
|
|
328
328
|
width: var(--forms-field-width--small);
|
|
329
329
|
}
|
|
@@ -345,7 +345,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
345
345
|
-moz-column-gap: var(--spacing-small);
|
|
346
346
|
column-gap: var(--spacing-small);
|
|
347
347
|
}
|
|
348
|
-
@media screen and (min-width: 25.
|
|
348
|
+
@media screen and (min-width: 25.00625em) {
|
|
349
349
|
.dnb-forms-field-block__contents__composition--horizontal {
|
|
350
350
|
align-items: flex-end;
|
|
351
351
|
}
|
|
@@ -378,28 +378,20 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
|
|
|
378
378
|
.dnb-card + .dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top] {
|
|
379
379
|
margin-top: 0;
|
|
380
380
|
}
|
|
381
|
-
@media screen and (min-width: 40.
|
|
381
|
+
@media screen and (min-width: 40.00625em) {
|
|
382
382
|
.dnb-card + .dnb-forms-button-row:not([class*=space__left]),
|
|
383
383
|
.dnb-card + .dnb-button--primary:not([class*=space__left]) {
|
|
384
384
|
margin-left: var(--spacing-medium);
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
-
:root {
|
|
389
|
-
--forms-card-max-width: 36.5rem;
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
.dnb-forms-form .dnb-card {
|
|
393
|
-
max-width: var(--forms-card-max-width);
|
|
394
|
-
}
|
|
395
|
-
|
|
396
388
|
/*
|
|
397
389
|
* Utilities
|
|
398
390
|
*/
|
|
399
391
|
.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]) {
|
|
400
392
|
margin: 0;
|
|
401
393
|
}
|
|
402
|
-
@media screen and (min-width: 40.
|
|
394
|
+
@media screen and (min-width: 40.00625em) {
|
|
403
395
|
.dnb-forms-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
|
|
404
396
|
margin-left: var(--spacing-medium);
|
|
405
397
|
}
|
|
@@ -609,7 +601,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
609
601
|
.dnb-forms-value-block--max-width-stretch {
|
|
610
602
|
width: 100%;
|
|
611
603
|
}
|
|
612
|
-
@media screen and (min-width: 25.
|
|
604
|
+
@media screen and (min-width: 25.00625em) {
|
|
613
605
|
.dnb-forms-value-block--max-width-small {
|
|
614
606
|
max-width: var(--forms-field-width--small);
|
|
615
607
|
}
|
|
@@ -647,7 +639,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
647
639
|
.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large {
|
|
648
640
|
--column-gap: var(--spacing-large);
|
|
649
641
|
}
|
|
650
|
-
@media screen and (min-width: 25.
|
|
642
|
+
@media screen and (min-width: 25.00625em) {
|
|
651
643
|
.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content {
|
|
652
644
|
align-items: flex-start;
|
|
653
645
|
}
|
|
@@ -691,9 +683,6 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
691
683
|
.dnb-forms-wizard-layout__contents .dnb-forms-step {
|
|
692
684
|
outline: none;
|
|
693
685
|
}
|
|
694
|
-
.dnb-forms-wizard-layout__contents .dnb-card {
|
|
695
|
-
max-width: var(--forms-card-max-width);
|
|
696
|
-
}
|
|
697
686
|
.dnb-forms-wizard-layout__contents .dnb-forms-step > .appear-fx,
|
|
698
687
|
.dnb-forms-wizard-layout__contents .dnb-forms-button-row > .appear-fx {
|
|
699
688
|
--appear-opacity: 0;
|
|
@@ -716,7 +705,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
716
705
|
transform: translate3d(0, 0, 0);
|
|
717
706
|
}
|
|
718
707
|
}
|
|
719
|
-
@media screen and (min-width: 40.
|
|
708
|
+
@media screen and (min-width: 40.00625em) {
|
|
720
709
|
.dnb-forms-wizard-layout + .dnb-form-status:not([class*=space__left]), .dnb-forms-wizard-layout + .dnb-form-status + .dnb-form-status:not([class*=space__left]) {
|
|
721
710
|
margin-left: var(--spacing-medium);
|
|
722
711
|
}
|
|
@@ -735,7 +724,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
|
735
724
|
margin-right: 0;
|
|
736
725
|
}
|
|
737
726
|
|
|
738
|
-
@media screen and (min-width: 60.
|
|
727
|
+
@media screen and (min-width: 60.00625em) {
|
|
739
728
|
.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status {
|
|
740
729
|
margin-left: 23rem;
|
|
741
730
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-checkbox.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.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(--row-gap)}@media screen and (min-width:40.0625em){.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-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}.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}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}: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}@media screen and (min-width:25.0625em){.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:25.0625em){.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:25.0625em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@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:40.0625em){.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:40.0625em){.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-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner,.dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.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__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.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:25.0625em){.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-none{--column-gap:0}.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:25.0625em){.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__indicator{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:40.0625em){.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:60.0625em){.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{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-checkbox.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.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(--row-gap)}@media screen and (min-width:40.00625em){.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-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}.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}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}: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}@media screen and (min-width:25.00625em){.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:25.00625em){.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:25.00625em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@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:40.00625em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40.00625em){.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-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner,.dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.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__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.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:25.00625em){.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-none{--column-gap:0}.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:25.00625em){.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__indicator{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-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:40.00625em){.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:60.00625em){.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,7 +1,7 @@
|
|
|
1
1
|
import type { SpacingProps } from '../../components/space/types';
|
|
2
2
|
import type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema';
|
|
3
3
|
import type { JSONSchemaType } from 'ajv/dist/2020';
|
|
4
|
-
import { JsonObject } from 'json-pointer';
|
|
4
|
+
import { JsonObject } from './utils/json-pointer';
|
|
5
5
|
import { AriaAttributes } from 'react';
|
|
6
6
|
import { FilterData, VisibleDataOptions } from './DataContext';
|
|
7
7
|
export type * from 'json-schema';
|
|
@@ -300,6 +300,7 @@ export type EventStateObjectOr = {
|
|
|
300
300
|
warning?: EventStateObjectWarning;
|
|
301
301
|
info?: EventStateObjectInfo;
|
|
302
302
|
pending?: EventStateObjectStatus;
|
|
303
|
+
customStatus?: unknown;
|
|
303
304
|
};
|
|
304
305
|
export type EventStateObjectEitherOr = {
|
|
305
306
|
error: EventStateObjectError;
|
|
@@ -309,6 +310,8 @@ export type EventStateObjectEitherOr = {
|
|
|
309
310
|
info: EventStateObjectInfo;
|
|
310
311
|
} | {
|
|
311
312
|
status: EventStateObjectStatus;
|
|
313
|
+
} | {
|
|
314
|
+
customStatus: unknown;
|
|
312
315
|
};
|
|
313
316
|
export type EventStateObject = EventStateObjectOr & EventStateObjectEitherOr;
|
|
314
317
|
/**
|
|
@@ -334,10 +337,11 @@ export type OnSubmitParams = {
|
|
|
334
337
|
/** Will empty the whole internal data set of the form */
|
|
335
338
|
clearData: () => void;
|
|
336
339
|
};
|
|
337
|
-
export type
|
|
340
|
+
export type OnSubmitReturn = EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
|
|
341
|
+
export type OnSubmit<Data = JsonObject> = (data: Data, { reduceToVisibleFields, filterData, resetForm, clearData, }: OnSubmitParams) => OnSubmitReturn;
|
|
338
342
|
export type OnCommit<Data = JsonObject> = (data: Data, { clearData, preventCommit, }: {
|
|
339
343
|
clearData: () => void;
|
|
340
344
|
preventCommit?: () => void;
|
|
341
345
|
}) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
|
|
342
|
-
export type OnChange<Data =
|
|
346
|
+
export type OnChange<Data = JsonObject> = (data: Data, additionalArgs: Pick<OnSubmitParams, 'filterData'>) => OnChangeReturnType;
|
|
343
347
|
type OnChangeReturnType = EventReturnWithStateObjectAndSuccess | void | Promise<EventReturnWithStateObjectAndSuccess | void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from 'json-pointer'\nimport { AriaAttributes } from 'react'\nimport { FilterData, VisibleDataOptions } from './DataContext'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\nexport type ValidatorReturnSync<Value> =\n | Error\n | undefined\n | void\n | Array<Validator<Value>>\n\nexport type ValidatorReturnAsync<Value> =\n | ValidatorReturnSync<Value>\n | Promise<ValidatorReturnSync<Value>>\nexport type Validator<Value, ErrorMessages = DefaultErrorMessages> = (\n value: Value,\n additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>\n) => ValidatorReturnAsync<Value>\nexport type ValidatorAdditionalArgs<\n Value,\n ErrorMessages = DefaultErrorMessages,\n> = {\n /**\n * Returns the error messages from the { errorMessages } object.\n */\n errorMessages: ErrorMessages\n\n /**\n * Connects the validator to another field.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>>\n} & {\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n pattern: string\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n required: string\n}\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\ntype EventArgs<\n Value,\n ExtraValue extends AdditionalEventArgs,\n> = ExtraValue extends undefined\n ? [value: Value]\n : [value: Value, additionalArgs?: ExtraValue]\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ExtraValue extends AdditionalEventArgs = undefined,\n> {\n emptyValue?: EmptyValue\n onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onChange?: (\n ...args: EventArgs<Value | EmptyValue, ExtraValue>\n ) => OnChangeReturnType\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n /**\n * NB: Undocumented for now.\n * Forwards all given props in a props object.\n */\n props?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n validator?: Validator<Value>\n onBlurValidator?: Validator<Value>\n exportValidators?: Record<string, Validator<Value>>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (\n internal: Value | unknown,\n additionalArgs?: unknown\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transform additionalArgs or generate it based on `value`.\n */\n provideAdditionalArgs?: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => AdditionalEventArgs\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport type FieldPropsGeneric<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>\n\nexport type FieldPropsWithExtraValue<\n Value = unknown,\n ExtraValue extends AdditionalEventArgs = AdditionalEventArgs,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, ExtraValue>\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: React.ReactNode\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Use `true` to inherit the label from a visible (rendered) field with the same path.\n */\n inheritLabel?: boolean\n\n /**\n * Use `true` to inherit the visibility from a field with the same path.\n */\n inheritVisibility?: boolean\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: JsonObject,\n options?: VisibleDataOptions\n ) => Partial<JsonObject>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<JsonObject>\n\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n {\n reduceToVisibleFields,\n filterData,\n resetForm,\n clearData,\n }: OnSubmitParams\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnCommit<Data = JsonObject> = (\n data: Data,\n {\n clearData,\n preventCommit,\n }: { clearData: () => void; preventCommit?: () => void }\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = unknown> = (\n data: Data,\n additionalArgs: Pick<OnSubmitParams, 'filterData'>\n) => OnChangeReturnType\n\ntype OnChangeReturnType =\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from './utils/json-pointer'\nimport { AriaAttributes } from 'react'\nimport { FilterData, VisibleDataOptions } from './DataContext'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\nexport type ValidatorReturnSync<Value> =\n | Error\n | undefined\n | void\n | Array<Validator<Value>>\n\nexport type ValidatorReturnAsync<Value> =\n | ValidatorReturnSync<Value>\n | Promise<ValidatorReturnSync<Value>>\nexport type Validator<Value, ErrorMessages = DefaultErrorMessages> = (\n value: Value,\n additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>\n) => ValidatorReturnAsync<Value>\nexport type ValidatorAdditionalArgs<\n Value,\n ErrorMessages = DefaultErrorMessages,\n> = {\n /**\n * Returns the error messages from the { errorMessages } object.\n */\n errorMessages: ErrorMessages\n\n /**\n * Connects the validator to another field.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>>\n} & {\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n pattern: string\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n required: string\n}\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\ntype EventArgs<\n Value,\n ExtraValue extends AdditionalEventArgs,\n> = ExtraValue extends undefined\n ? [value: Value]\n : [value: Value, additionalArgs?: ExtraValue]\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ExtraValue extends AdditionalEventArgs = undefined,\n> {\n emptyValue?: EmptyValue\n onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onChange?: (\n ...args: EventArgs<Value | EmptyValue, ExtraValue>\n ) => OnChangeReturnType\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n /**\n * NB: Undocumented for now.\n * Forwards all given props in a props object.\n */\n props?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n validator?: Validator<Value>\n onBlurValidator?: Validator<Value>\n exportValidators?: Record<string, Validator<Value>>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (\n internal: Value | unknown,\n additionalArgs?: unknown\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transform additionalArgs or generate it based on `value`.\n */\n provideAdditionalArgs?: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => AdditionalEventArgs\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport type FieldPropsGeneric<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>\n\nexport type FieldPropsWithExtraValue<\n Value = unknown,\n ExtraValue extends AdditionalEventArgs = AdditionalEventArgs,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, ExtraValue>\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: React.ReactNode\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Use `true` to inherit the label from a visible (rendered) field with the same path.\n */\n inheritLabel?: boolean\n\n /**\n * Use `true` to inherit the visibility from a field with the same path.\n */\n inheritVisibility?: boolean\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n customStatus?: unknown\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n | { customStatus: unknown }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: JsonObject,\n options?: VisibleDataOptions\n ) => Partial<JsonObject>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<JsonObject>\n\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmitReturn =\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n {\n reduceToVisibleFields,\n filterData,\n resetForm,\n clearData,\n }: OnSubmitParams\n) => OnSubmitReturn\n\nexport type OnCommit<Data = JsonObject> = (\n data: Data,\n {\n clearData,\n preventCommit,\n }: { clearData: () => void; preventCommit?: () => void }\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = JsonObject> = (\n data: Data,\n additionalArgs: Pick<OnSubmitParams, 'filterData'>\n) => OnChangeReturnType\n\ntype OnChangeReturnType =\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ajvInstance, { ErrorObject } from 'ajv/dist/2020';
|
|
2
|
+
import { JsonObject } from './json-pointer';
|
|
2
3
|
import { FormError, Path } from '../types';
|
|
3
4
|
import type Ajv from 'ajv/dist/2020';
|
|
4
5
|
export type AjvInstance = typeof ajvInstance;
|
|
@@ -54,4 +55,4 @@ export declare function ajvErrorsToOneFormError(errors?: ErrorObject[] | null, v
|
|
|
54
55
|
* @param data - The data object being validated.
|
|
55
56
|
* @returns The converted form errors as a record of path and form error pairs.
|
|
56
57
|
*/
|
|
57
|
-
export declare const ajvErrorsToFormErrors: (errors?: ErrorObject[] | null, data?:
|
|
58
|
+
export declare const ajvErrorsToFormErrors: (errors?: ErrorObject[] | null, data?: JsonObject) => Record<string, FormError>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ajvInstance from 'ajv/dist/2020';
|
|
2
2
|
import ajvErrors from 'ajv-errors';
|
|
3
|
-
import pointer from 'json-pointer';
|
|
3
|
+
import pointer from './json-pointer';
|
|
4
4
|
import { FormError } from '../types';
|
|
5
5
|
export { ajvInstance };
|
|
6
6
|
export function makeAjvInstance(instance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","ajvErrorToFormError","_ajvError$message2","_ajvError$message","Error","message","messageValues","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","errorMessages","map","join","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer from 'json-pointer'\nimport { FormError, Path } from '../types'\nimport type Ajv from 'ajv/dist/2020'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n })\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' and '))\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: Record<Path, unknown>\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' ? pointer.get(data, path) : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","ajvErrorToFormError","_ajvError$message2","_ajvError$message","Error","message","messageValues","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","errorMessages","map","join","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { FormError, Path } from '../types'\nimport type Ajv from 'ajv/dist/2020'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n })\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' and '))\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' ? pointer.get(data, path) : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","TestElement"],"sources":["../../../../../src/extensions/forms/utils/index.ts"],"sourcesContent":["export * from './errors'\nexport { default as TestElement } from './TestElement/TestElement'\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","TestElement"],"sources":["../../../../../src/extensions/forms/utils/index.ts"],"sourcesContent":["export * from './errors'\nexport * from './json-pointer'\nexport { default as TestElement } from './TestElement/TestElement'\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './json-pointer';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './json-pointer';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","names":[],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/export.ts"],"sourcesContent":["export * from './json-pointer'\n"],"mappings":"AAAA,cAAc,gBAAgB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type PointerPath = string | Array<string>;
|
|
2
|
+
export type JsonValue = any;
|
|
3
|
+
export type JsonObject = any;
|
|
4
|
+
/**
|
|
5
|
+
* Lookup a json pointer in an object
|
|
6
|
+
*/
|
|
7
|
+
export declare function get<T = JsonObject>(obj: T, pointer: PointerPath): T;
|
|
8
|
+
/**
|
|
9
|
+
* Sets a value on an object
|
|
10
|
+
*/
|
|
11
|
+
export declare function set<T = JsonObject>(obj: T, pointer: PointerPath, value: JsonValue): void;
|
|
12
|
+
/**
|
|
13
|
+
* Removes an attribute
|
|
14
|
+
*/
|
|
15
|
+
export declare function remove<T = JsonObject>(obj: T, pointer: PointerPath): void;
|
|
16
|
+
/**
|
|
17
|
+
* Returns a (pointer -> value) dictionary for an object
|
|
18
|
+
*/
|
|
19
|
+
export declare function dict<T = JsonObject>(obj: T, descend?: any): {};
|
|
20
|
+
/**
|
|
21
|
+
* Iterates over an object
|
|
22
|
+
*/
|
|
23
|
+
export declare function walk<T = JsonObject>(obj: T, iterator: any, descend?: any): void;
|
|
24
|
+
/**
|
|
25
|
+
* Tests if an object has a value for a json pointer
|
|
26
|
+
*/
|
|
27
|
+
export declare function has<T = JsonObject>(obj: T, pointer: PointerPath): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Escapes a reference token
|
|
30
|
+
*/
|
|
31
|
+
export declare function escape(str: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Unescape a reference token
|
|
34
|
+
*/
|
|
35
|
+
export declare function unescape(str: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Converts a json pointer into a array of reference tokens
|
|
38
|
+
*/
|
|
39
|
+
export declare function parse(pointer: Extract<PointerPath, string>): PointerPath;
|
|
40
|
+
/**
|
|
41
|
+
* Builds a json pointer from a array of reference tokens
|
|
42
|
+
*/
|
|
43
|
+
export declare function compile(refTokens: Extract<PointerPath, Array<string>>): string;
|