@dnb/eufemia 10.49.0 → 10.50.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 +38 -0
- package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
- package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
- package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/cjs/components/breadcrumb/BreadcrumbMultiple.js +2 -2
- package/cjs/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
- package/cjs/components/checkbox/CheckboxDocs.js +1 -1
- package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
- package/cjs/elements/ElementDocs.d.ts +2 -0
- package/cjs/elements/ElementDocs.js +35 -0
- package/cjs/elements/ElementDocs.js.map +1 -0
- package/cjs/elements/blockquote/BlockquoteDocs.d.ts +2 -0
- package/cjs/elements/blockquote/BlockquoteDocs.js +25 -0
- package/cjs/elements/blockquote/BlockquoteDocs.js.map +1 -0
- package/cjs/elements/hr/HrDocs.d.ts +2 -0
- package/cjs/elements/hr/HrDocs.js +25 -0
- package/cjs/elements/hr/HrDocs.js.map +1 -0
- package/cjs/elements/img/ImgDocs.d.ts +2 -0
- package/cjs/elements/img/ImgDocs.js +40 -0
- package/cjs/elements/img/ImgDocs.js.map +1 -0
- package/cjs/elements/lists/DlDocs.d.ts +2 -0
- package/cjs/elements/lists/DlDocs.js +21 -0
- package/cjs/elements/lists/DlDocs.js.map +1 -0
- package/cjs/elements/lists/OlDocs.d.ts +2 -0
- package/cjs/elements/lists/OlDocs.js +31 -0
- package/cjs/elements/lists/OlDocs.js.map +1 -0
- package/cjs/elements/lists/UlDocs.d.ts +2 -0
- package/cjs/elements/lists/UlDocs.js +31 -0
- package/cjs/elements/lists/UlDocs.js.map +1 -0
- package/cjs/elements/typography/IngressDocs.d.ts +2 -0
- package/cjs/elements/typography/IngressDocs.js +15 -0
- package/cjs/elements/typography/IngressDocs.js.map +1 -0
- package/cjs/elements/typography/LeadDocs.d.ts +2 -0
- package/cjs/elements/typography/LeadDocs.js +15 -0
- package/cjs/elements/typography/LeadDocs.js.map +1 -0
- package/cjs/elements/typography/PDocs.d.ts +2 -0
- package/cjs/elements/typography/PDocs.js +40 -0
- package/cjs/elements/typography/PDocs.js.map +1 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +18 -7
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +63 -26
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +34 -5
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -3
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +65 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +59 -32
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +3 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +10 -2
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +9 -3
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js +12 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +3 -3
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.d.ts +2 -1
- package/cjs/extensions/forms/Form/data-context/getData.js +6 -1
- package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +4 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +32 -9
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +28 -11
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +19 -7
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +11 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +30 -10
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
- package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
- package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +50 -0
- package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
- package/cjs/extensions/forms/Tools/Log.js +1 -1
- package/cjs/extensions/forms/Tools/Log.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +27 -10
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Number/Number.js +3 -2
- package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -23
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
- package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +33 -0
- package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
- package/cjs/extensions/forms/Value/Selection/Selection.js +2 -1
- package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
- package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +8 -6
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/cjs/extensions/forms/constants/countries.d.ts +1 -0
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -4
- package/cjs/extensions/forms/constants/locales/en-GB.js +8 -7
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -4
- package/cjs/extensions/forms/constants/locales/index.d.ts +10 -8
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
- package/cjs/extensions/forms/constants/locales/nb-NO.js +8 -7
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +138 -46
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +31 -8
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/types.d.ts +13 -6
- package/cjs/extensions/forms/types.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/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -1
- package/cjs/shared/locales/en-US.js +2 -2
- package/cjs/shared/locales/en-US.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-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
- package/components/breadcrumb/BreadcrumbItem.js +3 -3
- package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/components/breadcrumb/BreadcrumbMultiple.js +2 -2
- package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
- package/components/checkbox/CheckboxDocs.js +1 -1
- package/components/checkbox/CheckboxDocs.js.map +1 -1
- package/elements/ElementDocs.d.ts +2 -0
- package/elements/ElementDocs.js +28 -0
- package/elements/ElementDocs.js.map +1 -0
- package/elements/blockquote/BlockquoteDocs.d.ts +2 -0
- package/elements/blockquote/BlockquoteDocs.js +18 -0
- package/elements/blockquote/BlockquoteDocs.js.map +1 -0
- package/elements/hr/HrDocs.d.ts +2 -0
- package/elements/hr/HrDocs.js +18 -0
- package/elements/hr/HrDocs.js.map +1 -0
- package/elements/img/ImgDocs.d.ts +2 -0
- package/elements/img/ImgDocs.js +33 -0
- package/elements/img/ImgDocs.js.map +1 -0
- package/elements/lists/DlDocs.d.ts +2 -0
- package/elements/lists/DlDocs.js +12 -0
- package/elements/lists/DlDocs.js.map +1 -0
- package/elements/lists/OlDocs.d.ts +2 -0
- package/elements/lists/OlDocs.js +22 -0
- package/elements/lists/OlDocs.js.map +1 -0
- package/elements/lists/UlDocs.d.ts +2 -0
- package/elements/lists/UlDocs.js +22 -0
- package/elements/lists/UlDocs.js.map +1 -0
- package/elements/typography/IngressDocs.d.ts +2 -0
- package/elements/typography/IngressDocs.js +6 -0
- package/elements/typography/IngressDocs.js.map +1 -0
- package/elements/typography/LeadDocs.d.ts +2 -0
- package/elements/typography/LeadDocs.js +6 -0
- package/elements/typography/LeadDocs.js.map +1 -0
- package/elements/typography/PDocs.d.ts +2 -0
- package/elements/typography/PDocs.js +33 -0
- package/elements/typography/PDocs.js.map +1 -0
- package/es/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
- package/es/components/breadcrumb/BreadcrumbItem.js +3 -3
- package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/es/components/breadcrumb/BreadcrumbMultiple.js +2 -2
- package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
- package/es/components/checkbox/CheckboxDocs.js +1 -1
- package/es/components/checkbox/CheckboxDocs.js.map +1 -1
- package/es/elements/ElementDocs.d.ts +2 -0
- package/es/elements/ElementDocs.js +28 -0
- package/es/elements/ElementDocs.js.map +1 -0
- package/es/elements/blockquote/BlockquoteDocs.d.ts +2 -0
- package/es/elements/blockquote/BlockquoteDocs.js +18 -0
- package/es/elements/blockquote/BlockquoteDocs.js.map +1 -0
- package/es/elements/hr/HrDocs.d.ts +2 -0
- package/es/elements/hr/HrDocs.js +18 -0
- package/es/elements/hr/HrDocs.js.map +1 -0
- package/es/elements/img/ImgDocs.d.ts +2 -0
- package/es/elements/img/ImgDocs.js +33 -0
- package/es/elements/img/ImgDocs.js.map +1 -0
- package/es/elements/lists/DlDocs.d.ts +2 -0
- package/es/elements/lists/DlDocs.js +12 -0
- package/es/elements/lists/DlDocs.js.map +1 -0
- package/es/elements/lists/OlDocs.d.ts +2 -0
- package/es/elements/lists/OlDocs.js +22 -0
- package/es/elements/lists/OlDocs.js.map +1 -0
- package/es/elements/lists/UlDocs.d.ts +2 -0
- package/es/elements/lists/UlDocs.js +22 -0
- package/es/elements/lists/UlDocs.js.map +1 -0
- package/es/elements/typography/IngressDocs.d.ts +2 -0
- package/es/elements/typography/IngressDocs.js +6 -0
- package/es/elements/typography/IngressDocs.js.map +1 -0
- package/es/elements/typography/LeadDocs.d.ts +2 -0
- package/es/elements/typography/LeadDocs.js +6 -0
- package/es/elements/typography/LeadDocs.js.map +1 -0
- package/es/elements/typography/PDocs.d.ts +2 -0
- package/es/elements/typography/PDocs.js +33 -0
- package/es/elements/typography/PDocs.js.map +1 -0
- package/es/extensions/forms/DataContext/Context.d.ts +18 -7
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +61 -26
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +35 -6
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -4
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +63 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +50 -21
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +3 -1
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js +10 -2
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.js +9 -3
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
- package/es/extensions/forms/Form/Visibility/VisibilityContext.js +6 -0
- package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +3 -3
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/getData.d.ts +2 -1
- package/es/extensions/forms/Form/data-context/getData.js +6 -1
- package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +4 -1
- package/es/extensions/forms/Form/data-context/useData.js +31 -9
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +29 -12
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/types.d.ts +1 -0
- package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +15 -5
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +12 -2
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +31 -11
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
- package/es/extensions/forms/Iterate/hooks/index.js +1 -0
- package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
- package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
- package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +43 -0
- package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
- package/es/extensions/forms/Tools/Log.js +1 -1
- package/es/extensions/forms/Tools/Log.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +26 -9
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/es/extensions/forms/Value/Number/Number.js +3 -2
- package/es/extensions/forms/Value/Number/Number.js.map +1 -1
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -22
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
- package/es/extensions/forms/Value/SelectCountry/useCountry.js +27 -0
- package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
- package/es/extensions/forms/Value/Selection/Selection.js +2 -1
- package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Value/ValueDocs.js +5 -0
- package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +8 -6
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/es/extensions/forms/constants/countries.d.ts +1 -0
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -4
- package/es/extensions/forms/constants/locales/en-GB.js +8 -7
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +5 -4
- package/es/extensions/forms/constants/locales/index.d.ts +10 -8
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
- package/es/extensions/forms/constants/locales/nb-NO.js +8 -7
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +131 -42
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +32 -9
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/types.d.ts +13 -6
- package/es/extensions/forms/types.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/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -1
- package/es/shared/locales/en-US.js +2 -2
- package/es/shared/locales/en-US.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-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +18 -7
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +63 -26
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +35 -6
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -4
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +63 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +59 -33
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +3 -1
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js +10 -2
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.js +9 -3
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
- package/extensions/forms/Form/Visibility/VisibilityContext.js +6 -0
- package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +3 -3
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Form/data-context/getData.d.ts +2 -1
- package/extensions/forms/Form/data-context/getData.js +6 -1
- package/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +4 -1
- package/extensions/forms/Form/data-context/useData.js +32 -9
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +29 -12
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/Array/types.d.ts +1 -0
- package/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/CancelButton.js +18 -7
- package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButton.js +12 -2
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +31 -11
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
- package/extensions/forms/Iterate/hooks/index.js +1 -0
- package/extensions/forms/Iterate/hooks/index.js.map +1 -1
- package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
- package/extensions/forms/Iterate/hooks/useArrayLimit.js +44 -0
- package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
- package/extensions/forms/Tools/Log.js +1 -1
- package/extensions/forms/Tools/Log.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
- package/extensions/forms/Value/ArraySelection/ArraySelection.js +27 -10
- package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/extensions/forms/Value/Number/Number.js +3 -2
- package/extensions/forms/Value/Number/Number.js.map +1 -1
- package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
- package/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -22
- package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
- package/extensions/forms/Value/SelectCountry/useCountry.js +27 -0
- package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
- package/extensions/forms/Value/Selection/Selection.js +2 -1
- package/extensions/forms/Value/Selection/Selection.js.map +1 -1
- package/extensions/forms/Value/ValueDocs.js +5 -0
- package/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +8 -6
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/extensions/forms/constants/countries.d.ts +1 -0
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +5 -4
- package/extensions/forms/constants/locales/en-GB.js +8 -7
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +5 -4
- package/extensions/forms/constants/locales/index.d.ts +10 -8
- package/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
- package/extensions/forms/constants/locales/nb-NO.js +8 -7
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +136 -46
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.js +32 -9
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/types.d.ts +13 -6
- package/extensions/forms/types.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -1
- package/shared/locales/en-US.js +2 -2
- package/shared/locales/en-US.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-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -25
- package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -19
- package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -19
- package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
|
@@ -14,11 +14,18 @@ var _ToolbarContext = _interopRequireDefault(require("../Toolbar/ToolbarContext"
|
|
|
14
14
|
var _FieldBoundaryContext = _interopRequireDefault(require("../../DataContext/FieldBoundary/FieldBoundaryContext"));
|
|
15
15
|
var _icons = require("../../../../icons");
|
|
16
16
|
var _RemoveButton = _interopRequireDefault(require("../RemoveButton"));
|
|
17
|
+
const _excluded = ["onClick"];
|
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
21
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
22
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
23
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
21
24
|
function EditToolbarTools(props) {
|
|
25
|
+
const {
|
|
26
|
+
onClick
|
|
27
|
+
} = props,
|
|
28
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
22
29
|
const {
|
|
23
30
|
restoreOriginalValue,
|
|
24
31
|
switchContainerMode,
|
|
@@ -49,7 +56,11 @@ function EditToolbarTools(props) {
|
|
|
49
56
|
valueBackupRef.current = null;
|
|
50
57
|
}
|
|
51
58
|
}, [arrayValue, containerMode, index]);
|
|
52
|
-
const cancelHandler = (0, _react.useCallback)(
|
|
59
|
+
const cancelHandler = (0, _react.useCallback)(_ref => {
|
|
60
|
+
let {
|
|
61
|
+
event
|
|
62
|
+
} = _ref;
|
|
63
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
53
64
|
if (hasError && initialContainerMode === 'auto') {
|
|
54
65
|
setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(true);
|
|
55
66
|
if (hasVisibleError) {
|
|
@@ -61,7 +72,7 @@ function EditToolbarTools(props) {
|
|
|
61
72
|
setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(false);
|
|
62
73
|
switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view');
|
|
63
74
|
}
|
|
64
|
-
}, [hasError, hasVisibleError, initialContainerMode, restoreOriginalValue, setShowBoundaryErrors, setShowError, switchContainerMode]);
|
|
75
|
+
}, [hasError, hasVisibleError, initialContainerMode, onClick, restoreOriginalValue, setShowBoundaryErrors, setShowError, switchContainerMode]);
|
|
65
76
|
const wasNew = useWasNew({
|
|
66
77
|
isNew,
|
|
67
78
|
containerMode
|
|
@@ -71,21 +82,22 @@ function EditToolbarTools(props) {
|
|
|
71
82
|
}
|
|
72
83
|
if (wasNew) {
|
|
73
84
|
return _react.default.createElement(_RemoveButton.default, _extends({
|
|
74
|
-
text: removeButton
|
|
75
|
-
|
|
85
|
+
text: removeButton,
|
|
86
|
+
onClick: onClick
|
|
87
|
+
}, rest));
|
|
76
88
|
}
|
|
77
89
|
return _react.default.createElement(_components.Button, _extends({
|
|
78
90
|
variant: "tertiary",
|
|
79
91
|
icon: _icons.close,
|
|
80
92
|
icon_position: "left",
|
|
81
93
|
on_click: cancelHandler
|
|
82
|
-
},
|
|
94
|
+
}, rest), cancelButton);
|
|
83
95
|
}
|
|
84
|
-
function useWasNew(
|
|
96
|
+
function useWasNew(_ref2) {
|
|
85
97
|
let {
|
|
86
98
|
isNew,
|
|
87
99
|
containerMode
|
|
88
|
-
} =
|
|
100
|
+
} = _ref2;
|
|
89
101
|
const wasNewRef = (0, _react.useRef)(isNew);
|
|
90
102
|
(0, _react.useEffect)(() => {
|
|
91
103
|
if (containerMode === 'view') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CancelButton.js","names":["_react","_interopRequireWildcard","require","_components","_useTranslation","_interopRequireDefault","_IterateItemContext","_ToolbarContext","_FieldBoundaryContext","_icons","_RemoveButton","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","EditToolbarTools","props","restoreOriginalValue","switchContainerMode","containerMode","initialContainerMode","arrayValue","isNew","index","useContext","IterateItemContext","hasError","hasVisibleError","setShowBoundaryErrors","FieldBoundaryContext","setShowError","ToolbarContext","cancelButton","removeButton","useTranslation","IterateEditContainer","valueBackupRef","useRef","useEffect","current","cancelHandler","useCallback","wasNew","useWasNew","createElement","Fragment","text","Button","variant","icon","close","icon_position","on_click","
|
|
1
|
+
{"version":3,"file":"CancelButton.js","names":["_react","_interopRequireWildcard","require","_components","_useTranslation","_interopRequireDefault","_IterateItemContext","_ToolbarContext","_FieldBoundaryContext","_icons","_RemoveButton","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","EditToolbarTools","props","onClick","rest","restoreOriginalValue","switchContainerMode","containerMode","initialContainerMode","arrayValue","isNew","index","useContext","IterateItemContext","hasError","hasVisibleError","setShowBoundaryErrors","FieldBoundaryContext","setShowError","ToolbarContext","cancelButton","removeButton","useTranslation","IterateEditContainer","valueBackupRef","useRef","useEffect","current","cancelHandler","useCallback","_ref","event","wasNew","useWasNew","createElement","Fragment","text","Button","variant","icon","close","icon_position","on_click","_ref2","wasNewRef"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/CancelButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport { Button } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport ToolbarContext from '../Toolbar/ToolbarContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { close } from '../../../../icons'\nimport { ButtonProps } from '../../../../components/Button'\nimport RemoveButton, { Props as RemoveButtonProps } from '../RemoveButton'\nimport { ContainerMode } from '../Array'\n\ntype Props = ButtonProps\n\nexport default function EditToolbarTools(props: Props) {\n const { onClick, ...rest } = props\n const {\n restoreOriginalValue,\n switchContainerMode,\n containerMode,\n initialContainerMode,\n arrayValue,\n isNew,\n index,\n } = useContext(IterateItemContext) || {}\n const { hasError, hasVisibleError, setShowBoundaryErrors } =\n useContext(FieldBoundaryContext) || {}\n const { setShowError } = useContext(ToolbarContext) || {}\n\n const { cancelButton, removeButton } =\n useTranslation().IterateEditContainer\n const valueBackupRef = useRef<unknown>()\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const cancelHandler = useCallback(\n ({ event }: { event: React.MouseEvent<HTMLButtonElement> }) => {\n onClick?.(event)\n if (hasError && initialContainerMode === 'auto') {\n setShowBoundaryErrors?.(true)\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n restoreOriginalValue?.(valueBackupRef.current)\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n }\n },\n [\n hasError,\n hasVisibleError,\n initialContainerMode,\n onClick,\n restoreOriginalValue,\n setShowBoundaryErrors,\n setShowError,\n switchContainerMode,\n ]\n )\n\n const wasNew = useWasNew({ isNew, containerMode })\n\n if (containerMode === 'edit' && arrayValue?.length === 0) {\n return <></>\n }\n\n if (wasNew) {\n return (\n <RemoveButton\n text={removeButton}\n onClick={onClick}\n {...(rest as RemoveButtonProps)}\n />\n )\n }\n\n return (\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n {...rest}\n >\n {cancelButton}\n </Button>\n )\n}\n\nexport function useWasNew({\n isNew,\n containerMode,\n}: {\n isNew: boolean\n containerMode: ContainerMode\n}) {\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n return wasNewRef.current\n}\n"],"mappings":"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"}
|
|
@@ -69,8 +69,8 @@ function EditContainerWithoutToolbar(props) {
|
|
|
69
69
|
});
|
|
70
70
|
let itemTitle = wasNew && titleWhenNew ? titleWhenNew : title;
|
|
71
71
|
let ariaLabel = (0, _react.useMemo)(() => (0, _componentHelper.convertJsxToString)(itemTitle), [itemTitle]);
|
|
72
|
-
if (ariaLabel.includes('{
|
|
73
|
-
itemTitle = ariaLabel = ariaLabel.replace(
|
|
72
|
+
if (ariaLabel.includes('{itemN')) {
|
|
73
|
+
itemTitle = ariaLabel = ariaLabel.replace(/\{itemN(r|o)\}/g, String(index + 1));
|
|
74
74
|
}
|
|
75
75
|
(0, _hooks.useSwitchContainerMode)({
|
|
76
76
|
path
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditContainer.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_elements","_IterateItemContext","_ArrayItemArea","_Toolbar2","_hooks","_DoneButton","_CancelButton","_Toolbar","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","EditContainer","props","_toolbarElement","toolbar","toolbarVariant","children","rest","arrayValue","useContext","IterateItemContext","toolbarElement","createElement","Fragment","hasToolbar","React","Children","toArray","some","child","Toolbar","EditContainerWithoutToolbar","containerMode","isNew","index","path","_ref","className","title","titleWhenNew","restProps","wasNew","useWasNew","itemTitle","ariaLabel","useMemo","convertJsxToString","includes","replace","useSwitchContainerMode","mode","classnames","Lead","size","DoneButton","CancelButton","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateItemContext from '../IterateItemContext'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport Toolbar from '../Toolbar'\nimport { useSwitchContainerMode } from '../hooks'\nimport DoneButton from './DoneButton'\nimport CancelButton, { useWasNew } from './CancelButton'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n */\n open?: boolean\n\n /**\n * An alternative toolbar to be shown in the EditContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nexport default function EditContainer(props: AllProps) {\n const { toolbar, toolbarVariant, children, ...rest } = props\n const { arrayValue } = useContext(IterateItemContext)\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = <></>\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <EditContainerWithoutToolbar\n toolbar={\n hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <DoneButton />\n <CancelButton />\n </Toolbar>\n )\n }\n {...rest}\n >\n {children}\n </EditContainerWithoutToolbar>\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const { containerMode, isNew, index, path } =\n useContext(IterateItemContext)\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNew = useWasNew({ isNew, containerMode })\n let itemTitle = wasNew && titleWhenNew ? titleWhenNew : title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{
|
|
1
|
+
{"version":3,"file":"EditContainer.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_elements","_IterateItemContext","_ArrayItemArea","_Toolbar2","_hooks","_DoneButton","_CancelButton","_Toolbar","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","EditContainer","props","_toolbarElement","toolbar","toolbarVariant","children","rest","arrayValue","useContext","IterateItemContext","toolbarElement","createElement","Fragment","hasToolbar","React","Children","toArray","some","child","Toolbar","EditContainerWithoutToolbar","containerMode","isNew","index","path","_ref","className","title","titleWhenNew","restProps","wasNew","useWasNew","itemTitle","ariaLabel","useMemo","convertJsxToString","includes","replace","String","useSwitchContainerMode","mode","classnames","Lead","size","DoneButton","CancelButton","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateItemContext from '../IterateItemContext'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport Toolbar from '../Toolbar'\nimport { useSwitchContainerMode } from '../hooks'\nimport DoneButton from './DoneButton'\nimport CancelButton, { useWasNew } from './CancelButton'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n */\n open?: boolean\n\n /**\n * An alternative toolbar to be shown in the EditContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nexport default function EditContainer(props: AllProps) {\n const { toolbar, toolbarVariant, children, ...rest } = props\n const { arrayValue } = useContext(IterateItemContext)\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = <></>\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <EditContainerWithoutToolbar\n toolbar={\n hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <DoneButton />\n <CancelButton />\n </Toolbar>\n )\n }\n {...rest}\n >\n {children}\n </EditContainerWithoutToolbar>\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const { containerMode, isNew, index, path } =\n useContext(IterateItemContext)\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNew = useWasNew({ isNew, containerMode })\n let itemTitle = wasNew && titleWhenNew ? titleWhenNew : title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{itemN')) {\n /**\n * {itemNr} is deprecated, and can be removed in v11 in favor of {itemNo}\n * So in v11 we can use '{itemNo}' instead of a regex\n */\n itemTitle = ariaLabel = ariaLabel.replace(\n /\\{itemN(r|o)\\}/g,\n String(index + 1)\n )\n }\n\n useSwitchContainerMode({ path })\n\n return (\n <ArrayItemArea\n mode=\"edit\"\n className={classnames('dnb-forms-section-edit-block', className)}\n ariaLabel={ariaLabel}\n {...restProps}\n >\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {toolbar}\n </ArrayItemArea>\n )\n}\n\nEditContainer.DoneButton = DoneButton\nEditContainer.CancelButton = CancelButton\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -40,6 +40,12 @@ function PushButton(props) {
|
|
|
40
40
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
41
41
|
const buttonProps = (0, _types.omitDataValueReadWriteProps)(restProps);
|
|
42
42
|
const arrayValue = (0, _useDataValue.default)().getValueByPath(path);
|
|
43
|
+
const {
|
|
44
|
+
hasReachedLimit,
|
|
45
|
+
setShowStatus
|
|
46
|
+
} = (0, _hooks.useArrayLimit)({
|
|
47
|
+
path
|
|
48
|
+
});
|
|
43
49
|
if (arrayValue !== undefined && !Array.isArray(arrayValue)) {
|
|
44
50
|
throw new Error('PushButton received a non-array value');
|
|
45
51
|
}
|
|
@@ -49,6 +55,10 @@ function PushButton(props) {
|
|
|
49
55
|
path
|
|
50
56
|
});
|
|
51
57
|
const handleClick = (0, _react.useCallback)(async () => {
|
|
58
|
+
if (hasReachedLimit) {
|
|
59
|
+
setShowStatus(true);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
52
62
|
const newValue = typeof pushValue === 'function' ? pushValue(arrayValue) : pushValue;
|
|
53
63
|
if (handlePush) {
|
|
54
64
|
handlePush(newValue);
|
|
@@ -58,7 +68,7 @@ function PushButton(props) {
|
|
|
58
68
|
setTimeout(() => {
|
|
59
69
|
setLastItemContainerMode('view');
|
|
60
70
|
}, 100);
|
|
61
|
-
}, [handlePathChange, handlePush, path, pushValue, setLastItemContainerMode,
|
|
71
|
+
}, [arrayValue, handlePathChange, handlePush, hasReachedLimit, path, pushValue, setLastItemContainerMode, setShowStatus]);
|
|
62
72
|
const content = (0, _react.useMemo)(() => {
|
|
63
73
|
if (children || text) {
|
|
64
74
|
const str = (0, _componentHelper.convertJsxToString)(children || text);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_IterateItemContext","_hooks","_types","_icons","_Context","_useDataValue","_componentHelper","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","PushButton","props","handlePathChange","useContext","DataContext","iterateItemContext","IterateItemContext","handlePush","pushValue","className","path","text","children","restProps","buttonProps","omitDataValueReadWriteProps","arrayValue","useDataValue","getValueByPath","undefined","Array","isArray","Error","setLastItemContainerMode","useSwitchContainerMode","handleClick","useCallback","newValue","setTimeout","content","useMemo","str","convertJsxToString","includes","nextItemNo","replace","String","createElement","Button","classnames","variant","icon","add","icon_position","on_click","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport { useSwitchContainerMode } from '../hooks'\nimport { omitDataValueReadWriteProps, Path } from '../../types'\nimport { add } from '../../../../icons'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { convertJsxToString } from '../../../../shared/component-helper'\n\nexport type Props = ButtonProps & {\n path?: Path\n pushValue: unknown | ((value: unknown) => void)\n\n /**\n * Used internally\n */\n value?: unknown\n}\n\nfunction PushButton(props: Props) {\n const { handlePathChange } = useContext(DataContext) || {}\n const iterateItemContext = useContext(IterateItemContext)\n const { handlePush } = iterateItemContext ?? {}\n\n const { pushValue, className, path, text, children, ...restProps } =\n props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const arrayValue = useDataValue().getValueByPath(path)\n\n if (arrayValue !== undefined && !Array.isArray(arrayValue)) {\n throw new Error('PushButton received a non-array value')\n }\n\n const { setLastItemContainerMode } = useSwitchContainerMode({\n path,\n })\n\n const handleClick = useCallback(async () => {\n const newValue =\n typeof pushValue === 'function' ? pushValue(arrayValue) : pushValue\n\n if (handlePush) {\n // Inside an Iterate element - make the change through the Iterate component\n handlePush(newValue)\n } else {\n // If not inside an iterate, it could still manipulate a source data set through useFieldProps\n await handlePathChange?.(path, [...(arrayValue ?? []), newValue])\n }\n\n setTimeout(() => {\n setLastItemContainerMode('view')\n }, 100) // UX improvement because of the \"openDelay\"\n }, [\n handlePathChange,\n handlePush,\n path,\n pushValue,\n setLastItemContainerMode,\n
|
|
1
|
+
{"version":3,"file":"PushButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_IterateItemContext","_hooks","_types","_icons","_Context","_useDataValue","_componentHelper","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","PushButton","props","handlePathChange","useContext","DataContext","iterateItemContext","IterateItemContext","handlePush","pushValue","className","path","text","children","restProps","buttonProps","omitDataValueReadWriteProps","arrayValue","useDataValue","getValueByPath","hasReachedLimit","setShowStatus","useArrayLimit","undefined","Array","isArray","Error","setLastItemContainerMode","useSwitchContainerMode","handleClick","useCallback","newValue","setTimeout","content","useMemo","str","convertJsxToString","includes","nextItemNo","replace","String","createElement","Button","classnames","variant","icon","add","icon_position","on_click","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/PushButton/PushButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport { useArrayLimit, useSwitchContainerMode } from '../hooks'\nimport { omitDataValueReadWriteProps, Path } from '../../types'\nimport { add } from '../../../../icons'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { convertJsxToString } from '../../../../shared/component-helper'\n\nexport type Props = ButtonProps & {\n path?: Path\n pushValue: unknown | ((value: unknown) => void)\n\n /**\n * Used internally\n */\n value?: unknown\n}\n\nfunction PushButton(props: Props) {\n const { handlePathChange } = useContext(DataContext) || {}\n const iterateItemContext = useContext(IterateItemContext)\n const { handlePush } = iterateItemContext ?? {}\n\n const { pushValue, className, path, text, children, ...restProps } =\n props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const arrayValue = useDataValue().getValueByPath(path)\n const { hasReachedLimit, setShowStatus } = useArrayLimit({\n path,\n })\n\n if (arrayValue !== undefined && !Array.isArray(arrayValue)) {\n throw new Error('PushButton received a non-array value')\n }\n\n const { setLastItemContainerMode } = useSwitchContainerMode({\n path,\n })\n\n const handleClick = useCallback(async () => {\n if (hasReachedLimit) {\n setShowStatus(true)\n return // stop here\n }\n\n const newValue =\n typeof pushValue === 'function' ? pushValue(arrayValue) : pushValue\n\n if (handlePush) {\n // Inside an Iterate element - make the change through the Iterate component\n handlePush(newValue)\n } else {\n // If not inside an iterate, it could still manipulate a source data set through useFieldProps\n await handlePathChange?.(path, [...(arrayValue ?? []), newValue])\n }\n\n setTimeout(() => {\n setLastItemContainerMode('view')\n }, 100) // UX improvement because of the \"openDelay\"\n }, [\n arrayValue,\n handlePathChange,\n handlePush,\n hasReachedLimit,\n path,\n pushValue,\n setLastItemContainerMode,\n setShowStatus,\n ])\n\n const content = useMemo(() => {\n if (children || text) {\n const str = convertJsxToString(children || text)\n\n if (str.includes('{nextItemNo}')) {\n const nextItemNo = (arrayValue?.length || 0) + 1\n return str.replace('{nextItemNo}', String(nextItemNo))\n }\n }\n\n return children || text\n }, [arrayValue?.length, children, text])\n\n return (\n <Button\n className={classnames('dnb-forms-iterate-push-button', className)}\n variant=\"secondary\"\n icon={add}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {content}\n </Button>\n )\n}\n\nPushButton._supportsSpacingProps = true\nexport default PushButton\n"],"mappings":"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"}
|
|
@@ -18,9 +18,8 @@ var _components = require("../../../../components");
|
|
|
18
18
|
var _hooks = require("../hooks");
|
|
19
19
|
var _Toolbar = _interopRequireDefault(require("../Toolbar"));
|
|
20
20
|
var _hooks2 = require("../../hooks");
|
|
21
|
-
var _CancelButton;
|
|
22
21
|
const _excluded = ["data", "path", "title", "children", "openButton", "showOpenButtonWhen"],
|
|
23
|
-
_excluded2 = ["title", "openButton", "showOpenButton", "switchContainerModeRef", "children"];
|
|
22
|
+
_excluded2 = ["title", "openButton", "showOpenButton", "switchContainerModeRef", "cancelHandler", "children"];
|
|
24
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
26
25
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -55,6 +54,17 @@ function PushContainer(props) {
|
|
|
55
54
|
} = (0, _hooks.useSwitchContainerMode)({
|
|
56
55
|
path
|
|
57
56
|
});
|
|
57
|
+
const {
|
|
58
|
+
hasReachedLimit,
|
|
59
|
+
setShowStatus
|
|
60
|
+
} = (0, _hooks.useArrayLimit)({
|
|
61
|
+
path
|
|
62
|
+
});
|
|
63
|
+
const cancelHandler = (0, _react.useCallback)(() => {
|
|
64
|
+
if (hasReachedLimit) {
|
|
65
|
+
setShowStatus(false);
|
|
66
|
+
}
|
|
67
|
+
}, [hasReachedLimit, setShowStatus]);
|
|
58
68
|
const showOpenButton = showOpenButtonWhen === null || showOpenButtonWhen === void 0 ? void 0 : showOpenButtonWhen(entries);
|
|
59
69
|
const newItemContextProps = {
|
|
60
70
|
path,
|
|
@@ -78,13 +88,19 @@ function PushContainer(props) {
|
|
|
78
88
|
return moveValueToPath(path, [...entries, ...newItems]);
|
|
79
89
|
},
|
|
80
90
|
onCommit: (data, _ref2) => {
|
|
81
|
-
var _switchContainerModeR;
|
|
82
91
|
let {
|
|
83
|
-
clearData
|
|
92
|
+
clearData,
|
|
93
|
+
preventCommit
|
|
84
94
|
} = _ref2;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
95
|
+
if (hasReachedLimit) {
|
|
96
|
+
preventCommit();
|
|
97
|
+
setShowStatus(true);
|
|
98
|
+
} else {
|
|
99
|
+
var _switchContainerModeR;
|
|
100
|
+
setNextContainerMode('view');
|
|
101
|
+
(_switchContainerModeR = switchContainerModeRef.current) === null || _switchContainerModeR === void 0 ? void 0 : _switchContainerModeR.call(switchContainerModeRef, 'view');
|
|
102
|
+
clearData();
|
|
103
|
+
}
|
|
88
104
|
}
|
|
89
105
|
}, _react.default.createElement(_PushContainerContext.default.Provider, {
|
|
90
106
|
value: newItemContextProps
|
|
@@ -95,16 +111,18 @@ function PushContainer(props) {
|
|
|
95
111
|
title: title,
|
|
96
112
|
openButton: openButton,
|
|
97
113
|
switchContainerModeRef: switchContainerModeRef,
|
|
98
|
-
showOpenButton: showOpenButton
|
|
114
|
+
showOpenButton: showOpenButton,
|
|
115
|
+
cancelHandler: cancelHandler
|
|
99
116
|
}, rest), children))));
|
|
100
117
|
}
|
|
101
118
|
function NewContainer(_ref3) {
|
|
102
|
-
var _DoneButton;
|
|
119
|
+
var _DoneButton, _CancelButton;
|
|
103
120
|
let {
|
|
104
121
|
title,
|
|
105
122
|
openButton,
|
|
106
123
|
showOpenButton,
|
|
107
124
|
switchContainerModeRef,
|
|
125
|
+
cancelHandler,
|
|
108
126
|
children
|
|
109
127
|
} = _ref3,
|
|
110
128
|
rest = _objectWithoutProperties(_ref3, _excluded2);
|
|
@@ -132,7 +150,9 @@ function NewContainer(_ref3) {
|
|
|
132
150
|
gap: "large"
|
|
133
151
|
}, _DoneButton || (_DoneButton = _react.default.createElement(_EditContainer.DoneButton, {
|
|
134
152
|
text: createButton
|
|
135
|
-
})), showOpenButton && (_CancelButton || (_CancelButton = _react.default.createElement(_EditContainer.CancelButton,
|
|
153
|
+
})), showOpenButton && (_CancelButton || (_CancelButton = _react.default.createElement(_EditContainer.CancelButton, {
|
|
154
|
+
onClick: cancelHandler
|
|
155
|
+
})))));
|
|
136
156
|
}));
|
|
137
157
|
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_EditContainer.default, _extends({
|
|
138
158
|
open: !showOpenButton || containerMode === 'edit',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushContainer.js","names":["_react","_interopRequireWildcard","require","_Isolation","_interopRequireDefault","_PushContainerContext","_IterateItemContext","_Context","_useDataValue","_EditContainer","_Array","_OpenButton","_components","_hooks","_Toolbar","_hooks2","_CancelButton","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","PushContainer","props","data","path","title","children","openButton","showOpenButtonWhen","rest","commitHandleRef","useRef","switchContainerModeRef","entries","moveValueToPath","useDataValue","setNextContainerMode","useSwitchContainerMode","showOpenButton","newItemContextProps","switchContainerMode","current","defaultData","useMemo","newItems","createElement","emptyData","transformOnCommit","_ref","onCommit","_ref2","_switchContainerModeR","clearData","Provider","containerMode","NewContainer","_ref3","_DoneButton","useContext","IterateItemContext","createButton","useTranslation","IteratePushContainer","DataContext","restoreOriginalValue","useCallback","toolbar","Consumer","context","Flex","Horizontal","gap","DoneButton","text","CancelButton","Fragment","open","HeightAnimation","OpenButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, { CancelButton, DoneButton } from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport { Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport { useSwitchContainerMode } from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\nimport { ArrayItemAreaProps } from '../Array/ArrayItemArea'\n\nexport type Props = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields.\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps & ArrayItemAreaProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data = null,\n path,\n title,\n children,\n openButton,\n showOpenButtonWhen,\n ...rest\n } = props\n\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const { value: entries = [], moveValueToPath } = useDataValue<\n Array<unknown>\n >({ path })\n\n const { setNextContainerMode } = useSwitchContainerMode({ path })\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const defaultData = useMemo(() => {\n return { newItems: [data] }\n }, [data])\n\n return (\n <Isolation\n defaultData={defaultData}\n emptyData={defaultData}\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ newItems }) => {\n return moveValueToPath(path, [...entries, ...newItems])\n }}\n onCommit={(data, { clearData }) => {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/newItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n switchContainerModeRef,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n switchContainerModeRef.current = switchContainerMode\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && <CancelButton />}\n </Flex.Horizontal>\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n toolbar={toolbar}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PushContainer.js","names":["_react","_interopRequireWildcard","require","_Isolation","_interopRequireDefault","_PushContainerContext","_IterateItemContext","_Context","_useDataValue","_EditContainer","_Array","_OpenButton","_components","_hooks","_Toolbar","_hooks2","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","PushContainer","props","data","path","title","children","openButton","showOpenButtonWhen","rest","commitHandleRef","useRef","switchContainerModeRef","entries","moveValueToPath","useDataValue","setNextContainerMode","useSwitchContainerMode","hasReachedLimit","setShowStatus","useArrayLimit","cancelHandler","useCallback","showOpenButton","newItemContextProps","switchContainerMode","current","defaultData","useMemo","newItems","createElement","emptyData","transformOnCommit","_ref","onCommit","_ref2","clearData","preventCommit","_switchContainerModeR","Provider","containerMode","NewContainer","_ref3","_DoneButton","_CancelButton","useContext","IterateItemContext","createButton","useTranslation","IteratePushContainer","DataContext","restoreOriginalValue","toolbar","Consumer","context","Flex","Horizontal","gap","DoneButton","text","CancelButton","onClick","Fragment","open","HeightAnimation","OpenButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, { CancelButton, DoneButton } from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport { Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport { useArrayLimit, useSwitchContainerMode } from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\nimport { ArrayItemAreaProps } from '../Array/ArrayItemArea'\n\nexport type Props = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields.\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps & ArrayItemAreaProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data = null,\n path,\n title,\n children,\n openButton,\n showOpenButtonWhen,\n ...rest\n } = props\n\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const { value: entries = [], moveValueToPath } = useDataValue<\n Array<unknown>\n >({ path })\n\n const { setNextContainerMode } = useSwitchContainerMode({ path })\n const { hasReachedLimit, setShowStatus } = useArrayLimit({\n path,\n })\n const cancelHandler = useCallback(() => {\n if (hasReachedLimit) {\n setShowStatus(false)\n }\n }, [hasReachedLimit, setShowStatus])\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const defaultData = useMemo(() => {\n return { newItems: [data] }\n }, [data])\n\n return (\n <Isolation\n defaultData={defaultData}\n emptyData={defaultData}\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ newItems }) => {\n return moveValueToPath(path, [...entries, ...newItems])\n }}\n onCommit={(data, { clearData, preventCommit }) => {\n if (hasReachedLimit) {\n preventCommit()\n setShowStatus(true)\n } else {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/newItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n cancelHandler={cancelHandler}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n switchContainerModeRef,\n cancelHandler,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n switchContainerModeRef.current = switchContainerMode\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && (\n <CancelButton onClick={cancelHandler} />\n )}\n </Flex.Horizontal>\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n toolbar={toolbar}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,mBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,QAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,cAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,WAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAGA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAA4C,MAAAc,SAAA;EAAAC,UAAA;AAAA,SAAAb,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAArB,wBAAAiB,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,2BAAA/B,GAAA,gBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,SAAA,IAAAA,QAAA,GAAA9C,MAAA,CAAA+C,MAAA,GAAA/C,MAAA,CAAA+C,MAAA,CAAAC,IAAA,eAAA3B,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAnB,GAAA,IAAAsB,MAAA,QAAAzB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,KAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,gBAAAkB,MAAA,YAAAyB,QAAA,CAAA3B,KAAA,OAAAI,SAAA;AAAA,SAAA0B,yBAAAxB,MAAA,EAAAyB,QAAA,QAAAzB,MAAA,yBAAAJ,MAAA,GAAA8B,6BAAA,CAAA1B,MAAA,EAAAyB,QAAA,OAAA/C,GAAA,EAAAmB,CAAA,MAAAtB,MAAA,CAAAa,qBAAA,QAAAuC,gBAAA,GAAApD,MAAA,CAAAa,qBAAA,CAAAY,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA8B,gBAAA,CAAA5B,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAiD,gBAAA,CAAA9B,CAAA,OAAA4B,QAAA,CAAAG,OAAA,CAAAlD,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAkD,oBAAA,CAAAhD,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,aAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,cAAAkB,MAAA;AAAA,SAAA8B,8BAAA1B,MAAA,EAAAyB,QAAA,QAAAzB,MAAA,yBAAAJ,MAAA,WAAAkC,UAAA,GAAAvD,MAAA,CAAAY,IAAA,CAAAa,MAAA,OAAAtB,GAAA,EAAAmB,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAiC,UAAA,CAAA/B,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAoD,UAAA,CAAAjC,CAAA,OAAA4B,QAAA,CAAAG,OAAA,CAAAlD,GAAA,kBAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,YAAAkB,MAAA;AA2C5C,SAASmC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAM;MACJC,IAAI,GAAG,IAAI;MACXC,IAAI;MACJC,KAAK;MACLC,QAAQ;MACRC,UAAU;MACVC;IAEF,CAAC,GAAGN,KAAK;IADJO,IAAI,GAAAf,wBAAA,CACLQ,KAAK,EAAAxE,SAAA;EAET,MAAMgF,eAAe,GAAG,IAAAC,aAAM,EAAa,CAAC;EAC5C,MAAMC,sBAAsB,GAAG,IAAAD,aAAM,EAAgC,CAAC;EACtE,MAAM;IAAEpC,KAAK,EAAEsC,OAAO,GAAG,EAAE;IAAEC;EAAgB,CAAC,GAAG,IAAAC,qBAAY,EAE3D;IAAEX;EAAK,CAAC,CAAC;EAEX,MAAM;IAAEY;EAAqB,CAAC,GAAG,IAAAC,6BAAsB,EAAC;IAAEb;EAAK,CAAC,CAAC;EACjE,MAAM;IAAEc,eAAe;IAAEC;EAAc,CAAC,GAAG,IAAAC,oBAAa,EAAC;IACvDhB;EACF,CAAC,CAAC;EACF,MAAMiB,aAAa,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACtC,IAAIJ,eAAe,EAAE;MACnBC,aAAa,CAAC,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,CAACD,eAAe,EAAEC,aAAa,CAAC,CAAC;EAEpC,MAAMI,cAAc,GAAGf,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAGK,OAAO,CAAC;EACpD,MAAMW,mBAAyC,GAAG;IAChDpB,IAAI;IACJS,OAAO;IACPH,eAAe;IACfe,mBAAmB,EAAEb,sBAAsB,CAACc;EAC9C,CAAC;EAED,MAAMC,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM;IAChC,OAAO;MAAEC,QAAQ,EAAE,CAAC1B,IAAI;IAAE,CAAC;EAC7B,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,OACEzF,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACjH,UAAA,CAAAiB,OAAS;IACR6F,WAAW,EAAEA,WAAY;IACzBI,SAAS,EAAEJ,WAAY;IACvBjB,eAAe,EAAEA,eAAgB;IACjCsB,iBAAiB,EAAEC,IAAA,IAAkB;MAAA,IAAjB;QAAEJ;MAAS,CAAC,GAAAI,IAAA;MAC9B,OAAOnB,eAAe,CAACV,IAAI,EAAE,CAAC,GAAGS,OAAO,EAAE,GAAGgB,QAAQ,CAAC,CAAC;IACzD,CAAE;IACFK,QAAQ,EAAEA,CAAC/B,IAAI,EAAAgC,KAAA,KAAmC;MAAA,IAAjC;QAAEC,SAAS;QAAEC;MAAc,CAAC,GAAAF,KAAA;MAC3C,IAAIjB,eAAe,EAAE;QACnBmB,aAAa,CAAC,CAAC;QACflB,aAAa,CAAC,IAAI,CAAC;MACrB,CAAC,MAAM;QAAA,IAAAmB,qBAAA;QACLtB,oBAAoB,CAAC,MAAM,CAAC;QAC5B,CAAAsB,qBAAA,GAAA1B,sBAAsB,CAACc,OAAO,cAAAY,qBAAA,uBAA9BA,qBAAA,CAAAvF,IAAA,CAAA6D,sBAAsB,EAAW,MAAM,CAAC;QACxCwB,SAAS,CAAC,CAAC;MACb;IACF;EAAE,GAEF1H,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC/G,qBAAA,CAAAe,OAAoB,CAACyG,QAAQ;IAAChE,KAAK,EAAEiD;EAAoB,GACxD9G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC1G,MAAA,CAAAU,OAAY;IACXsE,IAAI,EAAC,WAAW;IAChBoC,aAAa,EAAEjB,cAAc,GAAG,MAAM,GAAG;EAAO,GAEhD7G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACW,YAAY,EAAAlD,QAAA;IACXc,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBK,sBAAsB,EAAEA,sBAAuB;IAC/CW,cAAc,EAAEA,cAAe;IAC/BF,aAAa,EAAEA;EAAc,GACzBZ,IAAI,GAEPH,QACW,CACF,CACe,CACtB,CAAC;AAEhB;AAEA,SAASmC,YAAYA,CAAAC,KAAA,EAQlB;EAAA,IAAAC,WAAA,EAAAC,aAAA;EAAA,IARmB;MACpBvC,KAAK;MACLE,UAAU;MACVgB,cAAc;MACdX,sBAAsB;MACtBS,aAAa;MACbf;IAEF,CAAC,GAAAoC,KAAA;IADIjC,IAAI,GAAAf,wBAAA,CAAAgD,KAAA,EAAA/G,UAAA;EAEP,MAAM;IAAE6G,aAAa;IAAEf;EAAoB,CAAC,GAC1C,IAAAoB,iBAAU,EAACC,2BAAkB,CAAC,IAAI,CAAC,CAAC;EACtClC,sBAAsB,CAACc,OAAO,GAAGD,mBAAmB;EACpD,MAAM;IAAEsB;EAAa,CAAC,GAAG,IAAAC,sBAAc,EAAC,CAAC,CAACC,oBAAoB;EAC9D,MAAM;IAAEb;EAAU,CAAC,GAAG,IAAAS,iBAAU,EAACK,gBAAW,CAAC,IAAI,CAAC,CAAC;EACnD,MAAMC,oBAAoB,GAAG,IAAA7B,kBAAW,EAAC,MAAM;IAC7Cc,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC;EACf,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMgB,OAAO,GACX1I,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACtG,QAAA,CAAAM,OAAO,QACNpB,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC9G,mBAAA,CAAAc,OAAkB,CAACuH,QAAQ,QACxBC,OAAO,IAAK;IACZ,MAAM9B,mBAAmB,GAAA3D,aAAA,CAAAA,aAAA,KACpByF,OAAO;MACVH;IAAoB,EACrB;IACD,OACEzI,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC9G,mBAAA,CAAAc,OAAkB,CAACyG,QAAQ;MAAChE,KAAK,EAAEiD;IAAoB,GACtD9G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACxG,WAAA,CAAAiI,IAAI,CAACC,UAAU;MAACC,GAAG,EAAC;IAAO,GAAAd,WAAA,KAAAA,WAAA,GAC1BjI,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC3G,cAAA,CAAAuI,UAAU;MAACC,IAAI,EAAEZ;IAAa,CAAE,CAAC,GACjCxB,cAAc,KAAAqB,aAAA,KAAAA,aAAA,GACblI,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC3G,cAAA,CAAAyI,YAAY;MAACC,OAAO,EAAExC;IAAc,CAAE,CAAC,EAE3B,CACU,CAAC;EAElC,CAC2B,CACtB,CACV;EAED,OACE3G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAApH,MAAA,CAAAoB,OAAA,CAAAgI,QAAA,QACEpJ,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC3G,cAAA,CAAAW,OAAa,EAAAyD,QAAA;IACZwE,IAAI,EAAE,CAACxC,cAAc,IAAIiB,aAAa,KAAK,MAAO;IAClDnC,KAAK,EAAEA,KAAM;IACb+C,OAAO,EAAEA;EAAQ,GACb3C,IAAI,GAEPH,QACY,CAAC,EAEfC,UAAU,IAAI,OAAOgB,cAAc,KAAK,SAAS,IAChD7G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACxG,WAAA,CAAA0I,eAAe;IAACD,IAAI,EAAExC,cAAc,IAAIiB,aAAa,KAAK;EAAO,GAC/DjC,UACc,CAEnB,CAAC;AAEP;AAEAN,aAAa,CAACgE,UAAU,GAAGA,mBAAU;AACrChE,aAAa,CAACiE,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAE3BlE,aAAa;AAAAmE,OAAA,CAAAtI,OAAA,GAAAqI,QAAA"}
|
|
@@ -40,8 +40,8 @@ function ViewContainer(props) {
|
|
|
40
40
|
} = (0, _react.useContext)(_IterateItemContext.default);
|
|
41
41
|
let itemTitle = title;
|
|
42
42
|
let ariaLabel = (0, _react.useMemo)(() => (0, _componentHelper.convertJsxToString)(itemTitle), [itemTitle]);
|
|
43
|
-
if (ariaLabel.includes('{
|
|
44
|
-
itemTitle = ariaLabel = ariaLabel.replace('{
|
|
43
|
+
if (ariaLabel.includes('{itemNo}')) {
|
|
44
|
+
itemTitle = ariaLabel = ariaLabel.replace('{itemNo}', index + 1);
|
|
45
45
|
}
|
|
46
46
|
let toolbarElement = toolbar;
|
|
47
47
|
if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewContainer.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_elements","_ArrayItemArea","_IterateItemContext","_Toolbar3","_EditButton","_RemoveButton","_Toolbar","_Toolbar2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ViewContainer","props","_toolbarElement","_ref","children","className","title","toolbar","toolbarVariant","restProps","index","arrayValue","useContext","IterateItemContext","itemTitle","ariaLabel","useMemo","convertJsxToString","includes","replace","toolbarElement","createElement","hasToolbar","React","Children","toArray","some","child","Toolbar","mode","classnames","Flex","Stack","Lead","size","EditButton","RemoveButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport IterateItemContext from '../IterateItemContext'\nimport Toolbar from '../Toolbar'\nimport EditButton from './EditButton'\nimport RemoveButton from './RemoveButton'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n /**\n * An alternative toolbar to be shown in the ViewContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nfunction ViewContainer(props: AllProps) {\n const {\n children,\n className,\n title,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n const { index, arrayValue } = useContext(IterateItemContext)\n\n let itemTitle = title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{
|
|
1
|
+
{"version":3,"file":"ViewContainer.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_elements","_ArrayItemArea","_IterateItemContext","_Toolbar3","_EditButton","_RemoveButton","_Toolbar","_Toolbar2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ViewContainer","props","_toolbarElement","_ref","children","className","title","toolbar","toolbarVariant","restProps","index","arrayValue","useContext","IterateItemContext","itemTitle","ariaLabel","useMemo","convertJsxToString","includes","replace","toolbarElement","createElement","hasToolbar","React","Children","toArray","some","child","Toolbar","mode","classnames","Flex","Stack","Lead","size","EditButton","RemoveButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport IterateItemContext from '../IterateItemContext'\nimport Toolbar from '../Toolbar'\nimport EditButton from './EditButton'\nimport RemoveButton from './RemoveButton'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n /**\n * An alternative toolbar to be shown in the ViewContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nfunction ViewContainer(props: AllProps) {\n const {\n children,\n className,\n title,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n const { index, arrayValue } = useContext(IterateItemContext)\n\n let itemTitle = title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{itemNo}')) {\n itemTitle = ariaLabel = ariaLabel.replace('{itemNo}', index + 1)\n }\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = (\n <Toolbar>\n <EditButton />\n </Toolbar>\n )\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <ArrayItemArea\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <EditButton />\n <RemoveButton />\n </Toolbar>\n )}\n </Flex.Stack>\n </ArrayItemArea>\n )\n}\n\nViewContainer.EditButton = EditButton\nViewContainer.RemoveButton = RemoveButton\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":"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"}
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "useArrayLimit", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useArrayLimit.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "useItem", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
|
@@ -17,5 +23,6 @@ Object.defineProperty(exports, "useSwitchContainerMode", {
|
|
|
17
23
|
});
|
|
18
24
|
var _useItem = _interopRequireDefault(require("./useItem"));
|
|
19
25
|
var _useSwitchContainerMode = _interopRequireDefault(require("./useSwitchContainerMode"));
|
|
26
|
+
var _useArrayLimit = _interopRequireDefault(require("./useArrayLimit"));
|
|
20
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_useItem","_interopRequireDefault","require","_useSwitchContainerMode","obj","__esModule","default"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/index.ts"],"sourcesContent":["export { default as useItem } from './useItem'\nexport { default as useSwitchContainerMode } from './useSwitchContainerMode'\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_useItem","_interopRequireDefault","require","_useSwitchContainerMode","_useArrayLimit","obj","__esModule","default"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/index.ts"],"sourcesContent":["export { default as useItem } from './useItem'\nexport { default as useSwitchContainerMode } from './useSwitchContainerMode'\nexport { default as useArrayLimit } from './useArrayLimit'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Path } from '../../types';
|
|
2
|
+
type SharedState = {
|
|
3
|
+
show?: boolean;
|
|
4
|
+
limit?: number;
|
|
5
|
+
total?: number;
|
|
6
|
+
};
|
|
7
|
+
export default function useArrayLimit({ path }: {
|
|
8
|
+
path: Path;
|
|
9
|
+
}): {
|
|
10
|
+
setShowStatus: (show: boolean) => void;
|
|
11
|
+
setLimitProps: (props: Omit<SharedState, 'show'>) => void;
|
|
12
|
+
error: Error;
|
|
13
|
+
hasReachedLimit: boolean;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useArrayLimit;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _hooks = require("../../hooks");
|
|
9
|
+
var _useSharedState = require("../../../../shared/helpers/useSharedState");
|
|
10
|
+
function useArrayLimit(_ref) {
|
|
11
|
+
let {
|
|
12
|
+
path
|
|
13
|
+
} = _ref;
|
|
14
|
+
const sharedState = (0, _useSharedState.useSharedState)(path + '-iterate-limit');
|
|
15
|
+
const {
|
|
16
|
+
set,
|
|
17
|
+
update,
|
|
18
|
+
extend,
|
|
19
|
+
data
|
|
20
|
+
} = sharedState || {};
|
|
21
|
+
const {
|
|
22
|
+
limit,
|
|
23
|
+
total,
|
|
24
|
+
show
|
|
25
|
+
} = data || {};
|
|
26
|
+
const setLimitProps = (0, _react.useCallback)(props => {
|
|
27
|
+
if (props.total !== total) {
|
|
28
|
+
update(props);
|
|
29
|
+
} else {
|
|
30
|
+
set(props);
|
|
31
|
+
}
|
|
32
|
+
}, [set, total, update]);
|
|
33
|
+
const setShowStatus = (0, _react.useCallback)(show => {
|
|
34
|
+
extend({
|
|
35
|
+
show
|
|
36
|
+
});
|
|
37
|
+
}, [extend]);
|
|
38
|
+
const hasReachedLimit = typeof limit === 'number' && total >= limit;
|
|
39
|
+
const {
|
|
40
|
+
itemsLimitReached
|
|
41
|
+
} = (0, _hooks.useTranslation)().IteratePushContainer;
|
|
42
|
+
const error = show ? new Error(itemsLimitReached.replace('{limit}', String(limit))) : undefined;
|
|
43
|
+
return {
|
|
44
|
+
setShowStatus,
|
|
45
|
+
setLimitProps,
|
|
46
|
+
error,
|
|
47
|
+
hasReachedLimit
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=useArrayLimit.js.map
|