@dnb/eufemia 10.23.0 → 10.25.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 +36 -0
- package/cjs/components/accordion/style/dnb-accordion.css +6 -2
- package/cjs/components/accordion/style/dnb-accordion.min.css +2 -2
- package/cjs/components/accordion/style/dnb-accordion.scss +8 -2
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
- package/cjs/components/anchor/Anchor.d.ts +1 -1
- package/cjs/components/anchor/Anchor.js +2 -2
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +46 -3
- package/cjs/components/anchor/style/dnb-anchor.css +73 -4
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
- package/cjs/components/autocomplete/Autocomplete.d.ts +0 -15
- package/cjs/components/autocomplete/AutocompleteDocs.d.ts +3 -0
- package/cjs/components/autocomplete/AutocompleteDocs.js +293 -0
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -0
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
- package/cjs/components/button/Button.js +1 -1
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.d.ts +0 -3
- package/cjs/components/flex/style/dnb-flex.css +1 -1
- package/cjs/components/flex/style/dnb-flex.min.css +1 -1
- package/cjs/components/flex/style/flex-stack.scss +1 -1
- package/cjs/components/icon/style/dnb-icon.css +2 -2
- package/cjs/components/icon/style/dnb-icon.min.css +1 -1
- package/cjs/components/icon/style/dnb-icon.scss +1 -1
- package/cjs/components/input/Input.js +1 -1
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input/InputDocs.js +2 -2
- package/cjs/components/input/InputDocs.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +6 -0
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/table-th.scss +9 -25
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
- package/cjs/components/table/style/themes/dnb-table-theme-ui.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
- package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
- package/cjs/components/textarea/Textarea.d.ts +9 -0
- package/cjs/components/textarea/Textarea.js +21 -5
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/textarea/TextareaDocs.js +10 -0
- package/cjs/components/textarea/TextareaDocs.js.map +1 -1
- package/cjs/components/textarea/style/dnb-textarea.css +69 -26
- package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
- package/cjs/components/textarea/style/dnb-textarea.scss +83 -31
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
- package/cjs/extensions/forms/DataContext/At/At.js +6 -6
- package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +5 -2
- package/cjs/extensions/forms/DataContext/Context.js +1 -0
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +52 -26
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +6 -6
- package/cjs/extensions/forms/Field/String/String.js +13 -11
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Form/Appearance/Appearance.js +3 -0
- package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +3 -3
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/Step/Step.js +2 -3
- package/cjs/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
- package/cjs/extensions/forms/StepsLayout/StepsContext.js +6 -1
- package/cjs/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js +86 -50
- package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
- package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
- package/cjs/extensions/forms/StepsLayout/useStep.d.ts +3 -0
- package/cjs/extensions/forms/StepsLayout/useStep.js +19 -0
- package/cjs/extensions/forms/StepsLayout/useStep.js.map +1 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js +82 -58
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +3 -3
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +2 -2
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.js +6 -2
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +95 -1
- package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
- package/cjs/fragments/drawer-list/DrawerListDocs.js +188 -0
- package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -0
- 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/helpers/runCssVersionMismatchWarning.js +2 -2
- package/cjs/shared/helpers/runCssVersionMismatchWarning.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 +160 -39
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +3 -3
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +3 -3
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/properties.js +10 -10
- package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.js +10 -10
- package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
- package/cjs/style/themes/theme-sbanken/properties.scss +10 -10
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/properties.js +10 -10
- package/cjs/style/themes/theme-ui/properties.js.map +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +178 -81
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +37 -9
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/style/dnb-accordion.css +6 -2
- package/components/accordion/style/dnb-accordion.min.css +2 -2
- package/components/accordion/style/dnb-accordion.scss +8 -2
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
- package/components/anchor/Anchor.d.ts +1 -1
- package/components/anchor/Anchor.js +2 -2
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +46 -3
- package/components/anchor/style/dnb-anchor.css +73 -4
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
- package/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
- package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
- package/components/autocomplete/Autocomplete.d.ts +0 -15
- package/components/autocomplete/AutocompleteDocs.d.ts +3 -0
- package/components/autocomplete/AutocompleteDocs.js +285 -0
- package/components/autocomplete/AutocompleteDocs.js.map +1 -0
- package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
- package/components/button/Button.js +1 -1
- package/components/button/Button.js.map +1 -1
- package/components/dropdown/Dropdown.d.ts +0 -3
- package/components/flex/style/dnb-flex.css +1 -1
- package/components/flex/style/dnb-flex.min.css +1 -1
- package/components/flex/style/flex-stack.scss +1 -1
- package/components/icon/style/dnb-icon.css +2 -2
- package/components/icon/style/dnb-icon.min.css +1 -1
- package/components/icon/style/dnb-icon.scss +1 -1
- package/components/input/Input.js +1 -1
- package/components/input/Input.js.map +1 -1
- package/components/input/InputDocs.js +2 -2
- package/components/input/InputDocs.js.map +1 -1
- package/components/table/style/dnb-table.css +6 -0
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/table-th.scss +9 -25
- package/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
- package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
- package/components/table/style/themes/dnb-table-theme-ui.css +1 -1
- package/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
- package/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
- package/components/textarea/Textarea.d.ts +9 -0
- package/components/textarea/Textarea.js +21 -5
- package/components/textarea/Textarea.js.map +1 -1
- package/components/textarea/TextareaDocs.js +10 -0
- package/components/textarea/TextareaDocs.js.map +1 -1
- package/components/textarea/style/dnb-textarea.css +69 -26
- package/components/textarea/style/dnb-textarea.min.css +1 -1
- package/components/textarea/style/dnb-textarea.scss +83 -31
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
- package/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
- package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
- package/es/components/accordion/style/dnb-accordion.css +6 -2
- package/es/components/accordion/style/dnb-accordion.min.css +2 -2
- package/es/components/accordion/style/dnb-accordion.scss +8 -2
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
- package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
- package/es/components/anchor/Anchor.d.ts +1 -1
- package/es/components/anchor/Anchor.js +2 -2
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +46 -3
- package/es/components/anchor/style/dnb-anchor.css +73 -4
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
- package/es/components/autocomplete/Autocomplete.d.ts +0 -15
- package/es/components/autocomplete/AutocompleteDocs.d.ts +3 -0
- package/es/components/autocomplete/AutocompleteDocs.js +285 -0
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -0
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
- package/es/components/button/Button.js +1 -1
- package/es/components/button/Button.js.map +1 -1
- package/es/components/dropdown/Dropdown.d.ts +0 -3
- package/es/components/flex/style/dnb-flex.css +1 -1
- package/es/components/flex/style/dnb-flex.min.css +1 -1
- package/es/components/flex/style/flex-stack.scss +1 -1
- package/es/components/icon/style/dnb-icon.css +2 -2
- package/es/components/icon/style/dnb-icon.min.css +1 -1
- package/es/components/icon/style/dnb-icon.scss +1 -1
- package/es/components/input/Input.js +1 -1
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input/InputDocs.js +2 -2
- package/es/components/input/InputDocs.js.map +1 -1
- package/es/components/table/style/dnb-table.css +6 -0
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/table-th.scss +9 -25
- package/es/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
- package/es/components/table/style/themes/dnb-table-theme-ui.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
- package/es/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
- package/es/components/textarea/Textarea.d.ts +9 -0
- package/es/components/textarea/Textarea.js +21 -5
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/textarea/TextareaDocs.js +10 -0
- package/es/components/textarea/TextareaDocs.js.map +1 -1
- package/es/components/textarea/style/dnb-textarea.css +69 -26
- package/es/components/textarea/style/dnb-textarea.min.css +1 -1
- package/es/components/textarea/style/dnb-textarea.scss +83 -31
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
- package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
- package/es/extensions/forms/DataContext/At/At.js +7 -7
- package/es/extensions/forms/DataContext/At/At.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +5 -2
- package/es/extensions/forms/DataContext/Context.js +1 -0
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/es/extensions/forms/DataContext/Provider/Provider.js +51 -26
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +6 -6
- package/es/extensions/forms/Field/String/String.js +13 -11
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Form/Appearance/Appearance.js +3 -0
- package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +3 -3
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/StepsLayout/Step/Step.js +2 -3
- package/es/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
- package/es/extensions/forms/StepsLayout/StepsContext.js +6 -1
- package/es/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
- package/es/extensions/forms/StepsLayout/StepsLayout.js +82 -49
- package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
- package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
- package/es/extensions/forms/StepsLayout/useStep.d.ts +3 -0
- package/es/extensions/forms/StepsLayout/useStep.js +12 -0
- package/es/extensions/forms/StepsLayout/useStep.js.map +1 -0
- package/es/extensions/forms/hooks/useFieldProps.js +82 -58
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +3 -3
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +2 -2
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/ajv.js +6 -2
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +95 -1
- package/es/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
- package/es/fragments/drawer-list/DrawerListDocs.js +180 -0
- package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -0
- 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/helpers/runCssVersionMismatchWarning.js +2 -2
- package/es/shared/helpers/runCssVersionMismatchWarning.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 +160 -39
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +3 -3
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +3 -3
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/properties.js +10 -10
- package/es/style/themes/theme-eiendom/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.js +10 -10
- package/es/style/themes/theme-sbanken/properties.js.map +1 -1
- package/es/style/themes/theme-sbanken/properties.scss +10 -10
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/properties.js +10 -10
- package/es/style/themes/theme-ui/properties.js.map +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +178 -81
- package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +37 -9
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +2 -2
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At/At.js +7 -7
- package/extensions/forms/DataContext/At/At.js.map +1 -1
- package/extensions/forms/DataContext/Context.d.ts +5 -2
- package/extensions/forms/DataContext/Context.js +1 -0
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/extensions/forms/DataContext/Provider/Provider.js +52 -26
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +6 -6
- package/extensions/forms/Field/String/String.js +13 -11
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Form/Appearance/Appearance.js +3 -0
- package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +3 -3
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/StepsLayout/Step/Step.js +2 -3
- package/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
- package/extensions/forms/StepsLayout/StepsContext.js +6 -1
- package/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
- package/extensions/forms/StepsLayout/StepsLayout.js +85 -51
- package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
- package/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
- package/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
- package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
- package/extensions/forms/StepsLayout/useStep.d.ts +3 -0
- package/extensions/forms/StepsLayout/useStep.js +13 -0
- package/extensions/forms/StepsLayout/useStep.js.map +1 -0
- package/extensions/forms/hooks/useFieldProps.js +82 -58
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +3 -3
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +2 -2
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/ajv.js +6 -2
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +95 -1
- package/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
- package/fragments/drawer-list/DrawerListDocs.js +180 -0
- package/fragments/drawer-list/DrawerListDocs.js.map +1 -0
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/helpers/runCssVersionMismatchWarning.js +2 -2
- package/shared/helpers/runCssVersionMismatchWarning.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 +160 -39
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +3 -3
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +3 -3
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-eiendom/properties.js +10 -10
- package/style/themes/theme-eiendom/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.js +10 -10
- package/style/themes/theme-sbanken/properties.js.map +1 -1
- package/style/themes/theme-sbanken/properties.scss +10 -10
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/properties.js +10 -10
- package/style/themes/theme-ui/properties.js.map +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +178 -81
- package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/style/themes/theme-ui/ui-theme-extensions.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +3 -3
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +37 -9
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.js","names":["React","useContext","DataContextProvider","DataContext","FormElement","FormStatus","useId","combineLabelledBy","FormHandler","_ref","children","defaultData","data","schema","ajvInstance","errorMessages","filterData","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","minimumAsyncBehaviorTime","
|
|
1
|
+
{"version":3,"file":"Handler.js","names":["React","useContext","DataContextProvider","DataContext","FormElement","FormStatus","useId","combineLabelledBy","FormHandler","_ref","children","defaultData","data","schema","ajvInstance","errorMessages","filterData","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","_objectWithoutProperties","_excluded","providerProps","id","createElement","FormElementWithState","_ref2","_excluded2","submitState","states","Object","entries","filter","value","_extends","map","key","undefined","state","show","Boolean","no_animation","shellSpace","top","String"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport { JsonObject } from 'json-pointer'\nimport DataContextProvider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport DataContext from '../../DataContext/Context'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\nimport FormStatus from '../../../../components/FormStatus'\nimport useId from '../../../../shared/helpers/useId'\nimport { combineLabelledBy } from '../../../../shared/component-helper'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n filterData,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n id: rest.id,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n filterData,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <DataContextProvider {...providerProps}>\n <FormElementWithState {...rest}>{children}</FormElementWithState>\n </DataContextProvider>\n )\n}\n\nfunction FormElementWithState({ children, ...rest }) {\n const id = useId()\n const { submitState } = useContext(DataContext) || {}\n const states = Object.entries(submitState).filter(([, value]) => value)\n\n return (\n <FormElement\n {...rest}\n aria-labelledby={\n combineLabelledBy(\n rest,\n states.map(([key]) => {\n return `${id}-form-status-${key}`\n })\n ) || undefined\n }\n >\n {children}\n\n {['error', 'warning', 'info'].map((key) => {\n const value = submitState[key]\n return (\n <FormStatus\n key={key}\n state={key}\n id={`${id}-form-status-${key}`}\n show={Boolean(value)}\n no_animation={false}\n shellSpace={{ top: 'x-small' }}\n >\n {String(value?.['message'] || value || '')}\n </FormStatus>\n )\n })}\n </FormElement>\n )\n}\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAEzC,OAAOC,mBAAmB,MAEnB,4BAA4B;AACnC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,WAAW,MAAM,YAAY;AAEpC,OAAOC,UAAU,MAAM,mCAAmC;AAC1D,OAAOC,KAAK,MAAM,kCAAkC;AACpD,SAASC,iBAAiB,QAAQ,qCAAqC;AAYvE,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAmB8B;EAAA,IAnBJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,WAAW;MACXC,aAAa;MACbC,UAAU;MACVC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,gBAAgB;MAChBC,wBAAwB;MACxBC,kBAAkB;MAClBC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAjB,IAAA;IAD1DkB,IAAI,GAAAC,wBAAA,CAAAnB,IAAA,EAAAoB,SAAA;EAEP,MAAMC,aAAa,GAAG;IACpBC,EAAE,EAAEJ,IAAI,CAACI,EAAE;IACXpB,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,WAAW;IACXC,aAAa;IACbC,UAAU;IACVC,QAAQ;IACRC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC,gBAAgB;IAChBC,wBAAwB;IACxBC,kBAAkB;IAClBC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACE1B,KAAA,CAAAgC,aAAA,CAAC9B,mBAAmB,EAAK4B,aAAa,EACpC9B,KAAA,CAAAgC,aAAA,CAACC,oBAAoB,EAAKN,IAAI,EAAGjB,QAA+B,CAC7C,CAAC;AAE1B;AAEA,SAASuB,oBAAoBA,CAAAC,KAAA,EAAwB;EAAA,IAAvB;MAAExB;IAAkB,CAAC,GAAAwB,KAAA;IAANP,IAAI,GAAAC,wBAAA,CAAAM,KAAA,EAAAC,UAAA;EAC/C,MAAMJ,EAAE,GAAGzB,KAAK,CAAC,CAAC;EAClB,MAAM;IAAE8B;EAAY,CAAC,GAAGnC,UAAU,CAACE,WAAW,CAAC,IAAI,CAAC,CAAC;EACrD,MAAMkC,MAAM,GAAGC,MAAM,CAACC,OAAO,CAACH,WAAW,CAAC,CAACI,MAAM,CAAC,CAAC,GAAGC,KAAK,CAAC,KAAKA,KAAK,CAAC;EAEvE,OACEzC,KAAA,CAAAgC,aAAA,CAAC5B,WAAW,EAAAsC,QAAA,KACNf,IAAI;IACR,mBACEpB,iBAAiB,CACfoB,IAAI,EACJU,MAAM,CAACM,GAAG,CAAC,CAAC,CAACC,GAAG,CAAC,KAAK;MACpB,OAAQ,GAAEb,EAAG,gBAAea,GAAI,EAAC;IACnC,CAAC,CACH,CAAC,IAAIC;EACN,IAEAnC,QAAQ,EAER,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAACiC,GAAG,CAAEC,GAAG,IAAK;IACzC,MAAMH,KAAK,GAAGL,WAAW,CAACQ,GAAG,CAAC;IAC9B,OACE5C,KAAA,CAAAgC,aAAA,CAAC3B,UAAU;MACTuC,GAAG,EAAEA,GAAI;MACTE,KAAK,EAAEF,GAAI;MACXb,EAAE,EAAG,GAAEA,EAAG,gBAAea,GAAI,EAAE;MAC/BG,IAAI,EAAEC,OAAO,CAACP,KAAK,CAAE;MACrBQ,YAAY,EAAE,KAAM;MACpBC,UAAU,EAAE;QAAEC,GAAG,EAAE;MAAU;IAAE,GAE9BC,MAAM,CAAC,CAAAX,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,SAAS,CAAC,KAAIA,KAAK,IAAI,EAAE,CAC/B,CAAC;EAEjB,CAAC,CACU,CAAC;AAElB"}
|
|
@@ -16,9 +16,8 @@ function Step(props) {
|
|
|
16
16
|
if ((stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.activeIndex) !== index) {
|
|
17
17
|
return null;
|
|
18
18
|
}
|
|
19
|
-
return React.createElement(Flex.
|
|
20
|
-
className: classnames('dnb-forms-step', className)
|
|
21
|
-
direction: "vertical"
|
|
19
|
+
return React.createElement(Flex.Stack, _extends({
|
|
20
|
+
className: classnames('dnb-forms-step', className)
|
|
22
21
|
}, pickFlexContainerProps(props)), children);
|
|
23
22
|
}
|
|
24
23
|
Step._supportsSpacingProps = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","names":["React","useContext","classnames","pickFlexContainerProps","StepsContext","Flex","Step","props","className","index","children","stepsContext","activeIndex","createElement","
|
|
1
|
+
{"version":3,"file":"Step.js","names":["React","useContext","classnames","pickFlexContainerProps","StepsContext","Flex","Step","props","className","index","children","stepsContext","activeIndex","createElement","Stack","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/StepsLayout/Step/Step.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport {\n Props as FlexContainerProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport StepsContext from '../StepsContext'\nimport Flex from '../../../../components/flex/Flex'\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n index?: number\n title?: string\n }\n\nfunction Step(props: Props) {\n const { className, index, children } = props\n const stepsContext = useContext(StepsContext)\n\n if (stepsContext?.activeIndex !== index) {\n // Another step is active\n return null\n }\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n {...pickFlexContainerProps(props)}\n >\n {children}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAEEC,sBAAsB,QACjB,uCAAuC;AAC9C,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,IAAI,MAAM,kCAAkC;AAQnD,SAASC,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;IAAEC,SAAS;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAC5C,MAAMI,YAAY,GAAGV,UAAU,CAACG,YAAY,CAAC;EAE7C,IAAI,CAAAO,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEC,WAAW,MAAKH,KAAK,EAAE;IAEvC,OAAO,IAAI;EACb;EAEA,OACET,KAAA,CAAAa,aAAA,CAACR,IAAI,CAACS,KAAK,EAAAC,QAAA;IACTP,SAAS,EAAEN,UAAU,CAAC,gBAAgB,EAAEM,SAAS;EAAE,GAC/CL,sBAAsB,CAACI,KAAK,CAAC,GAEhCG,QACS,CAAC;AAEjB;AAEAJ,IAAI,CAACU,qBAAqB,GAAG,IAAI;AACjC,eAAeV,IAAI"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
export type StepIndex = number;
|
|
3
|
+
export interface StepsContextState {
|
|
4
|
+
activeIndex?: StepIndex;
|
|
5
|
+
handlePrevious?: () => void;
|
|
6
|
+
handleNext?: () => void;
|
|
7
|
+
setActiveIndex?: (index: StepIndex) => void;
|
|
6
8
|
}
|
|
7
9
|
declare const StepsContext: React.Context<StepsContextState>;
|
|
8
10
|
export default StepsContext;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
const StepsContext = React.createContext(
|
|
2
|
+
const StepsContext = React.createContext({
|
|
3
|
+
activeIndex: 0,
|
|
4
|
+
setActiveIndex: () => null,
|
|
5
|
+
handlePrevious: () => null,
|
|
6
|
+
handleNext: () => null
|
|
7
|
+
});
|
|
3
8
|
export default StepsContext;
|
|
4
9
|
//# sourceMappingURL=StepsContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepsContext.js","names":["React","StepsContext","createContext","
|
|
1
|
+
{"version":3,"file":"StepsContext.js","names":["React","StepsContext","createContext","activeIndex","setActiveIndex","handlePrevious","handleNext"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsContext.ts"],"sourcesContent":["import React from 'react'\n\nexport type StepIndex = number\nexport interface StepsContextState {\n activeIndex?: StepIndex\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (index: StepIndex) => void\n}\n\nconst StepsContext = React.createContext<StepsContextState | undefined>({\n activeIndex: 0,\n setActiveIndex: () => null,\n handlePrevious: () => null,\n handleNext: () => null,\n})\n\nexport default StepsContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAUzB,MAAMC,YAAY,GAAGD,KAAK,CAACE,aAAa,CAAgC;EACtEC,WAAW,EAAE,CAAC;EACdC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,UAAU,EAAEA,CAAA,KAAM;AACpB,CAAC,CAAC;AAEF,eAAeL,YAAY"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { StepIndex } from './StepsContext';
|
|
2
3
|
import { ComponentProps, EventReturnWithStateObject } from '../types';
|
|
3
4
|
export type Props = ComponentProps & {
|
|
4
5
|
id?: string;
|
|
5
6
|
mode?: 'static' | 'strict' | 'loose';
|
|
6
7
|
scrollTopOnStepChange?: boolean;
|
|
7
|
-
initialActiveIndex?:
|
|
8
|
-
onStepChange?: (index:
|
|
8
|
+
initialActiveIndex?: StepIndex;
|
|
9
|
+
onStepChange?: (index: StepIndex, mode: 'previous' | 'next') => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
|
|
9
10
|
children: React.ReactNode;
|
|
10
11
|
variant?: 'sidebar' | 'drawer';
|
|
11
12
|
noAnimation?: boolean;
|
|
@@ -18,5 +19,6 @@ declare namespace StepsLayout {
|
|
|
18
19
|
var NextButton: typeof import("./NextButton/NextButton").default;
|
|
19
20
|
var PreviousButton: typeof import("./PreviousButton/PreviousButton").default;
|
|
20
21
|
var Buttons: typeof import("./Buttons/Buttons").default;
|
|
22
|
+
var useStep: typeof import("./useStep").useStep;
|
|
21
23
|
}
|
|
22
24
|
export default StepsLayout;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
6
|
const _excluded = ["className", "id", "mode", "scrollTopOnStepChange", "initialActiveIndex", "onStepChange", "children", "noAnimation", "variant", "sidebarId"];
|
|
6
|
-
|
|
7
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
+
import React, { useContext, useCallback, useRef, useReducer, useMemo, useEffect } from 'react';
|
|
7
10
|
import classnames from 'classnames';
|
|
8
11
|
import { Space, StepIndicator } from '../../../components';
|
|
9
12
|
import { warn } from '../../../shared/component-helper';
|
|
@@ -16,6 +19,8 @@ import NextButton from './NextButton';
|
|
|
16
19
|
import PreviousButton from './PreviousButton';
|
|
17
20
|
import Buttons from './Buttons';
|
|
18
21
|
import Provider from '../DataContext/Provider';
|
|
22
|
+
import { useSharedState } from '../../../shared/helpers/useSharedState';
|
|
23
|
+
import { useStep } from './useStep';
|
|
19
24
|
function StepsLayout(props) {
|
|
20
25
|
const {
|
|
21
26
|
className,
|
|
@@ -30,7 +35,6 @@ function StepsLayout(props) {
|
|
|
30
35
|
sidebarId
|
|
31
36
|
} = props,
|
|
32
37
|
rest = _objectWithoutProperties(props, _excluded);
|
|
33
|
-
const dataContext = useContext(DataContext);
|
|
34
38
|
const {
|
|
35
39
|
hasContext,
|
|
36
40
|
setFormState,
|
|
@@ -38,7 +42,7 @@ function StepsLayout(props) {
|
|
|
38
42
|
setShowAllErrors,
|
|
39
43
|
showAllErrors,
|
|
40
44
|
scrollToTop
|
|
41
|
-
} =
|
|
45
|
+
} = useContext(DataContext);
|
|
42
46
|
const id = useId(_id);
|
|
43
47
|
const [, forceUpdate] = useReducer(() => ({}), {});
|
|
44
48
|
const activeIndexRef = useRef(initialActiveIndex);
|
|
@@ -50,34 +54,23 @@ function StepsLayout(props) {
|
|
|
50
54
|
}
|
|
51
55
|
return onStepChange === null || onStepChange === void 0 ? void 0 : onStepChange(index, mode);
|
|
52
56
|
}, [onStepChange]);
|
|
53
|
-
const
|
|
57
|
+
const handleStepChange = useCallback(({
|
|
58
|
+
index,
|
|
59
|
+
skipErrorCheck,
|
|
60
|
+
mode
|
|
61
|
+
}) => {
|
|
54
62
|
handleSubmitCall({
|
|
55
|
-
|
|
56
|
-
|
|
63
|
+
skipErrorCheck,
|
|
64
|
+
skipFieldValidation: skipErrorCheck,
|
|
57
65
|
enableAsyncBehaviour: isAsync(onStepChange),
|
|
58
66
|
onSubmit: async () => {
|
|
59
|
-
const result = await callOnStepChange(
|
|
67
|
+
const result = await callOnStepChange(index, mode);
|
|
60
68
|
setFormState('abort');
|
|
61
|
-
if (!
|
|
62
|
-
|
|
63
|
-
forceUpdate();
|
|
64
|
-
}
|
|
65
|
-
if (scrollTopOnStepChange) {
|
|
66
|
-
scrollToTop();
|
|
69
|
+
if (!skipErrorCheck) {
|
|
70
|
+
setShowAllErrors(errorOnStepRef.current[index]);
|
|
67
71
|
}
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}, [callOnStepChange, handleSubmitCall, onStepChange, scrollToTop, scrollTopOnStepChange, setFormState]);
|
|
72
|
-
const handleNext = useCallback(() => {
|
|
73
|
-
handleSubmitCall({
|
|
74
|
-
enableAsyncBehaviour: isAsync(onStepChange),
|
|
75
|
-
onSubmit: async () => {
|
|
76
|
-
const result = await callOnStepChange(activeIndexRef.current + 1, 'next');
|
|
77
|
-
setFormState('abort');
|
|
78
|
-
setShowAllErrors(errorOnStepRef.current[activeIndexRef.current + 1]);
|
|
79
72
|
if (!(result instanceof Error)) {
|
|
80
|
-
activeIndexRef.current =
|
|
73
|
+
activeIndexRef.current = index;
|
|
81
74
|
forceUpdate();
|
|
82
75
|
}
|
|
83
76
|
if (scrollTopOnStepChange) {
|
|
@@ -87,20 +80,70 @@ function StepsLayout(props) {
|
|
|
87
80
|
}
|
|
88
81
|
});
|
|
89
82
|
}, [callOnStepChange, handleSubmitCall, onStepChange, scrollToTop, scrollTopOnStepChange, setFormState, setShowAllErrors]);
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
throw new Error('Only Step can be children of StepsLayout');
|
|
83
|
+
const setActiveIndex = useCallback((index, options) => {
|
|
84
|
+
if (index === activeIndexRef.current) {
|
|
85
|
+
return;
|
|
94
86
|
}
|
|
95
|
-
|
|
96
|
-
|
|
87
|
+
const mode = index > activeIndexRef.current ? 'next' : 'previous';
|
|
88
|
+
handleStepChange(_objectSpread({
|
|
89
|
+
index,
|
|
90
|
+
skipErrorCheck: mode === 'previous',
|
|
91
|
+
mode
|
|
92
|
+
}, options));
|
|
93
|
+
}, [handleStepChange]);
|
|
94
|
+
const handlePrevious = useCallback(() => {
|
|
95
|
+
setActiveIndex(activeIndexRef.current - 1);
|
|
96
|
+
}, [setActiveIndex]);
|
|
97
|
+
const handleNext = useCallback(() => {
|
|
98
|
+
setActiveIndex(activeIndexRef.current + 1);
|
|
99
|
+
}, [setActiveIndex]);
|
|
97
100
|
const handleChange = useCallback(({
|
|
98
101
|
current_step
|
|
99
102
|
}) => {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}, [
|
|
103
|
+
setActiveIndex(current_step, {
|
|
104
|
+
skipErrorCheck: true
|
|
105
|
+
});
|
|
106
|
+
}, [setActiveIndex]);
|
|
107
|
+
const providerValue = useMemo(() => ({
|
|
108
|
+
activeIndex: activeIndexRef.current,
|
|
109
|
+
setActiveIndex,
|
|
110
|
+
handlePrevious,
|
|
111
|
+
handleNext
|
|
112
|
+
}), [activeIndexRef.current, setActiveIndex, handlePrevious, handleNext]);
|
|
113
|
+
const sharedState = useSharedState(hasContext && id ? id + '-steps' : undefined);
|
|
114
|
+
const {
|
|
115
|
+
extend
|
|
116
|
+
} = sharedState;
|
|
117
|
+
useEffect(() => {
|
|
118
|
+
if (hasContext && id) {
|
|
119
|
+
extend(providerValue);
|
|
120
|
+
}
|
|
121
|
+
}, [id, extend, providerValue]);
|
|
122
|
+
const titlesRef = useRef([]);
|
|
123
|
+
const Contents = useCallback(() => {
|
|
124
|
+
titlesRef.current = [];
|
|
125
|
+
return React.Children.map(children, (child, i) => {
|
|
126
|
+
if (React.isValidElement(child)) {
|
|
127
|
+
var _child, _child2;
|
|
128
|
+
let step = child;
|
|
129
|
+
if (((_child = child) === null || _child === void 0 ? void 0 : _child.type) !== Step && typeof child.type === 'function') {
|
|
130
|
+
var _step;
|
|
131
|
+
step = child.type.apply(child.type, [child.props]);
|
|
132
|
+
if (((_step = step) === null || _step === void 0 ? void 0 : _step.type) === Step) {
|
|
133
|
+
child = step;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (((_child2 = child) === null || _child2 === void 0 ? void 0 : _child2.type) === Step) {
|
|
137
|
+
var _child$props$title;
|
|
138
|
+
titlesRef.current.push((_child$props$title = child.props.title) !== null && _child$props$title !== void 0 ? _child$props$title : 'Title missing');
|
|
139
|
+
return React.cloneElement(child, {
|
|
140
|
+
index: i
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return child;
|
|
145
|
+
});
|
|
146
|
+
}, [children]);
|
|
104
147
|
if (!hasContext) {
|
|
105
148
|
warn('You may wrap StepsLayout in Form.Handler');
|
|
106
149
|
return React.createElement(Provider, null, React.createElement(StepsLayout, _extends({}, props, {
|
|
@@ -108,11 +151,7 @@ function StepsLayout(props) {
|
|
|
108
151
|
})));
|
|
109
152
|
}
|
|
110
153
|
return React.createElement(StepsContext.Provider, {
|
|
111
|
-
value:
|
|
112
|
-
activeIndex: activeIndexRef.current,
|
|
113
|
-
handlePrevious,
|
|
114
|
-
handleNext
|
|
115
|
-
}
|
|
154
|
+
value: providerValue
|
|
116
155
|
}, React.createElement(Space, _extends({
|
|
117
156
|
className: classnames('dnb-forms-steps-layout', className, variant === 'drawer' && 'dnb-forms-steps-layout--drawer')
|
|
118
157
|
}, rest), React.createElement("aside", {
|
|
@@ -122,26 +161,20 @@ function StepsLayout(props) {
|
|
|
122
161
|
}), React.createElement(StepIndicator, {
|
|
123
162
|
bottom: true,
|
|
124
163
|
current_step: activeIndexRef.current,
|
|
125
|
-
data:
|
|
164
|
+
data: titlesRef.current,
|
|
126
165
|
mode: mode,
|
|
127
166
|
no_animation: noAnimation,
|
|
128
167
|
on_change: handleChange,
|
|
129
168
|
sidebar_id: variant === 'drawer' && !sidebarId ? '' : sidebarId ? sidebarId : id
|
|
130
169
|
})), React.createElement("div", {
|
|
131
170
|
className: "dnb-forms-steps-layout__contents"
|
|
132
|
-
}, React.
|
|
133
|
-
if (React.isValidElement(child) && child.type === Step) {
|
|
134
|
-
return React.cloneElement(child, {
|
|
135
|
-
index: i
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
return child;
|
|
139
|
-
}))));
|
|
171
|
+
}, React.createElement(Contents, null))));
|
|
140
172
|
}
|
|
141
173
|
StepsLayout._supportsSpacingProps = true;
|
|
142
174
|
StepsLayout.Step = Step;
|
|
143
175
|
StepsLayout.NextButton = NextButton;
|
|
144
176
|
StepsLayout.PreviousButton = PreviousButton;
|
|
145
177
|
StepsLayout.Buttons = Buttons;
|
|
178
|
+
StepsLayout.useStep = useStep;
|
|
146
179
|
export default StepsLayout;
|
|
147
180
|
//# sourceMappingURL=StepsLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepsLayout.js","names":["React","useContext","useCallback","useRef","useReducer","classnames","Space","StepIndicator","warn","isAsync","useId","DataContext","Step","StepsContext","NextButton","PreviousButton","Buttons","Provider","StepsLayout","props","className","id","_id","mode","scrollTopOnStepChange","initialActiveIndex","onStepChange","children","noAnimation","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","scrollToTop","forceUpdate","activeIndexRef","errorOnStepRef","current","callOnStepChange","index","handlePrevious","skipFieldValidation","skipErrorCheck","enableAsyncBehaviour","onSubmit","result","Error","handleNext","stepIndicatorData","Children","map","child","_child$props$title","isValidElement","type","title","handleChange","current_step","createElement","_extends","value","activeIndex","Sidebar","sidebar_id","bottom","data","no_animation","on_change","i","cloneElement","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsLayout.tsx"],"sourcesContent":["import React, { useContext, useCallback, useRef, useReducer } from 'react'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../components'\nimport { warn } from '../../../shared/component-helper'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useId from '../../../shared/helpers/useId'\nimport DataContext from '../DataContext/Context'\nimport Step, { Props as StepProps } from './Step'\nimport StepsContext from './StepsContext'\nimport NextButton from './NextButton'\nimport PreviousButton from './PreviousButton'\nimport Buttons from './Buttons'\nimport Provider from '../DataContext/Provider'\nimport { ComponentProps, EventReturnWithStateObject } from '../types'\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n scrollTopOnStepChange?: boolean\n initialActiveIndex?: number\n onStepChange?: (\n index: number,\n mode: 'previous' | 'next'\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n children: React.ReactNode\n variant?: 'sidebar' | 'drawer'\n noAnimation?: boolean\n sidebarId?: string\n}\n\nfunction StepsLayout(props: Props) {\n const {\n className,\n id: _id,\n mode = 'strict',\n scrollTopOnStepChange,\n initialActiveIndex = 0,\n onStepChange,\n children,\n noAnimation = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n const dataContext = useContext(DataContext)\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n scrollToTop,\n } = dataContext\n\n const id = useId(_id)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<number>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<number, boolean>>({})\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: number, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n handleSubmitCall({\n skipFieldValidation: true,\n skipErrorCheck: true,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n const result = await callOnStepChange(\n activeIndexRef.current - 1,\n 'previous'\n )\n\n // Hide async indicator\n setFormState('abort')\n\n if (!(result instanceof Error)) {\n activeIndexRef.current = activeIndexRef.current - 1\n forceUpdate()\n }\n\n if (scrollTopOnStepChange) {\n scrollToTop()\n }\n\n return result\n },\n })\n }, [\n callOnStepChange,\n handleSubmitCall,\n onStepChange,\n scrollToTop,\n scrollTopOnStepChange,\n setFormState,\n ])\n\n const handleNext = useCallback(() => {\n handleSubmitCall({\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n const result = await callOnStepChange(\n activeIndexRef.current + 1,\n 'next'\n )\n\n // Hide async indicator\n setFormState('abort')\n\n // Set the showAllErrors to the step we got to\n setShowAllErrors(\n errorOnStepRef.current[activeIndexRef.current + 1]\n )\n\n if (!(result instanceof Error)) {\n activeIndexRef.current = activeIndexRef.current + 1\n forceUpdate()\n }\n\n if (scrollTopOnStepChange) {\n scrollToTop()\n }\n\n return result\n },\n })\n }, [\n callOnStepChange,\n handleSubmitCall,\n onStepChange,\n scrollToTop,\n scrollTopOnStepChange,\n setFormState,\n setShowAllErrors,\n ])\n\n const stepIndicatorData = React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== Step) {\n throw new Error('Only Step can be children of StepsLayout')\n }\n return child.props.title ?? 'Title missing'\n }) as string[]\n\n const handleChange = useCallback(\n ({ current_step }) => {\n activeIndexRef.current = current_step\n\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[current_step])\n\n forceUpdate()\n },\n [setShowAllErrors]\n )\n\n if (!hasContext) {\n warn('You may wrap StepsLayout in Form.Handler')\n return (\n <Provider>\n <StepsLayout {...props} id={id} />\n </Provider>\n )\n }\n\n return (\n <StepsContext.Provider\n value={{\n activeIndex: activeIndexRef.current,\n handlePrevious,\n handleNext,\n }}\n >\n <Space\n className={classnames(\n 'dnb-forms-steps-layout',\n variant === 'drawer' && 'dnb-forms-steps-layout--drawer',\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-steps-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={stepIndicatorData}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n <div className=\"dnb-forms-steps-layout__contents\">\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement(child) && child.type === Step) {\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n index: i,\n }\n )\n }\n return child\n })}\n </div>\n </Space>\n </StepsContext.Provider>\n )\n}\n\nStepsLayout._supportsSpacingProps = true\n\nStepsLayout.Step = Step\nStepsLayout.NextButton = NextButton\nStepsLayout.PreviousButton = PreviousButton\nStepsLayout.Buttons = Buttons\n\nexport default StepsLayout\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StepsLayout.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","useEffect","classnames","Space","StepIndicator","warn","isAsync","useId","DataContext","Step","StepsContext","NextButton","PreviousButton","Buttons","Provider","useSharedState","useStep","StepsLayout","props","className","id","_id","mode","scrollTopOnStepChange","initialActiveIndex","onStepChange","children","noAnimation","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","scrollToTop","forceUpdate","activeIndexRef","errorOnStepRef","current","callOnStepChange","index","handleStepChange","skipErrorCheck","skipFieldValidation","enableAsyncBehaviour","onSubmit","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","current_step","providerValue","activeIndex","sharedState","undefined","extend","titlesRef","Contents","Children","map","child","i","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","cloneElement","createElement","_extends","value","Sidebar","sidebar_id","bottom","data","no_animation","on_change","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsLayout.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../components'\nimport { warn } from '../../../shared/component-helper'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useId from '../../../shared/helpers/useId'\nimport DataContext from '../DataContext/Context'\nimport Step, { Props as StepProps } from './Step'\nimport StepsContext, { StepIndex, StepsContextState } from './StepsContext'\nimport NextButton from './NextButton'\nimport PreviousButton from './PreviousButton'\nimport Buttons from './Buttons'\nimport Provider from '../DataContext/Provider'\nimport { useSharedState } from '../../../shared/helpers/useSharedState'\nimport { useStep } from './useStep'\nimport { ComponentProps, EventReturnWithStateObject } from '../types'\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n scrollTopOnStepChange?: boolean\n initialActiveIndex?: StepIndex\n onStepChange?: (\n index: StepIndex,\n mode: 'previous' | 'next'\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n children: React.ReactNode\n variant?: 'sidebar' | 'drawer'\n noAnimation?: boolean\n sidebarId?: string\n}\n\nfunction StepsLayout(props: Props) {\n const {\n className,\n id: _id,\n mode = 'strict',\n scrollTopOnStepChange,\n initialActiveIndex = 0,\n onStepChange,\n children,\n noAnimation = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n scrollToTop,\n } = useContext(DataContext)\n\n const id = useId(_id)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n mode,\n }: {\n index: StepIndex\n skipErrorCheck: boolean\n mode: 'previous' | 'next'\n }) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n const result = await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n activeIndexRef.current = index\n forceUpdate()\n }\n\n if (scrollTopOnStepChange) {\n scrollToTop()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n handleSubmitCall,\n onStepChange,\n scrollToTop,\n scrollTopOnStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: { skipErrorCheck: boolean }) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const providerValue = useMemo(\n () => ({\n activeIndex: activeIndexRef.current,\n setActiveIndex,\n handlePrevious,\n handleNext,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndexRef.current, setActiveIndex, handlePrevious, handleNext]\n )\n\n // - Handle shared state\n const sharedState = useSharedState<StepsContextState>(\n hasContext && id ? id + '-steps' : undefined\n )\n const { extend } = sharedState\n useEffect(() => {\n if (hasContext && id) {\n extend(providerValue)\n }\n }, [id, extend, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const titlesRef = useRef([])\n const Contents = useCallback(() => {\n titlesRef.current = []\n return React.Children.map(children, (child, i) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n titlesRef.current.push(child.props.title ?? 'Title missing')\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n index: i,\n }\n )\n }\n }\n\n return child\n })\n }, [children])\n\n if (!hasContext) {\n warn('You may wrap StepsLayout in Form.Handler')\n return (\n <Provider>\n <StepsLayout {...props} id={id} />\n </Provider>\n )\n }\n\n return (\n <StepsContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-steps-layout',\n variant === 'drawer' && 'dnb-forms-steps-layout--drawer',\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-steps-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={titlesRef.current}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n\n <div className=\"dnb-forms-steps-layout__contents\">\n <Contents />\n </div>\n </Space>\n </StepsContext.Provider>\n )\n}\n\nStepsLayout._supportsSpacingProps = true\n\nStepsLayout.Step = Step\nStepsLayout.NextButton = NextButton\nStepsLayout.PreviousButton = PreviousButton\nStepsLayout.Buttons = Buttons\nStepsLayout.useStep = useStep\n\nexport default StepsLayout\n"],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export const StepsLayoutProperties = {
|
|
|
42
42
|
};
|
|
43
43
|
export const StepsLayoutEvents = {
|
|
44
44
|
onStepChange: {
|
|
45
|
-
doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (string) as the second argument. When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related Form.Handler props: `minimumAsyncBehaviorTime` and `
|
|
45
|
+
doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (string) as the second argument. When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related Form.Handler props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`.',
|
|
46
46
|
type: 'function',
|
|
47
47
|
status: 'optional'
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepsLayoutDocs.js","names":["StepsLayoutProperties","initialActiveIndex","doc","type","status","mode","variant","noAnimation","sidebarId","scrollTopOnStepChange","children","StepsLayoutEvents","onStepChange"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsLayoutDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const StepsLayoutProperties: PropertiesTableProps = {\n initialActiveIndex: {\n doc: 'What step should show initially (defaults to 0 for the first one).',\n type: 'number',\n status: 'optional',\n },\n mode: {\n doc: 'How to show the steps. Inherited from StepIndicator. Defaults to `strict`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Sets the StepIndicator to be either `sidebar` or `drawer`. Defaults to `sidebar`.',\n type: 'string',\n status: 'optional',\n },\n noAnimation: {\n doc: 'Determines if the height animation for step items and the drawer button will run. Inherited from StepIndicator. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n sidebarId: {\n doc: 'Sets the id for `<StepIndicator.Sidebar />` Inherited from StepIndicator.',\n type: 'string',\n status: 'required',\n },\n scrollTopOnStepChange: {\n doc: 'True for the UI to scroll to the top of the page when navigating between steps.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents (Step components).',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const StepsLayoutEvents: PropertiesTableProps = {\n onStepChange: {\n doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (string) as the second argument. When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related Form.Handler props: `minimumAsyncBehaviorTime` and `
|
|
1
|
+
{"version":3,"file":"StepsLayoutDocs.js","names":["StepsLayoutProperties","initialActiveIndex","doc","type","status","mode","variant","noAnimation","sidebarId","scrollTopOnStepChange","children","StepsLayoutEvents","onStepChange"],"sources":["../../../../../src/extensions/forms/StepsLayout/StepsLayoutDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const StepsLayoutProperties: PropertiesTableProps = {\n initialActiveIndex: {\n doc: 'What step should show initially (defaults to 0 for the first one).',\n type: 'number',\n status: 'optional',\n },\n mode: {\n doc: 'How to show the steps. Inherited from StepIndicator. Defaults to `strict`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Sets the StepIndicator to be either `sidebar` or `drawer`. Defaults to `sidebar`.',\n type: 'string',\n status: 'optional',\n },\n noAnimation: {\n doc: 'Determines if the height animation for step items and the drawer button will run. Inherited from StepIndicator. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n sidebarId: {\n doc: 'Sets the id for `<StepIndicator.Sidebar />` Inherited from StepIndicator.',\n type: 'string',\n status: 'required',\n },\n scrollTopOnStepChange: {\n doc: 'True for the UI to scroll to the top of the page when navigating between steps.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents (Step components).',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const StepsLayoutEvents: PropertiesTableProps = {\n onStepChange: {\n doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (string) as the second argument. When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related Form.Handler props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,qBAA2C,GAAG;EACzDC,kBAAkB,EAAE;IAClBC,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,4EAA4E;IACjFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,WAAW,EAAE;IACXL,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,SAAS,EAAE;IACTN,GAAG,EAAE,2EAA2E;IAChFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,qBAAqB,EAAE;IACrBP,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMO,iBAAuC,GAAG;EACrDC,YAAY,EAAE;IACZV,GAAG,EAAE,scAAsc;IAC3cC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-forms-steps-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-steps-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-steps-layout__contents{flex:1
|
|
1
|
+
.dnb-forms-steps-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-steps-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-steps-layout__contents{flex:1}.dnb-forms-steps-layout__contents .dnb-card{--border-color:var(--color-pistachio)}@media screen and (min-width:40em){.dnb-forms-steps-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-steps-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-steps-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-steps-layout__contents{flex-basis:auto}}.dnb-forms-steps-layout .dnb-step-indicator__sidebar{margin-right:0}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useContext, useRef } from 'react';
|
|
4
|
+
import StepsContext from './StepsContext';
|
|
5
|
+
import { useSharedState } from '../../../shared/helpers/useSharedState';
|
|
6
|
+
export function useStep(id = null) {
|
|
7
|
+
const sharedDataRef = useRef(null);
|
|
8
|
+
sharedDataRef.current = useSharedState(id ? id + '-steps' : undefined);
|
|
9
|
+
const context = useContext(StepsContext);
|
|
10
|
+
return sharedDataRef.current.data || context;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=useStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStep.js","names":["useContext","useRef","StepsContext","useSharedState","useStep","id","sharedDataRef","current","undefined","context","data"],"sources":["../../../../../src/extensions/forms/StepsLayout/useStep.tsx"],"sourcesContent":["import { useContext, useRef } from 'react'\nimport StepsContext, { StepsContextState } from './StepsContext'\nimport { Identifier } from '../types'\nimport { useSharedState } from '../../../shared/helpers/useSharedState'\n\nexport function useStep(id: Identifier = null) {\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<StepsContextState>>>(null)\n sharedDataRef.current = useSharedState<StepsContextState>(\n id ? id + '-steps' : undefined\n )\n\n const context = useContext(StepsContext)\n return sharedDataRef.current.data || context\n}\n"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC1C,OAAOC,YAAY,MAA6B,gBAAgB;AAEhE,SAASC,cAAc,QAAQ,wCAAwC;AAEvE,OAAO,SAASC,OAAOA,CAACC,EAAc,GAAG,IAAI,EAAE;EAC7C,MAAMC,aAAa,GACjBL,MAAM,CAAuD,IAAI,CAAC;EACpEK,aAAa,CAACC,OAAO,GAAGJ,cAAc,CACpCE,EAAE,GAAGA,EAAE,GAAG,QAAQ,GAAGG,SACvB,CAAC;EAED,MAAMC,OAAO,GAAGT,UAAU,CAACE,YAAY,CAAC;EACxC,OAAOI,aAAa,CAACC,OAAO,CAACG,IAAI,IAAID,OAAO;AAC9C"}
|