@dnb/eufemia 10.35.0 → 10.37.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 +40 -0
- package/cjs/components/accordion/Accordion.d.ts +15 -3
- package/cjs/components/accordion/Accordion.js +7 -0
- package/cjs/components/accordion/Accordion.js.map +1 -1
- package/cjs/components/accordion/AccordionDocs.d.ts +4 -0
- package/cjs/components/accordion/AccordionDocs.js +161 -0
- package/cjs/components/accordion/AccordionDocs.js.map +1 -0
- package/cjs/components/accordion/AccordionGroup.js +13 -3
- package/cjs/components/accordion/AccordionGroup.js.map +1 -1
- package/cjs/components/accordion/AccordionHeader.d.ts +5 -5
- package/cjs/components/accordion/AccordionHeader.js +3 -2
- package/cjs/components/accordion/AccordionHeader.js.map +1 -1
- package/cjs/components/accordion/AccordionProviderContext.d.ts +2 -0
- package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
- package/cjs/components/anchor/Anchor.d.ts +20 -0
- package/cjs/components/anchor/Anchor.js +13 -4
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/AnchorDocs.d.ts +3 -0
- package/cjs/components/anchor/AnchorDocs.js +82 -0
- package/cjs/components/anchor/AnchorDocs.js.map +1 -0
- package/cjs/components/autocomplete/Autocomplete.js +18 -4
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/height-animation/HeightAnimationInstance.d.ts +3 -3
- package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/cjs/components/height-animation/useHeightAnimation.d.ts +5 -1
- package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
- package/cjs/components/icon/Icon.d.ts +493 -61
- package/cjs/components/icon/Icon.js +97 -134
- package/cjs/components/icon/Icon.js.map +1 -1
- package/cjs/components/icon/IconHelpers.d.ts +2 -1
- package/cjs/components/icon/IconHelpers.js +1 -1
- package/cjs/components/icon/IconHelpers.js.map +1 -1
- package/cjs/components/icon/IconPrimary.d.ts +2 -2
- package/cjs/components/icon/IconPrimary.js.map +1 -1
- package/cjs/components/icon-primary/IconPrimary.d.ts +8 -11
- package/cjs/components/icon-primary/IconPrimary.js +37 -38
- package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorContext.js +66 -59
- package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorItem.js +15 -23
- package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorModal.js +5 -5
- package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorSidebar.js +10 -9
- package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/cjs/components/table/Table.d.ts +1 -1
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/table/TableContext.d.ts +12 -2
- package/cjs/components/table/TableContext.js +1 -3
- package/cjs/components/table/TableContext.js.map +1 -1
- package/cjs/components/table/TableDocs.d.ts +7 -0
- package/cjs/components/table/TableDocs.js +202 -0
- package/cjs/components/table/TableDocs.js.map +1 -0
- package/cjs/components/table/TableTd.d.ts +3 -3
- package/cjs/components/table/TableTd.js +2 -2
- package/cjs/components/table/TableTd.js.map +1 -1
- package/cjs/components/table/TableTr.d.ts +9 -5
- package/cjs/components/table/TableTr.js +4 -4
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
- package/cjs/components/table/{TableAccordionTd.js → table-accordion/TableAccordionContent.js} +52 -17
- package/cjs/components/table/table-accordion/TableAccordionContent.js.map +1 -0
- package/cjs/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
- package/cjs/components/table/table-accordion/TableAccordionContext.js +11 -0
- package/cjs/components/table/table-accordion/TableAccordionContext.js.map +1 -0
- package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
- package/cjs/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +17 -18
- package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -0
- package/{es/components/table → cjs/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
- package/cjs/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +4 -4
- package/cjs/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
- package/cjs/components/tabs/Tabs.d.ts +0 -3
- package/cjs/components/tabs/TabsDocs.d.ts +1 -0
- package/cjs/components/tabs/TabsDocs.js +32 -4
- package/cjs/components/tabs/TabsDocs.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -2
- package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +15 -6
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.scss +16 -9
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +20 -72
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +101 -0
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
- package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -1
- package/cjs/extensions/forms/Value/Date/Date.js +26 -3
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Date/DateDocs.js +20 -0
- package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +5 -0
- package/cjs/extensions/forms/Wizard/Step/Step.js +6 -2
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -9
- package/cjs/extensions/forms/constants/locales/en-GB.js +7 -9
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -9
- package/cjs/extensions/forms/constants/locales/index.d.ts +14 -18
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
- package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -9
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/shared/Context.d.ts +4 -0
- 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 +15 -6
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +15 -6
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/components/accordion/Accordion.d.ts +15 -3
- package/components/accordion/Accordion.js +7 -0
- package/components/accordion/Accordion.js.map +1 -1
- package/components/accordion/AccordionDocs.d.ts +4 -0
- package/components/accordion/AccordionDocs.js +152 -0
- package/components/accordion/AccordionDocs.js.map +1 -0
- package/components/accordion/AccordionGroup.js +14 -4
- package/components/accordion/AccordionGroup.js.map +1 -1
- package/components/accordion/AccordionHeader.d.ts +5 -5
- package/components/accordion/AccordionHeader.js +3 -2
- package/components/accordion/AccordionHeader.js.map +1 -1
- package/components/accordion/AccordionProviderContext.d.ts +2 -0
- package/components/accordion/AccordionProviderContext.js.map +1 -1
- package/components/anchor/Anchor.d.ts +20 -0
- package/components/anchor/Anchor.js +13 -4
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/AnchorDocs.d.ts +3 -0
- package/components/anchor/AnchorDocs.js +74 -0
- package/components/anchor/AnchorDocs.js.map +1 -0
- package/components/autocomplete/Autocomplete.js +19 -5
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/height-animation/HeightAnimationInstance.d.ts +3 -3
- package/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/components/height-animation/useHeightAnimation.d.ts +5 -1
- package/components/height-animation/useHeightAnimation.js.map +1 -1
- package/components/icon/Icon.d.ts +493 -61
- package/components/icon/Icon.js +89 -127
- package/components/icon/Icon.js.map +1 -1
- package/components/icon/IconHelpers.d.ts +2 -1
- package/components/icon/IconHelpers.js +1 -1
- package/components/icon/IconHelpers.js.map +1 -1
- package/components/icon/IconPrimary.d.ts +2 -2
- package/components/icon/IconPrimary.js.map +1 -1
- package/components/icon-primary/IconPrimary.d.ts +8 -11
- package/components/icon-primary/IconPrimary.js +25 -31
- package/components/icon-primary/IconPrimary.js.map +1 -1
- package/components/step-indicator/StepIndicatorContext.js +67 -60
- package/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/components/step-indicator/StepIndicatorItem.js +16 -24
- package/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/components/step-indicator/StepIndicatorModal.js +6 -6
- package/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/components/step-indicator/StepIndicatorSidebar.js +11 -10
- package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/components/table/Table.d.ts +1 -1
- package/components/table/Table.js.map +1 -1
- package/components/table/TableContext.d.ts +12 -2
- package/components/table/TableContext.js +0 -1
- package/components/table/TableContext.js.map +1 -1
- package/components/table/TableDocs.d.ts +7 -0
- package/components/table/TableDocs.js +190 -0
- package/components/table/TableDocs.js.map +1 -0
- package/components/table/TableTd.d.ts +3 -3
- package/components/table/TableTd.js +2 -2
- package/components/table/TableTd.js.map +1 -1
- package/components/table/TableTr.d.ts +9 -5
- package/components/table/TableTr.js +4 -4
- package/components/table/TableTr.js.map +1 -1
- package/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
- package/components/table/table-accordion/TableAccordionContent.js +95 -0
- package/components/table/table-accordion/TableAccordionContent.js.map +1 -0
- package/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
- package/components/table/table-accordion/TableAccordionContext.js +3 -0
- package/components/table/table-accordion/TableAccordionContext.js.map +1 -0
- package/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
- package/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
- package/components/table/table-accordion/TableAccordionHead.js.map +1 -0
- package/{cjs/components/table → components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
- package/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
- package/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
- package/components/tabs/Tabs.d.ts +0 -3
- package/components/tabs/TabsDocs.d.ts +1 -0
- package/components/tabs/TabsDocs.js +30 -3
- package/components/tabs/TabsDocs.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.js +2 -2
- package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +15 -6
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.scss +16 -9
- package/es/components/accordion/Accordion.d.ts +15 -3
- package/es/components/accordion/Accordion.js +7 -0
- package/es/components/accordion/Accordion.js.map +1 -1
- package/es/components/accordion/AccordionDocs.d.ts +4 -0
- package/es/components/accordion/AccordionDocs.js +152 -0
- package/es/components/accordion/AccordionDocs.js.map +1 -0
- package/es/components/accordion/AccordionGroup.js +14 -4
- package/es/components/accordion/AccordionGroup.js.map +1 -1
- package/es/components/accordion/AccordionHeader.d.ts +5 -5
- package/es/components/accordion/AccordionHeader.js +3 -2
- package/es/components/accordion/AccordionHeader.js.map +1 -1
- package/es/components/accordion/AccordionProviderContext.d.ts +2 -0
- package/es/components/accordion/AccordionProviderContext.js.map +1 -1
- package/es/components/anchor/Anchor.d.ts +20 -0
- package/es/components/anchor/Anchor.js +13 -4
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/AnchorDocs.d.ts +3 -0
- package/es/components/anchor/AnchorDocs.js +74 -0
- package/es/components/anchor/AnchorDocs.js.map +1 -0
- package/es/components/autocomplete/Autocomplete.js +19 -5
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/height-animation/HeightAnimationInstance.d.ts +3 -3
- package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
- package/es/components/height-animation/useHeightAnimation.d.ts +5 -1
- package/es/components/height-animation/useHeightAnimation.js.map +1 -1
- package/es/components/icon/Icon.d.ts +493 -61
- package/es/components/icon/Icon.js +82 -116
- package/es/components/icon/Icon.js.map +1 -1
- package/es/components/icon/IconHelpers.d.ts +2 -1
- package/es/components/icon/IconHelpers.js +1 -1
- package/es/components/icon/IconHelpers.js.map +1 -1
- package/es/components/icon/IconPrimary.d.ts +2 -2
- package/es/components/icon/IconPrimary.js.map +1 -1
- package/es/components/icon-primary/IconPrimary.d.ts +8 -11
- package/es/components/icon-primary/IconPrimary.js +25 -31
- package/es/components/icon-primary/IconPrimary.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorContext.js +67 -60
- package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorItem.js +17 -25
- package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorModal.js +6 -6
- package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorSidebar.js +11 -10
- package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/es/components/table/Table.d.ts +1 -1
- package/es/components/table/Table.js.map +1 -1
- package/es/components/table/TableContext.d.ts +12 -2
- package/es/components/table/TableContext.js +0 -1
- package/es/components/table/TableContext.js.map +1 -1
- package/es/components/table/TableDocs.d.ts +7 -0
- package/es/components/table/TableDocs.js +190 -0
- package/es/components/table/TableDocs.js.map +1 -0
- package/es/components/table/TableTd.d.ts +3 -3
- package/es/components/table/TableTd.js +2 -2
- package/es/components/table/TableTd.js.map +1 -1
- package/es/components/table/TableTr.d.ts +9 -5
- package/es/components/table/TableTr.js +4 -4
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
- package/es/components/table/table-accordion/TableAccordionContent.js +92 -0
- package/es/components/table/table-accordion/TableAccordionContent.js.map +1 -0
- package/es/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
- package/es/components/table/table-accordion/TableAccordionContext.js +3 -0
- package/es/components/table/table-accordion/TableAccordionContext.js.map +1 -0
- package/es/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
- package/es/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
- package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -0
- package/{components/table → es/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
- package/es/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
- package/es/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
- package/es/components/tabs/Tabs.d.ts +0 -3
- package/es/components/tabs/TabsDocs.d.ts +1 -0
- package/es/components/tabs/TabsDocs.js +30 -3
- package/es/components/tabs/TabsDocs.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.js +2 -2
- package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +15 -6
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.scss +16 -9
- package/es/extensions/forms/DataContext/Provider/Provider.js +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
- package/es/extensions/forms/Form/Visibility/Visibility.js +20 -71
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
- package/es/extensions/forms/Form/Visibility/useVisibility.js +94 -0
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
- package/es/extensions/forms/Value/Date/Date.d.ts +5 -1
- package/es/extensions/forms/Value/Date/Date.js +25 -3
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Date/DateDocs.js +13 -0
- package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -0
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +5 -0
- package/es/extensions/forms/Wizard/Step/Step.js +6 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
- package/es/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
- package/es/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
- package/es/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
- package/es/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -9
- package/es/extensions/forms/constants/locales/en-GB.js +7 -9
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +7 -9
- package/es/extensions/forms/constants/locales/index.d.ts +14 -18
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
- package/es/extensions/forms/constants/locales/nb-NO.js +7 -9
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/shared/Context.d.ts +4 -0
- 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 +15 -6
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +15 -6
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
- package/extensions/forms/Form/Visibility/Visibility.js +20 -71
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
- package/extensions/forms/Form/Visibility/useVisibility.js +95 -0
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
- package/extensions/forms/Value/Date/Date.d.ts +5 -1
- package/extensions/forms/Value/Date/Date.js +25 -3
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Date/DateDocs.d.ts +2 -0
- package/extensions/forms/Value/Date/DateDocs.js +13 -0
- package/extensions/forms/Value/Date/DateDocs.js.map +1 -0
- package/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +5 -0
- package/extensions/forms/Wizard/Step/Step.js +6 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
- package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
- package/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
- package/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
- package/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
- package/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +7 -9
- package/extensions/forms/constants/locales/en-GB.js +7 -9
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +7 -9
- package/extensions/forms/constants/locales/index.d.ts +14 -18
- package/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
- package/extensions/forms/constants/locales/nb-NO.js +7 -9
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +4 -0
- 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 +15 -6
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +15 -6
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/components/table/TableAccordion.d.ts +0 -8
- package/cjs/components/table/TableAccordion.js.map +0 -1
- package/cjs/components/table/TableAccordionTd.d.ts +0 -9
- package/cjs/components/table/TableAccordionTd.js.map +0 -1
- package/cjs/components/table/TableAccordionTr.d.ts +0 -13
- package/cjs/components/table/TableAccordionTr.js +0 -61
- package/cjs/components/table/TableAccordionTr.js.map +0 -1
- package/cjs/components/table/useTableAnimationHandler.js.map +0 -1
- package/components/table/TableAccordion.d.ts +0 -8
- package/components/table/TableAccordion.js.map +0 -1
- package/components/table/TableAccordionTd.d.ts +0 -9
- package/components/table/TableAccordionTd.js +0 -61
- package/components/table/TableAccordionTd.js.map +0 -1
- package/components/table/TableAccordionTr.d.ts +0 -13
- package/components/table/TableAccordionTr.js +0 -51
- package/components/table/TableAccordionTr.js.map +0 -1
- package/components/table/useTableAnimationHandler.js.map +0 -1
- package/es/components/table/TableAccordion.d.ts +0 -8
- package/es/components/table/TableAccordion.js.map +0 -1
- package/es/components/table/TableAccordionTd.d.ts +0 -9
- package/es/components/table/TableAccordionTd.js +0 -61
- package/es/components/table/TableAccordionTd.js.map +0 -1
- package/es/components/table/TableAccordionTr.d.ts +0 -13
- package/es/components/table/TableAccordionTr.js +0 -51
- package/es/components/table/TableAccordionTr.js.map +0 -1
- package/es/components/table/useTableAnimationHandler.js.map +0 -1
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Props as StringValueProps } from '../String';
|
|
2
|
-
|
|
2
|
+
import { AnyLocale } from '../../../../shared/Context';
|
|
3
|
+
export type Props = StringValueProps & {
|
|
4
|
+
variant?: 'long' | 'short';
|
|
5
|
+
locale?: AnyLocale;
|
|
6
|
+
};
|
|
3
7
|
declare function DateComponent(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
4
8
|
declare namespace DateComponent {
|
|
5
9
|
var _supportsSpacingProps: boolean;
|
|
@@ -1,14 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
4
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
import React from 'react';
|
|
6
|
+
import React, { useCallback, useContext } from 'react';
|
|
5
7
|
import StringValue from '../String';
|
|
6
8
|
import useTranslation from '../../hooks/useTranslation';
|
|
9
|
+
import SharedContext from '../../../../shared/Context';
|
|
7
10
|
function DateComponent(props) {
|
|
8
|
-
var _props$label;
|
|
11
|
+
var _props$locale, _props$variant, _props$label;
|
|
9
12
|
const translations = useTranslation().Date;
|
|
13
|
+
const {
|
|
14
|
+
locale: contextLocale
|
|
15
|
+
} = useContext(SharedContext);
|
|
16
|
+
const locale = (_props$locale = props.locale) !== null && _props$locale !== void 0 ? _props$locale : contextLocale;
|
|
17
|
+
const variant = (_props$variant = props.variant) !== null && _props$variant !== void 0 ? _props$variant : 'long';
|
|
18
|
+
const toInput = useCallback(value => {
|
|
19
|
+
if (!value) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
const date = new Date(value);
|
|
23
|
+
const options = {
|
|
24
|
+
day: 'numeric',
|
|
25
|
+
month: variant,
|
|
26
|
+
year: 'numeric'
|
|
27
|
+
};
|
|
28
|
+
const formattedDate = typeof Intl !== 'undefined' ? new Intl.DateTimeFormat(locale, options).format(date) : date.toLocaleString(locale, options);
|
|
29
|
+
return formattedDate;
|
|
30
|
+
}, [locale, variant]);
|
|
10
31
|
const stringProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
11
|
-
label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : translations.label
|
|
32
|
+
label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : translations.label,
|
|
33
|
+
toInput
|
|
12
34
|
});
|
|
13
35
|
return React.createElement(StringValue, stringProps);
|
|
14
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Date.js","names":["React","StringValue","useTranslation","DateComponent","props","_props$label","translations","Date","stringProps","_objectSpread","label","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Date/Date.tsx"],"sourcesContent":["import React from 'react'\nimport StringValue, { Props as StringValueProps } from '../String'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = StringValueProps\n\nfunction DateComponent(props: Props) {\n const translations = useTranslation().Date\n\n const stringProps: Props = {\n ...props,\n label: props.label ?? translations.label,\n }\n return <StringValue {...stringProps} />\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Date.js","names":["React","useCallback","useContext","StringValue","useTranslation","SharedContext","DateComponent","props","_props$locale","_props$variant","_props$label","translations","Date","locale","contextLocale","variant","toInput","value","undefined","date","options","day","month","year","formattedDate","Intl","DateTimeFormat","format","toLocaleString","stringProps","_objectSpread","label","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport StringValue, { Props as StringValueProps } from '../String'\nimport useTranslation from '../../hooks/useTranslation'\nimport SharedContext, { AnyLocale } from '../../../../shared/Context'\n\nexport type Props = StringValueProps & {\n variant?: 'long' | 'short'\n locale?: AnyLocale\n}\n\nfunction DateComponent(props: Props) {\n const translations = useTranslation().Date\n const { locale: contextLocale } = useContext(SharedContext)\n const locale = props.locale ?? contextLocale\n const variant = props.variant ?? 'long'\n\n const toInput = useCallback(\n (value: string) => {\n if (!value) {\n return undefined\n }\n\n const date = new Date(value)\n const options = {\n day: 'numeric',\n month: variant,\n year: 'numeric',\n } as const\n\n const formattedDate =\n typeof Intl !== 'undefined'\n ? new Intl.DateTimeFormat(locale, options).format(date)\n : date.toLocaleString(locale, options)\n\n return formattedDate\n },\n [locale, variant]\n )\n\n const stringProps: Props = {\n ...props,\n label: props.label ?? translations.label,\n toInput,\n }\n return <StringValue {...stringProps} />\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,aAAa,MAAqB,4BAA4B;AAOrE,SAASC,aAAaA,CAACC,KAAY,EAAE;EAAA,IAAAC,aAAA,EAAAC,cAAA,EAAAC,YAAA;EACnC,MAAMC,YAAY,GAAGP,cAAc,CAAC,CAAC,CAACQ,IAAI;EAC1C,MAAM;IAAEC,MAAM,EAAEC;EAAc,CAAC,GAAGZ,UAAU,CAACG,aAAa,CAAC;EAC3D,MAAMQ,MAAM,IAAAL,aAAA,GAAGD,KAAK,CAACM,MAAM,cAAAL,aAAA,cAAAA,aAAA,GAAIM,aAAa;EAC5C,MAAMC,OAAO,IAAAN,cAAA,GAAGF,KAAK,CAACQ,OAAO,cAAAN,cAAA,cAAAA,cAAA,GAAI,MAAM;EAEvC,MAAMO,OAAO,GAAGf,WAAW,CACxBgB,KAAa,IAAK;IACjB,IAAI,CAACA,KAAK,EAAE;MACV,OAAOC,SAAS;IAClB;IAEA,MAAMC,IAAI,GAAG,IAAIP,IAAI,CAACK,KAAK,CAAC;IAC5B,MAAMG,OAAO,GAAG;MACdC,GAAG,EAAE,SAAS;MACdC,KAAK,EAAEP,OAAO;MACdQ,IAAI,EAAE;IACR,CAAU;IAEV,MAAMC,aAAa,GACjB,OAAOC,IAAI,KAAK,WAAW,GACvB,IAAIA,IAAI,CAACC,cAAc,CAACb,MAAM,EAAEO,OAAO,CAAC,CAACO,MAAM,CAACR,IAAI,CAAC,GACrDA,IAAI,CAACS,cAAc,CAACf,MAAM,EAAEO,OAAO,CAAC;IAE1C,OAAOI,aAAa;EACtB,CAAC,EACD,CAACX,MAAM,EAAEE,OAAO,CAClB,CAAC;EAED,MAAMc,WAAkB,GAAAC,aAAA,CAAAA,aAAA,KACnBvB,KAAK;IACRwB,KAAK,GAAArB,YAAA,GAAEH,KAAK,CAACwB,KAAK,cAAArB,YAAA,cAAAA,YAAA,GAAIC,YAAY,CAACoB,KAAK;IACxCf;EAAO,EACR;EACD,OAAOhB,KAAA,CAAAgC,aAAA,CAAC7B,WAAW,EAAK0B,WAAc,CAAC;AACzC;AAEAvB,aAAa,CAAC2B,qBAAqB,GAAG,IAAI;AAC1C,eAAe3B,aAAa"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const DateProperties = {
|
|
2
|
+
variant: {
|
|
3
|
+
doc: 'Defines the variant of the date. Can be `long` or `short`. Defaults to `long`.',
|
|
4
|
+
type: 'string',
|
|
5
|
+
status: 'optional'
|
|
6
|
+
},
|
|
7
|
+
locale: {
|
|
8
|
+
doc: 'Defines the locale of the date. Defaults to `nb-NO`.',
|
|
9
|
+
type: 'string',
|
|
10
|
+
status: 'optional'
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=DateDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateDocs.js","names":["DateProperties","variant","doc","type","status","locale"],"sources":["../../../../../../src/extensions/forms/Value/Date/DateDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const DateProperties: PropertiesTableProps = {\n variant: {\n doc: 'Defines the variant of the date. Can be `long` or `short`. Defaults to `long`.',\n type: 'string',\n status: 'optional',\n },\n locale: {\n doc: 'Defines the locale of the date. Defaults to `nb-NO`.',\n type: 'string',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,OAAO,EAAE;IACPC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,MAAM,EAAE;IACNH,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -19,6 +19,7 @@ import DataContext, { defaultContextState } from '../../DataContext/Context';
|
|
|
19
19
|
import Handler from '../../Form/Handler/Handler';
|
|
20
20
|
import { useSharedState } from '../../../../shared/helpers/useSharedState';
|
|
21
21
|
import useHandleLayoutEffect from './useHandleLayoutEffect';
|
|
22
|
+
import useVisibility from '../../Form/Visibility/useVisibility';
|
|
22
23
|
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
23
24
|
function WizardContainer(props) {
|
|
24
25
|
const {
|
|
@@ -137,6 +138,9 @@ function WizardContainer(props) {
|
|
|
137
138
|
const titlesRef = useRef({});
|
|
138
139
|
const updateTitlesRef = useRef();
|
|
139
140
|
const prerenderFieldPropsRef = useRef({});
|
|
141
|
+
const {
|
|
142
|
+
check
|
|
143
|
+
} = useVisibility();
|
|
140
144
|
const activeIndex = activeIndexRef.current;
|
|
141
145
|
const providerValue = useMemo(() => {
|
|
142
146
|
return {
|
|
@@ -148,12 +152,13 @@ function WizardContainer(props) {
|
|
|
148
152
|
activeIndexRef,
|
|
149
153
|
prerenderFieldProps,
|
|
150
154
|
prerenderFieldPropsRef,
|
|
155
|
+
check,
|
|
151
156
|
setActiveIndex,
|
|
152
157
|
handlePrevious,
|
|
153
158
|
handleNext,
|
|
154
159
|
setFormError
|
|
155
160
|
};
|
|
156
|
-
}, [activeIndex, handleNext, handlePrevious, id, prerenderFieldProps, setActiveIndex, setFormError]);
|
|
161
|
+
}, [activeIndex, handleNext, handlePrevious, id, prerenderFieldProps, check, setActiveIndex, setFormError]);
|
|
157
162
|
useLayoutEffect(() => {
|
|
158
163
|
if (id && hasContext) {
|
|
159
164
|
var _sharedStateRef$curre4, _sharedStateRef$curre5;
|
|
@@ -222,6 +227,7 @@ function IterateOverSteps({
|
|
|
222
227
|
children
|
|
223
228
|
}) {
|
|
224
229
|
const {
|
|
230
|
+
check,
|
|
225
231
|
titlesRef,
|
|
226
232
|
activeIndexRef,
|
|
227
233
|
prerenderFieldProps,
|
|
@@ -229,7 +235,6 @@ function IterateOverSteps({
|
|
|
229
235
|
} = useContext(WizardContext);
|
|
230
236
|
titlesRef.current = {};
|
|
231
237
|
let incrementIndex = -1;
|
|
232
|
-
let decrementIndex = -1;
|
|
233
238
|
const childrenArray = React.Children.map(children, child => {
|
|
234
239
|
if (React.isValidElement(child)) {
|
|
235
240
|
var _child, _child2;
|
|
@@ -245,12 +250,13 @@ function IterateOverSteps({
|
|
|
245
250
|
if (child.props.active === false) {
|
|
246
251
|
return null;
|
|
247
252
|
}
|
|
248
|
-
if (child.props.
|
|
249
|
-
|
|
250
|
-
}
|
|
251
|
-
|
|
253
|
+
if (child.props.activeWhen && !check({
|
|
254
|
+
visibleWhen: child.props.activeWhen
|
|
255
|
+
})) {
|
|
256
|
+
return null;
|
|
252
257
|
}
|
|
253
|
-
|
|
258
|
+
incrementIndex++;
|
|
259
|
+
const index = incrementIndex;
|
|
254
260
|
titlesRef.current[index] = child.props.title !== undefined ? convertJsxToString(child.props.title) : 'Title missing';
|
|
255
261
|
const key = `${index}-${activeIndexRef.current}`;
|
|
256
262
|
const clone = props => React.cloneElement(child, props);
|
|
@@ -269,9 +275,9 @@ function IterateOverSteps({
|
|
|
269
275
|
}
|
|
270
276
|
return child;
|
|
271
277
|
});
|
|
272
|
-
if (childrenArray.length === 0) {
|
|
278
|
+
if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) === 0) {
|
|
273
279
|
activeIndexRef.current = 0;
|
|
274
|
-
} else if (childrenArray.length < activeIndexRef.current + 1) {
|
|
280
|
+
} else if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) < activeIndexRef.current + 1) {
|
|
275
281
|
activeIndexRef.current = childrenArray.length - 1;
|
|
276
282
|
}
|
|
277
283
|
return childrenArray;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","titlesRef","updateTitlesRef","prerenderFieldPropsRef","activeIndex","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","_updateTitlesRef$curr","createElement","_extends","Provider","value","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","sidebar_id","Sidebar","bottom","Object","values","no_animation","on_change","incrementIndex","decrementIndex","childrenArray","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","active","title","key","clone","cloneElement","document","length","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","createPortal","body","setFieldProps","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\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 { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : 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 handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\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 setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const titlesRef = useRef({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n titlesRef,\n updateTitlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n setActiveIndex,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [titlesRef.current])\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, titlesRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(titlesRef.current)}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = {}\n let incrementIndex = -1\n let decrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\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 if (child.props.active === false) {\n return null\n }\n\n if (child.props.active === false) {\n decrementIndex--\n } else {\n incrementIndex++\n }\n const index =\n child.props.active === false ? decrementIndex : incrementIndex\n\n titlesRef.current[index] =\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : 'Title missing'\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n\n // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n return childrenArray\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldProps, updateDataValue } = useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setFieldProps,\n updateDataValue,\n prerenderFieldProps: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useVisibility","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","titlesRef","updateTitlesRef","prerenderFieldPropsRef","check","activeIndex","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","_updateTitlesRef$curr","createElement","_extends","Provider","value","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","sidebar_id","Sidebar","bottom","Object","values","no_animation","on_change","incrementIndex","childrenArray","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","active","activeWhen","visibleWhen","title","key","clone","cloneElement","document","length","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","createPortal","body","setFieldProps","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\nimport useVisibility from '../../Form/Visibility/useVisibility'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\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 { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : 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 handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\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 setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const titlesRef = useRef({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const { check } = useVisibility()\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n titlesRef,\n updateTitlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n check,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n check,\n setActiveIndex,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [titlesRef.current])\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, titlesRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(titlesRef.current)}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n check,\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = {}\n let incrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\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 if (child.props.active === false) {\n return null\n }\n\n if (\n child.props.activeWhen &&\n !check({ visibleWhen: child.props.activeWhen })\n ) {\n return null\n }\n\n incrementIndex++\n const index = incrementIndex\n\n titlesRef.current[index] =\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : 'Title missing'\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n\n // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray?.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray?.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n return childrenArray\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldProps, updateDataValue } = useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setFieldProps,\n updateDataValue,\n prerenderFieldProps: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { EventReturnWithStateObject } from '../../types';
|
|
3
|
+
import { VisibleWhen } from '../../Form/Visibility';
|
|
3
4
|
export type OnStepChange = (index: StepIndex, mode: 'previous' | 'next') => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
|
|
4
5
|
export type StepIndex = number;
|
|
5
6
|
export type SetActiveIndexOptions = {
|
|
@@ -22,6 +23,9 @@ export interface WizardContextState {
|
|
|
22
23
|
handleNext?: () => void;
|
|
23
24
|
setActiveIndex?: (index: StepIndex, { skipStepChangeCall, skipStepChangeCallBeforeMounted, skipStepChangeCallFromHook, }?: SetActiveIndexOptions) => void;
|
|
24
25
|
setFormError?: (error: Error) => void;
|
|
26
|
+
check?: ({ visibleWhen }: {
|
|
27
|
+
visibleWhen: VisibleWhen;
|
|
28
|
+
}) => boolean;
|
|
25
29
|
}
|
|
26
30
|
declare const WizardContext: React.Context<WizardContextState>;
|
|
27
31
|
export default WizardContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\n\nexport type OnStepChange = (\n index: StepIndex,\n mode: 'previous' | 'next'\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n titlesRef?: React.MutableRefObject<Record<string, string>>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;
|
|
1
|
+
{"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\n\nexport type OnStepChange = (\n index: StepIndex,\n mode: 'previous' | 'next'\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n titlesRef?: React.MutableRefObject<Record<string, string>>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n check?: ({ visibleWhen }: { visibleWhen: VisibleWhen }) => boolean\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA6CzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ComponentProps } from '../../types';
|
|
3
3
|
import { Props as FlexContainerProps } from '../../../../components/flex/Container';
|
|
4
|
+
import type { VisibleWhen } from '../../Form/Visibility';
|
|
4
5
|
export type Props = ComponentProps & FlexContainerProps & {
|
|
5
6
|
/**
|
|
6
7
|
* A title that will be displayed in the indicator.
|
|
@@ -19,6 +20,10 @@ export type Props = ComponentProps & FlexContainerProps & {
|
|
|
19
20
|
* If set to `false`, the step will not be rendered.
|
|
20
21
|
*/
|
|
21
22
|
active?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.
|
|
25
|
+
*/
|
|
26
|
+
activeWhen?: VisibleWhen;
|
|
22
27
|
/**
|
|
23
28
|
* If set to `true`, the step will always be rendered.
|
|
24
29
|
* For internal use only.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
const _excluded = ["className", "title", "index", "active", "required", "prerenderFieldProps", "children"];
|
|
5
|
+
const _excluded = ["className", "title", "index", "active", "activeWhen", "required", "prerenderFieldProps", "children"];
|
|
6
6
|
import React, { useContext, useMemo, useRef } from 'react';
|
|
7
7
|
import classnames from 'classnames';
|
|
8
8
|
import WizardContext from '../Context/WizardContext';
|
|
@@ -16,12 +16,14 @@ function Step(props) {
|
|
|
16
16
|
title,
|
|
17
17
|
index,
|
|
18
18
|
active = true,
|
|
19
|
+
activeWhen,
|
|
19
20
|
required,
|
|
20
21
|
prerenderFieldProps,
|
|
21
22
|
children
|
|
22
23
|
} = props,
|
|
23
24
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
24
25
|
const {
|
|
26
|
+
check,
|
|
25
27
|
activeIndex,
|
|
26
28
|
titlesRef,
|
|
27
29
|
stepElementRef
|
|
@@ -44,7 +46,9 @@ function Step(props) {
|
|
|
44
46
|
if (prerenderFieldProps) {
|
|
45
47
|
return children;
|
|
46
48
|
}
|
|
47
|
-
if (activeIndex !== index || active === false
|
|
49
|
+
if (activeIndex !== index || active === false || activeWhen && !check({
|
|
50
|
+
visibleWhen: activeWhen
|
|
51
|
+
})) {
|
|
48
52
|
return React.createElement(React.Fragment, null);
|
|
49
53
|
}
|
|
50
54
|
const fieldProps = typeof required === 'boolean' ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","FieldProps","useLayoutEffect","window","useEffect","Step","props","className","title","index","active","required","prerenderFieldProps","children","restProps","_objectWithoutProperties","_excluded","activeIndex","titlesRef","stepElementRef","ariaLabel","_ref","_titlesRef$current","current","currentElementRef","createElement","Fragment","fieldProps","undefined","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport FieldProps from '../../Form/FieldProps'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n active?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nfunction Step(props: Props) {\n const {\n className,\n title,\n index,\n active = true,\n required,\n prerenderFieldProps,\n children,\n ...restProps\n } = props\n const { activeIndex, titlesRef, stepElementRef } =\n useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return (\n (!prerenderFieldProps && titlesRef?.current?.[index]) ??\n convertJsxToString(title)\n )\n }, [index, prerenderFieldProps, title, titlesRef])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children\n }\n\n if (activeIndex !== index
|
|
1
|
+
{"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","FieldProps","useLayoutEffect","window","useEffect","Step","props","className","title","index","active","activeWhen","required","prerenderFieldProps","children","restProps","_objectWithoutProperties","_excluded","check","activeIndex","titlesRef","stepElementRef","ariaLabel","_ref","_titlesRef$current","current","currentElementRef","visibleWhen","createElement","Fragment","fieldProps","undefined","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport FieldProps from '../../Form/FieldProps'\nimport type { VisibleWhen } from '../../Form/Visibility'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n active?: boolean\n\n /**\n * Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.\n */\n activeWhen?: VisibleWhen\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nfunction Step(props: Props) {\n const {\n className,\n title,\n index,\n active = true,\n activeWhen,\n required,\n prerenderFieldProps,\n children,\n ...restProps\n } = props\n const { check, activeIndex, titlesRef, stepElementRef } =\n useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return (\n (!prerenderFieldProps && titlesRef?.current?.[index]) ??\n convertJsxToString(title)\n )\n }, [index, prerenderFieldProps, title, titlesRef])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children\n }\n\n if (\n activeIndex !== index ||\n active === false ||\n (activeWhen && !check({ visibleWhen: activeWhen }))\n ) {\n // Another step is active\n return <></>\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProps {...fieldProps}>{children}</FieldProps>\n ) : (\n children\n )}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,aAAa,MAAM,0BAA0B;AACpD,OAAOC,IAAI,MAAM,kCAAkC;AACnD,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,UAAU,MAAM,uBAAuB;AAI9C,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGV,KAAK,CAACW,SAAS,GAAGX,KAAK,CAACS,eAAe;AAqCzE,SAASG,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,KAAK;MACLC,MAAM,GAAG,IAAI;MACbC,UAAU;MACVC,QAAQ;MACRC,mBAAmB;MACnBC;IAEF,CAAC,GAAGR,KAAK;IADJS,SAAS,GAAAC,wBAAA,CACVV,KAAK,EAAAW,SAAA;EACT,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,SAAS;IAAEC;EAAe,CAAC,GACrD3B,UAAU,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAEjC,MAAMwB,SAAS,GAAG3B,OAAO,CAAC,MAAM;IAAA,IAAA4B,IAAA,EAAAC,kBAAA;IAC9B,QAAAD,IAAA,GACG,CAACV,mBAAmB,KAAIO,SAAS,aAATA,SAAS,wBAAAI,kBAAA,GAATJ,SAAS,CAAEK,OAAO,cAAAD,kBAAA,uBAAlBA,kBAAA,CAAqBf,KAAK,CAAC,eAAAc,IAAA,cAAAA,IAAA,GACpDvB,kBAAkB,CAACQ,KAAK,CAAC;EAE7B,CAAC,EAAE,CAACC,KAAK,EAAEI,mBAAmB,EAAEL,KAAK,EAAEY,SAAS,CAAC,CAAC;EAElD,MAAMM,iBAAiB,GAAG9B,MAAM,CAAc,CAAC;EAC/CM,eAAe,CAAC,MAAM;IACpB,IAAI,CAACW,mBAAmB,IAAI,OAAOQ,cAAc,KAAK,WAAW,EAAE;MACjE,IAAIK,iBAAiB,CAACD,OAAO,EAAE;QAC7BJ,cAAc,CAACI,OAAO,GAAGC,iBAAiB,CAACD,OAAO;MACpD;MACA,OAAO,MAAM;QACXJ,cAAc,CAACI,OAAO,GAAG,IAAI;MAC/B,CAAC;IACH;EACF,CAAC,EAAE,CAACZ,mBAAmB,EAAEQ,cAAc,CAAC,CAAC;EAEzC,IAAIR,mBAAmB,EAAE;IACvB,OAAOC,QAAQ;EACjB;EAEA,IACEK,WAAW,KAAKV,KAAK,IACrBC,MAAM,KAAK,KAAK,IACfC,UAAU,IAAI,CAACO,KAAK,CAAC;IAAES,WAAW,EAAEhB;EAAW,CAAC,CAAE,EACnD;IAEA,OAAOlB,KAAA,CAAAmC,aAAA,CAAAnC,KAAA,CAAAoC,QAAA,MAAI,CAAC;EACd;EAEA,MAAMC,UAAU,GACd,OAAOlB,QAAQ,KAAK,SAAS,GAAG;IAAEA;EAAS,CAAC,GAAGmB,SAAS;EAE1D,OACEtC,KAAA,CAAAmC,aAAA,CAAC7B,IAAI,CAACiC,KAAK,EAAAC,QAAA;IACT1B,SAAS,EAAEV,UAAU,CAAC,gBAAgB,EAAEU,SAAS,CAAE;IACnD2B,OAAO,EAAC,SAAS;IACjB,cAAYZ,SAAU;IACtBa,QAAQ,EAAET,iBAAkB;IAC5BU,QAAQ,EAAE,CAAC;EAAE,GACTrB,SAAS,GAEZe,UAAU,GACTrC,KAAA,CAAAmC,aAAA,CAAC3B,UAAU,EAAK6B,UAAU,EAAGhB,QAAqB,CAAC,GAEnDA,QAEQ,CAAC;AAEjB;AAEAT,IAAI,CAACgC,qBAAqB,GAAG,IAAI;AACjC,eAAehC,IAAI"}
|
|
@@ -14,6 +14,11 @@ export const StepProperties = {
|
|
|
14
14
|
type: 'boolean',
|
|
15
15
|
status: 'optional'
|
|
16
16
|
},
|
|
17
|
+
activeWhen: {
|
|
18
|
+
doc: 'Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.',
|
|
19
|
+
type: 'object',
|
|
20
|
+
status: 'optional'
|
|
21
|
+
},
|
|
17
22
|
children: {
|
|
18
23
|
doc: 'Contents.',
|
|
19
24
|
type: 'React.Node',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","required","active","children","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'Title of the step.',\n type: 'React.Node',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n active: {\n doc: 'If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\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 StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","required","active","activeWhen","children","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'Title of the step.',\n type: 'React.Node',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n active: {\n doc: 'If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'optional',\n },\n activeWhen: {\n doc: 'Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.',\n type: 'object',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\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 StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,UAAU,EAAE;IACVL,GAAG,EAAE,4NAA4N;IACjOC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,gDAAgD,EAAE;IAChDF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,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,MAAMK,UAAgC,GAAG,CAAC,CAAC"}
|
|
@@ -31,7 +31,7 @@ export default function useNextRouter(id = null, {
|
|
|
31
31
|
useLayoutEffect(() => {
|
|
32
32
|
const routerIndex = getIndex();
|
|
33
33
|
if (!isNaN(routerIndex)) {
|
|
34
|
-
setActiveIndex(routerIndex, {
|
|
34
|
+
setActiveIndex === null || setActiveIndex === void 0 ? void 0 : setActiveIndex(routerIndex, {
|
|
35
35
|
skipStepChangeCallFromHook: true,
|
|
36
36
|
skipStepChangeCallBeforeMounted: true
|
|
37
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNextRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useNextRouter","id","useRouter","usePathname","useSearchParams","name","setFormError","router","pathname","searchParams","onStepChange","index","params","URLSearchParams","toString","set","String","push","error","setActiveIndex","getIndex","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useNextRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useNextRouter(\n id: string = null,\n { useRouter, usePathname, useSearchParams }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const params = new URLSearchParams(searchParams.toString())\n params.set(name, String(index))\n router.push(`${pathname}?${params.toString()}`)\n } catch (error) {\n setFormError(error)\n }\n },\n [name, pathname, router, searchParams, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(\n () => parseFloat(searchParams.get(name)),\n [name, searchParams]\n )\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, id, searchParams, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,aAAaA,CACnCC,EAAU,GAAG,IAAI,EACjB;EAAEC,SAAS;EAAEC,WAAW;EAAEC;AAAgB,CAAC,EAC3C;EACA,MAAMC,IAAI,GAAGJ,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEK;EAAa,CAAC,GAAGV,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMM,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,MAAMM,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAMM,YAAY,GAAGL,eAAe,CAAC,CAAC;EAEtC,MAAMM,YAAY,GAAGf,WAAW,CAC7BgB,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAACJ,YAAY,CAACK,QAAQ,CAAC,CAAC,CAAC;MAC3DF,MAAM,CAACG,GAAG,CAACV,IAAI,EAAEW,MAAM,CAACL,KAAK,CAAC,CAAC;MAC/BJ,MAAM,CAACU,IAAI,CAAE,GAAET,QAAS,IAAGI,MAAM,CAACE,QAAQ,CAAC,CAAE,EAAC,CAAC;IACjD,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdZ,YAAY,CAACY,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACb,IAAI,EAAEG,QAAQ,EAAED,MAAM,EAAEE,YAAY,EAAEH,YAAY,CACrD,CAAC;EAED,MAAM;IAAEa;EAAe,CAAC,GAAGvB,OAAO,CAACK,EAAE,EAAE;IAAES;EAAa,CAAC,CAAC;EAExD,MAAMU,QAAQ,GAAGzB,WAAW,CAC1B,MAAM0B,UAAU,CAACZ,YAAY,CAACa,GAAG,CAACjB,IAAI,CAAC,CAAC,EACxC,CAACA,IAAI,EAAEI,YAAY,CACrB,CAAC;EAEDZ,eAAe,CAAC,MAAM;IACpB,MAAM0B,WAAW,GAAGH,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBJ,cAAc,
|
|
1
|
+
{"version":3,"file":"useNextRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useNextRouter","id","useRouter","usePathname","useSearchParams","name","setFormError","router","pathname","searchParams","onStepChange","index","params","URLSearchParams","toString","set","String","push","error","setActiveIndex","getIndex","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useNextRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useNextRouter(\n id: string = null,\n { useRouter, usePathname, useSearchParams }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const params = new URLSearchParams(searchParams.toString())\n params.set(name, String(index))\n router.push(`${pathname}?${params.toString()}`)\n } catch (error) {\n setFormError(error)\n }\n },\n [name, pathname, router, searchParams, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(\n () => parseFloat(searchParams.get(name)),\n [name, searchParams]\n )\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex?.(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, id, searchParams, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,aAAaA,CACnCC,EAAU,GAAG,IAAI,EACjB;EAAEC,SAAS;EAAEC,WAAW;EAAEC;AAAgB,CAAC,EAC3C;EACA,MAAMC,IAAI,GAAGJ,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEK;EAAa,CAAC,GAAGV,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMM,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,MAAMM,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAMM,YAAY,GAAGL,eAAe,CAAC,CAAC;EAEtC,MAAMM,YAAY,GAAGf,WAAW,CAC7BgB,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAACJ,YAAY,CAACK,QAAQ,CAAC,CAAC,CAAC;MAC3DF,MAAM,CAACG,GAAG,CAACV,IAAI,EAAEW,MAAM,CAACL,KAAK,CAAC,CAAC;MAC/BJ,MAAM,CAACU,IAAI,CAAE,GAAET,QAAS,IAAGI,MAAM,CAACE,QAAQ,CAAC,CAAE,EAAC,CAAC;IACjD,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdZ,YAAY,CAACY,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACb,IAAI,EAAEG,QAAQ,EAAED,MAAM,EAAEE,YAAY,EAAEH,YAAY,CACrD,CAAC;EAED,MAAM;IAAEa;EAAe,CAAC,GAAGvB,OAAO,CAACK,EAAE,EAAE;IAAES;EAAa,CAAC,CAAC;EAExD,MAAMU,QAAQ,GAAGzB,WAAW,CAC1B,MAAM0B,UAAU,CAACZ,YAAY,CAACa,GAAG,CAACjB,IAAI,CAAC,CAAC,EACxC,CAACA,IAAI,EAAEI,YAAY,CACrB,CAAC;EAEDZ,eAAe,CAAC,MAAM;IACpB,MAAM0B,WAAW,GAAGH,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBJ,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGI,WAAW,EAAE;QAC5BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACN,QAAQ,EAAEnB,EAAE,EAAEQ,YAAY,EAAEU,cAAc,EAAEb,YAAY,CAAC,CAAC;EAE9D,OAAO;IAAEc;EAAS,CAAC;AACrB"}
|
|
@@ -33,7 +33,7 @@ export default function useQueryLocator(id = undefined) {
|
|
|
33
33
|
const popstateListener = () => {
|
|
34
34
|
const routerIndex = getIndex();
|
|
35
35
|
if (!isNaN(routerIndex)) {
|
|
36
|
-
setActiveIndex(routerIndex, {
|
|
36
|
+
setActiveIndex === null || setActiveIndex === void 0 ? void 0 : setActiveIndex(routerIndex, {
|
|
37
37
|
skipStepChangeCallFromHook: true,
|
|
38
38
|
skipStepChangeCallBeforeMounted: true
|
|
39
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryLocator.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useQueryLocator","id","undefined","setFormError","name","onStepChange","index","url","URL","location","href","searchParams","set","String","history","pushState","toString","error","setActiveIndex","getIndex","URLSearchParams","search","parseFloat","get","popstateListener","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted","addEventListener","removeEventListener"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useQueryLocator.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useQueryLocator(id: string = undefined) {\n const { setFormError } = useStep(id)\n const name = id ? `${id}-step` : 'step'\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const url = new URL(window.location.href)\n url.searchParams.set(name, String(index))\n window.history.pushState({}, '', url.toString())\n } catch (error) {\n setFormError(error)\n }\n },\n [name, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(() => {\n try {\n const searchParams = new URLSearchParams(window.location.search)\n return parseFloat(searchParams.get(name))\n } catch (error) {\n setFormError(error)\n }\n }, [name, setFormError])\n\n useLayoutEffect(() => {\n try {\n const popstateListener = () => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }\n\n // Initial setup call\n popstateListener()\n\n window.addEventListener('popstate', popstateListener)\n return () => window.removeEventListener('popstate', popstateListener)\n } catch (error) {\n setFormError(error)\n }\n }, [getIndex, id, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,eAAeA,CAACC,EAAU,GAAGC,SAAS,EAAE;EAC9D,MAAM;IAAEC;EAAa,CAAC,GAAGP,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMG,IAAI,GAAGH,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EAEvC,MAAMI,YAAY,GAAGV,WAAW,CAC7BW,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACV,MAAM,CAACW,QAAQ,CAACC,IAAI,CAAC;MACzCH,GAAG,CAACI,YAAY,CAACC,GAAG,CAACR,IAAI,EAAES,MAAM,CAACP,KAAK,CAAC,CAAC;MACzCR,MAAM,CAACgB,OAAO,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAER,GAAG,CAACS,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACb,IAAI,EAAED,YAAY,CACrB,CAAC;EAED,MAAM;IAAEe;EAAe,CAAC,GAAGtB,OAAO,CAACK,EAAE,EAAE;IAAEI;EAAa,CAAC,CAAC;EAExD,MAAMc,QAAQ,GAAGxB,WAAW,CAAC,MAAM;IACjC,IAAI;MACF,MAAMgB,YAAY,GAAG,IAAIS,eAAe,CAACtB,MAAM,CAACW,QAAQ,CAACY,MAAM,CAAC;MAChE,OAAOC,UAAU,CAACX,YAAY,CAACY,GAAG,CAACnB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,OAAOa,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACb,IAAI,EAAED,YAAY,CAAC,CAAC;EAExBN,eAAe,CAAC,MAAM;IACpB,IAAI;MACF,MAAM2B,gBAAgB,GAAGA,CAAA,KAAM;QAC7B,MAAMC,WAAW,GAAGN,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAACO,KAAK,CAACD,WAAW,CAAC,EAAE;UACvBP,cAAc,
|
|
1
|
+
{"version":3,"file":"useQueryLocator.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useQueryLocator","id","undefined","setFormError","name","onStepChange","index","url","URL","location","href","searchParams","set","String","history","pushState","toString","error","setActiveIndex","getIndex","URLSearchParams","search","parseFloat","get","popstateListener","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted","addEventListener","removeEventListener"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useQueryLocator.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useQueryLocator(id: string = undefined) {\n const { setFormError } = useStep(id)\n const name = id ? `${id}-step` : 'step'\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const url = new URL(window.location.href)\n url.searchParams.set(name, String(index))\n window.history.pushState({}, '', url.toString())\n } catch (error) {\n setFormError(error)\n }\n },\n [name, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(() => {\n try {\n const searchParams = new URLSearchParams(window.location.search)\n return parseFloat(searchParams.get(name))\n } catch (error) {\n setFormError(error)\n }\n }, [name, setFormError])\n\n useLayoutEffect(() => {\n try {\n const popstateListener = () => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex?.(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }\n\n // Initial setup call\n popstateListener()\n\n window.addEventListener('popstate', popstateListener)\n return () => window.removeEventListener('popstate', popstateListener)\n } catch (error) {\n setFormError(error)\n }\n }, [getIndex, id, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,eAAeA,CAACC,EAAU,GAAGC,SAAS,EAAE;EAC9D,MAAM;IAAEC;EAAa,CAAC,GAAGP,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMG,IAAI,GAAGH,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EAEvC,MAAMI,YAAY,GAAGV,WAAW,CAC7BW,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACV,MAAM,CAACW,QAAQ,CAACC,IAAI,CAAC;MACzCH,GAAG,CAACI,YAAY,CAACC,GAAG,CAACR,IAAI,EAAES,MAAM,CAACP,KAAK,CAAC,CAAC;MACzCR,MAAM,CAACgB,OAAO,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAER,GAAG,CAACS,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACb,IAAI,EAAED,YAAY,CACrB,CAAC;EAED,MAAM;IAAEe;EAAe,CAAC,GAAGtB,OAAO,CAACK,EAAE,EAAE;IAAEI;EAAa,CAAC,CAAC;EAExD,MAAMc,QAAQ,GAAGxB,WAAW,CAAC,MAAM;IACjC,IAAI;MACF,MAAMgB,YAAY,GAAG,IAAIS,eAAe,CAACtB,MAAM,CAACW,QAAQ,CAACY,MAAM,CAAC;MAChE,OAAOC,UAAU,CAACX,YAAY,CAACY,GAAG,CAACnB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,OAAOa,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACb,IAAI,EAAED,YAAY,CAAC,CAAC;EAExBN,eAAe,CAAC,MAAM;IACpB,IAAI;MACF,MAAM2B,gBAAgB,GAAGA,CAAA,KAAM;QAC7B,MAAMC,WAAW,GAAGN,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAACO,KAAK,CAACD,WAAW,CAAC,EAAE;UACvBP,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGO,WAAW,EAAE;YAC5BE,0BAA0B,EAAE,IAAI;YAChCC,+BAA+B,EAAE;UACnC,CAAC,CAAC;QACJ;MACF,CAAC;MAGDJ,gBAAgB,CAAC,CAAC;MAElB1B,MAAM,CAAC+B,gBAAgB,CAAC,UAAU,EAAEL,gBAAgB,CAAC;MACrD,OAAO,MAAM1B,MAAM,CAACgC,mBAAmB,CAAC,UAAU,EAAEN,gBAAgB,CAAC;IACvE,CAAC,CAAC,OAAOP,KAAK,EAAE;MACdd,YAAY,CAACc,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACE,QAAQ,EAAElB,EAAE,EAAEiB,cAAc,EAAEf,YAAY,CAAC,CAAC;EAEhD,OAAO;IAAEgB;EAAS,CAAC;AACrB"}
|
|
@@ -35,7 +35,7 @@ export default function useReachRouter(id = null, {
|
|
|
35
35
|
useLayoutEffect(() => {
|
|
36
36
|
const routerIndex = getIndex();
|
|
37
37
|
if (!isNaN(routerIndex)) {
|
|
38
|
-
setActiveIndex(routerIndex, {
|
|
38
|
+
setActiveIndex === null || setActiveIndex === void 0 ? void 0 : setActiveIndex(routerIndex, {
|
|
39
39
|
skipStepChangeCallFromHook: true,
|
|
40
40
|
skipStepChangeCallBeforeMounted: true
|
|
41
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReachRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useReachRouter","id","useLocation","navigate","name","setFormError","location","onStepChange","index","url","URL","href","searchParams","set","String","error","setActiveIndex","getIndex","URLSearchParams","search","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useReachRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useReachRouter(\n id: string = null,\n { useLocation, navigate }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const location = useLocation()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const url = new URL(location.href)\n url.searchParams.set(name, String(index))\n navigate(url.href)\n } catch (error) {\n setFormError(error)\n }\n },\n [location.href, name, navigate, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(() => {\n try {\n const searchParams = new URLSearchParams(location.search)\n return parseFloat(searchParams.get(name))\n } catch (error) {\n setFormError(error)\n }\n }, [location.search, name, setFormError])\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, setActiveIndex])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,cAAcA,CACpCC,EAAU,GAAG,IAAI,EACjB;EAAEC,WAAW;EAAEC;AAAS,CAAC,EACzB;EACA,MAAMC,IAAI,GAAGH,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEI;EAAa,CAAC,GAAGT,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMK,QAAQ,GAAGJ,WAAW,CAAC,CAAC;EAE9B,MAAMK,YAAY,GAAGZ,WAAW,CAC7Ba,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACJ,QAAQ,CAACK,IAAI,CAAC;MAClCF,GAAG,CAACG,YAAY,CAACC,GAAG,CAACT,IAAI,EAAEU,MAAM,CAACN,KAAK,CAAC,CAAC;MACzCL,QAAQ,CAACM,GAAG,CAACE,IAAI,CAAC;IACpB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdV,YAAY,CAACU,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACT,QAAQ,CAACK,IAAI,EAAEP,IAAI,EAAED,QAAQ,EAAEE,YAAY,CAC9C,CAAC;EAED,MAAM;IAAEW;EAAe,CAAC,GAAGpB,OAAO,CAACK,EAAE,EAAE;IAAEM;EAAa,CAAC,CAAC;EAExD,MAAMU,QAAQ,GAAGtB,WAAW,CAAC,MAAM;IACjC,IAAI;MACF,MAAMiB,YAAY,GAAG,IAAIM,eAAe,CAACZ,QAAQ,CAACa,MAAM,CAAC;MACzD,OAAOC,UAAU,CAACR,YAAY,CAACS,GAAG,CAACjB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,OAAOW,KAAK,EAAE;MACdV,YAAY,CAACU,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACT,QAAQ,CAACa,MAAM,EAAEf,IAAI,EAAEC,YAAY,CAAC,CAAC;EAEzCR,eAAe,CAAC,MAAM;IACpB,MAAMyB,WAAW,GAAGL,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACM,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBN,cAAc,
|
|
1
|
+
{"version":3,"file":"useReachRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useReachRouter","id","useLocation","navigate","name","setFormError","location","onStepChange","index","url","URL","href","searchParams","set","String","error","setActiveIndex","getIndex","URLSearchParams","search","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useReachRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useReachRouter(\n id: string = null,\n { useLocation, navigate }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const location = useLocation()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n const url = new URL(location.href)\n url.searchParams.set(name, String(index))\n navigate(url.href)\n } catch (error) {\n setFormError(error)\n }\n },\n [location.href, name, navigate, setFormError]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(() => {\n try {\n const searchParams = new URLSearchParams(location.search)\n return parseFloat(searchParams.get(name))\n } catch (error) {\n setFormError(error)\n }\n }, [location.search, name, setFormError])\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex?.(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, setActiveIndex])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,cAAcA,CACpCC,EAAU,GAAG,IAAI,EACjB;EAAEC,WAAW;EAAEC;AAAS,CAAC,EACzB;EACA,MAAMC,IAAI,GAAGH,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEI;EAAa,CAAC,GAAGT,OAAO,CAACK,EAAE,CAAC;EACpC,MAAMK,QAAQ,GAAGJ,WAAW,CAAC,CAAC;EAE9B,MAAMK,YAAY,GAAGZ,WAAW,CAC7Ba,KAAa,IAAK;IACjB,IAAI;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACJ,QAAQ,CAACK,IAAI,CAAC;MAClCF,GAAG,CAACG,YAAY,CAACC,GAAG,CAACT,IAAI,EAAEU,MAAM,CAACN,KAAK,CAAC,CAAC;MACzCL,QAAQ,CAACM,GAAG,CAACE,IAAI,CAAC;IACpB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdV,YAAY,CAACU,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACT,QAAQ,CAACK,IAAI,EAAEP,IAAI,EAAED,QAAQ,EAAEE,YAAY,CAC9C,CAAC;EAED,MAAM;IAAEW;EAAe,CAAC,GAAGpB,OAAO,CAACK,EAAE,EAAE;IAAEM;EAAa,CAAC,CAAC;EAExD,MAAMU,QAAQ,GAAGtB,WAAW,CAAC,MAAM;IACjC,IAAI;MACF,MAAMiB,YAAY,GAAG,IAAIM,eAAe,CAACZ,QAAQ,CAACa,MAAM,CAAC;MACzD,OAAOC,UAAU,CAACR,YAAY,CAACS,GAAG,CAACjB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,OAAOW,KAAK,EAAE;MACdV,YAAY,CAACU,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACT,QAAQ,CAACa,MAAM,EAAEf,IAAI,EAAEC,YAAY,CAAC,CAAC;EAEzCR,eAAe,CAAC,MAAM;IACpB,MAAMyB,WAAW,GAAGL,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACM,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBN,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGM,WAAW,EAAE;QAC5BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACR,QAAQ,EAAED,cAAc,CAAC,CAAC;EAE9B,OAAO;IAAEC;EAAS,CAAC;AACrB"}
|
|
@@ -26,7 +26,7 @@ export default function useReactRouter(id = null, {
|
|
|
26
26
|
useLayoutEffect(() => {
|
|
27
27
|
const routerIndex = getIndex();
|
|
28
28
|
if (!isNaN(routerIndex)) {
|
|
29
|
-
setActiveIndex(routerIndex, {
|
|
29
|
+
setActiveIndex === null || setActiveIndex === void 0 ? void 0 : setActiveIndex(routerIndex, {
|
|
30
30
|
skipStepChangeCallFromHook: true,
|
|
31
31
|
skipStepChangeCallBeforeMounted: true
|
|
32
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useReactRouter","id","useSearchParams","name","setFormError","searchParams","setSearchParams","onStepChange","index","set","error","setActiveIndex","getIndex","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useReactRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useReactRouter(\n id: string = null,\n { useSearchParams }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const [searchParams, setSearchParams] = useSearchParams()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n searchParams.set(name, index)\n setSearchParams(searchParams)\n } catch (error) {\n setFormError(error)\n }\n },\n [name, searchParams, setFormError, setSearchParams]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(\n () => parseFloat(searchParams.get(name)),\n [name, searchParams]\n )\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, id, searchParams, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,cAAcA,CACpCC,EAAU,GAAG,IAAI,EACjB;EAAEC;AAAgB,CAAC,EACnB;EACA,MAAMC,IAAI,GAAGF,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEG;EAAa,CAAC,GAAGR,OAAO,CAACK,EAAE,CAAC;EACpC,MAAM,CAACI,YAAY,EAAEC,eAAe,CAAC,GAAGJ,eAAe,CAAC,CAAC;EAEzD,MAAMK,YAAY,GAAGZ,WAAW,CAC7Ba,KAAa,IAAK;IACjB,IAAI;MACFH,YAAY,CAACI,GAAG,CAACN,IAAI,EAAEK,KAAK,CAAC;MAC7BF,eAAe,CAACD,YAAY,CAAC;IAC/B,CAAC,CAAC,OAAOK,KAAK,EAAE;MACdN,YAAY,CAACM,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACP,IAAI,EAAEE,YAAY,EAAED,YAAY,EAAEE,eAAe,CACpD,CAAC;EAED,MAAM;IAAEK;EAAe,CAAC,GAAGf,OAAO,CAACK,EAAE,EAAE;IAAEM;EAAa,CAAC,CAAC;EAExD,MAAMK,QAAQ,GAAGjB,WAAW,CAC1B,MAAMkB,UAAU,CAACR,YAAY,CAACS,GAAG,CAACX,IAAI,CAAC,CAAC,EACxC,CAACA,IAAI,EAAEE,YAAY,CACrB,CAAC;EAEDR,eAAe,CAAC,MAAM;IACpB,MAAMkB,WAAW,GAAGH,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBJ,cAAc,
|
|
1
|
+
{"version":3,"file":"useReactRouter.js","names":["React","useCallback","useStep","useLayoutEffect","window","useEffect","useReactRouter","id","useSearchParams","name","setFormError","searchParams","setSearchParams","onStepChange","index","set","error","setActiveIndex","getIndex","parseFloat","get","routerIndex","isNaN","skipStepChangeCallFromHook","skipStepChangeCallBeforeMounted"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useReactRouter.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport useStep from './useStep'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useReactRouter(\n id: string = null,\n { useSearchParams }\n) {\n const name = id ? `${id}-step` : 'step'\n const { setFormError } = useStep(id)\n const [searchParams, setSearchParams] = useSearchParams()\n\n const onStepChange = useCallback(\n (index: number) => {\n try {\n searchParams.set(name, index)\n setSearchParams(searchParams)\n } catch (error) {\n setFormError(error)\n }\n },\n [name, searchParams, setFormError, setSearchParams]\n )\n\n const { setActiveIndex } = useStep(id, { onStepChange })\n\n const getIndex = useCallback(\n () => parseFloat(searchParams.get(name)),\n [name, searchParams]\n )\n\n useLayoutEffect(() => {\n const routerIndex = getIndex()\n if (!isNaN(routerIndex)) {\n setActiveIndex?.(routerIndex, {\n skipStepChangeCallFromHook: true,\n skipStepChangeCallBeforeMounted: true,\n })\n }\n }, [getIndex, id, searchParams, setActiveIndex, setFormError])\n\n return { getIndex }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,OAAO,MAAM,WAAW;AAG/B,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASG,cAAcA,CACpCC,EAAU,GAAG,IAAI,EACjB;EAAEC;AAAgB,CAAC,EACnB;EACA,MAAMC,IAAI,GAAGF,EAAE,GAAI,GAAEA,EAAG,OAAM,GAAG,MAAM;EACvC,MAAM;IAAEG;EAAa,CAAC,GAAGR,OAAO,CAACK,EAAE,CAAC;EACpC,MAAM,CAACI,YAAY,EAAEC,eAAe,CAAC,GAAGJ,eAAe,CAAC,CAAC;EAEzD,MAAMK,YAAY,GAAGZ,WAAW,CAC7Ba,KAAa,IAAK;IACjB,IAAI;MACFH,YAAY,CAACI,GAAG,CAACN,IAAI,EAAEK,KAAK,CAAC;MAC7BF,eAAe,CAACD,YAAY,CAAC;IAC/B,CAAC,CAAC,OAAOK,KAAK,EAAE;MACdN,YAAY,CAACM,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACP,IAAI,EAAEE,YAAY,EAAED,YAAY,EAAEE,eAAe,CACpD,CAAC;EAED,MAAM;IAAEK;EAAe,CAAC,GAAGf,OAAO,CAACK,EAAE,EAAE;IAAEM;EAAa,CAAC,CAAC;EAExD,MAAMK,QAAQ,GAAGjB,WAAW,CAC1B,MAAMkB,UAAU,CAACR,YAAY,CAACS,GAAG,CAACX,IAAI,CAAC,CAAC,EACxC,CAACA,IAAI,EAAEE,YAAY,CACrB,CAAC;EAEDR,eAAe,CAAC,MAAM;IACpB,MAAMkB,WAAW,GAAGH,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAACI,KAAK,CAACD,WAAW,CAAC,EAAE;MACvBJ,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGI,WAAW,EAAE;QAC5BE,0BAA0B,EAAE,IAAI;QAChCC,+BAA+B,EAAE;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACN,QAAQ,EAAEX,EAAE,EAAEI,YAAY,EAAEM,cAAc,EAAEP,YAAY,CAAC,CAAC;EAE9D,OAAO;IAAEQ;EAAS,CAAC;AACrB"}
|