@dnb/eufemia 10.33.0 → 10.34.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/cjs/components/accordion/Accordion.d.ts +0 -2
- package/cjs/components/accordion/Accordion.js +2 -3
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionGroup.js +2 -3
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/anchor/Anchor.d.ts +3 -0
- package/cjs/components/anchor/Anchor.js +22 -15
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/autocomplete/Autocomplete.js +2 -4
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +0 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.scss +0 -2
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
- package/cjs/components/breadcrumb/Breadcrumb.d.ts +4 -4
- package/cjs/components/breadcrumb/Breadcrumb.js +5 -3
- package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/cjs/components/button/Button.d.ts +0 -4
- package/cjs/components/button/Button.js +2 -5
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/card/Card.js +1 -0
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +3 -0
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +4 -0
- package/cjs/components/checkbox/Checkbox.js +1 -1
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.css +9 -3
- package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.scss +11 -3
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
- package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
- package/cjs/components/date-picker/DatePicker.d.ts +0 -1
- package/cjs/components/date-picker/DatePicker.js +2 -5
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js +2 -5
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/form-row/FormRow.d.ts +0 -1
- package/cjs/components/form-row/FormRow.js +3 -6
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-set/FormSet.d.ts +0 -1
- package/cjs/components/form-set/FormSet.js +4 -5
- package/cjs/components/form-set/FormSet.js.map +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +0 -2
- package/cjs/components/form-status/FormStatus.js +87 -72
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
- package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
- package/cjs/components/global-status/GlobalStatus.d.ts +0 -1
- package/cjs/components/global-status/GlobalStatus.js +4 -9
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
- package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
- package/cjs/components/grid/ContainerDocs.js +1 -1
- package/cjs/components/grid/ContainerDocs.js.map +1 -1
- package/cjs/components/help-button/HelpButtonInstance.js +3 -4
- package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
- package/cjs/components/icon/Icon.js +2 -3
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/input/Input.d.ts +0 -1
- package/cjs/components/input/Input.js +2 -5
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +0 -1
- package/cjs/components/logo/Logo.js +5 -8
- package/cjs/components/logo/Logo.js.map +1 -1
- package/cjs/components/modal/Modal.d.ts +0 -1
- package/cjs/components/modal/Modal.js +1 -2
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/types.d.ts +0 -4
- package/cjs/components/modal/types.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.js +3 -6
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/pagination/Pagination.d.ts +0 -3
- package/cjs/components/pagination/Pagination.js +2 -5
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/radio/Radio.d.ts +0 -1
- package/cjs/components/radio/Radio.js +2 -5
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/RadioGroup.d.ts +0 -1
- package/cjs/components/radio/RadioGroup.js +2 -5
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.css +19 -7
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/radio/style/dnb-radio.scss +21 -7
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
- package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
- package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
- package/cjs/components/skeleton/Skeleton.d.ts +0 -1
- package/cjs/components/skeleton/Skeleton.js +2 -5
- package/cjs/components/skeleton/Skeleton.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicator.js +1 -10
- package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
- package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
- package/cjs/components/switch/Switch.d.ts +0 -1
- package/cjs/components/switch/Switch.js +2 -5
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/table/TableContainer.d.ts +1 -0
- package/cjs/components/table/TableContainer.js +1 -0
- package/cjs/components/table/TableContainer.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +3 -0
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/table-container.scss +5 -0
- package/cjs/components/tabs/Tabs.d.ts +0 -1
- package/cjs/components/tabs/Tabs.js +0 -2
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tabs/TabsCustomContent.d.ts +0 -1
- package/cjs/components/tabs/TabsCustomContent.js +5 -8
- package/cjs/components/tabs/TabsCustomContent.js.map +1 -1
- package/cjs/components/textarea/Textarea.d.ts +0 -1
- package/cjs/components/textarea/Textarea.js +2 -5
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.d.ts +0 -1
- package/cjs/components/toggle-button/ToggleButton.js +2 -5
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -5
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
- 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 +17 -0
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +23 -0
- package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Number/Number.d.ts +1 -0
- package/cjs/extensions/forms/Field/Number/Number.js +21 -18
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js +6 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- package/cjs/extensions/forms/Field/Password/Password.js +2 -1
- package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +2 -3
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +9 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +15 -3
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
- package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/cjs/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +15 -20
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +1 -9
- package/cjs/extensions/forms/Form/Section/Section.js +21 -9
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
- package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js +10 -0
- package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +37 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/types.d.ts +9 -3
- package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
- package/cjs/extensions/forms/Tools/ListAllProps.js +2 -2
- package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/cjs/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
- package/cjs/extensions/forms/Value/Boolean/Boolean.js +5 -3
- package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Boolean/BooleanDocs.js +20 -0
- package/cjs/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Number/Number.d.ts +5 -1
- package/cjs/extensions/forms/Value/Number/Number.js +16 -5
- package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Number/NumberDocs.js +20 -0
- package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
- package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +15 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
- package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +88 -40
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
- package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Step/Step.js +8 -5
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +17 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +164 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +25 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +84 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
- package/cjs/extensions/forms/blocks/{Category/FirstBlock → ChildrenWithAge}/index.js +5 -5
- package/cjs/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
- package/cjs/extensions/forms/blocks/index.d.ts +1 -1
- package/cjs/extensions/forms/blocks/index.js +8 -5
- package/cjs/extensions/forms/blocks/index.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +2 -2
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +10 -10
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +13 -8
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +5 -4
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +15 -2
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +10 -4
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js +0 -2
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/cjs/fragments/drawer-list/DrawerList.js +6 -13
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +2 -4
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
- package/cjs/shared/Context.d.ts +1 -1
- 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/component-helper.d.ts +3 -1
- package/cjs/shared/component-helper.js +39 -10
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- 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 +49 -13
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +15 -2
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +15 -2
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +67 -15
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +15 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +15 -2
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/accordion/Accordion.d.ts +0 -2
- package/components/accordion/Accordion.js +2 -3
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionGroup.js +2 -3
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/anchor/Anchor.d.ts +3 -0
- package/components/anchor/Anchor.js +21 -15
- package/components/anchor/Anchor.js.map +1 -1
- package/components/autocomplete/Autocomplete.js +2 -4
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/autocomplete/style/dnb-autocomplete.css +0 -1
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.scss +0 -2
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
- package/components/breadcrumb/Breadcrumb.d.ts +4 -4
- package/components/breadcrumb/Breadcrumb.js +6 -4
- package/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/components/button/Button.d.ts +0 -4
- package/components/button/Button.js +2 -5
- package/components/button/Button.js.map +1 -1
- package/components/card/Card.js +1 -0
- package/components/card/Card.js.map +1 -1
- package/components/card/style/dnb-card.css +3 -0
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +4 -0
- package/components/checkbox/Checkbox.js +1 -1
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox/style/dnb-checkbox.css +9 -3
- package/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/components/checkbox/style/dnb-checkbox.scss +11 -3
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
- package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
- package/components/date-picker/DatePicker.d.ts +0 -1
- package/components/date-picker/DatePicker.js +2 -5
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/dropdown/Dropdown.js +2 -5
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/form-row/FormRow.d.ts +0 -1
- package/components/form-row/FormRow.js +4 -7
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-set/FormSet.d.ts +0 -1
- package/components/form-set/FormSet.js +5 -6
- package/components/form-set/FormSet.js.map +1 -1
- package/components/form-status/FormStatus.d.ts +0 -2
- package/components/form-status/FormStatus.js +86 -71
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
- package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
- package/components/global-status/GlobalStatus.d.ts +0 -1
- package/components/global-status/GlobalStatus.js +4 -9
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
- package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
- package/components/grid/ContainerDocs.js +1 -1
- package/components/grid/ContainerDocs.js.map +1 -1
- package/components/help-button/HelpButtonInstance.js +3 -4
- package/components/help-button/HelpButtonInstance.js.map +1 -1
- package/components/icon/Icon.js +2 -3
- package/components/icon/Icon.js.map +1 -1
- package/components/input/Input.d.ts +0 -1
- package/components/input/Input.js +2 -5
- package/components/input/Input.js.map +1 -1
- package/components/input-masked/InputMasked.d.ts +0 -1
- package/components/logo/Logo.js +5 -8
- package/components/logo/Logo.js.map +1 -1
- package/components/modal/Modal.d.ts +0 -1
- package/components/modal/Modal.js +1 -2
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/types.d.ts +0 -4
- package/components/modal/types.js.map +1 -1
- package/components/number-format/NumberFormat.js +4 -7
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/pagination/Pagination.d.ts +0 -3
- package/components/pagination/Pagination.js +2 -5
- package/components/pagination/Pagination.js.map +1 -1
- package/components/radio/Radio.d.ts +0 -1
- package/components/radio/Radio.js +2 -5
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/RadioGroup.d.ts +0 -1
- package/components/radio/RadioGroup.js +2 -5
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/radio/style/dnb-radio.css +19 -7
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/radio/style/dnb-radio.scss +21 -7
- package/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
- package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
- package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
- package/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
- package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
- package/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
- package/components/skeleton/Skeleton.d.ts +0 -1
- package/components/skeleton/Skeleton.js +2 -5
- package/components/skeleton/Skeleton.js.map +1 -1
- package/components/step-indicator/StepIndicator.js +1 -9
- package/components/step-indicator/StepIndicator.js.map +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
- package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
- package/components/switch/Switch.d.ts +0 -1
- package/components/switch/Switch.js +2 -5
- package/components/switch/Switch.js.map +1 -1
- package/components/table/TableContainer.d.ts +1 -0
- package/components/table/TableContainer.js +1 -0
- package/components/table/TableContainer.js.map +1 -1
- package/components/table/style/dnb-table.css +3 -0
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/table-container.scss +5 -0
- package/components/tabs/Tabs.d.ts +0 -1
- package/components/tabs/Tabs.js +0 -2
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tabs/TabsCustomContent.d.ts +0 -1
- package/components/tabs/TabsCustomContent.js +5 -8
- package/components/tabs/TabsCustomContent.js.map +1 -1
- package/components/textarea/Textarea.d.ts +0 -1
- package/components/textarea/Textarea.js +2 -5
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButton.d.ts +0 -1
- package/components/toggle-button/ToggleButton.js +2 -5
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/components/toggle-button/ToggleButtonGroup.js +2 -5
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/accordion/Accordion.d.ts +0 -2
- package/es/components/accordion/Accordion.js +2 -3
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionGroup.js +2 -3
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/anchor/Anchor.d.ts +3 -0
- package/es/components/anchor/Anchor.js +21 -15
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +2 -4
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.css +0 -1
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.scss +0 -2
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
- package/es/components/breadcrumb/Breadcrumb.d.ts +4 -4
- package/es/components/breadcrumb/Breadcrumb.js +6 -4
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/button/Button.d.ts +0 -4
- package/es/components/button/Button.js +2 -5
- package/es/components/button/Button.js.map +1 -1
- package/es/components/card/Card.js +1 -0
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/style/dnb-card.css +3 -0
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +4 -0
- package/es/components/checkbox/Checkbox.js +1 -1
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/style/dnb-checkbox.css +9 -3
- package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/es/components/checkbox/style/dnb-checkbox.scss +11 -3
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
- package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
- package/es/components/date-picker/DatePicker.d.ts +0 -1
- package/es/components/date-picker/DatePicker.js +2 -5
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +2 -5
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/form-row/FormRow.d.ts +0 -1
- package/es/components/form-row/FormRow.js +4 -7
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-set/FormSet.d.ts +0 -1
- package/es/components/form-set/FormSet.js +5 -6
- package/es/components/form-set/FormSet.js.map +1 -1
- package/es/components/form-status/FormStatus.d.ts +0 -2
- package/es/components/form-status/FormStatus.js +86 -71
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
- package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
- package/es/components/global-status/GlobalStatus.d.ts +0 -1
- package/es/components/global-status/GlobalStatus.js +4 -9
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
- package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
- package/es/components/grid/ContainerDocs.js +1 -1
- package/es/components/grid/ContainerDocs.js.map +1 -1
- package/es/components/help-button/HelpButtonInstance.js +3 -4
- package/es/components/help-button/HelpButtonInstance.js.map +1 -1
- package/es/components/icon/Icon.js +2 -3
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/input/Input.d.ts +0 -1
- package/es/components/input/Input.js +2 -5
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input-masked/InputMasked.d.ts +0 -1
- package/es/components/logo/Logo.js +5 -8
- package/es/components/logo/Logo.js.map +1 -1
- package/es/components/modal/Modal.d.ts +0 -1
- package/es/components/modal/Modal.js +1 -2
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/types.d.ts +0 -4
- package/es/components/modal/types.js.map +1 -1
- package/es/components/number-format/NumberFormat.js +4 -7
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/pagination/Pagination.d.ts +0 -3
- package/es/components/pagination/Pagination.js +2 -5
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/radio/Radio.d.ts +0 -1
- package/es/components/radio/Radio.js +2 -5
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/RadioGroup.d.ts +0 -1
- package/es/components/radio/RadioGroup.js +2 -5
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/radio/style/dnb-radio.css +19 -7
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/radio/style/dnb-radio.scss +21 -7
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
- package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
- package/es/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
- package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
- package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
- package/es/components/skeleton/Skeleton.d.ts +0 -1
- package/es/components/skeleton/Skeleton.js +2 -5
- package/es/components/skeleton/Skeleton.js.map +1 -1
- package/es/components/step-indicator/StepIndicator.js +1 -9
- package/es/components/step-indicator/StepIndicator.js.map +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
- package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
- package/es/components/switch/Switch.d.ts +0 -1
- package/es/components/switch/Switch.js +2 -5
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/table/TableContainer.d.ts +1 -0
- package/es/components/table/TableContainer.js +1 -0
- package/es/components/table/TableContainer.js.map +1 -1
- package/es/components/table/style/dnb-table.css +3 -0
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/table-container.scss +5 -0
- package/es/components/tabs/Tabs.d.ts +0 -1
- package/es/components/tabs/Tabs.js +0 -2
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tabs/TabsCustomContent.d.ts +0 -1
- package/es/components/tabs/TabsCustomContent.js +5 -8
- package/es/components/tabs/TabsCustomContent.js.map +1 -1
- package/es/components/textarea/Textarea.d.ts +0 -1
- package/es/components/textarea/Textarea.js +2 -5
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.d.ts +0 -1
- package/es/components/toggle-button/ToggleButton.js +2 -5
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +2 -5
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +1 -0
- 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 +19 -2
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Composition/CompositionDocs.js +14 -0
- package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
- package/es/extensions/forms/Field/Number/Number.d.ts +1 -0
- package/es/extensions/forms/Field/Number/Number.js +21 -18
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js +6 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- package/es/extensions/forms/Field/Password/Password.js +2 -1
- package/es/extensions/forms/Field/Password/Password.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +2 -3
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js +10 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -3
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
- package/es/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/es/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +15 -20
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
- package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +1 -9
- package/es/extensions/forms/Form/Section/Section.js +17 -10
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
- package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js +10 -0
- package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
- package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +37 -1
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/types.d.ts +9 -3
- package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
- package/es/extensions/forms/Tools/ListAllProps.js +3 -3
- package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/es/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
- package/es/extensions/forms/Value/Boolean/Boolean.js +5 -3
- package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Boolean/BooleanDocs.js +13 -0
- package/es/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
- package/es/extensions/forms/Value/Number/Number.d.ts +5 -1
- package/es/extensions/forms/Value/Number/Number.js +16 -5
- package/es/extensions/forms/Value/Number/Number.js.map +1 -1
- package/es/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Number/NumberDocs.js +13 -0
- package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
- package/es/extensions/forms/Value/ValueDocs.js +6 -1
- package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +16 -2
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
- package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +81 -34
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
- package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
- package/es/extensions/forms/Wizard/Step/Step.js +8 -5
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js +17 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +151 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +18 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +77 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/index.js +3 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
- package/es/extensions/forms/blocks/index.d.ts +1 -1
- package/es/extensions/forms/blocks/index.js +1 -1
- package/es/extensions/forms/blocks/index.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.js +2 -2
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +10 -10
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +12 -8
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +4 -3
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +15 -2
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +10 -4
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.js +0 -2
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/es/fragments/drawer-list/DrawerList.js +6 -13
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/es/fragments/drawer-list/DrawerListHelpers.js +2 -4
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
- package/es/shared/Context.d.ts +1 -1
- package/es/shared/Context.js +2 -2
- 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/component-helper.d.ts +3 -1
- package/es/shared/component-helper.js +25 -2
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- 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 +49 -13
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +15 -2
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +15 -2
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
- package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +67 -15
- package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/es/style/themes/theme-ui/ui-theme-extensions.css +15 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +15 -2
- package/es/style/themes/theme-ui/ui-theme-forms.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/Context.d.ts +1 -0
- 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 +19 -2
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
- package/extensions/forms/Field/Composition/CompositionDocs.js +14 -0
- package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
- package/extensions/forms/Field/Number/Number.d.ts +1 -0
- package/extensions/forms/Field/Number/Number.js +21 -18
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js +6 -1
- package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.css +10 -0
- package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
- package/extensions/forms/Field/Password/Password.js +2 -1
- package/extensions/forms/Field/Password/Password.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +2 -3
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
- package/extensions/forms/Field/Toggle/Toggle.js +10 -2
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
- package/extensions/forms/FieldBlock/FieldBlock.js +15 -3
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
- package/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
- package/extensions/forms/Form/Appearance/Appearance.js +1 -0
- package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
- package/extensions/forms/Form/FieldProps/FieldProps.js +15 -21
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
- package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +1 -9
- package/extensions/forms/Form/Section/Section.js +22 -10
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
- package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/extensions/forms/Form/Section/SectionDocs.js +10 -0
- package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
- package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +37 -1
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/Array/types.d.ts +9 -3
- package/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
- package/extensions/forms/Tools/ListAllProps.js +3 -3
- package/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
- package/extensions/forms/Value/Boolean/Boolean.js +5 -3
- package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
- package/extensions/forms/Value/Boolean/BooleanDocs.js +13 -0
- package/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
- package/extensions/forms/Value/Number/Number.d.ts +5 -1
- package/extensions/forms/Value/Number/Number.js +16 -5
- package/extensions/forms/Value/Number/Number.js.map +1 -1
- package/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
- package/extensions/forms/Value/Number/NumberDocs.js +13 -0
- package/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
- package/extensions/forms/Value/ValueDocs.js +6 -1
- package/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +16 -2
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
- package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +89 -41
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
- package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
- package/extensions/forms/Wizard/Step/Step.js +8 -5
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.js +17 -1
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +156 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +18 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +77 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
- package/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
- package/extensions/forms/blocks/ChildrenWithAge/index.js +3 -0
- package/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
- package/extensions/forms/blocks/index.d.ts +1 -1
- package/extensions/forms/blocks/index.js +1 -3
- package/extensions/forms/blocks/index.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.js +2 -2
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +10 -10
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +12 -7
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.js +4 -3
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +15 -2
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +10 -4
- package/extensions/forms/types.js.map +1 -1
- package/extensions/payment-card/PaymentCard.js +0 -2
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +0 -1
- package/fragments/drawer-list/DrawerList.js +6 -13
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
- package/fragments/drawer-list/DrawerListHelpers.js +2 -4
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
- package/package.json +2 -2
- package/shared/Context.d.ts +1 -1
- package/shared/Context.js +2 -2
- 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/component-helper.d.ts +3 -1
- package/shared/component-helper.js +35 -8
- package/shared/component-helper.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- 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 +49 -13
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +15 -2
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +15 -2
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
- package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +67 -15
- package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/style/themes/theme-ui/ui-theme-extensions.css +15 -2
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +15 -2
- package/style/themes/theme-ui/ui-theme-forms.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/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
- package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -46
- package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
- package/cjs/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
- package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
- package/cjs/extensions/forms/blocks/Category/index.d.ts +0 -1
- package/cjs/extensions/forms/blocks/Category/index.js +0 -14
- package/cjs/extensions/forms/blocks/Category/index.js.map +0 -1
- package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
- package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -39
- package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
- package/es/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
- package/es/extensions/forms/blocks/Category/FirstBlock/index.js +0 -3
- package/es/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
- package/es/extensions/forms/blocks/Category/index.d.ts +0 -1
- package/es/extensions/forms/blocks/Category/index.js +0 -1
- package/es/extensions/forms/blocks/Category/index.js.map +0 -1
- package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
- package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -39
- package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
- package/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
- package/extensions/forms/blocks/Category/FirstBlock/index.js +0 -3
- package/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
- package/extensions/forms/blocks/Category/index.d.ts +0 -1
- package/extensions/forms/blocks/Category/index.js +0 -1
- package/extensions/forms/blocks/Category/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.js","names":["React","useCallback","useContext","useMemo","
|
|
1
|
+
{"version":3,"file":"Section.js","names":["React","useCallback","useContext","useMemo","SectionContext","DataContext","Provider","FieldPropsProvider","SectionComponent","props","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","onChange","errorPrioritization","children","startsWith","Error","hasContext","addOnChangeHandler","nestedPath","nestedProps","handleChange","_len","arguments","length","args","Array","_key","identifier","fieldProps","undefined","createElement","value","_extends","_objectSpread","substring","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Section/Section.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport SectionContext, { SectionContextState } from './SectionContext'\nimport DataContext from '../../DataContext/Context'\nimport Provider from '../../DataContext/Provider/Provider'\nimport FieldPropsProvider from '../FieldProps'\n\nimport type { Props as DataContextProps } from '../../DataContext/Provider'\nimport type {\n FieldSectionProps,\n Path,\n FieldProps,\n OnChange,\n} from '../../types'\n\nexport type OverwritePropsDefaults = {\n [key: Path]: (FieldProps & FieldSectionProps) | OverwritePropsDefaults\n}\nexport type SectionProps<overwriteProps = OverwritePropsDefaults> = {\n /**\n * Path to the section.\n * When defined, fields inside the section will get this path as a prefix of their own path.\n */\n path?: Path\n\n /**\n * Overwrite field props for the section.\n */\n overwriteProps?: overwriteProps | OverwritePropsDefaults\n\n /**\n * Makes all fields inside it required.\n */\n required?: boolean\n\n /**\n * Only for internal use and undocumented for now.\n * Prioritize error techniques for the section.\n * Can be `fieldSchema`, `sectionSchema` or `contextSchema.\n */\n errorPrioritization?: SectionContextState['errorPrioritization']\n} & Pick<\n DataContextProps<unknown>,\n 'data' | 'defaultData' | 'onChange' | 'translations'\n>\n\nexport type LocalProps = SectionProps & {\n children: React.ReactNode\n}\n\nfunction SectionComponent(props: LocalProps) {\n const {\n path,\n overwriteProps,\n translations,\n required,\n data,\n defaultData,\n onChange,\n errorPrioritization = ['contextSchema'],\n children,\n } = props\n\n if (path && !path.startsWith('/')) {\n throw new Error(`path=\"${path}\" must start with a slash`)\n }\n\n const { hasContext, addOnChangeHandler } = useContext(DataContext)\n\n const { path: nestedPath, props: nestedProps } =\n useContext(SectionContext) || {}\n\n const handleChange = useCallback<OnChange<unknown>>(\n (...args) => onChange?.(...args),\n [onChange]\n )\n addOnChangeHandler?.(handleChange)\n\n const identifier = useMemo(() => {\n return `${nestedPath && nestedPath !== '/' ? nestedPath : ''}${\n path || ''\n }`\n }, [path, nestedPath])\n const fieldProps = required ? { required: true } : undefined\n\n if (!hasContext) {\n return (\n <Provider data={data} defaultData={defaultData}>\n <SectionComponent {...props} />\n </Provider>\n )\n }\n\n return (\n <SectionContext.Provider\n value={{\n path: identifier,\n errorPrioritization,\n props,\n }}\n >\n <FieldPropsProvider\n overwriteProps={{\n ...overwriteProps,\n ...(nestedProps?.overwriteProps?.[\n path.substring(1)\n ] as OverwritePropsDefaults),\n }}\n translations={translations}\n {...fieldProps}\n >\n {children}\n </FieldPropsProvider>\n </SectionContext.Provider>\n )\n}\n\nSectionComponent._supportsSpacingProps = 'children'\nexport default SectionComponent\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC/D,OAAOC,cAAc,MAA+B,kBAAkB;AACtE,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,QAAQ,MAAM,qCAAqC;AAC1D,OAAOC,kBAAkB,MAAM,eAAe;AA6C9C,SAASC,gBAAgBA,CAACC,KAAiB,EAAE;EAAA,IAAAC,qBAAA;EAC3C,MAAM;IACJC,IAAI;IACJC,cAAc;IACdC,YAAY;IACZC,QAAQ;IACRC,IAAI;IACJC,WAAW;IACXC,QAAQ;IACRC,mBAAmB,GAAG,CAAC,eAAe,CAAC;IACvCC;EACF,CAAC,GAAGV,KAAK;EAET,IAAIE,IAAI,IAAI,CAACA,IAAI,CAACS,UAAU,CAAC,GAAG,CAAC,EAAE;IACjC,MAAM,IAAIC,KAAK,CAAE,SAAQV,IAAK,2BAA0B,CAAC;EAC3D;EAEA,MAAM;IAAEW,UAAU;IAAEC;EAAmB,CAAC,GAAGrB,UAAU,CAACG,WAAW,CAAC;EAElE,MAAM;IAAEM,IAAI,EAAEa,UAAU;IAAEf,KAAK,EAAEgB;EAAY,CAAC,GAC5CvB,UAAU,CAACE,cAAc,CAAC,IAAI,CAAC,CAAC;EAElC,MAAMsB,YAAY,GAAGzB,WAAW,CAC9B;IAAA,SAAA0B,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAA,OAAKf,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,GAAGa,IAAI,CAAC;EAAA,GAChC,CAACb,QAAQ,CACX,CAAC;EACDM,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAGG,YAAY,CAAC;EAElC,MAAMO,UAAU,GAAG9B,OAAO,CAAC,MAAM;IAC/B,OAAQ,GAAEqB,UAAU,IAAIA,UAAU,KAAK,GAAG,GAAGA,UAAU,GAAG,EAAG,GAC3Db,IAAI,IAAI,EACT,EAAC;EACJ,CAAC,EAAE,CAACA,IAAI,EAAEa,UAAU,CAAC,CAAC;EACtB,MAAMU,UAAU,GAAGpB,QAAQ,GAAG;IAAEA,QAAQ,EAAE;EAAK,CAAC,GAAGqB,SAAS;EAE5D,IAAI,CAACb,UAAU,EAAE;IACf,OACEtB,KAAA,CAAAoC,aAAA,CAAC9B,QAAQ;MAACS,IAAI,EAAEA,IAAK;MAACC,WAAW,EAAEA;IAAY,GAC7ChB,KAAA,CAAAoC,aAAA,CAAC5B,gBAAgB,EAAKC,KAAQ,CACtB,CAAC;EAEf;EAEA,OACET,KAAA,CAAAoC,aAAA,CAAChC,cAAc,CAACE,QAAQ;IACtB+B,KAAK,EAAE;MACL1B,IAAI,EAAEsB,UAAU;MAChBf,mBAAmB;MACnBT;IACF;EAAE,GAEFT,KAAA,CAAAoC,aAAA,CAAC7B,kBAAkB,EAAA+B,QAAA;IACjB1B,cAAc,EAAA2B,aAAA,CAAAA,aAAA,KACT3B,cAAc,GACba,WAAW,aAAXA,WAAW,wBAAAf,qBAAA,GAAXe,WAAW,CAAEb,cAAc,cAAAF,qBAAA,uBAA3BA,qBAAA,CACFC,IAAI,CAAC6B,SAAS,CAAC,CAAC,CAAC,CAClB,CACD;IACF3B,YAAY,EAAEA;EAAa,GACvBqB,UAAU,GAEbf,QACiB,CACG,CAAC;AAE9B;AAEAX,gBAAgB,CAACiC,qBAAqB,GAAG,UAAU;AACnD,eAAejC,gBAAgB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Path } from '../../types';
|
|
2
|
+
import { OnChange, Path } from '../../types';
|
|
3
3
|
import { SectionProps } from '.';
|
|
4
4
|
export interface SectionContextState {
|
|
5
5
|
path?: Path;
|
|
6
|
-
errorPrioritization?: Array<'fieldSchema' | 'sectionSchema' | 'contextSchema'>;
|
|
7
|
-
handleChange?: (path: Path, data: unknown) => void;
|
|
8
6
|
props?: SectionProps;
|
|
7
|
+
errorPrioritization?: Array<'fieldSchema' | 'sectionSchema' | 'contextSchema'>;
|
|
8
|
+
handleChange?: OnChange<unknown>;
|
|
9
9
|
}
|
|
10
10
|
declare const SectionContext: React.Context<SectionContextState>;
|
|
11
11
|
export default SectionContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionContext.js","names":["React","SectionContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Form/Section/SectionContext.tsx"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\nimport { SectionProps } from '.'\n\nexport interface SectionContextState {\n path?: Path\n errorPrioritization?: Array<\n 'fieldSchema' | 'sectionSchema' | 'contextSchema'\n >\n handleChange?:
|
|
1
|
+
{"version":3,"file":"SectionContext.js","names":["React","SectionContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Form/Section/SectionContext.tsx"],"sourcesContent":["import React from 'react'\nimport { OnChange, Path } from '../../types'\nimport { SectionProps } from '.'\n\nexport interface SectionContextState {\n path?: Path\n props?: SectionProps\n errorPrioritization?: Array<\n 'fieldSchema' | 'sectionSchema' | 'contextSchema'\n >\n handleChange?: OnChange<unknown>\n}\n\nconst SectionContext = React.createContext<\n SectionContextState | undefined\n>(undefined)\n\nexport default SectionContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAazB,MAAMC,cAAc,GAAGD,KAAK,CAACE,aAAa,CAExCC,SAAS,CAAC;AAEZ,eAAeF,cAAc"}
|
|
@@ -19,6 +19,16 @@ export const SectionProperties = {
|
|
|
19
19
|
type: 'boolean',
|
|
20
20
|
status: 'optional'
|
|
21
21
|
},
|
|
22
|
+
defaultData: {
|
|
23
|
+
doc: 'Provide default data to the section fields and values, in case the data context (Form.Handler) is not available.',
|
|
24
|
+
type: 'object',
|
|
25
|
+
status: 'optional'
|
|
26
|
+
},
|
|
27
|
+
data: {
|
|
28
|
+
doc: 'Provide data to the section fields and values, in case the data context (Form.Handler) is not available.',
|
|
29
|
+
type: 'object',
|
|
30
|
+
status: 'optional'
|
|
31
|
+
},
|
|
22
32
|
children: {
|
|
23
33
|
doc: 'All the fields and values inside the section.',
|
|
24
34
|
type: 'React.Node',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionDocs.js","names":["SectionProperties","path","doc","type","status","overwriteProps","translation","required","children","SectionEvents","onChange"],"sources":["../../../../../../src/extensions/forms/Form/Section/SectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SectionProperties: PropertiesTableProps = {\n path: {\n doc: 'A path (JSON Pointer) to the array to iterate over.',\n type: 'string',\n status: 'optional',\n },\n overwriteProps: {\n doc: 'Overwrite field props for the section.',\n type: 'object',\n status: 'optional',\n },\n translation: {\n doc: \"Provide a translation for the section (e.g. `{'nb-NO': { MySection: { MyField: { label: 'Custom' }}}}`).\",\n type: 'object',\n status: 'optional',\n },\n required: {\n doc: 'Makes all fields inside it required.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'All the fields and values inside the section.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n\nexport const SectionEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,iBAAuC,GAAG;EACrDC,IAAI,EAAE;IACJC,GAAG,EAAE,qDAAqD;IAC1DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdH,GAAG,EAAE,wCAAwC;IAC7CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,sCAAsC;IAC3CC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"SectionDocs.js","names":["SectionProperties","path","doc","type","status","overwriteProps","translation","required","defaultData","data","children","SectionEvents","onChange"],"sources":["../../../../../../src/extensions/forms/Form/Section/SectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SectionProperties: PropertiesTableProps = {\n path: {\n doc: 'A path (JSON Pointer) to the array to iterate over.',\n type: 'string',\n status: 'optional',\n },\n overwriteProps: {\n doc: 'Overwrite field props for the section.',\n type: 'object',\n status: 'optional',\n },\n translation: {\n doc: \"Provide a translation for the section (e.g. `{'nb-NO': { MySection: { MyField: { label: 'Custom' }}}}`).\",\n type: 'object',\n status: 'optional',\n },\n required: {\n doc: 'Makes all fields inside it required.',\n type: 'boolean',\n status: 'optional',\n },\n defaultData: {\n doc: 'Provide default data to the section fields and values, in case the data context (Form.Handler) is not available.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Provide data to the section fields and values, in case the data context (Form.Handler) is not available.',\n type: 'object',\n status: 'optional',\n },\n children: {\n doc: 'All the fields and values inside the section.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n\nexport const SectionEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,iBAAuC,GAAG;EACrDC,IAAI,EAAE;IACJC,GAAG,EAAE,qDAAqD;IAC1DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdH,GAAG,EAAE,wCAAwC;IAC7CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,sCAAsC;IAC3CC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,WAAW,EAAE;IACXN,GAAG,EAAE,kHAAkH;IACvHC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMO,aAAmC,GAAG;EACjDC,QAAQ,EAAE;IACRV,GAAG,EAAE,8HAA8H;IACnIC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubHeading.js","names":["React","classnames","Heading","SubHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/SubHeading/SubHeading.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Heading from '../../../../components/heading/Heading'\nimport type { HeadingLevel } from '../../../../components/heading/Heading'\nimport type { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n level?: HeadingLevel\n children?: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'size'>\n\nfunction SubHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-forms-sub-heading', className)}\n level={level || 3}\n size=\"medium\"\n {...rest}\n >\n {children}\n </Heading>\n )\n}\n\nSubHeading._supportsSpacingProps = true\nSubHeading._isHeadingElement = true\n\nexport default SubHeading\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,wCAAwC;AAS5D,SAASC,UAAUA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;MAAEC;IAAuB,CAAC,GAAAD,IAAA;IAAdE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACnC,MAAM;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GAAGJ,KAAK;IAAdK,IAAI,GAAAJ,wBAAA,CAAKD,KAAK,EAAAM,UAAA;EAC9C,OACEZ,KAAA,CAAAa,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNL,SAAS,EAAER,UAAU,CAAC,uBAAuB,EAAEQ,SAAS,CAAE;IAC1DJ,KAAK,EAAEA,KAAK,IAAI,CAAE;IAClBU,IAAI,EAAC;EAAQ,
|
|
1
|
+
{"version":3,"file":"SubHeading.js","names":["React","classnames","Heading","SubHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","skip_correction","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/SubHeading/SubHeading.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Heading from '../../../../components/heading/Heading'\nimport type { HeadingLevel } from '../../../../components/heading/Heading'\nimport type { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n level?: HeadingLevel\n children?: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'size'>\n\nfunction SubHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-forms-sub-heading', className)}\n level={level || 3}\n skip_correction\n size=\"medium\"\n {...rest}\n >\n {children}\n </Heading>\n )\n}\n\nSubHeading._supportsSpacingProps = true\nSubHeading._isHeadingElement = true\n\nexport default SubHeading\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,wCAAwC;AAS5D,SAASC,UAAUA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;MAAEC;IAAuB,CAAC,GAAAD,IAAA;IAAdE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACnC,MAAM;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GAAGJ,KAAK;IAAdK,IAAI,GAAAJ,wBAAA,CAAKD,KAAK,EAAAM,UAAA;EAC9C,OACEZ,KAAA,CAAAa,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNL,SAAS,EAAER,UAAU,CAAC,uBAAuB,EAAEQ,SAAS,CAAE;IAC1DJ,KAAK,EAAEA,KAAK,IAAI,CAAE;IAClBU,eAAe;IACfC,IAAI,EAAC;EAAQ,GACTL,IAAI,GAEPD,QACM,CAAC;AAEd;AAEAP,UAAU,CAACc,qBAAqB,GAAG,IAAI;AACvCd,UAAU,CAACe,iBAAiB,GAAG,IAAI;AAEnC,eAAef,UAAU"}
|
|
@@ -16,11 +16,47 @@ import SummaryListContext from '../../Value/SummaryList/SummaryListContext';
|
|
|
16
16
|
import ValueBlockContext from '../../ValueBlock/ValueBlockContext';
|
|
17
17
|
import FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider';
|
|
18
18
|
import structuredClone from '@ungap/structured-clone';
|
|
19
|
+
import useDataValue from '../../hooks/useDataValue';
|
|
19
20
|
function ArrayComponent(props) {
|
|
20
21
|
var _props$value;
|
|
21
22
|
const [salt, forceUpdate] = useReducer(() => ({}), {});
|
|
22
23
|
const summaryListContext = useContext(SummaryListContext);
|
|
23
24
|
const valueBlockContext = useContext(ValueBlockContext);
|
|
25
|
+
const {
|
|
26
|
+
getValue
|
|
27
|
+
} = useDataValue();
|
|
28
|
+
const preparedProps = useMemo(() => {
|
|
29
|
+
const {
|
|
30
|
+
path,
|
|
31
|
+
countPath,
|
|
32
|
+
countPathLimit = Infinity,
|
|
33
|
+
countPathTransform
|
|
34
|
+
} = props;
|
|
35
|
+
if (countPath) {
|
|
36
|
+
const arrayValue = getValue(path);
|
|
37
|
+
let countValue = parseFloat(getValue(countPath));
|
|
38
|
+
if (!(countValue >= 0)) {
|
|
39
|
+
countValue = 0;
|
|
40
|
+
}
|
|
41
|
+
if (countValue > countPathLimit) {
|
|
42
|
+
countValue = countPathLimit;
|
|
43
|
+
}
|
|
44
|
+
if ((arrayValue === null || arrayValue === void 0 ? void 0 : arrayValue.length) !== countValue) {
|
|
45
|
+
const newValue = [];
|
|
46
|
+
for (let i = 0, l = countValue; i < l; i++) {
|
|
47
|
+
const value = arrayValue === null || arrayValue === void 0 ? void 0 : arrayValue[i];
|
|
48
|
+
newValue.push(countPathTransform === null || countPathTransform === void 0 ? void 0 : countPathTransform({
|
|
49
|
+
value,
|
|
50
|
+
index: i
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
return _objectSpread(_objectSpread({}, props), {}, {
|
|
54
|
+
value: newValue
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return props;
|
|
59
|
+
}, [getValue, props]);
|
|
24
60
|
const {
|
|
25
61
|
path,
|
|
26
62
|
value: arrayValue,
|
|
@@ -30,7 +66,7 @@ function ArrayComponent(props) {
|
|
|
30
66
|
handleChange,
|
|
31
67
|
onChange,
|
|
32
68
|
children
|
|
33
|
-
} = useFieldProps(
|
|
69
|
+
} = useFieldProps(preparedProps);
|
|
34
70
|
const idsRef = useRef([]);
|
|
35
71
|
const isNewRef = useRef({});
|
|
36
72
|
const modesRef = useRef({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Array.js","names":["React","useMemo","useRef","useEffect","useReducer","createRef","useContext","Fragment","classnames","pointer","useFieldProps","makeUniqueId","Flex","pickSpacingProps","pickFlexContainerProps","IterateElementContext","SummaryListContext","ValueBlockContext","FieldBoundaryProvider","structuredClone","ArrayComponent","props","_props$value","salt","forceUpdate","summaryListContext","valueBlockContext","path","value","arrayValue","withoutFlex","emptyValue","placeholder","handleChange","onChange","children","idsRef","isNewRef","modesRef","valueWhileClosingRef","valueCountRef","containerRef","hadPushRef","innerRefs","omitFlex","current","elementData","_ref","map","index","_valueCountRef$curren","id","hasNewItems","length","push","isNew","containerMode","switchContainerMode","mode","_isNewRef$current","newArrayValue","_objectSpread","set","handlePush","element","handleRemove","keepItems","arguments","undefined","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","last","flexProps","className","innerRef","WrapperElement","Stack","createElement","elementProps","elementRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","Provider","key","Item","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n Fragment,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n path,\n value: arrayValue,\n withoutFlex,\n emptyValue,\n placeholder,\n handleChange,\n onChange,\n children,\n } = useFieldProps<Value, Props>(props)\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<Record<Identifier, ContainerMode>>({})\n const valueWhileClosingRef = useRef<Array<unknown>>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n const elementData = useMemo(() => {\n return ((valueWhileClosingRef.current || arrayValue) ?? []).map(\n (value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]) {\n modesRef.current[id] = isNew ? 'edit' : 'view'\n }\n\n return {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id],\n switchContainerMode: (mode: ContainerMode) => {\n modesRef.current[id] = mode\n delete isNewRef.current?.[id]\n forceUpdate()\n },\n handleChange: (path: Path, value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element: unknown) => {\n hadPushRef.current = true\n handleChange([...(arrayValue ?? []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n },\n } as IterateElementContextState\n }\n )\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, path, handleChange])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = elementData?.[elementData.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, elementData, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames('dnb-forms-iterate', props?.className),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const WrapperElement = omitFlex ? Fragment : Flex.Stack\n\n return (\n <WrapperElement {...(omitFlex ? null : flexProps)}>\n {arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : elementData.map((elementProps) => {\n const { id, value, index } = elementProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...elementProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateElementContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-forms-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateElementContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n </Flex.Item>\n )\n })}\n </WrapperElement>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Array.js","names":["React","useMemo","useRef","useEffect","useReducer","createRef","useContext","Fragment","classnames","pointer","useFieldProps","makeUniqueId","Flex","pickSpacingProps","pickFlexContainerProps","IterateElementContext","SummaryListContext","ValueBlockContext","FieldBoundaryProvider","structuredClone","useDataValue","ArrayComponent","props","_props$value","salt","forceUpdate","summaryListContext","valueBlockContext","getValue","preparedProps","path","countPath","countPathLimit","Infinity","countPathTransform","arrayValue","countValue","parseFloat","length","newValue","i","l","value","push","index","_objectSpread","withoutFlex","emptyValue","placeholder","handleChange","onChange","children","idsRef","isNewRef","modesRef","valueWhileClosingRef","valueCountRef","containerRef","hadPushRef","innerRefs","omitFlex","current","elementData","_ref","map","_valueCountRef$curren","id","hasNewItems","isNew","containerMode","switchContainerMode","mode","_isNewRef$current","newArrayValue","set","handlePush","element","handleRemove","keepItems","arguments","undefined","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","last","flexProps","className","innerRef","WrapperElement","Stack","createElement","elementProps","elementRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","Provider","key","Item","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n Fragment,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const { getValue } = useDataValue()\n const preparedProps = useMemo(() => {\n const {\n path,\n countPath,\n countPathLimit = Infinity,\n countPathTransform,\n } = props\n\n if (countPath) {\n const arrayValue = getValue(path)\n let countValue = parseFloat(getValue(countPath))\n if (!(countValue >= 0)) {\n countValue = 0\n }\n if (countValue > countPathLimit) {\n countValue = countPathLimit\n }\n if (arrayValue?.length !== countValue) {\n const newValue = []\n for (let i = 0, l = countValue; i < l; i++) {\n const value = arrayValue?.[i]\n newValue.push(countPathTransform?.({ value, index: i }))\n }\n\n return {\n ...props,\n value: newValue,\n }\n }\n }\n\n return props\n }, [getValue, props])\n\n const {\n path,\n value: arrayValue,\n withoutFlex,\n emptyValue,\n placeholder,\n handleChange,\n onChange,\n children,\n } = useFieldProps<Value, Props>(preparedProps)\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<Record<Identifier, ContainerMode>>({})\n const valueWhileClosingRef = useRef<Array<unknown>>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n const elementData = useMemo(() => {\n return ((valueWhileClosingRef.current || arrayValue) ?? []).map(\n (value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]) {\n modesRef.current[id] = isNew ? 'edit' : 'view'\n }\n\n return {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id],\n switchContainerMode: (mode: ContainerMode) => {\n modesRef.current[id] = mode\n delete isNewRef.current?.[id]\n forceUpdate()\n },\n handleChange: (path: Path, value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element: unknown) => {\n hadPushRef.current = true\n handleChange([...(arrayValue ?? []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n },\n } as IterateElementContextState\n }\n )\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, path, handleChange])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = elementData?.[elementData.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, elementData, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames('dnb-forms-iterate', props?.className),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const WrapperElement = omitFlex ? Fragment : Flex.Stack\n\n return (\n <WrapperElement {...(omitFlex ? null : flexProps)}>\n {arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : elementData.map((elementProps) => {\n const { id, value, index } = elementProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...elementProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateElementContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-forms-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateElementContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n </Flex.Item>\n )\n })}\n </WrapperElement>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
|
|
@@ -9,6 +9,21 @@ export const ArrayProperties = {
|
|
|
9
9
|
type: 'string',
|
|
10
10
|
status: 'optional'
|
|
11
11
|
},
|
|
12
|
+
countPath: {
|
|
13
|
+
doc: 'A path (JSON Pointer) to the array length.',
|
|
14
|
+
type: 'string',
|
|
15
|
+
status: 'optional'
|
|
16
|
+
},
|
|
17
|
+
countPathTransform: {
|
|
18
|
+
doc: 'Will transform the current value before it is displayed.',
|
|
19
|
+
type: 'function',
|
|
20
|
+
status: 'optional'
|
|
21
|
+
},
|
|
22
|
+
countPathLimit: {
|
|
23
|
+
doc: 'Will limit the iterate amount by given "countPathLimit" value.',
|
|
24
|
+
type: 'number',
|
|
25
|
+
status: 'optional'
|
|
26
|
+
},
|
|
12
27
|
withoutFlex: {
|
|
13
28
|
doc: 'When `true` it will omit the Flex.Stack wrapper so it can be used for tables and lists.',
|
|
14
29
|
type: 'boolean',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayDocs.js","names":["ArrayProperties","value","doc","type","status","path","withoutFlex","placeholder","emptyValue","children","ArrayEvents","onChange"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ArrayProperties: PropertiesTableProps = {\n value: {\n doc: 'The data to iterate over. Alternative you can use the `path` prop.',\n type: 'array',\n status: 'optional',\n },\n path: {\n doc: 'A path (JSON Pointer) to the array to iterate over.',\n type: 'string',\n status: 'optional',\n },\n withoutFlex: {\n doc: 'When `true` it will omit the Flex.Stack wrapper so it can be used for tables and lists.',\n type: 'boolean',\n status: 'optional',\n },\n placeholder: {\n doc: 'Will be shown if the value or data context value is empty.',\n type: 'React.Node',\n status: 'optional',\n },\n emptyValue: {\n doc: 'Will be used to compare the value in order to show the placeholder.',\n type: 'unknown',\n status: 'optional',\n },\n children: {\n doc: 'React.Node or a function so you can get the current value and index.',\n type: 'boolean',\n status: 'optional',\n },\n '[Flex.Stack](/uilib/layout/flex/stack/)': {\n doc: 'All Flex.Stack properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ArrayEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,eAAqC,GAAG;EACnDC,KAAK,EAAE;IACLC,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,qDAAqD;IAC1DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"ArrayDocs.js","names":["ArrayProperties","value","doc","type","status","path","countPath","countPathTransform","countPathLimit","withoutFlex","placeholder","emptyValue","children","ArrayEvents","onChange"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ArrayProperties: PropertiesTableProps = {\n value: {\n doc: 'The data to iterate over. Alternative you can use the `path` prop.',\n type: 'array',\n status: 'optional',\n },\n path: {\n doc: 'A path (JSON Pointer) to the array to iterate over.',\n type: 'string',\n status: 'optional',\n },\n countPath: {\n doc: 'A path (JSON Pointer) to the array length.',\n type: 'string',\n status: 'optional',\n },\n countPathTransform: {\n doc: 'Will transform the current value before it is displayed.',\n type: 'function',\n status: 'optional',\n },\n countPathLimit: {\n doc: 'Will limit the iterate amount by given \"countPathLimit\" value.',\n type: 'number',\n status: 'optional',\n },\n withoutFlex: {\n doc: 'When `true` it will omit the Flex.Stack wrapper so it can be used for tables and lists.',\n type: 'boolean',\n status: 'optional',\n },\n placeholder: {\n doc: 'Will be shown if the value or data context value is empty.',\n type: 'React.Node',\n status: 'optional',\n },\n emptyValue: {\n doc: 'Will be used to compare the value in order to show the placeholder.',\n type: 'unknown',\n status: 'optional',\n },\n children: {\n doc: 'React.Node or a function so you can get the current value and index.',\n type: 'boolean',\n status: 'optional',\n },\n '[Flex.Stack](/uilib/layout/flex/stack/)': {\n doc: 'All Flex.Stack properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ArrayEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,eAAqC,GAAG;EACnDC,KAAK,EAAE;IACLC,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,qDAAqD;IAC1DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,SAAS,EAAE;IACTJ,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,kBAAkB,EAAE;IAClBL,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDI,cAAc,EAAE;IACdN,GAAG,EAAE,gEAAgE;IACrEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,WAAW,EAAE;IACXP,GAAG,EAAE,yFAAyF;IAC9FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,WAAW,EAAE;IACXR,GAAG,EAAE,4DAA4D;IACjEC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDO,UAAU,EAAE;IACVT,GAAG,EAAE,qEAAqE;IAC1EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRV,GAAG,EAAE,sEAAsE;IAC3EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMS,WAAiC,GAAG;EAC/CC,QAAQ,EAAE;IACRZ,GAAG,EAAE,8HAA8H;IACnIC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { UseFieldProps } from '../../types';
|
|
2
|
+
import { Path, UseFieldProps } from '../../types';
|
|
3
3
|
import { Props as FlexContainerProps } from '../../../../components/flex/Container';
|
|
4
4
|
export type ContainerMode = 'view' | 'edit';
|
|
5
5
|
export type Value = Array<unknown | Record<string, unknown>>;
|
|
6
6
|
export type ElementChild = React.ReactNode | ((value: any, index: number) => React.ReactNode);
|
|
7
|
-
export type Props = Omit<FlexContainerProps, 'children' | 'width'> & {
|
|
7
|
+
export type Props = Omit<FlexContainerProps, 'children' | 'width' | 'defaultValue'> & {
|
|
8
8
|
children: ElementChild | Array<ElementChild>;
|
|
9
9
|
value?: UseFieldProps<Value, undefined | Value>['value'];
|
|
10
|
-
path?:
|
|
10
|
+
path?: Path;
|
|
11
|
+
countPath?: Path;
|
|
12
|
+
countPathLimit?: number;
|
|
13
|
+
countPathTransform?: (params: {
|
|
14
|
+
value: any;
|
|
15
|
+
index: number;
|
|
16
|
+
}) => any;
|
|
11
17
|
withoutFlex?: boolean;
|
|
12
18
|
emptyValue?: UseFieldProps<Value, undefined | Value>['emptyValue'];
|
|
13
19
|
placeholder?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/extensions/forms/Iterate/Array/types.ts"],"sourcesContent":["import { UseFieldProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\n\nexport type ContainerMode = 'view' | 'edit'\nexport type Value = Array<unknown | Record<string, unknown>>\nexport type ElementChild =\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\nexport type Props = Omit
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/extensions/forms/Iterate/Array/types.ts"],"sourcesContent":["import { Path, UseFieldProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\n\nexport type ContainerMode = 'view' | 'edit'\nexport type Value = Array<unknown | Record<string, unknown>>\nexport type ElementChild =\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\nexport type Props = Omit<\n FlexContainerProps,\n 'children' | 'width' | 'defaultValue'\n> & {\n children: ElementChild | Array<ElementChild>\n value?: UseFieldProps<Value, undefined | Value>['value']\n path?: Path\n countPath?: Path\n countPathLimit?: number\n countPathTransform?: (params: { value: any; index: number }) => any\n withoutFlex?: boolean\n emptyValue?: UseFieldProps<Value, undefined | Value>['emptyValue']\n placeholder?: React.ReactNode\n onChange?: UseFieldProps<Value, undefined | Value>['onChange']\n}\n"],"mappings":""}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
transition: transform 400ms var(--easing-default) 50ms, box-shadow 0.8s var(--easing-default);
|
|
16
16
|
transform: translateY(-2.5rem);
|
|
17
17
|
}
|
|
18
|
-
.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]) {
|
|
18
|
+
.dnb-forms-iterate-block--variant-basic .dnb-forms-iterate-block__inner, .dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]) {
|
|
19
19
|
--padding: 0;
|
|
20
20
|
}
|
|
21
21
|
.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing] {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-forms-iterate-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-iterate-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-iterate-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-iterate-block__inner{flex:1;margin-bottom:var(--space);padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-iterate-block--variant-outline .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner{transform:translateY(-.5rem)}.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner{transform:translateY(0)}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}
|
|
1
|
+
.dnb-forms-iterate-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-iterate-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-iterate-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-iterate-block__inner{flex:1;margin-bottom:var(--space);padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-iterate-block--variant-basic .dnb-forms-iterate-block__inner,.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-iterate-block--variant-outline .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner{transform:translateY(-.5rem)}.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner{transform:translateY(0)}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useContext, useRef } from 'react';
|
|
3
|
+
import { isValidElement, useCallback, useContext, useRef } from 'react';
|
|
4
4
|
import pointer from 'json-pointer';
|
|
5
5
|
import DataContext from '../DataContext/Context';
|
|
6
6
|
export default function ListAllProps(props) {
|
|
@@ -24,7 +24,7 @@ export default function ListAllProps(props) {
|
|
|
24
24
|
if (path.startsWith('/')) {
|
|
25
25
|
const propertyValue = {};
|
|
26
26
|
for (const prop in props) {
|
|
27
|
-
if (props[prop] !== undefined && typeof props[prop] !== 'function') {
|
|
27
|
+
if (props[prop] !== undefined && typeof props[prop] !== 'function' && !isValidElement(props[prop])) {
|
|
28
28
|
propertyValue[prop] = props[prop];
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -39,7 +39,7 @@ export default function ListAllProps(props) {
|
|
|
39
39
|
if (path.startsWith('/')) {
|
|
40
40
|
const propertyValue = {};
|
|
41
41
|
for (const prop in props) {
|
|
42
|
-
if (props[prop] !== undefined && typeof props[prop] !== 'function') {
|
|
42
|
+
if (props[prop] !== undefined && typeof props[prop] !== 'function' && !isValidElement(props[prop])) {
|
|
43
43
|
propertyValue[prop] = props[prop];
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListAllProps.js","names":["useCallback","useContext","useRef","pointer","DataContext","ListAllProps","props","log","generateRef","filterData","children","fieldPropsRef","valuePropsRef","data","hasContext","dataRef","current","generate","propsOfFields","Object","entries","reduce","acc","_ref","path","startsWith","propertyValue","prop","undefined","set","propsOfValues","_ref2","console"],"sources":["../../../../../src/extensions/forms/Tools/ListAllProps.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport DataContext, { FilterData } from '../DataContext/Context'\n\nexport type ListAllPropsReturn = {\n propsOfFields: JsonObject\n propsOfValues: JsonObject\n}\nexport type ListAllPropsProps = {\n log?: boolean\n generateRef?: React.MutableRefObject<() => ListAllPropsReturn>\n filterData?: FilterData\n children: React.ReactNode\n}\nexport type GenerateRef = ListAllPropsProps['generateRef']['current']\n\nexport default function ListAllProps(props: ListAllPropsProps) {\n const { log, generateRef, filterData, children } = props || {}\n const { fieldPropsRef, valuePropsRef, data, hasContext } =\n useContext(DataContext)\n\n const dataRef = useRef<JsonObject>({})\n dataRef.current = data\n\n const generate = useCallback(() => {\n const propsOfFields = Object.entries(\n fieldPropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n const propsOfValues = Object.entries(\n valuePropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n return { propsOfFields, propsOfValues } as ListAllPropsReturn\n }, [fieldPropsRef, filterData, valuePropsRef])\n\n if (hasContext) {\n if (log) {\n console.log(generate())\n }\n\n if (generateRef) {\n generateRef.current = generate\n }\n }\n\n return children\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"ListAllProps.js","names":["isValidElement","useCallback","useContext","useRef","pointer","DataContext","ListAllProps","props","log","generateRef","filterData","children","fieldPropsRef","valuePropsRef","data","hasContext","dataRef","current","generate","propsOfFields","Object","entries","reduce","acc","_ref","path","startsWith","propertyValue","prop","undefined","set","propsOfValues","_ref2","console"],"sources":["../../../../../src/extensions/forms/Tools/ListAllProps.tsx"],"sourcesContent":["import { isValidElement, useCallback, useContext, useRef } from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport DataContext, { FilterData } from '../DataContext/Context'\n\nexport type ListAllPropsReturn = {\n propsOfFields: JsonObject\n propsOfValues: JsonObject\n}\nexport type ListAllPropsProps = {\n log?: boolean\n generateRef?: React.MutableRefObject<() => ListAllPropsReturn>\n filterData?: FilterData\n children: React.ReactNode\n}\nexport type GenerateRef = ListAllPropsProps['generateRef']['current']\n\nexport default function ListAllProps(props: ListAllPropsProps) {\n const { log, generateRef, filterData, children } = props || {}\n const { fieldPropsRef, valuePropsRef, data, hasContext } =\n useContext(DataContext)\n\n const dataRef = useRef<JsonObject>({})\n dataRef.current = data\n\n const generate = useCallback(() => {\n const propsOfFields = Object.entries(\n fieldPropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function' &&\n !isValidElement(props[prop])\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n const propsOfValues = Object.entries(\n valuePropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function' &&\n !isValidElement(props[prop])\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n return { propsOfFields, propsOfValues } as ListAllPropsReturn\n }, [fieldPropsRef, filterData, valuePropsRef])\n\n if (hasContext) {\n if (log) {\n console.log(generate())\n }\n\n if (generateRef) {\n generateRef.current = generate\n }\n }\n\n return children\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ValueProps } from '../../types';
|
|
2
|
-
export type Props = ValueProps<boolean
|
|
3
|
+
export type Props = ValueProps<boolean> & {
|
|
4
|
+
trueText?: React.ReactNode;
|
|
5
|
+
falseText?: React.ReactNode;
|
|
6
|
+
};
|
|
3
7
|
declare function BooleanComponent(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
4
8
|
declare namespace BooleanComponent {
|
|
5
9
|
var _supportsSpacingProps: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["value", "className"];
|
|
3
|
+
const _excluded = ["value", "className", "trueText", "falseText"];
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import ValueBlock from '../../ValueBlock';
|
|
@@ -11,12 +11,14 @@ function BooleanComponent(props) {
|
|
|
11
11
|
const _useValueProps = useValueProps(props),
|
|
12
12
|
{
|
|
13
13
|
value,
|
|
14
|
-
className
|
|
14
|
+
className,
|
|
15
|
+
trueText,
|
|
16
|
+
falseText
|
|
15
17
|
} = _useValueProps,
|
|
16
18
|
rest = _objectWithoutProperties(_useValueProps, _excluded);
|
|
17
19
|
return React.createElement(ValueBlock, _extends({
|
|
18
20
|
className: classnames('dnb-forms-value-boolean', className)
|
|
19
|
-
}, rest), value === true || value === false ? value === true ? translations.yes : translations.no : null);
|
|
21
|
+
}, rest), value === true || value === false ? value === true ? trueText !== null && trueText !== void 0 ? trueText : translations.yes : falseText !== null && falseText !== void 0 ? falseText : translations.no : null);
|
|
20
22
|
}
|
|
21
23
|
BooleanComponent._supportsSpacingProps = true;
|
|
22
24
|
export default BooleanComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Boolean.js","names":["React","classnames","ValueBlock","useValueProps","useTranslation","BooleanComponent","props","translations","BooleanField","_useValueProps","value","className","rest","_objectWithoutProperties","_excluded","createElement","_extends","yes","no","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Boolean/Boolean.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport ValueBlock from '../../ValueBlock'\nimport { useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = ValueProps<boolean
|
|
1
|
+
{"version":3,"file":"Boolean.js","names":["React","classnames","ValueBlock","useValueProps","useTranslation","BooleanComponent","props","translations","BooleanField","_useValueProps","value","className","trueText","falseText","rest","_objectWithoutProperties","_excluded","createElement","_extends","yes","no","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Boolean/Boolean.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport ValueBlock from '../../ValueBlock'\nimport { useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = ValueProps<boolean> & {\n trueText?: React.ReactNode\n falseText?: React.ReactNode\n}\n\nfunction BooleanComponent(props: Props) {\n const translations = useTranslation().BooleanField\n const { value, className, trueText, falseText, ...rest } =\n useValueProps(props)\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-boolean', className)}\n {...rest}\n >\n {value === true || value === false\n ? value === true\n ? trueText ?? translations.yes\n : falseText ?? translations.no\n : null}\n </ValueBlock>\n )\n}\n\nBooleanComponent._supportsSpacingProps = true\nexport default BooleanComponent\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,aAAa,QAAQ,aAAa;AAE3C,OAAOC,cAAc,MAAM,4BAA4B;AAOvD,SAASC,gBAAgBA,CAACC,KAAY,EAAE;EACtC,MAAMC,YAAY,GAAGH,cAAc,CAAC,CAAC,CAACI,YAAY;EAClD,MAAAC,cAAA,GACEN,aAAa,CAACG,KAAK,CAAC;IADhB;MAAEI,KAAK;MAAEC,SAAS;MAAEC,QAAQ;MAAEC;IAAmB,CAAC,GAAAJ,cAAA;IAANK,IAAI,GAAAC,wBAAA,CAAAN,cAAA,EAAAO,SAAA;EAGtD,OACEhB,KAAA,CAAAiB,aAAA,CAACf,UAAU,EAAAgB,QAAA;IACTP,SAAS,EAAEV,UAAU,CAAC,yBAAyB,EAAEU,SAAS;EAAE,GACxDG,IAAI,GAEPJ,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,GAC9BA,KAAK,KAAK,IAAI,GACZE,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIL,YAAY,CAACY,GAAG,GAC5BN,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIN,YAAY,CAACa,EAAE,GAC9B,IACM,CAAC;AAEjB;AAEAf,gBAAgB,CAACgB,qBAAqB,GAAG,IAAI;AAC7C,eAAehB,gBAAgB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const BooleanProperties = {
|
|
2
|
+
trueText: {
|
|
3
|
+
doc: 'The text to use when the value is true.',
|
|
4
|
+
type: 'string',
|
|
5
|
+
status: 'optional'
|
|
6
|
+
},
|
|
7
|
+
falseText: {
|
|
8
|
+
doc: 'The text to use when the value is false.',
|
|
9
|
+
type: 'string',
|
|
10
|
+
status: 'optional'
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=BooleanDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BooleanDocs.js","names":["BooleanProperties","trueText","doc","type","status","falseText"],"sources":["../../../../../../src/extensions/forms/Value/Boolean/BooleanDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const BooleanProperties: PropertiesTableProps = {\n trueText: {\n doc: 'The text to use when the value is true.',\n type: 'string',\n status: 'optional',\n },\n falseText: {\n doc: 'The text to use when the value is false.',\n type: 'string',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,iBAAuC,GAAG;EACrDC,QAAQ,EAAE;IACRC,GAAG,EAAE,yCAAyC;IAC9CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,SAAS,EAAE;IACTH,GAAG,EAAE,0CAA0C;IAC/CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { ValueProps } from '../../types';
|
|
2
2
|
import { NumberFormatProps } from '../../../../components/NumberFormat';
|
|
3
3
|
import { IncludeCamelCase } from '../../../../shared/helpers/withCamelCaseProps';
|
|
4
|
-
export type Props = ValueProps<number> & IncludeCamelCase<NumberFormatProps
|
|
4
|
+
export type Props = Omit<ValueProps<number>, 'defaultValue'> & IncludeCamelCase<NumberFormatProps> & Partial<{
|
|
5
|
+
defaultValue?: number | string;
|
|
6
|
+
minimum?: number;
|
|
7
|
+
maximum?: number;
|
|
8
|
+
}>;
|
|
5
9
|
declare function NumberValue(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
6
10
|
declare namespace NumberValue {
|
|
7
11
|
var _supportsSpacingProps: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["value", "inline", "className"];
|
|
3
|
+
const _excluded = ["value", "minimum", "maximum", "inline", "showEmpty", "className"];
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import ValueBlock from '../../ValueBlock';
|
|
@@ -11,18 +11,29 @@ import { convertCamelCaseProps } from '../../../../shared/helpers/withCamelCaseP
|
|
|
11
11
|
function NumberValue(props) {
|
|
12
12
|
const _useValueProps = useValueProps(props),
|
|
13
13
|
{
|
|
14
|
-
value,
|
|
14
|
+
value: valueProp,
|
|
15
|
+
minimum = Number.MIN_SAFE_INTEGER,
|
|
16
|
+
maximum = Number.MAX_SAFE_INTEGER,
|
|
15
17
|
inline,
|
|
18
|
+
showEmpty,
|
|
16
19
|
className
|
|
17
20
|
} = _useValueProps,
|
|
18
21
|
rest = _objectWithoutProperties(_useValueProps, _excluded);
|
|
19
22
|
const numberFormatProps = convertCamelCaseProps(omitSpacingProps(rest));
|
|
23
|
+
let value = valueProp;
|
|
24
|
+
if (value < minimum) {
|
|
25
|
+
value = minimum;
|
|
26
|
+
}
|
|
27
|
+
if (value > maximum) {
|
|
28
|
+
value = maximum;
|
|
29
|
+
}
|
|
20
30
|
return React.createElement(ValueBlock, _extends({
|
|
21
31
|
className: classnames('dnb-forms-value-number', className),
|
|
22
|
-
inline: inline
|
|
23
|
-
|
|
32
|
+
inline: inline,
|
|
33
|
+
showEmpty: showEmpty
|
|
34
|
+
}, rest), typeof value !== 'undefined' || showEmpty ? React.createElement(NumberFormat, _extends({
|
|
24
35
|
value: value
|
|
25
|
-
}, numberFormatProps)));
|
|
36
|
+
}, numberFormatProps)) : null);
|
|
26
37
|
}
|
|
27
38
|
NumberValue._supportsSpacingProps = true;
|
|
28
39
|
export default NumberValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.js","names":["React","classnames","ValueBlock","useValueProps","omitSpacingProps","NumberFormat","convertCamelCaseProps","NumberValue","props","_useValueProps","value","inline","className","rest","_objectWithoutProperties","_excluded","numberFormatProps","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Number/Number.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport ValueBlock from '../../ValueBlock'\nimport useValueProps from '../../hooks/useValueProps'\nimport { ValueProps } from '../../types'\nimport { omitSpacingProps } from '../../../../components/flex/utils'\nimport NumberFormat, {\n NumberFormatProps,\n} from '../../../../components/NumberFormat'\nimport {\n IncludeCamelCase,\n convertCamelCaseProps,\n} from '../../../../shared/helpers/withCamelCaseProps'\n\nexport type Props = ValueProps<number> &\n IncludeCamelCase<NumberFormatProps>\n\nfunction NumberValue(props: Props) {\n const {
|
|
1
|
+
{"version":3,"file":"Number.js","names":["React","classnames","ValueBlock","useValueProps","omitSpacingProps","NumberFormat","convertCamelCaseProps","NumberValue","props","_useValueProps","value","valueProp","minimum","Number","MIN_SAFE_INTEGER","maximum","MAX_SAFE_INTEGER","inline","showEmpty","className","rest","_objectWithoutProperties","_excluded","numberFormatProps","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Number/Number.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport ValueBlock from '../../ValueBlock'\nimport useValueProps from '../../hooks/useValueProps'\nimport { ValueProps } from '../../types'\nimport { omitSpacingProps } from '../../../../components/flex/utils'\nimport NumberFormat, {\n NumberFormatProps,\n} from '../../../../components/NumberFormat'\nimport {\n IncludeCamelCase,\n convertCamelCaseProps,\n} from '../../../../shared/helpers/withCamelCaseProps'\n\nexport type Props = Omit<ValueProps<number>, 'defaultValue'> &\n IncludeCamelCase<NumberFormatProps> &\n Partial<{\n defaultValue?: number | string\n minimum?: number\n maximum?: number\n }>\n\nfunction NumberValue(props: Props) {\n const {\n value: valueProp,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n inline,\n showEmpty,\n className,\n ...rest\n } = useValueProps(props)\n const numberFormatProps = convertCamelCaseProps(omitSpacingProps(rest))\n\n let value = valueProp\n if (value < minimum) {\n value = minimum\n }\n if (value > maximum) {\n value = maximum\n }\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-number', className)}\n inline={inline}\n showEmpty={showEmpty}\n {...rest}\n >\n {typeof value !== 'undefined' || showEmpty ? (\n <NumberFormat value={value} {...numberFormatProps} />\n ) : null}\n </ValueBlock>\n )\n}\n\nNumberValue._supportsSpacingProps = true\nexport default NumberValue\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,aAAa,MAAM,2BAA2B;AAErD,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,OAAOC,YAAY,MAEZ,qCAAqC;AAC5C,SAEEC,qBAAqB,QAChB,+CAA+C;AAUtD,SAASC,WAAWA,CAACC,KAAY,EAAE;EACjC,MAAAC,cAAA,GAQIN,aAAa,CAACK,KAAK,CAAC;IARlB;MACJE,KAAK,EAAEC,SAAS;MAChBC,OAAO,GAAGC,MAAM,CAACC,gBAAgB;MACjCC,OAAO,GAAGF,MAAM,CAACG,gBAAgB;MACjCC,MAAM;MACNC,SAAS;MACTC;IAEF,CAAC,GAAAV,cAAA;IADIW,IAAI,GAAAC,wBAAA,CAAAZ,cAAA,EAAAa,SAAA;EAET,MAAMC,iBAAiB,GAAGjB,qBAAqB,CAACF,gBAAgB,CAACgB,IAAI,CAAC,CAAC;EAEvE,IAAIV,KAAK,GAAGC,SAAS;EACrB,IAAID,KAAK,GAAGE,OAAO,EAAE;IACnBF,KAAK,GAAGE,OAAO;EACjB;EACA,IAAIF,KAAK,GAAGK,OAAO,EAAE;IACnBL,KAAK,GAAGK,OAAO;EACjB;EAEA,OACEf,KAAA,CAAAwB,aAAA,CAACtB,UAAU,EAAAuB,QAAA;IACTN,SAAS,EAAElB,UAAU,CAAC,wBAAwB,EAAEkB,SAAS,CAAE;IAC3DF,MAAM,EAAEA,MAAO;IACfC,SAAS,EAAEA;EAAU,GACjBE,IAAI,GAEP,OAAOV,KAAK,KAAK,WAAW,IAAIQ,SAAS,GACxClB,KAAA,CAAAwB,aAAA,CAACnB,YAAY,EAAAoB,QAAA;IAACf,KAAK,EAAEA;EAAM,GAAKa,iBAAiB,CAAG,CAAC,GACnD,IACM,CAAC;AAEjB;AAEAhB,WAAW,CAACmB,qBAAqB,GAAG,IAAI;AACxC,eAAenB,WAAW"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const NumberProperties = {
|
|
2
|
+
minimum: {
|
|
3
|
+
doc: 'Defines the minimum value of the rendered number. Defaults to `Number.MIN_SAFE_INTEGER`.',
|
|
4
|
+
type: 'number',
|
|
5
|
+
status: 'optional'
|
|
6
|
+
},
|
|
7
|
+
maximum: {
|
|
8
|
+
doc: 'Defines the maximum value of the rendered number. Defaults to `Number.MAX_SAFE_INTEGER`.',
|
|
9
|
+
type: 'number',
|
|
10
|
+
status: 'optional'
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=NumberDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberDocs.js","names":["NumberProperties","minimum","doc","type","status","maximum"],"sources":["../../../../../../src/extensions/forms/Value/Number/NumberDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const NumberProperties: PropertiesTableProps = {\n minimum: {\n doc: 'Defines the minimum value of the rendered number. Defaults to `Number.MIN_SAFE_INTEGER`.',\n type: 'number',\n status: 'optional',\n },\n maximum: {\n doc: 'Defines the maximum value of the rendered number. Defaults to `Number.MAX_SAFE_INTEGER`.',\n type: 'number',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,OAAO,EAAE;IACPC,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC"}
|