@dnb/eufemia 10.28.0 → 10.29.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 +31 -0
- package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
- package/cjs/components/autocomplete/Autocomplete.d.ts +19 -5
- package/cjs/components/dropdown/Dropdown.d.ts +22 -5
- package/cjs/components/height-animation/HeightAnimationInstance.js +5 -0
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/components/icon/style/dnb-icon.css +1 -0
- package/cjs/components/icon/style/dnb-icon.min.css +1 -1
- package/cjs/components/icon/style/dnb-icon.scss +1 -0
- package/cjs/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/cjs/components/progress-indicator/ProgressIndicator.js +27 -14
- package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
- package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +45 -11
- package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/cjs/components/progress-indicator/types.d.ts +95 -0
- package/cjs/components/progress-indicator/types.js +11 -0
- package/cjs/components/progress-indicator/types.js.map +1 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +5 -1
- package/cjs/extensions/forms/DataContext/Context.js +0 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +60 -30
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/cjs/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/cjs/extensions/forms/Field/Name/Name.js +73 -0
- package/cjs/extensions/forms/Field/Name/Name.js.map +1 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.js +15 -0
- package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Name/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/Name/index.js +27 -0
- package/cjs/extensions/forms/Field/Name/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/cjs/extensions/forms/Field/Option/Option.js +21 -0
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +25 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/cjs/extensions/forms/Field/Selection/Selection.js +20 -32
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +45 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +8 -2
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
- 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/PushButton/PushButton.js +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.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/Toolbar/Toolbar.js +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.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/style/dnb-form-iterate.css +14 -14
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/cjs/extensions/forms/Value/Name/Name.js +50 -0
- package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
- package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Name/index.js +27 -0
- package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
- package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
- package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/cjs/extensions/forms/Value/String/String.js +8 -3
- package/cjs/extensions/forms/Value/String/String.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
- package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/index.d.ts +3 -0
- package/cjs/extensions/forms/Value/index.js +21 -0
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
- package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
- package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +77 -43
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +3 -2
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/cjs/shared/Context.d.ts +2 -4
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.js +1 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +129 -98
- 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 +77 -43
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +77 -43
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +77 -43
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/aria-live/useAriaLive.d.ts +1 -1
- package/components/autocomplete/Autocomplete.d.ts +19 -5
- package/components/dropdown/Dropdown.d.ts +22 -5
- package/components/height-animation/HeightAnimationInstance.js +5 -0
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/components/icon/style/dnb-icon.css +1 -0
- package/components/icon/style/dnb-icon.min.css +1 -1
- package/components/icon/style/dnb-icon.scss +1 -0
- package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/components/progress-indicator/ProgressIndicator.js +27 -14
- package/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
- package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
- package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/components/progress-indicator/types.d.ts +95 -0
- package/components/progress-indicator/types.js +5 -0
- package/components/progress-indicator/types.js.map +1 -0
- package/es/components/aria-live/useAriaLive.d.ts +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +19 -5
- package/es/components/dropdown/Dropdown.d.ts +22 -5
- package/es/components/height-animation/HeightAnimationInstance.js +5 -0
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/icon/style/dnb-icon.css +1 -0
- package/es/components/icon/style/dnb-icon.min.css +1 -1
- package/es/components/icon/style/dnb-icon.scss +1 -0
- package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
- package/es/components/progress-indicator/ProgressIndicator.js +27 -14
- package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
- package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
- package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
- package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
- package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
- package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
- package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
- package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
- package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
- package/es/components/progress-indicator/types.d.ts +95 -0
- package/es/components/progress-indicator/types.js +5 -0
- package/es/components/progress-indicator/types.js.map +1 -0
- package/es/extensions/forms/DataContext/Context.d.ts +5 -1
- package/es/extensions/forms/DataContext/Context.js +0 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
- package/es/extensions/forms/DataContext/Provider/Provider.js +58 -29
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/es/extensions/forms/Field/Name/Name.js +63 -0
- package/es/extensions/forms/Field/Name/Name.js.map +1 -0
- package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
- package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/es/extensions/forms/Field/Name/index.d.ts +2 -0
- package/es/extensions/forms/Field/Name/index.js +3 -0
- package/es/extensions/forms/Field/Name/index.js.map +1 -0
- package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/es/extensions/forms/Field/Option/Option.js +20 -0
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/es/extensions/forms/Field/Selection/Selection.js +20 -32
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/es/extensions/forms/Field/String/String.d.ts +2 -2
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +8 -2
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +2 -2
- 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/PushButton/PushButton.js +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.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/Toolbar/Toolbar.js +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.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/style/dnb-form-iterate.css +14 -14
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/es/extensions/forms/Value/Name/Name.js +40 -0
- package/es/extensions/forms/Value/Name/Name.js.map +1 -0
- package/es/extensions/forms/Value/Name/index.d.ts +2 -0
- package/es/extensions/forms/Value/Name/index.js +3 -0
- package/es/extensions/forms/Value/Name/index.js.map +1 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
- package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
- package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
- package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/es/extensions/forms/Value/String/String.js +8 -3
- package/es/extensions/forms/Value/String/String.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/es/extensions/forms/Value/ValueDocs.js +6 -1
- package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/es/extensions/forms/Value/index.d.ts +3 -0
- package/es/extensions/forms/Value/index.js +3 -0
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
- package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
- package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/es/extensions/forms/Wizard/Step/Step.js +14 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/es/extensions/forms/constants/locales/en-GB.js +12 -3
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/es/extensions/forms/constants/locales/index.d.ts +18 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +77 -43
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +3 -2
- package/es/extensions/forms/types.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/es/shared/Context.d.ts +2 -4
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.js +1 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +129 -98
- 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 +77 -43
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +77 -43
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +77 -43
- 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 +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +5 -1
- package/extensions/forms/DataContext/Context.js +0 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
- package/extensions/forms/DataContext/Provider/Provider.js +60 -30
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
- package/extensions/forms/Field/Name/Name.d.ts +10 -0
- package/extensions/forms/Field/Name/Name.js +63 -0
- package/extensions/forms/Field/Name/Name.js.map +1 -0
- package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
- package/extensions/forms/Field/Name/NameDocs.js +8 -0
- package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
- package/extensions/forms/Field/Name/index.d.ts +2 -0
- package/extensions/forms/Field/Name/index.js +3 -0
- package/extensions/forms/Field/Name/index.js.map +1 -0
- package/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -0
- package/extensions/forms/Field/Option/Option.js +20 -0
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
- package/extensions/forms/Field/Selection/Selection.js +20 -32
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
- package/extensions/forms/Field/String/String.d.ts +2 -2
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +8 -2
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
- package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
- package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
- package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
- package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
- package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
- package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +2 -2
- 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/PushButton/PushButton.js +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.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/Toolbar/Toolbar.js +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.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/style/dnb-form-iterate.css +14 -14
- package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
- package/extensions/forms/Value/Boolean/Boolean.js +8 -3
- package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Value/Name/Name.d.ts +10 -0
- package/extensions/forms/Value/Name/Name.js +40 -0
- package/extensions/forms/Value/Name/Name.js.map +1 -0
- package/extensions/forms/Value/Name/index.d.ts +2 -0
- package/extensions/forms/Value/Name/index.js +3 -0
- package/extensions/forms/Value/Name/index.js.map +1 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
- package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
- package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
- package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
- package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
- package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
- package/extensions/forms/Value/String/String.js +8 -3
- package/extensions/forms/Value/String/String.js.map +1 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/extensions/forms/Value/ValueDocs.js +6 -1
- package/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/extensions/forms/Value/index.d.ts +3 -0
- package/extensions/forms/Value/index.js +3 -0
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
- package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
- package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
- package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
- package/extensions/forms/Wizard/Step/Step.js +14 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.js +3 -2
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
- package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
- package/extensions/forms/constants/locales/en-GB.js +12 -3
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +9 -0
- package/extensions/forms/constants/locales/index.d.ts +18 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
- package/extensions/forms/constants/locales/nb-NO.js +11 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +77 -43
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +3 -2
- package/extensions/forms/types.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +8 -4
- package/package.json +1 -1
- package/shared/Context.d.ts +2 -4
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.js +1 -1
- package/shared/component-helper.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +129 -98
- 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 +77 -43
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +77 -43
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +205 -141
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +77 -43
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +77 -43
- 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 +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
- /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
|
@@ -16,7 +16,7 @@ function MainHeading(_ref) {
|
|
|
16
16
|
} = props,
|
|
17
17
|
rest = _objectWithoutProperties(props, _excluded2);
|
|
18
18
|
return React.createElement(Heading, _extends({
|
|
19
|
-
className: classnames('dnb-
|
|
19
|
+
className: classnames('dnb-forms-main-heading', className),
|
|
20
20
|
level: level || 2,
|
|
21
21
|
size: "large"
|
|
22
22
|
}, rest), children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainHeading.js","names":["React","classnames","Heading","MainHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/MainHeading/MainHeading.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Heading from '../../../../components/heading/Heading'\nimport type { HeadingLevel } from '../../../../components/heading/Heading'\nimport type { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n level?: HeadingLevel\n children?: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'size'>\n\nfunction MainHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-
|
|
1
|
+
{"version":3,"file":"MainHeading.js","names":["React","classnames","Heading","MainHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/MainHeading/MainHeading.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Heading from '../../../../components/heading/Heading'\nimport type { HeadingLevel } from '../../../../components/heading/Heading'\nimport type { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n level?: HeadingLevel\n children?: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'size'>\n\nfunction MainHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-forms-main-heading', className)}\n level={level || 2}\n size=\"large\"\n {...rest}\n >\n {children}\n </Heading>\n )\n}\n\nMainHeading._supportsSpacingProps = true\nMainHeading._isHeadingElement = true\n\nexport default MainHeading\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,wCAAwC;AAS5D,SAASC,WAAWA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;MAAEC;IAAuB,CAAC,GAAAD,IAAA;IAAdE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACpC,MAAM;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GAAGJ,KAAK;IAAdK,IAAI,GAAAJ,wBAAA,CAAKD,KAAK,EAAAM,UAAA;EAC9C,OACEZ,KAAA,CAAAa,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNL,SAAS,EAAER,UAAU,CAAC,wBAAwB,EAAEQ,SAAS,CAAE;IAC3DJ,KAAK,EAAEA,KAAK,IAAI,CAAE;IAClBU,IAAI,EAAC;EAAO,GACRJ,IAAI,GAEPD,QACM,CAAC;AAEd;AAEAP,WAAW,CAACa,qBAAqB,GAAG,IAAI;AACxCb,WAAW,CAACc,iBAAiB,GAAG,IAAI;AAEpC,eAAed,WAAW"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Utilities
|
|
3
3
|
*/
|
|
4
|
-
.dnb-spacing .dnb-
|
|
4
|
+
.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]) {
|
|
5
5
|
margin: 0;
|
|
6
6
|
}
|
|
7
7
|
@media screen and (min-width: 40em) {
|
|
8
|
-
.dnb-
|
|
8
|
+
.dnb-forms-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
|
|
9
9
|
margin-left: var(--spacing-medium);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
.dnb-
|
|
12
|
+
.dnb-forms-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
|
|
13
13
|
margin-bottom: var(--spacing-small);
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-spacing .dnb-
|
|
1
|
+
.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}
|
|
@@ -16,7 +16,7 @@ function SubHeading(_ref) {
|
|
|
16
16
|
} = props,
|
|
17
17
|
rest = _objectWithoutProperties(props, _excluded2);
|
|
18
18
|
return React.createElement(Heading, _extends({
|
|
19
|
-
className: classnames('dnb-
|
|
19
|
+
className: classnames('dnb-forms-sub-heading', className),
|
|
20
20
|
level: level || 3,
|
|
21
21
|
size: "medium"
|
|
22
22
|
}, rest), children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubHeading.js","names":["React","classnames","Heading","SubHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/SubHeading/SubHeading.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Heading from '../../../../components/heading/Heading'\nimport type { HeadingLevel } from '../../../../components/heading/Heading'\nimport type { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n level?: HeadingLevel\n children?: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'size'>\n\nfunction SubHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-
|
|
1
|
+
{"version":3,"file":"SubHeading.js","names":["React","classnames","Heading","SubHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/SubHeading/SubHeading.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Heading from '../../../../components/heading/Heading'\nimport type { HeadingLevel } from '../../../../components/heading/Heading'\nimport type { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n level?: HeadingLevel\n children?: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'size'>\n\nfunction SubHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-forms-sub-heading', className)}\n level={level || 3}\n size=\"medium\"\n {...rest}\n >\n {children}\n </Heading>\n )\n}\n\nSubHeading._supportsSpacingProps = true\nSubHeading._isHeadingElement = true\n\nexport default SubHeading\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,wCAAwC;AAS5D,SAASC,UAAUA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;MAAEC;IAAuB,CAAC,GAAAD,IAAA;IAAdE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACnC,MAAM;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GAAGJ,KAAK;IAAdK,IAAI,GAAAJ,wBAAA,CAAKD,KAAK,EAAAM,UAAA;EAC9C,OACEZ,KAAA,CAAAa,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNL,SAAS,EAAER,UAAU,CAAC,uBAAuB,EAAEQ,SAAS,CAAE;IAC1DJ,KAAK,EAAEA,KAAK,IAAI,CAAE;IAClBU,IAAI,EAAC;EAAQ,GACTJ,IAAI,GAEPD,QACM,CAAC;AAEd;AAEAP,UAAU,CAACa,qBAAqB,GAAG,IAAI;AACvCb,UAAU,CAACc,iBAAiB,GAAG,IAAI;AAEnC,eAAed,UAAU"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Utilities
|
|
3
3
|
*/
|
|
4
|
-
.dnb-spacing .dnb-
|
|
4
|
+
.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]) {
|
|
5
5
|
margin: 0;
|
|
6
6
|
}
|
|
7
|
-
.dnb-
|
|
7
|
+
.dnb-forms-sub-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
|
|
8
8
|
margin-bottom: var(--spacing-small);
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-spacing .dnb-
|
|
1
|
+
.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}
|
|
@@ -30,7 +30,7 @@ function SubmitIndicator(props) {
|
|
|
30
30
|
}
|
|
31
31
|
}, [children, state]);
|
|
32
32
|
const params = _objectSpread({
|
|
33
|
-
className: classnames('dnb-
|
|
33
|
+
className: classnames('dnb-forms-submit-indicator', className, state && `dnb-forms-submit-indicator--state-${state}`, willWrap && 'dnb-forms-submit-indicator--inline-wrap')
|
|
34
34
|
}, pickSpacingProps(rest));
|
|
35
35
|
const ariaAttributes = state === 'pending' ? {
|
|
36
36
|
role: 'status',
|
|
@@ -39,7 +39,7 @@ function SubmitIndicator(props) {
|
|
|
39
39
|
} : {};
|
|
40
40
|
const dot = _b || (_b = React.createElement("b", null, "."));
|
|
41
41
|
const indicator = React.createElement("span", _extends({
|
|
42
|
-
className: "dnb-
|
|
42
|
+
className: "dnb-forms-submit-indicator__content"
|
|
43
43
|
}, ariaAttributes, omitSpacingProps(rest)), state === 'success' && React.createElement(Tooltip, {
|
|
44
44
|
targetElement: _span || (_span = React.createElement("span", null, React.createElement(Icon, {
|
|
45
45
|
icon: check
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmitIndicator.js","names":["React","useLayoutEffect","useRef","useState","classnames","Icon","Space","Tooltip","check","omitSpacingProps","pickSpacingProps","useTranslation","SubmitIndicator","props","className","children","state","successLabel","rest","_objectWithoutProperties","_excluded","translation","childrenRef","willWrap","setWillWrap","willWordWrap","current","params","_objectSpread","ariaAttributes","role","ProgressIndicator","indicator_label","dot","_b","createElement","indicator","_extends","targetElement","_span","icon","Fragment","element","ref","word","offsetHeight","textContent","height","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitIndicator/SubmitIndicator.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from 'react'\nimport classnames from 'classnames'\nimport { Icon, Space, Tooltip } from '../../../../components'\nimport type { SpaceProps } from '../../../../components/Space'\nimport { check } from '../../../../icons'\nimport type { SubmitState } from '../../types'\nimport {\n omitSpacingProps,\n pickSpacingProps,\n} from '../../../../components/flex/utils'\nimport { useTranslation } from '../../../../shared'\n\nexport type Props = {\n state: SubmitState\n className?: string\n successLabel?: string\n children?: React.ReactNode\n} & SpaceProps\n\nfunction SubmitIndicator(props: Props) {\n const {\n className,\n children,\n state,\n successLabel = 'Saved',\n ...rest\n } = props\n const translation = useTranslation()\n const childrenRef = useRef<HTMLSpanElement>(null)\n const [willWrap, setWillWrap] = useState(false)\n\n useLayoutEffect(() => {\n if (children && state) {\n setWillWrap(willWordWrap(childrenRef.current, '. . . '))\n }\n }, [children, state])\n\n const params = {\n className: classnames(\n 'dnb-
|
|
1
|
+
{"version":3,"file":"SubmitIndicator.js","names":["React","useLayoutEffect","useRef","useState","classnames","Icon","Space","Tooltip","check","omitSpacingProps","pickSpacingProps","useTranslation","SubmitIndicator","props","className","children","state","successLabel","rest","_objectWithoutProperties","_excluded","translation","childrenRef","willWrap","setWillWrap","willWordWrap","current","params","_objectSpread","ariaAttributes","role","ProgressIndicator","indicator_label","dot","_b","createElement","indicator","_extends","targetElement","_span","icon","Fragment","element","ref","word","offsetHeight","textContent","height","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitIndicator/SubmitIndicator.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from 'react'\nimport classnames from 'classnames'\nimport { Icon, Space, Tooltip } from '../../../../components'\nimport type { SpaceProps } from '../../../../components/Space'\nimport { check } from '../../../../icons'\nimport type { SubmitState } from '../../types'\nimport {\n omitSpacingProps,\n pickSpacingProps,\n} from '../../../../components/flex/utils'\nimport { useTranslation } from '../../../../shared'\n\nexport type Props = {\n state: SubmitState\n className?: string\n successLabel?: string\n children?: React.ReactNode\n} & SpaceProps\n\nfunction SubmitIndicator(props: Props) {\n const {\n className,\n children,\n state,\n successLabel = 'Saved',\n ...rest\n } = props\n const translation = useTranslation()\n const childrenRef = useRef<HTMLSpanElement>(null)\n const [willWrap, setWillWrap] = useState(false)\n\n useLayoutEffect(() => {\n if (children && state) {\n setWillWrap(willWordWrap(childrenRef.current, '. . . '))\n }\n }, [children, state])\n\n const params = {\n className: classnames(\n 'dnb-forms-submit-indicator',\n state && `dnb-forms-submit-indicator--state-${state}`,\n willWrap && 'dnb-forms-submit-indicator--inline-wrap',\n className\n ),\n ...pickSpacingProps(rest),\n } as SpaceProps\n\n const ariaAttributes =\n state === 'pending'\n ? {\n role: 'status',\n 'aria-busy': true,\n 'aria-label': translation.ProgressIndicator.indicator_label,\n }\n : {}\n\n const dot = <b>.</b>\n const indicator = (\n <span\n className=\"dnb-forms-submit-indicator__content\"\n {...ariaAttributes}\n {...omitSpacingProps(rest)}\n >\n {state === 'success' && (\n <Tooltip\n targetElement={\n <span>\n <Icon icon={check} />\n </span>\n }\n >\n {successLabel}\n </Tooltip>\n )}\n {state && state !== 'success' && state !== 'abort' && (\n <>\n {dot}\n {dot}\n {dot}\n </>\n )}\n </span>\n )\n\n return (\n <Space {...params} element=\"span\">\n {children && <span ref={childrenRef}>{children}</span>}\n {indicator}\n </Space>\n )\n}\n\nfunction willWordWrap(element: HTMLElement, word: string) {\n if (!element) {\n return\n }\n\n const { offsetHeight, textContent } = element\n\n element.textContent += word\n const height = element.offsetHeight\n element.textContent = textContent\n\n return height > offsetHeight\n}\n\nSubmitIndicator._supportsSpacingProps = true\nexport default SubmitIndicator\n"],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Utilities
|
|
3
3
|
*/
|
|
4
|
-
.dnb-
|
|
4
|
+
.dnb-forms-submit-indicator {
|
|
5
5
|
display: inline;
|
|
6
6
|
--padding-left: 0.5em;
|
|
7
7
|
}
|
|
8
|
-
.dnb-
|
|
8
|
+
.dnb-forms-submit-indicator__content {
|
|
9
9
|
font-size: 0;
|
|
10
10
|
line-height: 1em;
|
|
11
11
|
will-change: font-size;
|
|
12
12
|
transition: font-size 800ms var(--easing-default);
|
|
13
13
|
}
|
|
14
|
-
.dnb-
|
|
14
|
+
.dnb-forms-submit-indicator__content b {
|
|
15
15
|
padding-left: 0.125em;
|
|
16
16
|
color: var(--dots-color, currentColor);
|
|
17
17
|
opacity: 0.2;
|
|
@@ -20,38 +20,38 @@
|
|
|
20
20
|
animation-duration: 1.3s;
|
|
21
21
|
animation-delay: 200ms;
|
|
22
22
|
}
|
|
23
|
-
.dnb-
|
|
23
|
+
.dnb-forms-submit-indicator__content b:nth-of-type(1) {
|
|
24
24
|
padding-left: var(--padding-left);
|
|
25
25
|
animation-delay: 50ms;
|
|
26
26
|
}
|
|
27
|
-
.dnb-
|
|
27
|
+
.dnb-forms-submit-indicator__content b:nth-of-type(2) {
|
|
28
28
|
animation-delay: 200ms;
|
|
29
29
|
}
|
|
30
|
-
.dnb-
|
|
30
|
+
.dnb-forms-submit-indicator__content b:nth-of-type(3) {
|
|
31
31
|
animation-delay: 400ms;
|
|
32
32
|
}
|
|
33
|
-
html[data-visual-test] .dnb-
|
|
33
|
+
html[data-visual-test] .dnb-forms-submit-indicator__content b {
|
|
34
34
|
animation: none;
|
|
35
35
|
}
|
|
36
|
-
.dnb-
|
|
36
|
+
.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content {
|
|
37
37
|
font-size: 1em;
|
|
38
38
|
font-weight: var(--font-weight-bold);
|
|
39
39
|
}
|
|
40
|
-
.dnb-
|
|
40
|
+
.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content {
|
|
41
41
|
font-size: 1em;
|
|
42
42
|
}
|
|
43
|
-
.dnb-
|
|
43
|
+
.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon {
|
|
44
44
|
padding-left: var(--padding-left);
|
|
45
45
|
color: var(--color-success-green);
|
|
46
46
|
}
|
|
47
|
-
.dnb-
|
|
47
|
+
.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default {
|
|
48
48
|
font-size: 1em;
|
|
49
49
|
}
|
|
50
|
-
.dnb-
|
|
50
|
+
.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label {
|
|
51
51
|
font-size: var(--font-size-small);
|
|
52
52
|
padding-left: calc(var(--padding-left) * 2);
|
|
53
53
|
}
|
|
54
|
-
.dnb-
|
|
54
|
+
.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content {
|
|
55
55
|
display: flex;
|
|
56
56
|
--padding-left: 0.25em;
|
|
57
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-
|
|
1
|
+
.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}
|
|
@@ -74,9 +74,9 @@ function ElementBlock(props) {
|
|
|
74
74
|
window.requestAnimationFrame(() => {
|
|
75
75
|
try {
|
|
76
76
|
var _document$activeEleme;
|
|
77
|
-
if (!((_document$activeEleme = document.activeElement) !== null && _document$activeEleme !== void 0 && _document$activeEleme.closest('.dnb-
|
|
77
|
+
if (!((_document$activeEleme = document.activeElement) !== null && _document$activeEleme !== void 0 && _document$activeEleme.closest('.dnb-forms-iterate__element'))) {
|
|
78
78
|
var _contextRef$current2;
|
|
79
|
-
const elements = (_contextRef$current2 = contextRef.current) === null || _contextRef$current2 === void 0 ? void 0 : _contextRef$current2.containerRef.current.querySelectorAll('.dnb-
|
|
79
|
+
const elements = (_contextRef$current2 = contextRef.current) === null || _contextRef$current2 === void 0 ? void 0 : _contextRef$current2.containerRef.current.querySelectorAll('.dnb-forms-iterate__element');
|
|
80
80
|
elements[elements.length - 1].focus();
|
|
81
81
|
}
|
|
82
82
|
} catch (e) {}
|
|
@@ -102,13 +102,13 @@ function ElementBlock(props) {
|
|
|
102
102
|
handleRemoveBlock
|
|
103
103
|
}
|
|
104
104
|
}, React.createElement(HeightAnimation, {
|
|
105
|
-
className: classnames('dnb-
|
|
105
|
+
className: classnames('dnb-forms-iterate-block', className, isNew && 'dnb-forms-iterate-block--new', contextRef.current.hasErrorAndShowIt && 'dnb-forms-iterate-block--error'),
|
|
106
106
|
open: openRef.current,
|
|
107
107
|
onAnimationEnd: handleAnimationEnd,
|
|
108
108
|
duration: 450,
|
|
109
109
|
keepInDOM: true
|
|
110
110
|
}, React.createElement(Flex.Stack, _extends({
|
|
111
|
-
className: "dnb-
|
|
111
|
+
className: "dnb-forms-iterate-block__inner"
|
|
112
112
|
}, restProps, {
|
|
113
113
|
element: "section",
|
|
114
114
|
"aria-label": ariaLabel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementBlock.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Flex","HeightAnimation","IterateElementContext","ElementBlockContext","FieldBoundaryContext","ElementBlock","props","forceUpdate","contextRef","current","hasError","hasErrorAndShowIt","containerMode","handleRemove","switchContainerMode","isNew","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","restProps","_objectWithoutProperties","_excluded","openRef","isRemoving","setOpenState","setTimeout","handleAnimationEnd","state","preventFocusOnErrorOpening","_contextRef$current","_contextRef$current$e","_contextRef$current$e2","_contextRef$current$e3","elementRef","focus","call","window","requestAnimationFrame","_document$activeEleme","document","activeElement","closest","_contextRef$current2","elements","containerRef","querySelectorAll","length","e","_contextRef$current3","_contextRef$current3$","fulfillRemove","handleRemoveBlock","keepItems","createElement","Provider","value","duration","keepInDOM","Stack","_extends","element","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlock.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 IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport ElementBlockContext from './ElementBlockContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from '../Array/types'\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n}\n\nfunction ElementBlock(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const contextRef = useRef<\n IterateElementContextState & {\n hasError?: boolean\n hasErrorAndShowIt?: boolean\n }\n >()\n contextRef.current = useContext(IterateElementContext) || {}\n\n const { hasError, hasErrorAndShowIt } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasErrorAndShowIt = hasErrorAndShowIt\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasErrorAndShowIt) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { handleRemove, switchContainerMode, containerMode, isNew } =\n contextRef.current\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n ...restProps\n } = props\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n if (!isRemoving.current) {\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 if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, 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.hasErrorAndShowIt) {\n switchContainerMode('edit')\n }\n\n const preventFocusOnErrorOpening =\n !contextRef.current.hasErrorAndShowIt\n if (preventFocusOnErrorOpening) {\n if (state === 'opened') {\n contextRef.current?.elementRef?.current?.focus?.()\n } else {\n // Wait until the element is removed, then check if we can set focus\n window.requestAnimationFrame(() => {\n // try to focus on the second last element\n try {\n if (\n // But not when we focus is already inside our element\n !document.activeElement?.closest(\n '.dnb-form-iterate__element'\n )\n ) {\n const elements =\n contextRef.current?.containerRef.current.querySelectorAll<HTMLDivElement>(\n '.dnb-form-iterate__element'\n )\n elements[elements.length - 1].focus()\n }\n } catch (e) {\n /**/\n }\n })\n }\n }\n\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n contextRef.current?.fulfillRemove?.()\n }\n\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, switchContainerMode]\n )\n const handleRemoveBlock = useCallback(() => {\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, setOpenState])\n\n return (\n <ElementBlockContext.Provider value={{ handleRemoveBlock }}>\n <HeightAnimation\n className={classnames(\n 'dnb-form-iterate-block',\n isNew && 'dnb-form-iterate-block--new',\n contextRef.current.hasErrorAndShowIt &&\n 'dnb-form-iterate-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-form-iterate-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ElementBlockContext.Provider>\n )\n}\n\nElementBlock._supportsSpacingProps = true\nexport default ElementBlock\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ElementBlock.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Flex","HeightAnimation","IterateElementContext","ElementBlockContext","FieldBoundaryContext","ElementBlock","props","forceUpdate","contextRef","current","hasError","hasErrorAndShowIt","containerMode","handleRemove","switchContainerMode","isNew","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","restProps","_objectWithoutProperties","_excluded","openRef","isRemoving","setOpenState","setTimeout","handleAnimationEnd","state","preventFocusOnErrorOpening","_contextRef$current","_contextRef$current$e","_contextRef$current$e2","_contextRef$current$e3","elementRef","focus","call","window","requestAnimationFrame","_document$activeEleme","document","activeElement","closest","_contextRef$current2","elements","containerRef","querySelectorAll","length","e","_contextRef$current3","_contextRef$current3$","fulfillRemove","handleRemoveBlock","keepItems","createElement","Provider","value","duration","keepInDOM","Stack","_extends","element","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlock.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 IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport ElementBlockContext from './ElementBlockContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from '../Array/types'\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n}\n\nfunction ElementBlock(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const contextRef = useRef<\n IterateElementContextState & {\n hasError?: boolean\n hasErrorAndShowIt?: boolean\n }\n >()\n contextRef.current = useContext(IterateElementContext) || {}\n\n const { hasError, hasErrorAndShowIt } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasErrorAndShowIt = hasErrorAndShowIt\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasErrorAndShowIt) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { handleRemove, switchContainerMode, containerMode, isNew } =\n contextRef.current\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n ...restProps\n } = props\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n if (!isRemoving.current) {\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 if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, 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.hasErrorAndShowIt) {\n switchContainerMode('edit')\n }\n\n const preventFocusOnErrorOpening =\n !contextRef.current.hasErrorAndShowIt\n if (preventFocusOnErrorOpening) {\n if (state === 'opened') {\n contextRef.current?.elementRef?.current?.focus?.()\n } else {\n // Wait until the element is removed, then check if we can set focus\n window.requestAnimationFrame(() => {\n // try to focus on the second last element\n try {\n if (\n // But not when we focus is already inside our element\n !document.activeElement?.closest(\n '.dnb-forms-iterate__element'\n )\n ) {\n const elements =\n contextRef.current?.containerRef.current.querySelectorAll<HTMLDivElement>(\n '.dnb-forms-iterate__element'\n )\n elements[elements.length - 1].focus()\n }\n } catch (e) {\n /**/\n }\n })\n }\n }\n\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n contextRef.current?.fulfillRemove?.()\n }\n\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, switchContainerMode]\n )\n const handleRemoveBlock = useCallback(() => {\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, setOpenState])\n\n return (\n <ElementBlockContext.Provider value={{ handleRemoveBlock }}>\n <HeightAnimation\n className={classnames(\n 'dnb-forms-iterate-block',\n isNew && 'dnb-forms-iterate-block--new',\n contextRef.current.hasErrorAndShowIt &&\n 'dnb-forms-iterate-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-iterate-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ElementBlockContext.Provider>\n )\n}\n\nElementBlock._supportsSpacingProps = true\nexport default ElementBlock\n"],"mappings":"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"}
|
|
@@ -119,7 +119,7 @@ function ArrayComponent(props) {
|
|
|
119
119
|
}
|
|
120
120
|
}, [arrayValue, elementData, onChange]);
|
|
121
121
|
const flexProps = _objectSpread(_objectSpread(_objectSpread({
|
|
122
|
-
className: classnames('dnb-
|
|
122
|
+
className: classnames('dnb-forms-iterate', props === null || props === void 0 ? void 0 : props.className)
|
|
123
123
|
}, pickFlexContainerProps(props)), pickSpacingProps(props)), {}, {
|
|
124
124
|
innerRef: containerRef
|
|
125
125
|
});
|
|
@@ -145,7 +145,7 @@ function ArrayComponent(props) {
|
|
|
145
145
|
}, React.createElement(FieldBoundaryProvider, null, content));
|
|
146
146
|
}
|
|
147
147
|
return React.createElement(Flex.Item, {
|
|
148
|
-
className: "dnb-
|
|
148
|
+
className: "dnb-forms-iterate__element",
|
|
149
149
|
tabIndex: -1,
|
|
150
150
|
innerRef: elementRef,
|
|
151
151
|
key: `element-${id}`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Array.js","names":["React","useMemo","useRef","useEffect","useReducer","createRef","useContext","Fragment","classnames","pointer","useFieldProps","makeUniqueId","Flex","pickSpacingProps","pickFlexContainerProps","IterateElementContext","SummaryListContext","ValueBlockContext","FieldBoundaryProvider","structuredClone","ArrayComponent","props","_props$value","salt","forceUpdate","summaryListContext","valueBlockContext","path","value","arrayValue","withoutFlex","emptyValue","placeholder","handleChange","onChange","children","idsRef","isNewRef","modesRef","valueWhileClosingRef","valueCountRef","containerRef","hadPushRef","innerRefs","omitFlex","current","elementData","_ref","map","index","_valueCountRef$curren","id","hasNewItems","length","push","isNew","containerMode","switchContainerMode","mode","_isNewRef$current","newArrayValue","_objectSpread","set","handlePush","element","handleRemove","keepItems","arguments","undefined","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","last","flexProps","className","innerRef","WrapperElement","Stack","createElement","elementProps","elementRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","Provider","key","Item","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n Fragment,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n path,\n value: arrayValue,\n withoutFlex,\n emptyValue,\n placeholder,\n handleChange,\n onChange,\n children,\n } = useFieldProps<Value, Props>(props)\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<Record<Identifier, ContainerMode>>({})\n const valueWhileClosingRef = useRef<Array<unknown>>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n const elementData = useMemo(() => {\n return ((valueWhileClosingRef.current || arrayValue) ?? []).map(\n (value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]) {\n modesRef.current[id] = isNew ? 'edit' : 'view'\n }\n\n return {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id],\n switchContainerMode: (mode: ContainerMode) => {\n modesRef.current[id] = mode\n delete isNewRef.current?.[id]\n forceUpdate()\n },\n handleChange: (path: Path, value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element: unknown) => {\n hadPushRef.current = true\n handleChange([...(arrayValue ?? []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n },\n } as IterateElementContextState\n }\n )\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, path, handleChange])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = elementData?.[elementData.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, elementData, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames('dnb-form-iterate', props?.className),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const WrapperElement = omitFlex ? Fragment : Flex.Stack\n\n return (\n <WrapperElement {...(omitFlex ? null : flexProps)}>\n {arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : elementData.map((elementProps) => {\n const { id, value, index } = elementProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...elementProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateElementContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-form-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateElementContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n </Flex.Item>\n )\n })}\n </WrapperElement>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Array.js","names":["React","useMemo","useRef","useEffect","useReducer","createRef","useContext","Fragment","classnames","pointer","useFieldProps","makeUniqueId","Flex","pickSpacingProps","pickFlexContainerProps","IterateElementContext","SummaryListContext","ValueBlockContext","FieldBoundaryProvider","structuredClone","ArrayComponent","props","_props$value","salt","forceUpdate","summaryListContext","valueBlockContext","path","value","arrayValue","withoutFlex","emptyValue","placeholder","handleChange","onChange","children","idsRef","isNewRef","modesRef","valueWhileClosingRef","valueCountRef","containerRef","hadPushRef","innerRefs","omitFlex","current","elementData","_ref","map","index","_valueCountRef$curren","id","hasNewItems","length","push","isNew","containerMode","switchContainerMode","mode","_isNewRef$current","newArrayValue","_objectSpread","set","handlePush","element","handleRemove","keepItems","arguments","undefined","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","last","flexProps","className","innerRef","WrapperElement","Stack","createElement","elementProps","elementRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","Provider","key","Item","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n Fragment,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n path,\n value: arrayValue,\n withoutFlex,\n emptyValue,\n placeholder,\n handleChange,\n onChange,\n children,\n } = useFieldProps<Value, Props>(props)\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<Record<Identifier, ContainerMode>>({})\n const valueWhileClosingRef = useRef<Array<unknown>>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n const elementData = useMemo(() => {\n return ((valueWhileClosingRef.current || arrayValue) ?? []).map(\n (value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]) {\n modesRef.current[id] = isNew ? 'edit' : 'view'\n }\n\n return {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id],\n switchContainerMode: (mode: ContainerMode) => {\n modesRef.current[id] = mode\n delete isNewRef.current?.[id]\n forceUpdate()\n },\n handleChange: (path: Path, value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element: unknown) => {\n hadPushRef.current = true\n handleChange([...(arrayValue ?? []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n },\n } as IterateElementContextState\n }\n )\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, path, handleChange])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = elementData?.[elementData.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, elementData, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames('dnb-forms-iterate', props?.className),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const WrapperElement = omitFlex ? Fragment : Flex.Stack\n\n return (\n <WrapperElement {...(omitFlex ? null : flexProps)}>\n {arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : elementData.map((elementProps) => {\n const { id, value, index } = elementProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...elementProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateElementContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-forms-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateElementContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n </Flex.Item>\n )\n })}\n </WrapperElement>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IACVC,OAAO,EACPC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,QAAQ,QACH,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,cAAc;AAClC,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,YAAY,QAAQ,qCAAqC;AAClE,SAASC,IAAI,QAAQ,wBAAwB;AAC7C,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,SAGEC,sBAAsB,QACjB,uCAAuC;AAC9C,OAAOC,qBAAqB,MAErB,0BAA0B;AACjC,OAAOC,kBAAkB,MAAM,4CAA4C;AAC3E,OAAOC,iBAAiB,MAAM,oCAAoC;AAClE,OAAOC,qBAAqB,MAAM,uDAAuD;AASzF,OAAOC,eAAe,MAAM,yBAAyB;AAIrD,SAASC,cAAcA,CAACC,KAAY,EAAE;EAAA,IAAAC,YAAA;EACpC,MAAM,CAACC,IAAI,EAAEC,WAAW,CAAC,GAAGpB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAEtD,MAAMqB,kBAAkB,GAAGnB,UAAU,CAACU,kBAAkB,CAAC;EACzD,MAAMU,iBAAiB,GAAGpB,UAAU,CAACW,iBAAiB,CAAC;EAEvD,MAAM;IACJU,IAAI;IACJC,KAAK,EAAEC,UAAU;IACjBC,WAAW;IACXC,UAAU;IACVC,WAAW;IACXC,YAAY;IACZC,QAAQ;IACRC;EACF,CAAC,GAAGzB,aAAa,CAAeW,KAAK,CAAC;EAEtC,MAAMe,MAAM,GAAGlC,MAAM,CAAoB,EAAE,CAAC;EAC5C,MAAMmC,QAAQ,GAAGnC,MAAM,CAA0B,CAAC,CAAC,CAAC;EACpD,MAAMoC,QAAQ,GAAGpC,MAAM,CAAoC,CAAC,CAAC,CAAC;EAC9D,MAAMqC,oBAAoB,GAAGrC,MAAM,CAAiB,CAAC;EACrD,MAAMsC,aAAa,GAAGtC,MAAM,CAAC2B,UAAU,CAAC;EACxC,MAAMY,YAAY,GAAGvC,MAAM,CAAiB,CAAC;EAC7C,MAAMwC,UAAU,GAAGxC,MAAM,CAAU,CAAC;EACpC,MAAMyC,SAAS,GAAGzC,MAAM,CAEtB,CAAC,CAAC,CAAC;EAEL,MAAM0C,QAAQ,GAAGd,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAKL,kBAAkB,IAAIC,iBAAkB;EAEzEvB,SAAS,CAAC,MAAM;IAEdqC,aAAa,CAACK,OAAO,GAAGhB,UAAU,IAAI,EAAE;EAC1C,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMiB,WAAW,GAAG7C,OAAO,CAAC,MAAM;IAAA,IAAA8C,IAAA;IAChC,OAAO,EAAAA,IAAA,GAAER,oBAAoB,CAACM,OAAO,IAAIhB,UAAU,cAAAkB,IAAA,cAAAA,IAAA,GAAK,EAAE,EAAEC,GAAG,CAC7D,CAACpB,KAAK,EAAEqB,KAAK,KAAK;MAAA,IAAAC,qBAAA;MAChB,MAAMC,EAAE,GAAGf,MAAM,CAACS,OAAO,CAACI,KAAK,CAAC,IAAItC,YAAY,CAAC,CAAC;MAElD,MAAMyC,WAAW,GACfvB,UAAU,CAACwB,MAAM,KAAAH,qBAAA,GAAGV,aAAa,CAACK,OAAO,cAAAK,qBAAA,uBAArBA,qBAAA,CAAuBG,MAAM;MAEnD,IAAI,CAACjB,MAAM,CAACS,OAAO,CAACI,KAAK,CAAC,EAAE;QAC1BZ,QAAQ,CAACQ,OAAO,CAACM,EAAE,CAAC,GAAGC,WAAW;QAClChB,MAAM,CAACS,OAAO,CAACS,IAAI,CAACH,EAAE,CAAC;MACzB;MAEA,MAAMI,KAAK,GAAGlB,QAAQ,CAACQ,OAAO,CAACM,EAAE,CAAC,IAAI,KAAK;MAC3C,IAAI,CAACb,QAAQ,CAACO,OAAO,CAACM,EAAE,CAAC,EAAE;QACzBb,QAAQ,CAACO,OAAO,CAACM,EAAE,CAAC,GAAGI,KAAK,GAAG,MAAM,GAAG,MAAM;MAChD;MAEA,OAAO;QACLJ,EAAE;QACFxB,IAAI;QACJC,KAAK;QACLqB,KAAK;QACLpB,UAAU;QACVY,YAAY;QACZc,KAAK;QACLC,aAAa,EAAElB,QAAQ,CAACO,OAAO,CAACM,EAAE,CAAC;QACnCM,mBAAmB,EAAGC,IAAmB,IAAK;UAAA,IAAAC,iBAAA;UAC5CrB,QAAQ,CAACO,OAAO,CAACM,EAAE,CAAC,GAAGO,IAAI;UAC3B,CAAAC,iBAAA,GAAOtB,QAAQ,CAACQ,OAAO,cAAAc,iBAAA,qBAAvB,OAAOA,iBAAA,CAAmBR,EAAE,CAAC;UAC7B3B,WAAW,CAAC,CAAC;QACf,CAAC;QACDS,YAAY,EAAEA,CAACN,IAAU,EAAEC,KAAc,KAAK;UAC5C,MAAMgC,aAAa,GAAGzC,eAAe,CAACU,UAAU,CAAC;UAIjD+B,aAAa,CAACX,KAAK,CAAC,GAAAY,aAAA,KAAQD,aAAa,CAACX,KAAK,CAAC,CAAE;UAElDxC,OAAO,CAACqD,GAAG,CAACF,aAAa,EAAEjC,IAAI,EAAEC,KAAK,CAAC;UACvCK,YAAY,CAAC2B,aAAa,CAAC;QAC7B,CAAC;QACDG,UAAU,EAAGC,OAAgB,IAAK;UAChCtB,UAAU,CAACG,OAAO,GAAG,IAAI;UACzBZ,YAAY,CAAC,CAAC,IAAIJ,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,CAAC,EAAEmC,OAAO,CAAC,CAAC;QAChD,CAAC;QACDC,YAAY,EAAE,SAAAA,CAAA,EAAgC;UAAA,IAA/B;YAAEC,SAAS,GAAG;UAAM,CAAC,GAAAC,SAAA,CAAAd,MAAA,QAAAc,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;UACvC,IAAID,SAAS,EAAE;YAEb3B,oBAAoB,CAACM,OAAO,GAAGhB,UAAU;UAC3C;UAEA,MAAM+B,aAAa,GAAGzC,eAAe,CAACU,UAAU,CAAC;UACjD+B,aAAa,CAACS,MAAM,CAACpB,KAAK,EAAE,CAAC,CAAC;UAC9BhB,YAAY,CAAC2B,aAAa,CAAC;QAC7B,CAAC;QAGDU,aAAa,EAAEA,CAAA,KAAM;UAAA,IAAAC,iBAAA,EAAAC,kBAAA;UACnBjC,oBAAoB,CAACM,OAAO,GAAG,IAAI;UACnC,CAAA0B,iBAAA,GAAOjC,QAAQ,CAACO,OAAO,cAAA0B,iBAAA,qBAAvB,OAAOA,iBAAA,CAAmBpB,EAAE,CAAC;UAC7B,CAAAqB,kBAAA,GAAOnC,QAAQ,CAACQ,OAAO,cAAA2B,kBAAA,qBAAvB,OAAOA,kBAAA,CAAmBrB,EAAE,CAAC;UAC7B,MAAMsB,SAAS,GAAGrC,MAAM,CAACS,OAAO,CAAC6B,OAAO,CAACvB,EAAE,CAAC;UAC5Cf,MAAM,CAACS,OAAO,CAACwB,MAAM,CAACI,SAAS,EAAE,CAAC,CAAC;UACnCjD,WAAW,CAAC,CAAC;QACf,CAAC;QAGDmD,oBAAoB,EAAG/C,KAAc,IAAK;UACxC,MAAMgC,aAAa,GAAGzC,eAAe,CAACU,UAAU,CAAC;UACjD+B,aAAa,CAACX,KAAK,CAAC,GAAGrB,KAAK;UAC5BK,YAAY,CAAC2B,aAAa,CAAC;QAC7B;MACF,CAAC;IACH,CACF,CAAC;EAIH,CAAC,EAAE,CAACrC,IAAI,EAAEM,UAAU,EAAEF,IAAI,EAAEM,YAAY,CAAC,CAAC;EAG1ChC,OAAO,CAAC,MAAM;IACZ,MAAM2E,IAAI,GAAG9B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGA,WAAW,CAACO,MAAM,GAAG,CAAC,CAAC;IAClD,IAAIuB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAErB,KAAK,IAAI,CAACb,UAAU,CAACG,OAAO,EAAE;MACtCX,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGL,UAAU,CAAC;IACxB,CAAC,MAAM;MACLa,UAAU,CAACG,OAAO,GAAG,KAAK;IAC5B;EACF,CAAC,EAAE,CAAChB,UAAU,EAAEiB,WAAW,EAAEZ,QAAQ,CAAC,CAAC;EAEvC,MAAM2C,SAEL,GAAAhB,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACCiB,SAAS,EAAEtE,UAAU,CAAC,mBAAmB,EAAEa,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyD,SAAS;EAAC,GACzDhE,sBAAsB,CAACO,KAA2B,CAAC,GACnDR,gBAAgB,CAACQ,KAAK,CAAC;IAC1B0D,QAAQ,EAAEtC;EAAY,EACvB;EAED,MAAMuC,cAAc,GAAGpC,QAAQ,GAAGrC,QAAQ,GAAGK,IAAI,CAACqE,KAAK;EAEvD,OACEjF,KAAA,CAAAkF,aAAA,CAACF,cAAc,EAAMpC,QAAQ,GAAG,IAAI,GAAGiC,SAAS,EAC7ChD,UAAU,KAAKE,UAAU,IAAI,CAAAV,KAAK,aAALA,KAAK,wBAAAC,YAAA,GAALD,KAAK,CAAEO,KAAK,cAAAN,YAAA,uBAAZA,YAAA,CAAc+B,MAAM,MAAK,CAAC,GACpDrB,WAAW,GACXc,WAAW,CAACE,GAAG,CAAEmC,YAAY,IAAK;IAChC,MAAM;MAAEhC,EAAE;MAAEvB,KAAK;MAAEqB;IAAM,CAAC,GAAGkC,YAAY;IACzC,MAAMC,UAAU,GAAIzC,SAAS,CAACE,OAAO,CAACM,EAAE,CAAC,GACvCR,SAAS,CAACE,OAAO,CAACM,EAAE,CAAC,IAAI9C,SAAS,CAAiB,CAAE;IAEvD,MAAMgF,cAAc,GAAIC,YAA0B,IAAK;MACrD,OAAO,OAAOA,YAAY,KAAK,UAAU,GACrCA,YAAY,CAAC1D,KAAK,EAAEqB,KAAK,CAAC,GAC1BqC,YAAY;IAClB,CAAC;IAED,MAAMC,YAAY,GAAA1B,aAAA,CAAAA,aAAA,KACbsB,YAAY;MACfC;IAAU,EACX;IAED,MAAMI,OAAO,GAAGC,KAAK,CAACC,OAAO,CAACvD,QAAQ,CAAC,GACnCA,QAAQ,CAACa,GAAG,CAAE2C,KAAK,IAAKN,cAAc,CAACM,KAAK,CAAC,CAAC,GAC9CN,cAAc,CAAClD,QAAQ,CAAC;IAE5B,IAAIS,QAAQ,EAAE;MACZ,OACE5C,KAAA,CAAAkF,aAAA,CAACnE,qBAAqB,CAAC6E,QAAQ;QAC7BC,GAAG,EAAG,WAAU1C,EAAG,EAAE;QACrBvB,KAAK,EAAE2D;MAAa,GAEpBvF,KAAA,CAAAkF,aAAA,CAAChE,qBAAqB,QAAEsE,OAA+B,CACzB,CAAC;IAErC;IAEA,OACExF,KAAA,CAAAkF,aAAA,CAACtE,IAAI,CAACkF,IAAI;MACRhB,SAAS,EAAC,4BAA4B;MACtCiB,QAAQ,EAAE,CAAC,CAAE;MACbhB,QAAQ,EAAEK,UAAW;MACrBS,GAAG,EAAG,WAAU1C,EAAG;IAAE,GAErBnD,KAAA,CAAAkF,aAAA,CAACnE,qBAAqB,CAAC6E,QAAQ;MAAChE,KAAK,EAAE2D;IAAa,GAClDvF,KAAA,CAAAkF,aAAA,CAAChE,qBAAqB,QAAEsE,OAA+B,CACzB,CACvB,CAAC;EAEhB,CAAC,CACS,CAAC;AAErB;AAEApE,cAAc,CAAC4E,qBAAqB,GAAG,IAAI;AAC3C,eAAe5E,cAAc"}
|
|
@@ -42,7 +42,7 @@ export function EditContainerWithoutToolbar(props) {
|
|
|
42
42
|
const ariaLabel = useMemo(() => convertJsxToString(blockTitle), [blockTitle]);
|
|
43
43
|
return React.createElement(ElementBlock, _extends({
|
|
44
44
|
mode: "edit",
|
|
45
|
-
className: classnames('dnb-
|
|
45
|
+
className: classnames('dnb-forms-iterate-edit-block', className),
|
|
46
46
|
ariaLabel: ariaLabel
|
|
47
47
|
}, restProps), blockTitle && React.createElement(Lead, {
|
|
48
48
|
size: "basis"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditContainer.js","names":["React","useContext","useEffect","useMemo","useRef","classnames","convertJsxToString","Lead","IterateElementContext","EditToolbarTools","ElementBlock","Toolbar","EditContainer","props","createElement","EditContainerWithoutToolbar","_extends","toolbar","_Toolbar","iterateElementContext","containerMode","isNew","_ref","children","className","title","titleWhenNew","restProps","_objectWithoutProperties","_excluded","wasNewRef","current","blockTitle","ariaLabel","mode","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateElementContext from '../IterateElementContext'\nimport EditToolbarTools from './EditToolbarTools'\nimport ElementBlock from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n * Used internally.\n */\n open?: boolean\n\n /**\n * The toolbar to be shown in the EditContainer.\n * Used internally.\n */\n toolbar?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps\n\nexport default function EditContainer(props: AllProps) {\n return (\n <EditContainerWithoutToolbar\n toolbar={\n <Toolbar>\n <EditToolbarTools />\n </Toolbar>\n }\n {...props}\n />\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const iterateElementContext = useContext(IterateElementContext)\n const { containerMode, isNew } = iterateElementContext ?? {}\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n const blockTitle =\n wasNewRef.current && titleWhenNew ? titleWhenNew : title\n const ariaLabel = useMemo(\n () => convertJsxToString(blockTitle),\n [blockTitle]\n )\n\n return (\n <ElementBlock\n mode=\"edit\"\n className={classnames('dnb-
|
|
1
|
+
{"version":3,"file":"EditContainer.js","names":["React","useContext","useEffect","useMemo","useRef","classnames","convertJsxToString","Lead","IterateElementContext","EditToolbarTools","ElementBlock","Toolbar","EditContainer","props","createElement","EditContainerWithoutToolbar","_extends","toolbar","_Toolbar","iterateElementContext","containerMode","isNew","_ref","children","className","title","titleWhenNew","restProps","_objectWithoutProperties","_excluded","wasNewRef","current","blockTitle","ariaLabel","mode","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateElementContext from '../IterateElementContext'\nimport EditToolbarTools from './EditToolbarTools'\nimport ElementBlock from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n * Used internally.\n */\n open?: boolean\n\n /**\n * The toolbar to be shown in the EditContainer.\n * Used internally.\n */\n toolbar?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps\n\nexport default function EditContainer(props: AllProps) {\n return (\n <EditContainerWithoutToolbar\n toolbar={\n <Toolbar>\n <EditToolbarTools />\n </Toolbar>\n }\n {...props}\n />\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const iterateElementContext = useContext(IterateElementContext)\n const { containerMode, isNew } = iterateElementContext ?? {}\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n const blockTitle =\n wasNewRef.current && titleWhenNew ? titleWhenNew : title\n const ariaLabel = useMemo(\n () => convertJsxToString(blockTitle),\n [blockTitle]\n )\n\n return (\n <ElementBlock\n mode=\"edit\"\n className={classnames('dnb-forms-iterate-edit-block', className)}\n ariaLabel={ariaLabel}\n {...restProps}\n >\n {blockTitle && <Lead size=\"basis\">{blockTitle}</Lead>}\n {children}\n {toolbar}\n </ElementBlock>\n )\n}\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACrE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,sBAAsB;AAE3C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,YAAY,MAAM,mCAAmC;AAC5D,OAAOC,OAAO,MAAM,YAAY;AA4BhC,eAAe,SAASC,aAAaA,CAACC,KAAe,EAAE;EACrD,OACEb,KAAA,CAAAc,aAAA,CAACC,2BAA2B,EAAAC,QAAA;IAC1BC,OAAO,EAAAC,QAAA,KAAAA,QAAA,GACLlB,KAAA,CAAAc,aAAA,CAACH,OAAO,QACNX,KAAA,CAAAc,aAAA,CAACL,gBAAgB,MAAE,CACZ,CAAC;EACX,GACGI,KAAK,CACV,CAAC;AAEN;AAEA,OAAO,SAASE,2BAA2BA,CACzCF,KAAiE,EACjE;EACA,MAAMM,qBAAqB,GAAGlB,UAAU,CAACO,qBAAqB,CAAC;EAC/D,MAAM;IAAEY,aAAa;IAAEC;EAAM,CAAC,GAAGF,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAE5D,MAAAG,IAAA,GAOIT,KAAK,IAAI,CAAC,CAAC;IAPT;MACJU,QAAQ;MACRC,SAAS;MACTC,KAAK;MACLC,YAAY;MACZT;IAEF,CAAC,GAAAK,IAAA;IADIK,SAAS,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAGd,MAAMC,SAAS,GAAG1B,MAAM,CAAUiB,KAAK,CAAC;EAExCnB,SAAS,CAAC,MAAM;IACd,IAAIkB,aAAa,KAAK,MAAM,EAAE;MAC5BU,SAAS,CAACC,OAAO,GAAG,KAAK;IAC3B;EACF,CAAC,EAAE,CAACV,KAAK,EAAED,aAAa,CAAC,CAAC;EAE1B,MAAMY,UAAU,GACdF,SAAS,CAACC,OAAO,IAAIL,YAAY,GAAGA,YAAY,GAAGD,KAAK;EAC1D,MAAMQ,SAAS,GAAG9B,OAAO,CACvB,MAAMG,kBAAkB,CAAC0B,UAAU,CAAC,EACpC,CAACA,UAAU,CACb,CAAC;EAED,OACEhC,KAAA,CAAAc,aAAA,CAACJ,YAAY,EAAAM,QAAA;IACXkB,IAAI,EAAC,MAAM;IACXV,SAAS,EAAEnB,UAAU,CAAC,8BAA8B,EAAEmB,SAAS,CAAE;IACjES,SAAS,EAAEA;EAAU,GACjBN,SAAS,GAEZK,UAAU,IAAIhC,KAAA,CAAAc,aAAA,CAACP,IAAI;IAAC4B,IAAI,EAAC;EAAO,GAAEH,UAAiB,CAAC,EACpDT,QAAQ,EACRN,OACW,CAAC;AAEnB;AAEAL,aAAa,CAACwB,qBAAqB,GAAG,IAAI;AAC1CrB,2BAA2B,CAACqB,qBAAqB,GAAG,IAAI"}
|
|
@@ -38,7 +38,7 @@ function PushButton(props) {
|
|
|
38
38
|
handleChange([...(value !== null && value !== void 0 ? value : []), newValue]);
|
|
39
39
|
}, [value, pushValue, handlePush, handleChange]);
|
|
40
40
|
return React.createElement(Button, _extends({
|
|
41
|
-
className: classnames('dnb-
|
|
41
|
+
className: classnames('dnb-forms-iterate-push-button', className),
|
|
42
42
|
variant: "secondary",
|
|
43
43
|
icon: add,
|
|
44
44
|
icon_position: "left",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","omitDataValueReadWriteProps","add","PushButton","props","iterateElementContext","handlePush","pushValue","className","restProps","_objectWithoutProperties","_excluded","buttonProps","value","handleChange","children","undefined","Array","isArray","Error","handleClick","newValue","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps } from '../../hooks'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { add } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]> & {\n pushValue: unknown | ((value: unknown) => void)\n }\n\nfunction PushButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handlePush } = iterateElementContext ?? {}\n\n const { pushValue, className, ...restProps } = props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const { value, handleChange, children } = useFieldProps(restProps)\n\n if (value !== undefined && !Array.isArray(value)) {\n throw new Error('PushButton received a non-array value.')\n }\n\n const handleClick = useCallback(() => {\n const newValue =\n typeof pushValue === 'function' ? pushValue(value) : pushValue\n\n if (handlePush) {\n // Inside an Iterate element - make the change through the Iterate component\n handlePush(newValue)\n return // stop here\n }\n\n // If not inside an iterate, it could still manipulate a source data set through useFieldProps\n handleChange([...(value ?? []), newValue])\n }, [value, pushValue, handlePush, handleChange])\n\n return (\n <Button\n className={classnames('dnb-
|
|
1
|
+
{"version":3,"file":"PushButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","omitDataValueReadWriteProps","add","PushButton","props","iterateElementContext","handlePush","pushValue","className","restProps","_objectWithoutProperties","_excluded","buttonProps","value","handleChange","children","undefined","Array","isArray","Error","handleClick","newValue","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps } from '../../hooks'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { add } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]> & {\n pushValue: unknown | ((value: unknown) => void)\n }\n\nfunction PushButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handlePush } = iterateElementContext ?? {}\n\n const { pushValue, className, ...restProps } = props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const { value, handleChange, children } = useFieldProps(restProps)\n\n if (value !== undefined && !Array.isArray(value)) {\n throw new Error('PushButton received a non-array value.')\n }\n\n const handleClick = useCallback(() => {\n const newValue =\n typeof pushValue === 'function' ? pushValue(value) : pushValue\n\n if (handlePush) {\n // Inside an Iterate element - make the change through the Iterate component\n handlePush(newValue)\n return // stop here\n }\n\n // If not inside an iterate, it could still manipulate a source data set through useFieldProps\n handleChange([...(value ?? []), newValue])\n }, [value, pushValue, handlePush, handleChange])\n\n return (\n <Button\n className={classnames('dnb-forms-iterate-push-button', className)}\n variant=\"secondary\"\n icon={add}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {children}\n </Button>\n )\n}\n\nPushButton._supportsSpacingProps = true\nexport default PushButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,GAAG,QAAQ,mBAAmB;AAOvC,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,qBAAqB,GAAGT,UAAU,CAACG,qBAAqB,CAAC;EAC/D,MAAM;IAAEO;EAAW,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAElD,MAAM;MAAEE,SAAS;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACpD,MAAMC,WAAW,GAAGX,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAM;IAAEI,KAAK;IAAEC,YAAY;IAAEC;EAAS,CAAC,GAAGf,aAAa,CAACS,SAAS,CAAC;EAElE,IAAII,KAAK,KAAKG,SAAS,IAAI,CAACC,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;IAChD,MAAM,IAAIM,KAAK,CAAC,wCAAwC,CAAC;EAC3D;EAEA,MAAMC,WAAW,GAAGzB,WAAW,CAAC,MAAM;IACpC,MAAM0B,QAAQ,GACZ,OAAOd,SAAS,KAAK,UAAU,GAAGA,SAAS,CAACM,KAAK,CAAC,GAAGN,SAAS;IAEhE,IAAID,UAAU,EAAE;MAEdA,UAAU,CAACe,QAAQ,CAAC;MACpB;IACF;IAGAP,YAAY,CAAC,CAAC,IAAID,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAC,EAAEQ,QAAQ,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACR,KAAK,EAAEN,SAAS,EAAED,UAAU,EAAEQ,YAAY,CAAC,CAAC;EAEhD,OACEpB,KAAA,CAAA4B,aAAA,CAACxB,MAAM,EAAAyB,QAAA;IACLf,SAAS,EAAEX,UAAU,CAAC,+BAA+B,EAAEW,SAAS,CAAE;IAClEgB,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAEvB,GAAI;IACVwB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAClBR,WAAW,GAEdG,QACK,CAAC;AAEb;AAEAZ,UAAU,CAACyB,qBAAqB,GAAG,IAAI;AACvC,eAAezB,UAAU"}
|
|
@@ -42,7 +42,7 @@ function RemoveButton(props) {
|
|
|
42
42
|
}
|
|
43
43
|
}, [handleRemove, handleRemoveBlock]);
|
|
44
44
|
return React.createElement(Button, _extends({
|
|
45
|
-
className: classnames('dnb-
|
|
45
|
+
className: classnames('dnb-forms-iterate-remove-element-button', className),
|
|
46
46
|
variant: textContent ? 'tertiary' : 'secondary',
|
|
47
47
|
icon: trash,
|
|
48
48
|
icon_position: "left",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","useTranslation","ElementBlockContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateElementContext","handleRemove","Error","className","restProps","_objectWithoutProperties","_excluded","children","text","buttonProps","translation","Iterate","textContent","remove","elementBlockContext","handleRemoveBlock","handleClick","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps, useTranslation } from '../../hooks'\nimport ElementBlockContext from '../AnimatedContainer/ElementBlockContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]>\n\nfunction RemoveButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handleRemove } = iterateElementContext ?? {}\n\n if (!iterateElementContext) {\n throw new Error(\n 'RemoveButton must be inside an Iterate.Array component.'\n )\n }\n\n const { className, ...restProps } = props\n const { children, text } = useFieldProps(restProps)\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().Iterate\n const textContent = text || children || translation.remove\n\n const elementBlockContext = useContext(ElementBlockContext)\n const { handleRemoveBlock } = elementBlockContext ?? {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveBlock) {\n handleRemoveBlock()\n } else {\n handleRemove()\n }\n }, [handleRemove, handleRemoveBlock])\n\n return (\n <Button\n className={classnames(\n 'dnb-
|
|
1
|
+
{"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","useTranslation","ElementBlockContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateElementContext","handleRemove","Error","className","restProps","_objectWithoutProperties","_excluded","children","text","buttonProps","translation","Iterate","textContent","remove","elementBlockContext","handleRemoveBlock","handleClick","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps, useTranslation } from '../../hooks'\nimport ElementBlockContext from '../AnimatedContainer/ElementBlockContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]>\n\nfunction RemoveButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handleRemove } = iterateElementContext ?? {}\n\n if (!iterateElementContext) {\n throw new Error(\n 'RemoveButton must be inside an Iterate.Array component.'\n )\n }\n\n const { className, ...restProps } = props\n const { children, text } = useFieldProps(restProps)\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().Iterate\n const textContent = text || children || translation.remove\n\n const elementBlockContext = useContext(ElementBlockContext)\n const { handleRemoveBlock } = elementBlockContext ?? {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveBlock) {\n handleRemoveBlock()\n } else {\n handleRemove()\n }\n }, [handleRemove, handleRemoveBlock])\n\n return (\n <Button\n className={classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n )}\n variant={textContent ? 'tertiary' : 'secondary'}\n icon={trash}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {textContent}\n </Button>\n )\n}\n\nRemoveButton._supportsSpacingProps = true\nexport default RemoveButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,aAAa,EAAEC,cAAc,QAAQ,aAAa;AAC3D,OAAOC,mBAAmB,MAAM,0CAA0C;AAC1E,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,qBAAqB,GAAGX,UAAU,CAACG,qBAAqB,CAAC;EAC/D,MAAM;IAAES;EAAa,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAEpD,IAAI,CAACA,qBAAqB,EAAE;IAC1B,MAAM,IAAIE,KAAK,CACb,yDACF,CAAC;EACH;EAEA,MAAM;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGf,aAAa,CAACW,SAAS,CAAC;EACnD,MAAMK,WAAW,GAAGb,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAMM,WAAW,GAAGhB,cAAc,CAAC,CAAC,CAACiB,OAAO;EAC5C,MAAMC,WAAW,GAAGJ,IAAI,IAAID,QAAQ,IAAIG,WAAW,CAACG,MAAM;EAE1D,MAAMC,mBAAmB,GAAGzB,UAAU,CAACM,mBAAmB,CAAC;EAC3D,MAAM;IAAEoB;EAAkB,CAAC,GAAGD,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,CAAC,CAAC;EAEvD,MAAME,WAAW,GAAG5B,WAAW,CAAC,MAAM;IACpC,IAAI2B,iBAAiB,EAAE;MACrBA,iBAAiB,CAAC,CAAC;IACrB,CAAC,MAAM;MACLd,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEc,iBAAiB,CAAC,CAAC;EAErC,OACE5B,KAAA,CAAA8B,aAAA,CAAC1B,MAAM,EAAA2B,QAAA;IACLf,SAAS,EAAEb,UAAU,CACnB,yCAAyC,EACzCa,SACF,CAAE;IACFgB,OAAO,EAAEP,WAAW,GAAG,UAAU,GAAG,WAAY;IAChDQ,IAAI,EAAEvB,KAAM;IACZwB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEN;EAAY,GAClBP,WAAW,GAEdG,WACK,CAAC;AAEb;AAEAd,YAAY,CAACyB,qBAAqB,GAAG,IAAI;AACzC,eAAezB,YAAY"}
|
|
@@ -15,7 +15,7 @@ export default function Toolbar(props) {
|
|
|
15
15
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
16
16
|
return React.createElement(Space, _extends({
|
|
17
17
|
top: "medium",
|
|
18
|
-
className: classnames('dnb-
|
|
18
|
+
className: classnames('dnb-forms-iterate-toolbar', className)
|
|
19
19
|
}, rest), _Hr || (_Hr = React.createElement(Hr, {
|
|
20
20
|
space: 0
|
|
21
21
|
})), React.createElement(Flex.Horizontal, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","names":["React","classnames","Hr","Flex","Space","Toolbar","props","_ref","children","className","rest","_objectWithoutProperties","_excluded","createElement","_extends","top","_Hr","space","Horizontal","spacing","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { Hr } from '../../../../elements'\nimport { Flex, Space } from '../../../../components'\nimport { SpaceAllProps } from '../../../../components/Space'\n\nexport type Props = SpaceAllProps\n\nexport default function Toolbar(props: Props) {\n const { children, className, ...rest } = props || {}\n\n return (\n <Space\n top=\"medium\"\n className={classnames('dnb-
|
|
1
|
+
{"version":3,"file":"Toolbar.js","names":["React","classnames","Hr","Flex","Space","Toolbar","props","_ref","children","className","rest","_objectWithoutProperties","_excluded","createElement","_extends","top","_Hr","space","Horizontal","spacing","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { Hr } from '../../../../elements'\nimport { Flex, Space } from '../../../../components'\nimport { SpaceAllProps } from '../../../../components/Space'\n\nexport type Props = SpaceAllProps\n\nexport default function Toolbar(props: Props) {\n const { children, className, ...rest } = props || {}\n\n return (\n <Space\n top=\"medium\"\n className={classnames('dnb-forms-iterate-toolbar', className)}\n {...rest}\n >\n <Hr space={0} />\n\n <Flex.Horizontal top=\"x-small\" spacing=\"large\">\n {children}\n </Flex.Horizontal>\n </Space>\n )\n}\n\nToolbar._supportsSpacingProps = true\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,EAAE,QAAQ,sBAAsB;AACzC,SAASC,IAAI,EAAEC,KAAK,QAAQ,wBAAwB;AAKpD,eAAe,SAASC,OAAOA,CAACC,KAAY,EAAE;EAC5C,MAAAC,IAAA,GAAyCD,KAAK,IAAI,CAAC,CAAC;IAA9C;MAAEE,QAAQ;MAAEC;IAAmB,CAAC,GAAAF,IAAA;IAANG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEpC,OACEZ,KAAA,CAAAa,aAAA,CAACT,KAAK,EAAAU,QAAA;IACJC,GAAG,EAAC,QAAQ;IACZN,SAAS,EAAER,UAAU,CAAC,2BAA2B,EAAEQ,SAAS;EAAE,GAC1DC,IAAI,GAAAM,GAAA,KAAAA,GAAA,GAERhB,KAAA,CAAAa,aAAA,CAACX,EAAE;IAACe,KAAK,EAAE;EAAE,CAAE,CAAC,GAEhBjB,KAAA,CAAAa,aAAA,CAACV,IAAI,CAACe,UAAU;IAACH,GAAG,EAAC,SAAS;IAACI,OAAO,EAAC;EAAO,GAC3CX,QACc,CACZ,CAAC;AAEZ;AAEAH,OAAO,CAACe,qBAAqB,GAAG,IAAI"}
|
|
@@ -22,7 +22,7 @@ function ViewContainer(props) {
|
|
|
22
22
|
return React.createElement(ElementBlock, _extends({
|
|
23
23
|
mode: "view",
|
|
24
24
|
ariaLabel: ariaLabel,
|
|
25
|
-
className: classnames('dnb-
|
|
25
|
+
className: classnames('dnb-forms-iterate-view-block', className)
|
|
26
26
|
}, restProps), React.createElement(Flex.Stack, null, title && React.createElement(Lead, {
|
|
27
27
|
size: "basis"
|
|
28
28
|
}, title), children, _Toolbar || (_Toolbar = React.createElement(Toolbar, null, React.createElement(ViewToolbarTools, null)))));
|