@dnb/eufemia 10.34.1 → 10.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/assets/images/sbanken/sbanken-compact-horizontal.svg +3 -0
- package/assets/images/sbanken/sbanken-compact.svg +3 -0
- package/assets/images/sbanken/sbanken.svg +3 -0
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-set/FormSet.js.map +1 -1
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/global-status/GlobalStatusController.js.map +1 -1
- package/cjs/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/cjs/components/help-button/HelpButton.js +3 -0
- package/cjs/components/help-button/HelpButton.js.map +1 -1
- package/cjs/components/help-button/style/dnb-help-button.css +4 -1
- package/cjs/components/help-button/style/dnb-help-button.min.css +1 -0
- package/cjs/components/help-button/style/dnb-help-button.scss +6 -0
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.js.map +1 -1
- package/cjs/components/logo/Logo.d.ts +47 -43
- package/cjs/components/logo/Logo.js +77 -221
- package/cjs/components/logo/Logo.js.map +1 -1
- package/cjs/components/logo/LogoDocs.d.ts +2 -0
- package/cjs/components/logo/LogoDocs.js +50 -0
- package/cjs/components/logo/LogoDocs.js.map +1 -0
- package/cjs/components/logo/LogoSvg.d.ts +7 -0
- package/cjs/components/logo/LogoSvg.js +81 -0
- package/cjs/components/logo/LogoSvg.js.map +1 -0
- package/cjs/components/modal/Modal.d.ts +2 -0
- package/cjs/components/modal/Modal.js +25 -10
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +4 -0
- package/cjs/components/number-format/NumberFormat.js +5 -2
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/style/dnb-number-format.css +3 -0
- package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
- package/cjs/components/number-format/style/dnb-number-format.scss +4 -0
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
- package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
- package/cjs/components/pagination/PaginationProvider.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/cjs/components/progress-indicator/types.d.ts +1 -1
- package/cjs/components/progress-indicator/types.js.map +1 -1
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/radio/RadioGroup.js.map +1 -1
- package/cjs/components/skeleton/Skeleton.js.map +1 -1
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/table/Table.d.ts +6 -0
- package/cjs/components/table/Table.js +15 -3
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/table/TableAccordion.d.ts +7 -11
- package/cjs/components/table/TableAccordion.js +32 -21
- package/cjs/components/table/TableAccordion.js.map +1 -1
- package/cjs/components/table/TableTr.js +24 -25
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/tabs/Tabs.js +1 -5
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/tabs/TabsDocs.js +1 -1
- package/cjs/components/tabs/TabsDocs.js.map +1 -1
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
- package/cjs/extensions/forms/DataContext/Context.js +1 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +50 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +7 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +7 -2
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +44 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +27 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +67 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +54 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +25 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/cjs/extensions/forms/Form/Section/Section.js +10 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +43 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +27 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +34 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +93 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js +12 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +33 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +35 -0
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/{extensions/forms/Iterate/style/dnb-form-iterate.scss → cjs/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +17 -8
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +30 -5
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.js +6 -11
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +46 -44
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/cjs/fragments/text-counter/TextCounter.js +3 -2
- package/cjs/fragments/text-counter/TextCounter.js.map +1 -1
- package/cjs/shared/Context.d.ts +9 -5
- package/cjs/shared/Context.js +40 -35
- 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/Provider.d.ts +1 -1
- package/cjs/shared/Provider.js +49 -42
- package/cjs/shared/Provider.js.map +1 -1
- package/cjs/shared/Translation.d.ts +5 -5
- package/cjs/shared/Translation.js +6 -11
- package/cjs/shared/Translation.js.map +1 -1
- package/cjs/shared/index.d.ts +1 -0
- package/cjs/shared/index.js +26 -1
- package/cjs/shared/index.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +0 -3
- package/cjs/shared/locales/en-GB.js +0 -3
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +0 -3
- package/cjs/shared/locales/index.d.ts +0 -6
- package/cjs/shared/locales/nb-NO.d.ts +0 -3
- package/cjs/shared/locales/nb-NO.js +0 -3
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useTranslation.d.ts +5 -4
- package/cjs/shared/useTranslation.js +14 -12
- package/cjs/shared/useTranslation.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 +57 -44
- package/cjs/style/dnb-ui-components.min.css +2 -2
- 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 +46 -44
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +46 -44
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +2 -1
- package/cjs/style/dnb-ui-fragments.css +4 -0
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/globals.scss +3 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/globals.scss +3 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +46 -44
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/components/button/Button.js.map +1 -1
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-set/FormSet.js.map +1 -1
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/global-status/GlobalStatusController.js.map +1 -1
- package/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/components/help-button/HelpButton.js +3 -0
- package/components/help-button/HelpButton.js.map +1 -1
- package/components/help-button/style/dnb-help-button.css +4 -1
- package/components/help-button/style/dnb-help-button.min.css +1 -0
- package/components/help-button/style/dnb-help-button.scss +6 -0
- package/components/icon/Icon.js.map +1 -1
- package/components/icon-primary/IconPrimary.js.map +1 -1
- package/components/input/Input.js.map +1 -1
- package/components/input-masked/InputMasked.js.map +1 -1
- package/components/logo/Logo.d.ts +47 -43
- package/components/logo/Logo.js +75 -221
- package/components/logo/Logo.js.map +1 -1
- package/components/logo/LogoDocs.d.ts +2 -0
- package/components/logo/LogoDocs.js +43 -0
- package/components/logo/LogoDocs.js.map +1 -0
- package/components/logo/LogoSvg.d.ts +7 -0
- package/components/logo/LogoSvg.js +73 -0
- package/components/logo/LogoSvg.js.map +1 -0
- package/components/modal/Modal.d.ts +2 -0
- package/components/modal/Modal.js +25 -10
- package/components/modal/Modal.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +4 -0
- package/components/number-format/NumberFormat.js +5 -2
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/style/dnb-number-format.css +3 -0
- package/components/number-format/style/dnb-number-format.min.css +1 -1
- package/components/number-format/style/dnb-number-format.scss +4 -0
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationHelpers.js.map +1 -1
- package/components/pagination/PaginationInfinity.js.map +1 -1
- package/components/pagination/PaginationProvider.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/components/progress-indicator/types.d.ts +1 -1
- package/components/progress-indicator/types.js.map +1 -1
- package/components/radio/Radio.js.map +1 -1
- package/components/radio/RadioGroup.js.map +1 -1
- package/components/skeleton/Skeleton.js.map +1 -1
- package/components/switch/Switch.js.map +1 -1
- package/components/table/Table.d.ts +6 -0
- package/components/table/Table.js +13 -3
- package/components/table/Table.js.map +1 -1
- package/components/table/TableAccordion.d.ts +7 -11
- package/components/table/TableAccordion.js +29 -20
- package/components/table/TableAccordion.js.map +1 -1
- package/components/table/TableTr.js +25 -26
- package/components/table/TableTr.js.map +1 -1
- package/components/tabs/Tabs.js +1 -5
- package/components/tabs/Tabs.js.map +1 -1
- package/components/tabs/TabsDocs.js +1 -1
- package/components/tabs/TabsDocs.js.map +1 -1
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
- package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
- package/es/components/button/Button.js.map +1 -1
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-set/FormSet.js.map +1 -1
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/global-status/GlobalStatusController.js.map +1 -1
- package/es/components/global-status/GlobalStatusProvider.js.map +1 -1
- package/es/components/help-button/HelpButton.js +3 -0
- package/es/components/help-button/HelpButton.js.map +1 -1
- package/es/components/help-button/style/dnb-help-button.css +4 -1
- package/es/components/help-button/style/dnb-help-button.min.css +1 -0
- package/es/components/help-button/style/dnb-help-button.scss +6 -0
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/icon-primary/IconPrimary.js.map +1 -1
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input-masked/InputMasked.js.map +1 -1
- package/es/components/logo/Logo.d.ts +47 -43
- package/es/components/logo/Logo.js +75 -221
- package/es/components/logo/Logo.js.map +1 -1
- package/es/components/logo/LogoDocs.d.ts +2 -0
- package/es/components/logo/LogoDocs.js +43 -0
- package/es/components/logo/LogoDocs.js.map +1 -0
- package/es/components/logo/LogoSvg.d.ts +7 -0
- package/es/components/logo/LogoSvg.js +72 -0
- package/es/components/logo/LogoSvg.js.map +1 -0
- package/es/components/modal/Modal.d.ts +2 -0
- package/es/components/modal/Modal.js +25 -10
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +4 -0
- package/es/components/number-format/NumberFormat.js +5 -2
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/style/dnb-number-format.css +3 -0
- package/es/components/number-format/style/dnb-number-format.min.css +1 -1
- package/es/components/number-format/style/dnb-number-format.scss +4 -0
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationHelpers.js.map +1 -1
- package/es/components/pagination/PaginationInfinity.js.map +1 -1
- package/es/components/pagination/PaginationProvider.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/es/components/progress-indicator/types.d.ts +1 -1
- package/es/components/progress-indicator/types.js.map +1 -1
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/radio/RadioGroup.js.map +1 -1
- package/es/components/skeleton/Skeleton.js.map +1 -1
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/table/Table.d.ts +6 -0
- package/es/components/table/Table.js +13 -3
- package/es/components/table/Table.js.map +1 -1
- package/es/components/table/TableAccordion.d.ts +7 -11
- package/es/components/table/TableAccordion.js +29 -19
- package/es/components/table/TableAccordion.js.map +1 -1
- package/es/components/table/TableTr.js +25 -26
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/tabs/Tabs.js +1 -5
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/tabs/TabsDocs.js +1 -1
- package/es/components/tabs/TabsDocs.js.map +1 -1
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +2 -0
- package/es/extensions/forms/DataContext/Context.js +1 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +46 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +7 -2
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.js +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/es/extensions/forms/Form/Section/Section.js +10 -2
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
- package/es/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
- package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/es/extensions/forms/{Iterate/style/dnb-form-iterate.scss → Form/Section/style/dnb-form-section.scss} +4 -12
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/es/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js +3 -2
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/es/extensions/forms/constants/locales/index.d.ts +4 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/es/extensions/forms/hooks/useDataValue.js +30 -5
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +14 -9
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.js +7 -12
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +46 -44
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/payment-card/PaymentCard.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/es/fragments/text-counter/TextCounter.js +3 -2
- package/es/fragments/text-counter/TextCounter.js.map +1 -1
- package/es/shared/Context.d.ts +9 -5
- package/es/shared/Context.js +39 -35
- 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/Provider.d.ts +1 -1
- package/es/shared/Provider.js +49 -41
- package/es/shared/Provider.js.map +1 -1
- package/es/shared/Translation.d.ts +5 -5
- package/es/shared/Translation.js +8 -10
- package/es/shared/Translation.js.map +1 -1
- package/es/shared/index.d.ts +1 -0
- package/es/shared/index.js +1 -0
- package/es/shared/index.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +0 -3
- package/es/shared/locales/en-GB.js +0 -3
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +0 -3
- package/es/shared/locales/index.d.ts +0 -6
- package/es/shared/locales/nb-NO.d.ts +0 -3
- package/es/shared/locales/nb-NO.js +0 -3
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useTranslation.d.ts +5 -4
- package/es/shared/useTranslation.js +13 -11
- package/es/shared/useTranslation.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 +57 -44
- package/es/style/dnb-ui-components.min.css +2 -2
- 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 +46 -44
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +46 -44
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +2 -1
- package/es/style/dnb-ui-fragments.css +4 -0
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/globals.scss +3 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/globals.scss +3 -2
- package/es/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +46 -44
- 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 +2 -0
- package/extensions/forms/DataContext/Context.js +1 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +50 -4
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -2
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +7 -2
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +7 -3
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
- package/extensions/forms/Form/Section/EditContainer/index.js +3 -0
- package/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
- package/extensions/forms/Form/Section/Section.d.ts +9 -1
- package/extensions/forms/Form/Section/Section.js +10 -2
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
- package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
- package/extensions/forms/Form/Section/SectionDocs.js +6 -1
- package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
- package/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
- package/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
- package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
- package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
- package/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
- package/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
- package/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
- package/{cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss → extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +1 -1
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
- package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
- package/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
- package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/extensions/forms/constants/locales/en-GB.js +3 -2
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/extensions/forms/constants/locales/index.d.ts +4 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +4 -0
- package/extensions/forms/hooks/useDataValue.js +30 -5
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +14 -9
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.js +7 -12
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +46 -44
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/payment-card/PaymentCard.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
- package/fragments/text-counter/TextCounter.js +3 -2
- package/fragments/text-counter/TextCounter.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +9 -5
- package/shared/Context.js +40 -35
- 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/Provider.d.ts +1 -1
- package/shared/Provider.js +49 -41
- package/shared/Provider.js.map +1 -1
- package/shared/Translation.d.ts +5 -5
- package/shared/Translation.js +8 -10
- package/shared/Translation.js.map +1 -1
- package/shared/index.d.ts +1 -0
- package/shared/index.js +1 -0
- package/shared/index.js.map +1 -1
- package/shared/locales/en-GB.d.ts +0 -3
- package/shared/locales/en-GB.js +0 -3
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +0 -3
- package/shared/locales/index.d.ts +0 -6
- package/shared/locales/nb-NO.d.ts +0 -3
- package/shared/locales/nb-NO.js +0 -3
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useTranslation.d.ts +5 -4
- package/shared/useTranslation.js +13 -11
- package/shared/useTranslation.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 +57 -44
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +46 -44
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +46 -44
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +2 -1
- package/style/dnb-ui-fragments.css +4 -0
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/globals.scss +3 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/globals.scss +3 -2
- package/style/themes/theme-ui/ui-theme-basis.css +2 -2
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +103 -88
- package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.css +46 -44
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +46 -44
- 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/Iterate/style/dnb-form-iterate.css +0 -50
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React, { useCallback, useContext, useState } from 'react';
|
|
4
|
+
import { Button, Flex, FormStatus } from '../../../../../components';
|
|
5
|
+
import useTranslation from '../../../hooks/useTranslation';
|
|
6
|
+
import SectionContainerContext from '../containers/SectionContainerContext';
|
|
7
|
+
import FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext';
|
|
8
|
+
import { check, close } from '../../../../../icons';
|
|
9
|
+
import useContainerDataStore from './useContainerDataStore';
|
|
10
|
+
import useEditContainerToolbar from './useEditContainerToolbar';
|
|
11
|
+
export default function EditToolbarTools() {
|
|
12
|
+
useEditContainerToolbar();
|
|
13
|
+
const {
|
|
14
|
+
restoreOriginalData
|
|
15
|
+
} = useContainerDataStore();
|
|
16
|
+
const {
|
|
17
|
+
switchContainerMode
|
|
18
|
+
} = useContext(SectionContainerContext) || {};
|
|
19
|
+
const {
|
|
20
|
+
hasVisibleError,
|
|
21
|
+
hasSubmitError
|
|
22
|
+
} = useContext(FieldBoundaryContext) || {};
|
|
23
|
+
const translation = useTranslation().Section;
|
|
24
|
+
const [showError, setShowError] = useState(false);
|
|
25
|
+
const cancelHandler = useCallback(() => {
|
|
26
|
+
if (hasSubmitError) {
|
|
27
|
+
setShowError(true);
|
|
28
|
+
} else {
|
|
29
|
+
setShowError(false);
|
|
30
|
+
restoreOriginalData();
|
|
31
|
+
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view');
|
|
32
|
+
}
|
|
33
|
+
}, [hasSubmitError, restoreOriginalData, switchContainerMode]);
|
|
34
|
+
const doneHandler = useCallback(() => {
|
|
35
|
+
if (hasVisibleError) {
|
|
36
|
+
setShowError(true);
|
|
37
|
+
} else {
|
|
38
|
+
setShowError(false);
|
|
39
|
+
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view');
|
|
40
|
+
}
|
|
41
|
+
}, [hasVisibleError, switchContainerMode]);
|
|
42
|
+
return React.createElement(React.Fragment, null, React.createElement(FormStatus, {
|
|
43
|
+
show: showError && hasVisibleError,
|
|
44
|
+
no_animation: false
|
|
45
|
+
}, translation.errorInSection), React.createElement(Flex.Horizontal, {
|
|
46
|
+
gap: "large"
|
|
47
|
+
}, React.createElement(Button, {
|
|
48
|
+
variant: "tertiary",
|
|
49
|
+
icon: check,
|
|
50
|
+
icon_position: "left",
|
|
51
|
+
on_click: doneHandler
|
|
52
|
+
}, translation.done), React.createElement(Button, {
|
|
53
|
+
variant: "tertiary",
|
|
54
|
+
icon: close,
|
|
55
|
+
icon_position: "left",
|
|
56
|
+
on_click: cancelHandler
|
|
57
|
+
}, translation.cancel)));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=EditToolbarTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditToolbarTools.js","names":["React","useCallback","useContext","useState","Button","Flex","FormStatus","useTranslation","SectionContainerContext","FieldBoundaryContext","check","close","useContainerDataStore","useEditContainerToolbar","EditToolbarTools","restoreOriginalData","switchContainerMode","hasVisibleError","hasSubmitError","translation","Section","showError","setShowError","cancelHandler","doneHandler","createElement","Fragment","show","no_animation","errorInSection","Horizontal","gap","variant","icon","icon_position","on_click","done","cancel"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react'\nimport { Button, Flex, FormStatus } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { check, close } from '../../../../../icons'\nimport useContainerDataStore from './useContainerDataStore'\nimport useEditContainerToolbar from './useEditContainerToolbar'\n\nexport default function EditToolbarTools() {\n useEditContainerToolbar()\n const { restoreOriginalData } = useContainerDataStore()\n\n const { switchContainerMode } = useContext(SectionContainerContext) || {}\n const { hasVisibleError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().Section\n\n const [showError, setShowError] = useState(false)\n\n const cancelHandler = useCallback(() => {\n if (hasSubmitError) {\n setShowError(true)\n } else {\n setShowError(false)\n restoreOriginalData()\n switchContainerMode?.('view')\n }\n }, [hasSubmitError, restoreOriginalData, switchContainerMode])\n const doneHandler = useCallback(() => {\n if (hasVisibleError) {\n setShowError(true)\n } else {\n setShowError(false)\n switchContainerMode?.('view')\n }\n }, [hasVisibleError, switchContainerMode])\n\n return (\n <>\n <FormStatus show={showError && hasVisibleError} no_animation={false}>\n {translation.errorInSection}\n </FormStatus>\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {translation.done}\n </Button>\n\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancel}\n </Button>\n </Flex.Horizontal>\n </>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,MAAM,EAAEC,IAAI,EAAEC,UAAU,QAAQ,2BAA2B;AACpE,OAAOC,cAAc,MAAM,+BAA+B;AAC1D,OAAOC,uBAAuB,MAAM,uCAAuC;AAC3E,OAAOC,oBAAoB,MAAM,yDAAyD;AAC1F,SAASC,KAAK,EAAEC,KAAK,QAAQ,sBAAsB;AACnD,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,uBAAuB,MAAM,2BAA2B;AAE/D,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzCD,uBAAuB,CAAC,CAAC;EACzB,MAAM;IAAEE;EAAoB,CAAC,GAAGH,qBAAqB,CAAC,CAAC;EAEvD,MAAM;IAAEI;EAAoB,CAAC,GAAGd,UAAU,CAACM,uBAAuB,CAAC,IAAI,CAAC,CAAC;EACzE,MAAM;IAAES,eAAe;IAAEC;EAAe,CAAC,GACvChB,UAAU,CAACO,oBAAoB,CAAC,IAAI,CAAC,CAAC;EAExC,MAAMU,WAAW,GAAGZ,cAAc,CAAC,CAAC,CAACa,OAAO;EAE5C,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGnB,QAAQ,CAAC,KAAK,CAAC;EAEjD,MAAMoB,aAAa,GAAGtB,WAAW,CAAC,MAAM;IACtC,IAAIiB,cAAc,EAAE;MAClBI,YAAY,CAAC,IAAI,CAAC;IACpB,CAAC,MAAM;MACLA,YAAY,CAAC,KAAK,CAAC;MACnBP,mBAAmB,CAAC,CAAC;MACrBC,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;IAC/B;EACF,CAAC,EAAE,CAACE,cAAc,EAAEH,mBAAmB,EAAEC,mBAAmB,CAAC,CAAC;EAC9D,MAAMQ,WAAW,GAAGvB,WAAW,CAAC,MAAM;IACpC,IAAIgB,eAAe,EAAE;MACnBK,YAAY,CAAC,IAAI,CAAC;IACpB,CAAC,MAAM;MACLA,YAAY,CAAC,KAAK,CAAC;MACnBN,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;IAC/B;EACF,CAAC,EAAE,CAACC,eAAe,EAAED,mBAAmB,CAAC,CAAC;EAE1C,OACEhB,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA0B,QAAA,QACE1B,KAAA,CAAAyB,aAAA,CAACnB,UAAU;IAACqB,IAAI,EAAEN,SAAS,IAAIJ,eAAgB;IAACW,YAAY,EAAE;EAAM,GACjET,WAAW,CAACU,cACH,CAAC,EACb7B,KAAA,CAAAyB,aAAA,CAACpB,IAAI,CAACyB,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1B/B,KAAA,CAAAyB,aAAA,CAACrB,MAAM;IACL4B,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEvB,KAAM;IACZwB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEX;EAAY,GAErBL,WAAW,CAACiB,IACP,CAAC,EAETpC,KAAA,CAAAyB,aAAA,CAACrB,MAAM;IACL4B,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEtB,KAAM;IACZuB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEZ;EAAc,GAEvBJ,WAAW,CAACkB,MACP,CACO,CACjB,CAAC;AAEP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/index.ts"],"sourcesContent":["export { default } from './EditContainer'\nexport * from './EditContainer'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iBAAiB;AACzC,cAAc,iBAAiB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
+
import { useCallback, useContext, useEffect, useRef } from 'react';
|
|
7
|
+
import { extendDeep } from '../../../../../shared/component-helper';
|
|
8
|
+
import DataContext from '../../../DataContext/Context';
|
|
9
|
+
import SectionContainerContext from '../containers/SectionContainerContext';
|
|
10
|
+
import useDataValue from '../../../hooks/useDataValue';
|
|
11
|
+
import { usePath } from '../../../hooks';
|
|
12
|
+
export default function useContainerDataStore() {
|
|
13
|
+
const valueBackupRef = useRef();
|
|
14
|
+
const {
|
|
15
|
+
makePath
|
|
16
|
+
} = usePath();
|
|
17
|
+
const {
|
|
18
|
+
getData
|
|
19
|
+
} = useDataValue();
|
|
20
|
+
const {
|
|
21
|
+
data: dataFromContext,
|
|
22
|
+
setData
|
|
23
|
+
} = useContext(DataContext);
|
|
24
|
+
const {
|
|
25
|
+
containerMode
|
|
26
|
+
} = useContext(SectionContainerContext) || {};
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (containerMode === 'edit' && !valueBackupRef.current) {
|
|
29
|
+
valueBackupRef.current = getData('/', {
|
|
30
|
+
includeCurrentPath: true
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (containerMode === 'view') {
|
|
34
|
+
valueBackupRef.current = null;
|
|
35
|
+
}
|
|
36
|
+
}, [containerMode, getData, makePath]);
|
|
37
|
+
const restoreOriginalData = useCallback(() => {
|
|
38
|
+
if (valueBackupRef.current) {
|
|
39
|
+
setData === null || setData === void 0 ? void 0 : setData(extendDeep(_objectSpread({}, dataFromContext), valueBackupRef.current));
|
|
40
|
+
}
|
|
41
|
+
}, [dataFromContext, setData]);
|
|
42
|
+
return {
|
|
43
|
+
restoreOriginalData
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=useContainerDataStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContainerDataStore.js","names":["useCallback","useContext","useEffect","useRef","extendDeep","DataContext","SectionContainerContext","useDataValue","usePath","useContainerDataStore","valueBackupRef","makePath","getData","data","dataFromContext","setData","containerMode","current","includeCurrentPath","restoreOriginalData","_objectSpread"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/useContainerDataStore.ts"],"sourcesContent":["import { useCallback, useContext, useEffect, useRef } from 'react'\nimport { extendDeep } from '../../../../../shared/component-helper'\nimport DataContext from '../../../DataContext/Context'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport useDataValue from '../../../hooks/useDataValue'\nimport { usePath } from '../../../hooks'\n\nexport default function useContainerDataStore() {\n const valueBackupRef = useRef<unknown>()\n\n const { makePath } = usePath()\n const { getData } = useDataValue()\n const { data: dataFromContext, setData } = useContext(DataContext)\n // const { path } = useContext(SectionContext) || {}\n const { containerMode } = useContext(SectionContainerContext) || {}\n\n useEffect(() => {\n // console.log('path', path)\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = getData('/', {\n includeCurrentPath: true,\n })\n // console.log('dataFromContext', dataFromContext)\n // console.log('valueBackupRef.current', valueBackupRef.current)\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [containerMode, getData, makePath])\n\n const restoreOriginalData = useCallback(() => {\n if (valueBackupRef.current) {\n setData?.(extendDeep({ ...dataFromContext }, valueBackupRef.current))\n }\n }, [dataFromContext, setData])\n\n return {\n restoreOriginalData,\n }\n}\n"],"mappings":";;;;;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAClE,SAASC,UAAU,QAAQ,wCAAwC;AACnE,OAAOC,WAAW,MAAM,8BAA8B;AACtD,OAAOC,uBAAuB,MAAM,uCAAuC;AAC3E,OAAOC,YAAY,MAAM,6BAA6B;AACtD,SAASC,OAAO,QAAQ,gBAAgB;AAExC,eAAe,SAASC,qBAAqBA,CAAA,EAAG;EAC9C,MAAMC,cAAc,GAAGP,MAAM,CAAU,CAAC;EAExC,MAAM;IAAEQ;EAAS,CAAC,GAAGH,OAAO,CAAC,CAAC;EAC9B,MAAM;IAAEI;EAAQ,CAAC,GAAGL,YAAY,CAAC,CAAC;EAClC,MAAM;IAAEM,IAAI,EAAEC,eAAe;IAAEC;EAAQ,CAAC,GAAGd,UAAU,CAACI,WAAW,CAAC;EAElE,MAAM;IAAEW;EAAc,CAAC,GAAGf,UAAU,CAACK,uBAAuB,CAAC,IAAI,CAAC,CAAC;EAEnEJ,SAAS,CAAC,MAAM;IAEd,IAAIc,aAAa,KAAK,MAAM,IAAI,CAACN,cAAc,CAACO,OAAO,EAAE;MACvDP,cAAc,CAACO,OAAO,GAAGL,OAAO,CAAC,GAAG,EAAE;QACpCM,kBAAkB,EAAE;MACtB,CAAC,CAAC;IAGJ;IACA,IAAIF,aAAa,KAAK,MAAM,EAAE;MAC5BN,cAAc,CAACO,OAAO,GAAG,IAAI;IAC/B;EACF,CAAC,EAAE,CAACD,aAAa,EAAEJ,OAAO,EAAED,QAAQ,CAAC,CAAC;EAEtC,MAAMQ,mBAAmB,GAAGnB,WAAW,CAAC,MAAM;IAC5C,IAAIU,cAAc,CAACO,OAAO,EAAE;MAC1BF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGX,UAAU,CAAAgB,aAAA,KAAMN,eAAe,GAAIJ,cAAc,CAACO,OAAO,CAAC,CAAC;IACvE;EACF,CAAC,EAAE,CAACH,eAAe,EAAEC,OAAO,CAAC,CAAC;EAE9B,OAAO;IACLI;EACF,CAAC;AACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function useEditContainerToolbar(): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useContext, useEffect } from 'react';
|
|
4
|
+
import SectionContainerContext from '../containers/SectionContainerContext';
|
|
5
|
+
import FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext';
|
|
6
|
+
export default function useEditContainerToolbar() {
|
|
7
|
+
const {
|
|
8
|
+
switchContainerMode
|
|
9
|
+
} = useContext(SectionContainerContext) || {};
|
|
10
|
+
const {
|
|
11
|
+
hasSubmitError
|
|
12
|
+
} = useContext(FieldBoundaryContext) || {};
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (hasSubmitError) {
|
|
15
|
+
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
|
|
16
|
+
}
|
|
17
|
+
}, [hasSubmitError, switchContainerMode]);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=useEditContainerToolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditContainerToolbar.js","names":["useContext","useEffect","SectionContainerContext","FieldBoundaryContext","useEditContainerToolbar","switchContainerMode","hasSubmitError"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.ts"],"sourcesContent":["import { useContext, useEffect } from 'react'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\n\nexport default function useEditContainerToolbar() {\n const { switchContainerMode } = useContext(SectionContainerContext) || {}\n const { hasSubmitError } = useContext(FieldBoundaryContext) || {}\n\n useEffect(() => {\n // Ensure the edit container is always in edit mode when the form has a submit error\n if (hasSubmitError) {\n switchContainerMode?.('edit')\n }\n }, [hasSubmitError, switchContainerMode])\n}\n"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAC7C,OAAOC,uBAAuB,MAAM,uCAAuC;AAC3E,OAAOC,oBAAoB,MAAM,yDAAyD;AAE1F,eAAe,SAASC,uBAAuBA,CAAA,EAAG;EAChD,MAAM;IAAEC;EAAoB,CAAC,GAAGL,UAAU,CAACE,uBAAuB,CAAC,IAAI,CAAC,CAAC;EACzE,MAAM;IAAEI;EAAe,CAAC,GAAGN,UAAU,CAACG,oBAAoB,CAAC,IAAI,CAAC,CAAC;EAEjEF,SAAS,CAAC,MAAM;IAEd,IAAIK,cAAc,EAAE;MAClBD,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;IAC/B;EACF,CAAC,EAAE,CAACC,cAAc,EAAED,mBAAmB,CAAC,CAAC;AAC3C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SectionContextState } from './SectionContext';
|
|
3
3
|
import type { Props as DataContextProps } from '../../DataContext/Provider';
|
|
4
|
+
import type { ContainerMode } from './containers/SectionContainer';
|
|
4
5
|
import type { FieldSectionProps, Path, FieldProps } from '../../types';
|
|
5
6
|
export type OverwritePropsDefaults = {
|
|
6
7
|
[key: Path]: (FieldProps & FieldSectionProps) | OverwritePropsDefaults;
|
|
@@ -19,6 +20,11 @@ export type SectionProps<overwriteProps = OverwritePropsDefaults> = {
|
|
|
19
20
|
* Makes all fields inside it required.
|
|
20
21
|
*/
|
|
21
22
|
required?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Defines the container mode. Can be `view` or `edit`.
|
|
25
|
+
* Defaults to `view`.
|
|
26
|
+
*/
|
|
27
|
+
containerMode?: ContainerMode;
|
|
22
28
|
/**
|
|
23
29
|
* Only for internal use and undocumented for now.
|
|
24
30
|
* Prioritize error techniques for the section.
|
|
@@ -31,6 +37,8 @@ export type LocalProps = SectionProps & {
|
|
|
31
37
|
};
|
|
32
38
|
declare function SectionComponent(props: LocalProps): import("react/jsx-runtime").JSX.Element;
|
|
33
39
|
declare namespace SectionComponent {
|
|
34
|
-
var
|
|
40
|
+
var ViewContainer: typeof import("./ViewContainer/ViewContainer").default;
|
|
41
|
+
var EditContainer: typeof import("./EditContainer/EditContainer").default;
|
|
42
|
+
var _supportsSpacingProps: any;
|
|
35
43
|
}
|
|
36
44
|
export default SectionComponent;
|
|
@@ -9,6 +9,9 @@ import SectionContext from './SectionContext';
|
|
|
9
9
|
import DataContext from '../../DataContext/Context';
|
|
10
10
|
import Provider from '../../DataContext/Provider/Provider';
|
|
11
11
|
import FieldPropsProvider from '../FieldProps';
|
|
12
|
+
import SectionContainerProvider from './containers/SectionContainerProvider';
|
|
13
|
+
import ViewContainer from './ViewContainer';
|
|
14
|
+
import EditContainer from './EditContainer';
|
|
12
15
|
function SectionComponent(props) {
|
|
13
16
|
var _nestedProps$overwrit;
|
|
14
17
|
const {
|
|
@@ -18,6 +21,7 @@ function SectionComponent(props) {
|
|
|
18
21
|
required,
|
|
19
22
|
data,
|
|
20
23
|
defaultData,
|
|
24
|
+
containerMode = 'view',
|
|
21
25
|
onChange,
|
|
22
26
|
errorPrioritization = ['contextSchema'],
|
|
23
27
|
children
|
|
@@ -53,11 +57,15 @@ function SectionComponent(props) {
|
|
|
53
57
|
errorPrioritization,
|
|
54
58
|
props
|
|
55
59
|
}
|
|
60
|
+
}, React.createElement(SectionContainerProvider, {
|
|
61
|
+
containerMode: containerMode
|
|
56
62
|
}, React.createElement(FieldPropsProvider, _extends({
|
|
57
63
|
overwriteProps: _objectSpread(_objectSpread({}, overwriteProps), nestedProps === null || nestedProps === void 0 ? void 0 : (_nestedProps$overwrit = nestedProps.overwriteProps) === null || _nestedProps$overwrit === void 0 ? void 0 : _nestedProps$overwrit[path.substring(1)]),
|
|
58
64
|
translations: translations
|
|
59
|
-
}, fieldProps), children));
|
|
65
|
+
}, fieldProps), children)));
|
|
60
66
|
}
|
|
61
|
-
SectionComponent.
|
|
67
|
+
SectionComponent.ViewContainer = ViewContainer;
|
|
68
|
+
SectionComponent.EditContainer = EditContainer;
|
|
69
|
+
SectionComponent._supportsSpacingProps = undefined;
|
|
62
70
|
export default SectionComponent;
|
|
63
71
|
//# sourceMappingURL=Section.js.map
|
|
@@ -1 +1 @@
|
|
|
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","args","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
|
|
1
|
+
{"version":3,"file":"Section.js","names":["React","useCallback","useContext","useMemo","SectionContext","DataContext","Provider","FieldPropsProvider","SectionContainerProvider","ViewContainer","EditContainer","SectionComponent","props","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","containerMode","onChange","errorPrioritization","children","startsWith","Error","hasContext","addOnChangeHandler","nestedPath","nestedProps","handleChange","args","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'\nimport SectionContainerProvider from './containers/SectionContainerProvider'\nimport ViewContainer from './ViewContainer'\nimport EditContainer from './EditContainer'\n\nimport type { Props as DataContextProps } from '../../DataContext/Provider'\nimport type { ContainerMode } from './containers/SectionContainer'\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 * Defines the container mode. Can be `view` or `edit`.\n * Defaults to `view`.\n */\n containerMode?: ContainerMode\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 containerMode = 'view',\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 <SectionContainerProvider containerMode={containerMode}>\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 </SectionContainerProvider>\n </SectionContext.Provider>\n )\n}\n\nSectionComponent.ViewContainer = ViewContainer\nSectionComponent.EditContainer = EditContainer\n\nSectionComponent._supportsSpacingProps = undefined\nexport default SectionComponent\n"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Path } from '../../types';
|
|
3
3
|
import { SectionProps } from '.';
|
|
4
4
|
export interface SectionContextState {
|
|
5
5
|
path?: Path;
|
|
6
6
|
props?: SectionProps;
|
|
7
7
|
errorPrioritization?: Array<'fieldSchema' | 'sectionSchema' | 'contextSchema'>;
|
|
8
|
-
handleChange?: OnChange<unknown>;
|
|
9
8
|
}
|
|
10
9
|
declare const SectionContext: React.Context<SectionContextState>;
|
|
11
10
|
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 {
|
|
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 props?: SectionProps\n errorPrioritization?: Array<\n 'fieldSchema' | 'sectionSchema' | 'contextSchema'\n >\n}\n\nconst SectionContext = React.createContext<\n SectionContextState | undefined\n>(undefined)\n\nexport default SectionContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAYzB,MAAMC,cAAc,GAAGD,KAAK,CAACE,aAAa,CAExCC,SAAS,CAAC;AAEZ,eAAeF,cAAc"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const SectionProperties = {
|
|
2
2
|
path: {
|
|
3
|
-
doc: 'A path (JSON Pointer)
|
|
3
|
+
doc: 'A path to the section (JSON Pointer). When defined, fields inside the section will get this path as a prefix of their own path.',
|
|
4
4
|
type: 'string',
|
|
5
5
|
status: 'optional'
|
|
6
6
|
},
|
|
@@ -29,6 +29,11 @@ export const SectionProperties = {
|
|
|
29
29
|
type: 'object',
|
|
30
30
|
status: 'optional'
|
|
31
31
|
},
|
|
32
|
+
containerMode: {
|
|
33
|
+
doc: 'Defines the container mode. Can be `view` or `edit`. Defaults to `view`.',
|
|
34
|
+
type: 'string',
|
|
35
|
+
status: 'optional'
|
|
36
|
+
},
|
|
32
37
|
children: {
|
|
33
38
|
doc: 'All the fields and values inside the section.',
|
|
34
39
|
type: 'React.Node',
|
|
@@ -1 +1 @@
|
|
|
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)
|
|
1
|
+
{"version":3,"file":"SectionDocs.js","names":["SectionProperties","path","doc","type","status","overwriteProps","translation","required","defaultData","data","containerMode","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 to the section (JSON Pointer). When defined, fields inside the section will get this path as a prefix of their own path.',\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 containerMode: {\n doc: 'Defines the container mode. Can be `view` or `edit`. Defaults to `view`.',\n type: 'string',\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,iIAAiI;IACtIC,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,aAAa,EAAE;IACbR,GAAG,EAAE,0EAA0E;IAC/EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,QAAQ,EAAE;IACRT,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMQ,aAAmC,GAAG;EACjDC,QAAQ,EAAE;IACRX,GAAG,EAAE,8HAA8H;IACnIC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Props as FlexContainerProps } from '../../../../../components/flex/Container';
|
|
3
|
+
import { SectionContainerProps } from '../containers/SectionContainer';
|
|
4
|
+
export type Props = {
|
|
5
|
+
title?: React.ReactNode;
|
|
6
|
+
};
|
|
7
|
+
export type AllProps = Props & SectionContainerProps & FlexContainerProps;
|
|
8
|
+
declare function ViewContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare namespace ViewContainer {
|
|
10
|
+
var _supportsSpacingProps: boolean;
|
|
11
|
+
}
|
|
12
|
+
export default ViewContainer;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
var _Toolbar;
|
|
4
|
+
const _excluded = ["children", "className", "title"];
|
|
5
|
+
import React, { useMemo } from 'react';
|
|
6
|
+
import classnames from 'classnames';
|
|
7
|
+
import { convertJsxToString } from '../../../../../shared/component-helper';
|
|
8
|
+
import { Flex } from '../../../../../components';
|
|
9
|
+
import { Lead } from '../../../../../elements';
|
|
10
|
+
import ViewToolbarTools from './ViewToolbarTools';
|
|
11
|
+
import SectionContainer from '../containers/SectionContainer';
|
|
12
|
+
import Toolbar from '../containers/Toolbar';
|
|
13
|
+
function ViewContainer(props) {
|
|
14
|
+
const _ref = props || {},
|
|
15
|
+
{
|
|
16
|
+
children,
|
|
17
|
+
className,
|
|
18
|
+
title
|
|
19
|
+
} = _ref,
|
|
20
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
21
|
+
const ariaLabel = useMemo(() => convertJsxToString(title), [title]);
|
|
22
|
+
return React.createElement(SectionContainer, _extends({
|
|
23
|
+
mode: "view",
|
|
24
|
+
ariaLabel: ariaLabel,
|
|
25
|
+
className: classnames('dnb-forms-section-view-block', className)
|
|
26
|
+
}, restProps), React.createElement(Flex.Stack, null, title && React.createElement(Lead, {
|
|
27
|
+
size: "basis"
|
|
28
|
+
}, title), children, _Toolbar || (_Toolbar = React.createElement(Toolbar, null, React.createElement(ViewToolbarTools, null)))));
|
|
29
|
+
}
|
|
30
|
+
ViewContainer._supportsSpacingProps = true;
|
|
31
|
+
export default ViewContainer;
|
|
32
|
+
//# sourceMappingURL=ViewContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewContainer.js","names":["React","useMemo","classnames","convertJsxToString","Flex","Lead","ViewToolbarTools","SectionContainer","Toolbar","ViewContainer","props","_ref","children","className","title","restProps","_objectWithoutProperties","_excluded","ariaLabel","createElement","_extends","mode","Stack","size","_Toolbar","_supportsSpacingProps"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../../shared/component-helper'\nimport { Flex } from '../../../../../components'\nimport { Props as FlexContainerProps } from '../../../../../components/flex/Container'\nimport { Lead } from '../../../../../elements'\nimport ViewToolbarTools from './ViewToolbarTools'\nimport SectionContainer, {\n SectionContainerProps,\n} from '../containers/SectionContainer'\nimport Toolbar from '../containers/Toolbar'\n\nexport type Props = {\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & SectionContainerProps & FlexContainerProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <SectionContainer\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <ViewToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </SectionContainer>\n )\n}\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,wCAAwC;AAC3E,SAASC,IAAI,QAAQ,2BAA2B;AAEhD,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAEhB,gCAAgC;AACvC,OAAOC,OAAO,MAAM,uBAAuB;AAQ3C,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAAqDD,KAAK,IAAI,CAAC,CAAC;IAA1D;MAAEE,QAAQ;MAAEC,SAAS;MAAEC;IAAoB,CAAC,GAAAH,IAAA;IAAXI,SAAS,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAChD,MAAMC,SAAS,GAAGjB,OAAO,CAAC,MAAME,kBAAkB,CAACW,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,OACEd,KAAA,CAAAmB,aAAA,CAACZ,gBAAgB,EAAAa,QAAA;IACfC,IAAI,EAAC,MAAM;IACXH,SAAS,EAAEA,SAAU;IACrBL,SAAS,EAAEX,UAAU,CAAC,8BAA8B,EAAEW,SAAS;EAAE,GAC7DE,SAAS,GAEbf,KAAA,CAAAmB,aAAA,CAACf,IAAI,CAACkB,KAAK,QACRR,KAAK,IAAId,KAAA,CAAAmB,aAAA,CAACd,IAAI;IAACkB,IAAI,EAAC;EAAO,GAAET,KAAY,CAAC,EAC1CF,QAAQ,EAAAY,QAAA,KAAAA,QAAA,GACTxB,KAAA,CAAAmB,aAAA,CAACX,OAAO,QACNR,KAAA,CAAAmB,aAAA,CAACb,gBAAgB,MAAE,CACZ,CAAC,CACA,CACI,CAAC;AAEvB;AAEAG,aAAa,CAACgB,qBAAqB,GAAG,IAAI;AAC1C,eAAehB,aAAa"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const ViewContainerProperties = {
|
|
2
|
+
title: {
|
|
3
|
+
doc: 'The title of the container.',
|
|
4
|
+
type: 'React.Node',
|
|
5
|
+
status: 'optional'
|
|
6
|
+
},
|
|
7
|
+
variant: {
|
|
8
|
+
doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',
|
|
9
|
+
type: 'string',
|
|
10
|
+
status: 'optional'
|
|
11
|
+
},
|
|
12
|
+
'[FlexVertical](/uilib/layout/flex/container/)': {
|
|
13
|
+
doc: 'All Flex.Vertical properties.',
|
|
14
|
+
type: 'Various',
|
|
15
|
+
status: 'optional'
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export const ViewContainerEvents = {};
|
|
19
|
+
//# sourceMappingURL=ViewContainerDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","variant","ViewContainerEvents"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function ViewToolbarTools(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React, { useCallback, useContext } from 'react';
|
|
4
|
+
import { Button, Flex } from '../../../../../components';
|
|
5
|
+
import useTranslation from '../../../hooks/useTranslation';
|
|
6
|
+
import SectionContainerContext from '../containers/SectionContainerContext';
|
|
7
|
+
import { edit } from '../../../../../icons';
|
|
8
|
+
export default function ViewToolbarTools() {
|
|
9
|
+
const sectionContainerContext = useContext(SectionContainerContext);
|
|
10
|
+
const {
|
|
11
|
+
switchContainerMode
|
|
12
|
+
} = sectionContainerContext !== null && sectionContainerContext !== void 0 ? sectionContainerContext : {};
|
|
13
|
+
const translation = useTranslation().Section;
|
|
14
|
+
const editHandler = useCallback(() => {
|
|
15
|
+
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
|
|
16
|
+
}, [switchContainerMode]);
|
|
17
|
+
return React.createElement(Flex.Horizontal, {
|
|
18
|
+
gap: "large"
|
|
19
|
+
}, React.createElement(Button, {
|
|
20
|
+
variant: "tertiary",
|
|
21
|
+
icon: edit,
|
|
22
|
+
icon_position: "left",
|
|
23
|
+
on_click: editHandler
|
|
24
|
+
}, translation.edit));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=ViewToolbarTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewToolbarTools.js","names":["React","useCallback","useContext","Button","Flex","useTranslation","SectionContainerContext","edit","ViewToolbarTools","sectionContainerContext","switchContainerMode","translation","Section","editHandler","createElement","Horizontal","gap","variant","icon","icon_position","on_click"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport { edit } from '../../../../../icons'\n\nexport default function ViewToolbarTools() {\n const sectionContainerContext = useContext(SectionContainerContext)\n const { switchContainerMode } = sectionContainerContext ?? {}\n\n const translation = useTranslation().Section\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.edit}\n </Button>\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,EAAEC,IAAI,QAAQ,2BAA2B;AACxD,OAAOC,cAAc,MAAM,+BAA+B;AAC1D,OAAOC,uBAAuB,MAAM,uCAAuC;AAC3E,SAASC,IAAI,QAAQ,sBAAsB;AAE3C,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzC,MAAMC,uBAAuB,GAAGP,UAAU,CAACI,uBAAuB,CAAC;EACnE,MAAM;IAAEI;EAAoB,CAAC,GAAGD,uBAAuB,aAAvBA,uBAAuB,cAAvBA,uBAAuB,GAAI,CAAC,CAAC;EAE7D,MAAME,WAAW,GAAGN,cAAc,CAAC,CAAC,CAACO,OAAO;EAE5C,MAAMC,WAAW,GAAGZ,WAAW,CAAC,MAAM;IACpCS,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACEV,KAAA,CAAAc,aAAA,CAACV,IAAI,CAACW,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1BhB,KAAA,CAAAc,aAAA,CAACX,MAAM;IACLc,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEX,IAAK;IACXY,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAErBF,WAAW,CAACJ,IACP,CACO,CAAC;AAEtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/index.ts"],"sourcesContent":["export { default } from './ViewContainer'\nexport * from './ViewContainer'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iBAAiB;AACzC,cAAc,iBAAiB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Props as FlexContainerProps } from '../../../../../components/flex/Container';
|
|
2
|
+
export type ContainerMode = 'view' | 'edit';
|
|
3
|
+
export type SectionContainerProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Defines the variant of the ViewContainer or EditContainer. Can be `outline`.
|
|
6
|
+
* Defaults to `outline`.
|
|
7
|
+
*/
|
|
8
|
+
variant?: 'outline' | 'basic';
|
|
9
|
+
};
|
|
10
|
+
export type Props = {
|
|
11
|
+
mode: ContainerMode;
|
|
12
|
+
open?: boolean | undefined;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
} & SectionContainerProps;
|
|
15
|
+
declare function SectionContainer(props: Props & FlexContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare namespace SectionContainer {
|
|
17
|
+
var _supportsSpacingProps: boolean;
|
|
18
|
+
}
|
|
19
|
+
export default SectionContainer;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
+
const _excluded = ["mode", "open", "ariaLabel", "onAnimationEnd", "className", "children", "variant"];
|
|
6
|
+
import React, { useCallback, useContext, useEffect, useReducer, useRef } from 'react';
|
|
7
|
+
import classnames from 'classnames';
|
|
8
|
+
import { Flex, HeightAnimation } from '../../../../../components';
|
|
9
|
+
import SectionContainerContext from './SectionContainerContext';
|
|
10
|
+
import FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext';
|
|
11
|
+
function SectionContainer(props) {
|
|
12
|
+
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
13
|
+
const containerRef = useRef();
|
|
14
|
+
const contextRef = useRef();
|
|
15
|
+
contextRef.current = useContext(SectionContainerContext) || {};
|
|
16
|
+
const {
|
|
17
|
+
hasError,
|
|
18
|
+
hasSubmitError
|
|
19
|
+
} = useContext(FieldBoundaryContext) || {};
|
|
20
|
+
contextRef.current.hasError = hasError;
|
|
21
|
+
contextRef.current.hasSubmitError = hasSubmitError;
|
|
22
|
+
if (hasSubmitError) {
|
|
23
|
+
contextRef.current.containerMode = 'edit';
|
|
24
|
+
}
|
|
25
|
+
const {
|
|
26
|
+
switchContainerMode,
|
|
27
|
+
containerMode
|
|
28
|
+
} = contextRef.current;
|
|
29
|
+
const {
|
|
30
|
+
mode,
|
|
31
|
+
open,
|
|
32
|
+
ariaLabel,
|
|
33
|
+
onAnimationEnd,
|
|
34
|
+
className,
|
|
35
|
+
children,
|
|
36
|
+
variant = 'outline'
|
|
37
|
+
} = props,
|
|
38
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
39
|
+
const openRef = useRef(open !== null && open !== void 0 ? open : containerMode === mode);
|
|
40
|
+
const setOpenState = useCallback(open => {
|
|
41
|
+
openRef.current = open;
|
|
42
|
+
forceUpdate();
|
|
43
|
+
}, []);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (typeof open !== 'undefined') {
|
|
46
|
+
setOpenState(open);
|
|
47
|
+
} else {
|
|
48
|
+
if (openRef.current !== (containerMode === mode)) {
|
|
49
|
+
setOpenState(containerMode === mode);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}, [containerMode, mode, open, setOpenState]);
|
|
53
|
+
const handleAnimationEnd = useCallback(state => {
|
|
54
|
+
if (contextRef.current.hasSubmitError) {
|
|
55
|
+
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
|
|
56
|
+
}
|
|
57
|
+
if (state === 'opened') {
|
|
58
|
+
const preventFocusOnErrorOpening = !contextRef.current.hasSubmitError;
|
|
59
|
+
if (preventFocusOnErrorOpening) {
|
|
60
|
+
var _containerRef$current, _containerRef$current2;
|
|
61
|
+
containerRef === null || containerRef === void 0 ? void 0 : (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.focus) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.call(_containerRef$current);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
onAnimationEnd === null || onAnimationEnd === void 0 ? void 0 : onAnimationEnd(state);
|
|
65
|
+
}, [onAnimationEnd, switchContainerMode]);
|
|
66
|
+
return React.createElement(HeightAnimation, {
|
|
67
|
+
className: classnames('dnb-forms-section-block', className, variant && `dnb-forms-section-block--variant-${variant}`, contextRef.current.hasSubmitError && 'dnb-forms-section-block--error'),
|
|
68
|
+
open: openRef.current,
|
|
69
|
+
onAnimationEnd: handleAnimationEnd,
|
|
70
|
+
duration: 450,
|
|
71
|
+
keepInDOM: true
|
|
72
|
+
}, React.createElement(Flex.Stack, _extends({
|
|
73
|
+
className: "dnb-forms-section-block__inner"
|
|
74
|
+
}, restProps, {
|
|
75
|
+
element: "section",
|
|
76
|
+
"aria-label": ariaLabel,
|
|
77
|
+
innerRef: containerRef,
|
|
78
|
+
tabIndex: -1
|
|
79
|
+
}), children));
|
|
80
|
+
}
|
|
81
|
+
SectionContainer._supportsSpacingProps = true;
|
|
82
|
+
export default SectionContainer;
|
|
83
|
+
//# sourceMappingURL=SectionContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionContainer.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Flex","HeightAnimation","SectionContainerContext","FieldBoundaryContext","SectionContainer","props","forceUpdate","containerRef","contextRef","current","hasError","hasSubmitError","containerMode","switchContainerMode","mode","open","ariaLabel","onAnimationEnd","className","children","variant","restProps","_objectWithoutProperties","_excluded","openRef","setOpenState","handleAnimationEnd","state","preventFocusOnErrorOpening","_containerRef$current","_containerRef$current2","focus","call","createElement","duration","keepInDOM","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../../src/extensions/forms/Form/Section/containers/SectionContainer.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Flex, HeightAnimation } from '../../../../../components'\nimport SectionContainerContext, {\n SectionContainerContextState,\n} from './SectionContainerContext'\nimport { Props as FlexContainerProps } from '../../../../../components/flex/Container'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\n\nexport type ContainerMode = 'view' | 'edit'\nexport type SectionContainerProps = {\n /**\n * Defines the variant of the ViewContainer or EditContainer. Can be `outline`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n} & SectionContainerProps\n\nfunction SectionContainer(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const containerRef = useRef<HTMLDivElement>()\n const contextRef = useRef<\n SectionContainerContextState & {\n hasError?: boolean\n hasSubmitError?: boolean\n }\n >()\n contextRef.current = useContext(SectionContainerContext) || {}\n\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasSubmitError = hasSubmitError\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasSubmitError) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { switchContainerMode, containerMode } = contextRef.current\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n variant = 'outline',\n ...restProps\n } = props\n\n const openRef = useRef(open ?? containerMode === mode)\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n setOpenState(containerMode === mode)\n }\n }\n }, [containerMode, mode, open, setOpenState])\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n // - Keep the block open if we have an error\n if (contextRef.current.hasSubmitError) {\n switchContainerMode?.('edit')\n }\n\n if (state === 'opened') {\n const preventFocusOnErrorOpening =\n !contextRef.current.hasSubmitError\n if (preventFocusOnErrorOpening) {\n containerRef?.current?.focus?.()\n }\n }\n\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, switchContainerMode]\n )\n\n return (\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n contextRef.current.hasSubmitError &&\n 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Flex.Stack\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={containerRef}\n tabIndex={-1}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n )\n}\n\nSectionContainer._supportsSpacingProps = true\nexport default SectionContainer\n"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ContainerMode } from './SectionContainer';
|
|
3
|
+
export interface SectionContainerContextState {
|
|
4
|
+
containerMode?: ContainerMode;
|
|
5
|
+
switchContainerMode?: (mode: ContainerMode) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const SectionContainerContext: React.Context<SectionContainerContextState>;
|
|
8
|
+
export default SectionContainerContext;
|