@dnb/eufemia 10.42.0 → 10.44.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 +53 -0
- package/cjs/components/autocomplete/Autocomplete.d.ts +2 -2
- package/cjs/components/autocomplete/AutocompleteDocs.js +7 -7
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/cjs/components/button/Button.d.ts +18 -1
- package/cjs/components/button/Button.js +6 -5
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/card/Card.d.ts +1 -1
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js +4 -0
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/space/Space.d.ts +1 -1
- package/cjs/components/space/Space.js.map +1 -1
- package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/cjs/components/table/table-navigation/TableNavigationHead.js +1 -1
- package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
- package/cjs/components/tabs/Tabs.js +1 -1
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/upload/UploadDocs.js +1 -1
- package/cjs/components/upload/UploadDocs.js.map +1 -1
- package/cjs/components/upload/UploadInfo.js +1 -1
- package/cjs/components/upload/UploadInfo.js.map +1 -1
- package/cjs/components/upload/UploadVerify.js +4 -1
- package/cjs/components/upload/UploadVerify.js.map +1 -1
- package/cjs/components/upload/types.d.ts +2 -2
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +3 -2
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +7 -2
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +52 -17
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +31 -0
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/FieldDocs.d.ts +7 -0
- package/cjs/extensions/forms/Field/FieldDocs.js +20 -1
- package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +21 -16
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -4
- package/cjs/extensions/forms/Field/Option/Option.js +0 -21
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +28 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +16 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +40 -16
- package/cjs/extensions/forms/Field/Selection/Selection.js +71 -16
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
- package/cjs/extensions/forms/Field/String/String.js +21 -2
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.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.d.ts +41 -0
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +108 -0
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +53 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +50 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Isolation/index.js +27 -0
- package/cjs/extensions/forms/Form/Isolation/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/Section.js +2 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- 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 +22 -19
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/clearData.d.ts +1 -0
- package/cjs/extensions/forms/Form/data-context/clearData.js +16 -0
- package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/index.js +14 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -4
- package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +7 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +14 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +18 -9
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +5 -5
- package/cjs/extensions/forms/hooks/useFieldProps.js +50 -34
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.d.ts +1 -1
- package/cjs/extensions/forms/hooks/usePath.js +9 -8
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +1 -1
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +16 -6
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/payment-card/utils/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/helpers/extendPropsWithContext.js +3 -3
- package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/cjs/shared/helpers/isAsync.js +2 -2
- package/cjs/shared/helpers/isAsync.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +1 -1
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +1 -1
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +1 -1
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/autocomplete/Autocomplete.d.ts +2 -2
- package/components/autocomplete/AutocompleteDocs.js +7 -7
- package/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/components/button/Button.d.ts +18 -1
- package/components/button/Button.js +6 -5
- package/components/button/Button.js.map +1 -1
- package/components/card/Card.d.ts +1 -1
- package/components/card/Card.js.map +1 -1
- package/components/input-masked/InputMaskedHooks.js +4 -0
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/space/Space.d.ts +1 -1
- package/components/space/Space.js.map +1 -1
- package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/components/table/table-navigation/TableNavigationHead.js +1 -1
- package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
- package/components/tabs/Tabs.js +1 -1
- package/components/tabs/Tabs.js.map +1 -1
- package/components/upload/UploadDocs.js +1 -1
- package/components/upload/UploadDocs.js.map +1 -1
- package/components/upload/UploadInfo.js +1 -1
- package/components/upload/UploadInfo.js.map +1 -1
- package/components/upload/UploadVerify.js +4 -1
- package/components/upload/UploadVerify.js.map +1 -1
- package/components/upload/types.d.ts +2 -2
- package/components/upload/types.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +2 -2
- package/es/components/autocomplete/AutocompleteDocs.js +7 -7
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/es/components/button/Button.d.ts +18 -1
- package/es/components/button/Button.js +6 -5
- package/es/components/button/Button.js.map +1 -1
- package/es/components/card/Card.d.ts +1 -1
- package/es/components/card/Card.js.map +1 -1
- package/es/components/input-masked/InputMaskedHooks.js +4 -0
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/space/Space.d.ts +1 -1
- package/es/components/space/Space.js.map +1 -1
- package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/es/components/table/table-navigation/TableNavigationHead.js +1 -1
- package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
- package/es/components/tabs/Tabs.js +1 -1
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/upload/UploadDocs.js +1 -1
- package/es/components/upload/UploadDocs.js.map +1 -1
- package/es/components/upload/UploadInfo.js +1 -1
- package/es/components/upload/UploadInfo.js.map +1 -1
- package/es/components/upload/UploadVerify.js +4 -1
- package/es/components/upload/UploadVerify.js.map +1 -1
- package/es/components/upload/types.d.ts +2 -2
- package/es/components/upload/types.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +3 -2
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +7 -2
- package/es/extensions/forms/DataContext/Provider/Provider.js +50 -17
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
- package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
- package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/FieldDocs.d.ts +7 -0
- package/es/extensions/forms/Field/FieldDocs.js +16 -0
- package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +21 -16
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -4
- package/es/extensions/forms/Field/Option/Option.js +0 -20
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +32 -15
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +16 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
- package/es/extensions/forms/Field/Selection/Selection.d.ts +40 -16
- package/es/extensions/forms/Field/Selection/Selection.js +67 -15
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +1 -0
- package/es/extensions/forms/Field/String/String.js +20 -2
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.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.d.ts +41 -0
- package/es/extensions/forms/Form/Isolation/Isolation.js +97 -0
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +43 -0
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +40 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/index.d.ts +2 -0
- package/es/extensions/forms/Form/Isolation/index.js +3 -0
- package/es/extensions/forms/Form/Isolation/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/Section.js +2 -2
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- 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 +22 -19
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/clearData.d.ts +1 -0
- package/es/extensions/forms/Form/data-context/clearData.js +10 -0
- package/es/extensions/forms/Form/data-context/clearData.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +2 -0
- package/es/extensions/forms/Form/index.js +2 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/types.d.ts +1 -4
- package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -0
- package/es/extensions/forms/constants/locales/en-GB.js +7 -0
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +7 -0
- package/es/extensions/forms/constants/locales/index.d.ts +14 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +7 -0
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +1 -0
- package/es/extensions/forms/hooks/useDataValue.js +18 -9
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +5 -5
- package/es/extensions/forms/hooks/useFieldProps.js +50 -34
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.d.ts +1 -1
- package/es/extensions/forms/hooks/usePath.js +8 -8
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +1 -1
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +16 -6
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/payment-card/utils/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/helpers/extendPropsWithContext.js +3 -3
- package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/es/shared/helpers/isAsync.js +2 -2
- package/es/shared/helpers/isAsync.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +1 -1
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +1 -1
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +1 -1
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +3 -2
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +7 -2
- package/extensions/forms/DataContext/Provider/Provider.js +50 -17
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
- package/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
- package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
- package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/FieldDocs.d.ts +7 -0
- package/extensions/forms/Field/FieldDocs.js +18 -0
- package/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +21 -16
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -4
- package/extensions/forms/Field/Option/Option.js +0 -20
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
- package/extensions/forms/Field/Selection/Selection.d.ts +40 -16
- package/extensions/forms/Field/Selection/Selection.js +70 -15
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +1 -0
- package/extensions/forms/Field/String/String.js +21 -2
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +1 -1
- package/extensions/forms/Field/Toggle/Toggle.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.d.ts +41 -0
- package/extensions/forms/Form/Isolation/Isolation.js +97 -0
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
- package/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
- package/extensions/forms/Form/Isolation/IsolationCommitButton.js +43 -0
- package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.js +40 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
- package/extensions/forms/Form/Isolation/index.d.ts +2 -0
- package/extensions/forms/Form/Isolation/index.js +3 -0
- package/extensions/forms/Form/Isolation/index.js.map +1 -0
- package/extensions/forms/Form/Section/Section.js +2 -2
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
- package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- 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 +22 -19
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Form/data-context/clearData.d.ts +1 -0
- package/extensions/forms/Form/data-context/clearData.js +10 -0
- package/extensions/forms/Form/data-context/clearData.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +2 -0
- package/extensions/forms/Form/index.js +2 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Array/types.d.ts +1 -4
- package/extensions/forms/Iterate/Array/types.js.map +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +7 -0
- package/extensions/forms/constants/locales/en-GB.js +7 -0
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +7 -0
- package/extensions/forms/constants/locales/index.d.ts +14 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
- package/extensions/forms/constants/locales/nb-NO.js +7 -0
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +4 -4
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +1 -0
- package/extensions/forms/hooks/useDataValue.js +18 -9
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +5 -5
- package/extensions/forms/hooks/useFieldProps.js +50 -34
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.d.ts +1 -1
- package/extensions/forms/hooks/usePath.js +9 -8
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +1 -1
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +16 -6
- package/extensions/forms/types.js.map +1 -1
- package/extensions/payment-card/utils/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/helpers/extendPropsWithContext.js +3 -3
- package/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/shared/helpers/isAsync.js +2 -2
- package/shared/helpers/isAsync.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +1 -1
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +1 -1
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +1 -1
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +2 -2
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputMaskedHooks.js","names":["_react","_interopRequireDefault","require","_classnames","_NumberUtils","_componentHelper","_createTextMaskInputElement","_TextMask","_createNumberMask","_keycode","_InputMaskedContext","_InputMaskedUtils","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_extends","assign","bind","prototype","hasOwnProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useLayoutEffect","window","React","useEffect","useFilteredProps","props","useContext","InputMaskedContext","mask","number_mask","currency_mask","number_format","mask_options","as_currency","as_number","as_percent","locale","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","attributes","htmlAttributes","freeze","exports","useTranslation","context","useLocalValue","maskParams","useNumberMaskParams","localValue","setLocalValue","useState","correctNumberValue","useNumberMask","isRequestingNumberMask","createNumberMask","useMask","numberMask","useMaskParams","placeholder","showMask","isTrue","placeholderChar","invisibleSpace","showGuide","keepCharPositions","useInputElement","inner_ref","isFn","refHook","useRef","ref","current","inputElementRef","createElement","InputElement","params","innerRef","inputRef","inputElement","guide","getSoftKeyboardAttributes","className","classnames","useEventMapping","_ref","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onMouseDown","onKeyDown","onSubmit","onChange","on_focus","on_blur","on_key_down","on_submit","on_change","_ref2","isNumberMask","decimalSeparators","isUnidentified","_ref3","name","selStart","selectionStart","keyCode","keycode","which","data","disallowLeadingZeroes","replace","test","testValue","slice","preventDefault","decimalSymbol","hasDecimalSymbol","includes","allowedDecimals","decimalLimit","allowDecimal","charAtSelection","index","safeSetSelection","thousandsSeparatorSymbol","num","cleanNumber","prefix","suffix","decimalSeparator","thousandsSeparator","numberValue","cleanedValue","charAt","runCorrectCaretPosition","correctCaretPosition","__getCorrectCaretPosition","result","dispatchCustomElementEvent","_currency_mask","fromJSON","currency","isRequestingLocaleSupport","handleThousandsSeparator","handleDecimalSeparator","extendPropsWithContext","_currency_mask2","getCurrencySymbol","currencyDisplay","handleNumberMask","handlePercentMask","handleCurrencyMask"],"sources":["../../../../src/components/input-masked/InputMaskedHooks.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n cleanNumber,\n getCurrencySymbol,\n} from '../number-format/NumberUtils'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nimport TextMask from './TextMask'\nimport createNumberMask from './addons/createNumberMask'\nimport keycode from 'keycode'\nimport InputMaskedContext from './InputMaskedContext'\n\nimport {\n isRequestingLocaleSupport,\n isRequestingNumberMask,\n correctNumberValue,\n handlePercentMask,\n handleCurrencyMask,\n handleNumberMask,\n correctCaretPosition,\n getSoftKeyboardAttributes,\n handleThousandsSeparator,\n handleDecimalSeparator,\n fromJSON,\n invisibleSpace,\n} from './InputMaskedUtils'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\n/**\n * Takes all component properties and filters out all internal used properties\n *\n * @returns object {props, htmlAttributes}\n */\nexport const useFilteredProps = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n mask, // eslint-disable-line\n number_mask, // eslint-disable-line\n currency_mask, // eslint-disable-line\n number_format, // eslint-disable-line\n mask_options, // eslint-disable-line\n as_currency, // eslint-disable-line\n as_number, // eslint-disable-line\n as_percent, // eslint-disable-line\n locale, // eslint-disable-line\n show_mask, // eslint-disable-line\n show_guide, // eslint-disable-line\n pipe, // eslint-disable-line\n keep_char_positions, // eslint-disable-line\n placeholder_char, // eslint-disable-line\n\n // Get get rest of possible attributes\n ...attributes\n } = props\n\n return { props, htmlAttributes: Object.freeze(attributes) }\n}\n\n/**\n * Returns locale from either component or context\n *\n * @returns string\n */\nexport const useTranslation = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n\n let { locale } = props\n if (!locale && context?.locale) {\n locale = context.locale\n }\n\n return locale\n}\n\n/**\n * Handle internal value state\n *\n * It handles both the value state given as a prop form outside,\n * along with the current written and internal value.\n *\n * @returns object with internal value state and state setter\n */\nexport const useLocalValue = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n const maskParams = useNumberMaskParams() || {}\n const locale = useTranslation()\n\n const [localValue, setLocalValue] = React.useState(() =>\n correctNumberValue({\n locale,\n props,\n maskParams,\n })\n )\n\n /**\n * Use an effect here, just;\n * because when a property gets changed from outside\n */\n React.useEffect(() => {\n const value = correctNumberValue({\n localValue,\n locale,\n props,\n maskParams,\n })\n\n setLocalValue(value)\n\n // Do not set \"localValue\" and \"maskParams\" here\n }, [props, context, locale]) // eslint-disable-line\n\n return { localValue, setLocalValue }\n}\n\n/**\n * Create createNumberMask if number mask parameters exists\n *\n * @returns mask function\n */\nexport const useNumberMask = () => {\n const maskParams = useNumberMaskParams()\n const { props } = React.useContext(InputMaskedContext)\n\n if (!maskParams || !isRequestingNumberMask(props)) {\n return null\n }\n\n const mask = createNumberMask(maskParams)\n\n mask.maskParams = maskParams\n\n return mask\n}\n\n/**\n * Returns either internal mask or given property mask\n *\n * @returns mask function\n */\nexport const useMask = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const numberMask = useNumberMask()\n if (numberMask) {\n return numberMask\n }\n\n return props.mask\n}\n\n/**\n * Returns the final mask params\n *\n * @returns mask params\n */\nexport const useMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n keep_char_positions,\n show_guide,\n show_mask,\n placeholder_char,\n placeholder,\n } = props\n\n const mask = useMask()\n const maskParams = useNumberMaskParams() || {}\n\n maskParams.showMask = !placeholder && isTrue(show_mask)\n\n // Revalidated placeholder char to a zero width space\n maskParams.placeholderChar = placeholder_char\n if (typeof mask?.placeholderChar !== 'undefined') {\n maskParams.placeholderChar = mask.placeholderChar\n }\n if (maskParams.placeholderChar === null) {\n maskParams.placeholderChar = invisibleSpace\n }\n\n if (typeof mask?.showMask !== 'undefined') {\n maskParams.showMask = mask.showMask\n }\n\n maskParams.showGuide = isTrue(show_guide)\n maskParams.keepCharPositions = isTrue(keep_char_positions)\n\n return maskParams\n}\n\n/**\n * Handle the TextMask dependency\n *\n * @returns React Element\n */\nexport const useInputElement = () => {\n const { props } = React.useContext(InputMaskedContext)\n const { pipe, inner_ref } = props\n\n const mask = useMask()\n const { showMask, showGuide, placeholderChar, keepCharPositions } =\n useMaskParams()\n\n const isFn = typeof inner_ref === 'function'\n const refHook = React.useRef()\n const ref = (!isFn && inner_ref) || refHook\n\n useLayoutEffect(() => {\n if (isFn) {\n inner_ref?.(ref.current)\n }\n }, [inner_ref, isFn, ref])\n\n // Create the actual input element\n const inputElementRef = React.useRef(<input ref={ref} />)\n\n const InputElement = (params, innerRef) => {\n // Set ref for Eufemia input\n innerRef.current = ref.current\n\n return (\n <TextMask\n inputRef={ref}\n inputElement={inputElementRef.current}\n pipe={pipe}\n mask={mask || []}\n showMask={showMask}\n guide={showGuide}\n keepCharPositions={keepCharPositions}\n placeholderChar={placeholderChar}\n {...getSoftKeyboardAttributes(mask)}\n {...params}\n className={classnames(\n params.className,\n showMask &&\n showGuide &&\n placeholderChar &&\n placeholderChar !== invisibleSpace &&\n 'dnb-input-masked--guide' // will use --font-family-monospace\n )}\n />\n )\n }\n return InputElement\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns object of events to handle\n */\nexport const useEventMapping = ({ setLocalValue }) => {\n const callEvent = useCallEvent({ setLocalValue })\n\n return {\n onBeforeInput: (event) => callEvent({ event }, 'on_before_input'),\n onFocus: (params) => callEvent(params, 'on_focus'),\n onBlur: (params) => callEvent(params, 'on_blur'),\n onMouseUp: (event) => callEvent({ event }, 'on_mouse_up'),\n onMouseDown: (event) => callEvent({ event }, 'on_mouse_down'),\n onKeyDown: (params) => callEvent(params, 'on_key_down'),\n onSubmit: (params) => callEvent(params, 'on_submit'),\n onChange: (params) => callEvent(params, 'on_change'),\n\n on_focus: undefined,\n on_blur: undefined,\n on_key_down: undefined,\n on_submit: undefined,\n on_change: undefined,\n }\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns event handler function\n */\nconst useCallEvent = ({ setLocalValue }) => {\n const { props } = React.useContext(InputMaskedContext)\n const maskParams = useMaskParams()\n const isNumberMask = useNumberMask()\n\n // Source: https://en.wikipedia.org/wiki/Decimal_separator\n const decimalSeparators = /[,.'·]/\n let isUnidentified = false\n\n const callEvent = ({ event, value }, name) => {\n value = value || event.target.value\n const selStart = event.target.selectionStart\n let keyCode = keycode(event)\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n if (\n name === 'on_key_down' &&\n (event.which === 229 || keyCode === undefined)\n ) {\n isUnidentified = true\n }\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n // so we use this solution instead\n if (\n isUnidentified &&\n name === 'on_before_input' &&\n typeof event?.data !== 'undefined'\n ) {\n name = 'on_key_down'\n keyCode = event.data\n isUnidentified = false\n }\n\n // Prevent entering a leading zero\n if (\n name === 'on_key_down' &&\n !isUnidentified &&\n maskParams?.disallowLeadingZeroes &&\n (keyCode === '0' ||\n keyCode === 'numpad 0' ||\n (value.replace(/[^\\d]/g, '') === '' &&\n decimalSeparators.test(keyCode)))\n ) {\n const testValue = (\n value.slice(0, selStart) +\n '0' +\n value.slice(selStart + 1, value.length)\n ).replace(/[^\\d]/g, '')\n\n if (/^0/.test(testValue)) {\n event.preventDefault()\n }\n }\n\n if (\n name === 'on_key_down' &&\n isNumberMask &&\n !isUnidentified &&\n maskParams?.decimalSymbol\n ) {\n const hasDecimalSymbol = value.includes(maskParams.decimalSymbol)\n const allowedDecimals =\n maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false\n\n if (!allowedDecimals && decimalSeparators.test(keyCode)) {\n event.preventDefault()\n }\n\n const charAtSelection = value.slice(selStart, selStart + 1)\n\n if (allowedDecimals) {\n // if we have already a decimal ...\n if (hasDecimalSymbol && decimalSeparators.test(keyCode)) {\n // ... we set the cursor on after the decimalSeparators\n if (decimalSeparators.test(charAtSelection)) {\n const index = value.indexOf(maskParams.decimalSymbol)\n if (index > -1) {\n safeSetSelection(event.target, index + 1)\n }\n }\n\n // ... we do not allow to type another\n event.preventDefault()\n }\n\n // replace other decimal\n else if (\n !hasDecimalSymbol &&\n keyCode !== maskParams.decimalSymbol &&\n decimalSeparators.test(keyCode)\n ) {\n value = value.slice(0, selStart)\n setLocalValue(value + maskParams.decimalSymbol)\n event.target.value = value + maskParams.decimalSymbol\n event.preventDefault()\n }\n }\n\n // move cursor to right if key is delete and char at selection is thousand separator\n if (\n keyCode === 'delete' &&\n charAtSelection === (maskParams.thousandsSeparatorSymbol || ' ')\n ) {\n safeSetSelection(event.target, selStart + 1)\n event.preventDefault()\n }\n }\n\n let num = cleanNumber(value, {\n prefix: maskParams.prefix,\n suffix: maskParams.suffix,\n decimalSeparator: maskParams.decimalSymbol || ',',\n thousandsSeparator: maskParams.thousandsSeparatorSymbol || ' ',\n })\n\n // We don't want to return NaN, so we set it to 0\n if (num === '-') {\n num = -0\n }\n\n const numberValue = Number(num)\n\n // Return '' (empty string) when the user has entered something invalid\n const cleanedValue =\n numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num\n\n switch (name) {\n case 'on_focus':\n case 'on_key_down':\n case 'on_mouse_down':\n case 'on_mouse_up':\n event.target.runCorrectCaretPosition = () =>\n correctCaretPosition(event.target, maskParams, props)\n if (!event.target.__getCorrectCaretPosition) {\n event.target.runCorrectCaretPosition()\n }\n break\n }\n\n const result = dispatchCustomElementEvent(props, name, {\n event,\n value,\n numberValue,\n cleanedValue,\n })\n\n if (name === 'on_change') {\n setLocalValue(value)\n }\n\n return result\n }\n\n return callEvent\n}\n\n/**\n * Returns number mask parameters if requested by the component properties\n *\n * @returns object of number mask parameter\n */\nconst useNumberMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n const locale = useTranslation()\n\n if (!isRequestingNumberMask(props)) {\n return { ...fromJSON(props.mask_options) }\n }\n\n let { number_mask, currency_mask, mask_options } = props\n const { as_number, as_percent, as_currency, value } = props\n\n mask_options = fromJSON(mask_options)\n number_mask = isTrue(number_mask) ? {} : fromJSON(number_mask)\n currency_mask = isTrue(currency_mask)\n ? {}\n : fromJSON(currency_mask, {\n currency: currency_mask,\n })\n if (!currency_mask?.currency) {\n delete currency_mask.currency\n }\n\n if (isRequestingLocaleSupport(props)) {\n const thousandsSeparatorSymbol = handleThousandsSeparator(locale)\n const decimalSymbol = handleDecimalSeparator(locale)\n\n if (isTrue(as_number) || isTrue(as_percent)) {\n number_mask = extendPropsWithContext(number_mask, null, {\n decimalSymbol,\n thousandsSeparatorSymbol,\n })\n } else if (as_currency) {\n currency_mask = extendPropsWithContext(currency_mask, null, {\n decimalSymbol,\n thousandsSeparatorSymbol,\n currency: getCurrencySymbol(\n locale,\n typeof as_currency === 'string' ? as_currency : null,\n currency_mask?.currencyDisplay,\n value\n ),\n })\n }\n }\n\n let maskParams = null\n\n if (number_mask) {\n maskParams = handleNumberMask({\n mask_options,\n number_mask,\n })\n\n if (isTrue(as_percent)) {\n maskParams = handlePercentMask({ props, locale, maskParams })\n }\n } else if (currency_mask) {\n maskParams = handleCurrencyMask({\n mask_options,\n currency_mask,\n })\n }\n\n return maskParams\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputMaskedHooks.js","names":["_react","_interopRequireDefault","require","_classnames","_NumberUtils","_componentHelper","_createTextMaskInputElement","_TextMask","_createNumberMask","_keycode","_InputMaskedContext","_InputMaskedUtils","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_extends","assign","bind","prototype","hasOwnProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useLayoutEffect","window","React","useEffect","useFilteredProps","props","useContext","InputMaskedContext","mask","number_mask","currency_mask","number_format","mask_options","as_currency","as_number","as_percent","locale","show_mask","show_guide","pipe","keep_char_positions","placeholder_char","attributes","htmlAttributes","freeze","exports","useTranslation","context","useLocalValue","maskParams","useNumberMaskParams","localValue","setLocalValue","useState","correctNumberValue","useNumberMask","isRequestingNumberMask","createNumberMask","useMask","numberMask","useMaskParams","placeholder","showMask","isTrue","placeholderChar","invisibleSpace","showGuide","keepCharPositions","useInputElement","inner_ref","isFn","refHook","useRef","ref","current","inputElementRef","createElement","InputElement","params","innerRef","inputRef","inputElement","guide","getSoftKeyboardAttributes","className","classnames","useEventMapping","_ref","callEvent","useCallEvent","onBeforeInput","event","onFocus","onBlur","onMouseUp","onMouseDown","onKeyDown","onSubmit","onChange","on_focus","on_blur","on_key_down","on_submit","on_change","_ref2","isNumberMask","decimalSeparators","isUnidentified","_ref3","name","selStart","selectionStart","keyCode","keycode","which","data","disallowLeadingZeroes","replace","test","testValue","slice","preventDefault","decimalSymbol","hasDecimalSymbol","includes","allowedDecimals","decimalLimit","allowDecimal","charAtSelection","index","safeSetSelection","thousandsSeparatorSymbol","num","cleanNumber","prefix","suffix","decimalSeparator","thousandsSeparator","numberValue","cleanedValue","charAt","runCorrectCaretPosition","correctCaretPosition","__getCorrectCaretPosition","result","dispatchCustomElementEvent","_currency_mask","fromJSON","currency","isRequestingLocaleSupport","handleThousandsSeparator","handleDecimalSeparator","extendPropsWithContext","_currency_mask2","getCurrencySymbol","currencyDisplay","handleNumberMask","handlePercentMask","handleCurrencyMask"],"sources":["../../../../src/components/input-masked/InputMaskedHooks.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n cleanNumber,\n getCurrencySymbol,\n} from '../number-format/NumberUtils'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nimport TextMask from './TextMask'\nimport createNumberMask from './addons/createNumberMask'\nimport keycode from 'keycode'\nimport InputMaskedContext from './InputMaskedContext'\n\nimport {\n isRequestingLocaleSupport,\n isRequestingNumberMask,\n correctNumberValue,\n handlePercentMask,\n handleCurrencyMask,\n handleNumberMask,\n correctCaretPosition,\n getSoftKeyboardAttributes,\n handleThousandsSeparator,\n handleDecimalSeparator,\n fromJSON,\n invisibleSpace,\n} from './InputMaskedUtils'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\n/**\n * Takes all component properties and filters out all internal used properties\n *\n * @returns object {props, htmlAttributes}\n */\nexport const useFilteredProps = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n mask, // eslint-disable-line\n number_mask, // eslint-disable-line\n currency_mask, // eslint-disable-line\n number_format, // eslint-disable-line\n mask_options, // eslint-disable-line\n as_currency, // eslint-disable-line\n as_number, // eslint-disable-line\n as_percent, // eslint-disable-line\n locale, // eslint-disable-line\n show_mask, // eslint-disable-line\n show_guide, // eslint-disable-line\n pipe, // eslint-disable-line\n keep_char_positions, // eslint-disable-line\n placeholder_char, // eslint-disable-line\n\n // Get get rest of possible attributes\n ...attributes\n } = props\n\n return { props, htmlAttributes: Object.freeze(attributes) }\n}\n\n/**\n * Returns locale from either component or context\n *\n * @returns string\n */\nexport const useTranslation = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n\n let { locale } = props\n if (!locale && context?.locale) {\n locale = context.locale\n }\n\n return locale\n}\n\n/**\n * Handle internal value state\n *\n * It handles both the value state given as a prop form outside,\n * along with the current written and internal value.\n *\n * @returns object with internal value state and state setter\n */\nexport const useLocalValue = () => {\n const { props, context } = React.useContext(InputMaskedContext)\n const maskParams = useNumberMaskParams() || {}\n const locale = useTranslation()\n\n const [localValue, setLocalValue] = React.useState(() =>\n correctNumberValue({\n locale,\n props,\n maskParams,\n })\n )\n\n /**\n * Use an effect here, just;\n * because when a property gets changed from outside\n */\n React.useEffect(() => {\n const value = correctNumberValue({\n localValue,\n locale,\n props,\n maskParams,\n })\n\n setLocalValue(value)\n\n // Do not set \"localValue\" and \"maskParams\" here\n }, [props, context, locale]) // eslint-disable-line\n\n return { localValue, setLocalValue }\n}\n\n/**\n * Create createNumberMask if number mask parameters exists\n *\n * @returns mask function\n */\nexport const useNumberMask = () => {\n const maskParams = useNumberMaskParams()\n const { props } = React.useContext(InputMaskedContext)\n\n if (!maskParams || !isRequestingNumberMask(props)) {\n return null\n }\n\n const mask = createNumberMask(maskParams)\n\n mask.maskParams = maskParams\n\n return mask\n}\n\n/**\n * Returns either internal mask or given property mask\n *\n * @returns mask function\n */\nexport const useMask = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const numberMask = useNumberMask()\n if (numberMask) {\n return numberMask\n }\n\n return props.mask\n}\n\n/**\n * Returns the final mask params\n *\n * @returns mask params\n */\nexport const useMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n\n const {\n keep_char_positions,\n show_guide,\n show_mask,\n placeholder_char,\n placeholder,\n } = props\n\n const mask = useMask()\n const maskParams = useNumberMaskParams() || {}\n\n maskParams.showMask = !placeholder && isTrue(show_mask)\n\n // Revalidated placeholder char to a zero width space\n maskParams.placeholderChar = placeholder_char\n if (typeof mask?.placeholderChar !== 'undefined') {\n maskParams.placeholderChar = mask.placeholderChar\n }\n if (maskParams.placeholderChar === null) {\n maskParams.placeholderChar = invisibleSpace\n }\n\n if (typeof mask?.showMask !== 'undefined') {\n maskParams.showMask = mask.showMask\n }\n\n maskParams.showGuide = isTrue(show_guide)\n maskParams.keepCharPositions = isTrue(keep_char_positions)\n\n return maskParams\n}\n\n/**\n * Handle the TextMask dependency\n *\n * @returns React Element\n */\nexport const useInputElement = () => {\n const { props } = React.useContext(InputMaskedContext)\n const { pipe, inner_ref } = props\n\n const mask = useMask()\n const { showMask, showGuide, placeholderChar, keepCharPositions } =\n useMaskParams()\n\n const isFn = typeof inner_ref === 'function'\n const refHook = React.useRef()\n const ref = (!isFn && inner_ref) || refHook\n\n useLayoutEffect(() => {\n if (isFn) {\n inner_ref?.(ref.current)\n }\n }, [inner_ref, isFn, ref])\n\n // Create the actual input element\n const inputElementRef = React.useRef(<input ref={ref} />)\n\n const InputElement = (params, innerRef) => {\n // Set ref for Eufemia input\n innerRef.current = ref.current\n\n return (\n <TextMask\n inputRef={ref}\n inputElement={inputElementRef.current}\n pipe={pipe}\n mask={mask || []}\n showMask={showMask}\n guide={showGuide}\n keepCharPositions={keepCharPositions}\n placeholderChar={placeholderChar}\n {...getSoftKeyboardAttributes(mask)}\n {...params}\n className={classnames(\n params.className,\n showMask &&\n showGuide &&\n placeholderChar &&\n placeholderChar !== invisibleSpace &&\n 'dnb-input-masked--guide' // will use --font-family-monospace\n )}\n />\n )\n }\n return InputElement\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns object of events to handle\n */\nexport const useEventMapping = ({ setLocalValue }) => {\n const callEvent = useCallEvent({ setLocalValue })\n\n return {\n onBeforeInput: (event) => callEvent({ event }, 'on_before_input'),\n onFocus: (params) => callEvent(params, 'on_focus'),\n onBlur: (params) => callEvent(params, 'on_blur'),\n onMouseUp: (event) => callEvent({ event }, 'on_mouse_up'),\n onMouseDown: (event) => callEvent({ event }, 'on_mouse_down'),\n onKeyDown: (params) => callEvent(params, 'on_key_down'),\n onSubmit: (params) => callEvent(params, 'on_submit'),\n onChange: (params) => callEvent(params, 'on_change'),\n\n on_focus: undefined,\n on_blur: undefined,\n on_key_down: undefined,\n on_submit: undefined,\n on_change: undefined,\n }\n}\n\n/**\n * Will map some events we need to map during typing\n *\n * @param {object} param0\n * @property {function} setLocalValue setState handler\n * @returns event handler function\n */\nconst useCallEvent = ({ setLocalValue }) => {\n const { props } = React.useContext(InputMaskedContext)\n const maskParams = useMaskParams()\n const isNumberMask = useNumberMask()\n\n // Source: https://en.wikipedia.org/wiki/Decimal_separator\n const decimalSeparators = /[,.'·]/\n let isUnidentified = false\n\n const callEvent = ({ event, value }, name) => {\n value = value || event.target.value\n const selStart = event.target.selectionStart\n let keyCode = keycode(event)\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n if (\n name === 'on_key_down' &&\n (event.which === 229 || keyCode === undefined)\n ) {\n isUnidentified = true\n }\n\n // Android issue: https://bugs.chromium.org/p/chromium/issues/detail?id=118639\n // so we use this solution instead\n if (\n isUnidentified &&\n name === 'on_before_input' &&\n typeof event?.data !== 'undefined'\n ) {\n name = 'on_key_down'\n keyCode = event.data\n isUnidentified = false\n }\n\n // Add support for \"await userEvent.type(input, '0...')\"\n if (isUnidentified && event.key === '0') {\n keyCode = '0'\n isUnidentified = false\n }\n\n // Prevent entering a leading zero\n if (\n name === 'on_key_down' &&\n !isUnidentified &&\n maskParams?.disallowLeadingZeroes &&\n (keyCode === '0' ||\n keyCode === 'numpad 0' ||\n (value.replace(/[^\\d]/g, '') === '' &&\n decimalSeparators.test(keyCode)))\n ) {\n const testValue = (\n value.slice(0, selStart) +\n '0' +\n value.slice(selStart + 1, value.length)\n ).replace(/[^\\d]/g, '')\n\n if (/^0/.test(testValue)) {\n event.preventDefault()\n }\n }\n\n if (\n name === 'on_key_down' &&\n isNumberMask &&\n !isUnidentified &&\n maskParams?.decimalSymbol\n ) {\n const hasDecimalSymbol = value.includes(maskParams.decimalSymbol)\n const allowedDecimals =\n maskParams.decimalLimit > 0 || maskParams.allowDecimal !== false\n\n if (!allowedDecimals && decimalSeparators.test(keyCode)) {\n event.preventDefault()\n }\n\n const charAtSelection = value.slice(selStart, selStart + 1)\n\n if (allowedDecimals) {\n // if we have already a decimal ...\n if (hasDecimalSymbol && decimalSeparators.test(keyCode)) {\n // ... we set the cursor on after the decimalSeparators\n if (decimalSeparators.test(charAtSelection)) {\n const index = value.indexOf(maskParams.decimalSymbol)\n if (index > -1) {\n safeSetSelection(event.target, index + 1)\n }\n }\n\n // ... we do not allow to type another\n event.preventDefault()\n }\n\n // replace other decimal\n else if (\n !hasDecimalSymbol &&\n keyCode !== maskParams.decimalSymbol &&\n decimalSeparators.test(keyCode)\n ) {\n value = value.slice(0, selStart)\n setLocalValue(value + maskParams.decimalSymbol)\n event.target.value = value + maskParams.decimalSymbol\n event.preventDefault()\n }\n }\n\n // move cursor to right if key is delete and char at selection is thousand separator\n if (\n keyCode === 'delete' &&\n charAtSelection === (maskParams.thousandsSeparatorSymbol || ' ')\n ) {\n safeSetSelection(event.target, selStart + 1)\n event.preventDefault()\n }\n }\n\n let num = cleanNumber(value, {\n prefix: maskParams.prefix,\n suffix: maskParams.suffix,\n decimalSeparator: maskParams.decimalSymbol || ',',\n thousandsSeparator: maskParams.thousandsSeparatorSymbol || ' ',\n })\n\n // We don't want to return NaN, so we set it to 0\n if (num === '-') {\n num = -0\n }\n\n const numberValue = Number(num)\n\n // Return '' (empty string) when the user has entered something invalid\n const cleanedValue =\n numberValue === 0 && String(num).charAt(0) !== '0' ? '' : num\n\n switch (name) {\n case 'on_focus':\n case 'on_key_down':\n case 'on_mouse_down':\n case 'on_mouse_up':\n event.target.runCorrectCaretPosition = () =>\n correctCaretPosition(event.target, maskParams, props)\n if (!event.target.__getCorrectCaretPosition) {\n event.target.runCorrectCaretPosition()\n }\n break\n }\n\n const result = dispatchCustomElementEvent(props, name, {\n event,\n value,\n numberValue,\n cleanedValue,\n })\n\n if (name === 'on_change') {\n setLocalValue(value)\n }\n\n return result\n }\n\n return callEvent\n}\n\n/**\n * Returns number mask parameters if requested by the component properties\n *\n * @returns object of number mask parameter\n */\nconst useNumberMaskParams = () => {\n const { props } = React.useContext(InputMaskedContext)\n const locale = useTranslation()\n\n if (!isRequestingNumberMask(props)) {\n return { ...fromJSON(props.mask_options) }\n }\n\n let { number_mask, currency_mask, mask_options } = props\n const { as_number, as_percent, as_currency, value } = props\n\n mask_options = fromJSON(mask_options)\n number_mask = isTrue(number_mask) ? {} : fromJSON(number_mask)\n currency_mask = isTrue(currency_mask)\n ? {}\n : fromJSON(currency_mask, {\n currency: currency_mask,\n })\n if (!currency_mask?.currency) {\n delete currency_mask.currency\n }\n\n if (isRequestingLocaleSupport(props)) {\n const thousandsSeparatorSymbol = handleThousandsSeparator(locale)\n const decimalSymbol = handleDecimalSeparator(locale)\n\n if (isTrue(as_number) || isTrue(as_percent)) {\n number_mask = extendPropsWithContext(number_mask, null, {\n decimalSymbol,\n thousandsSeparatorSymbol,\n })\n } else if (as_currency) {\n currency_mask = extendPropsWithContext(currency_mask, null, {\n decimalSymbol,\n thousandsSeparatorSymbol,\n currency: getCurrencySymbol(\n locale,\n typeof as_currency === 'string' ? as_currency : null,\n currency_mask?.currencyDisplay,\n value\n ),\n })\n }\n }\n\n let maskParams = null\n\n if (number_mask) {\n maskParams = handleNumberMask({\n mask_options,\n number_mask,\n })\n\n if (isTrue(as_percent)) {\n maskParams = handlePercentMask({ props, locale, maskParams })\n }\n } else if (currency_mask) {\n maskParams = handleCurrencyMask({\n mask_options,\n currency_mask,\n })\n }\n\n return maskParams\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Space.js","names":["_react","_interopRequireDefault","require","_classnames","_componentHelper","_Context","_SpacingHelper","_SpacingUtils","_SkeletonHelper","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultProps","Space","localProps","context","React","useContext","Context","props","space","extendPropsWithContext","skeleton","element","inline","no_collapse","top","right","bottom","left","style","innerSpace","stretch","innerRef","className","children","attributes","params","classnames","createSkeletonClass","createSpacingClasses","isTrue","styleObj","createSpacingProperties","skeletonDOMAttributes","createElement","Element","_supportsSpacingProps","_ref","ElementDynamic","validateDOMAttributes","component","R","isInline"],"sources":["../../../../src/components/space/Space.tsx"],"sourcesContent":["/**\n * Web Space Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { spacingPropTypes } from './SpacingHelper'\nimport {\n createSpacingClasses,\n createSpacingProperties,\n isInline,\n} from './SpacingUtils'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\nimport type { SkeletonShow } from '../Skeleton'\n\nexport { spacingPropTypes }\n\nexport type SpaceProps = {\n /**\n * Defines the HTML element used.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * If set to `true`, then `display: inline-block;` is used, so the HTML elements get aligned horizontally. Defaults to `false`.\n * Default: false\n */\n inline?: boolean\n\n /**\n * If set to `true`, then a wrapper with `display: flow-root;` is used. This way you avoid **Margin Collapsing**. Defaults to `false`. _Note:_ You can't use `inline={true}` in combination.\n * Default: false\n */\n no_collapse?: boolean\n\n /**\n * If set to `true`, then the space element will be 100% in `width`.\n * Default: false\n */\n stretch?: boolean\n\n /**\n * If set to `true`, a loading skeleton will be shown.\n * Default: false\n */\n skeleton?: SkeletonShow\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & SpacingProps\n\nexport type SpaceAllProps = SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nconst defaultProps = {}\n\nexport default function Space(localProps: SpaceAllProps) {\n const context = React.useContext<ContextProps & SpacingProps>(Context)\n\n // consume the space context\n const props = context.space\n ? // use only the props from context, who are available here anyway\n extendPropsWithContext(\n localProps,\n defaultProps,\n { space: context.space },\n { skeleton: context?.skeleton }\n )\n : localProps\n\n const {\n element = 'div',\n inline,\n no_collapse,\n top,\n right,\n bottom,\n left,\n style,\n space,\n innerSpace, // eslint-disable-line\n stretch,\n skeleton,\n innerRef,\n className,\n children,\n\n ...attributes\n } = props\n\n const params = {\n className: classnames(\n 'dnb-space',\n isTrue(stretch) && 'dnb-space--stretch',\n isTrue(inline) && 'dnb-space--inline',\n createSkeletonClass(null, skeleton), // do not send along context\n createSpacingClasses({ top, right, bottom, left, space }),\n className\n ),\n ...attributes,\n }\n\n const styleObj = {\n ...style,\n ...createSpacingProperties(props),\n } as React.CSSProperties\n\n skeletonDOMAttributes(params, skeleton) // do not send along context\n\n return (\n <Element\n element={element}\n no_collapse={no_collapse}\n innerRef={innerRef}\n style={styleObj}\n {...params}\n >\n {children}\n </Element>\n )\n}\n\nSpace._supportsSpacingProps = true\n\nfunction Element({\n element,\n no_collapse,\n children,\n innerRef,\n ...props\n}: SpaceAllProps) {\n const ElementDynamic = element\n\n if (element?.['_name'] === 'Section') {\n props['innerRef'] = innerRef\n } else {\n // also used for code markup simulation\n validateDOMAttributes({}, props)\n props['ref'] = innerRef\n }\n\n const component = (\n <ElementDynamic {...(props as DynamicElementParams)}>\n {children}\n </ElementDynamic>\n )\n\n if (isTrue(no_collapse)) {\n const R =\n ElementDynamic === 'span' || isInline(element as string)\n ? 'span'\n : 'div'\n return (\n <R\n className={classnames(\n 'dnb-space--no-collapse',\n isInline(element as string) && 'dnb-space--inline'\n )}\n >\n {component}\n </R>\n )\n }\n\n return component\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Space.js","names":["_react","_interopRequireDefault","require","_classnames","_componentHelper","_Context","_SpacingHelper","_SpacingUtils","_SkeletonHelper","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultProps","Space","localProps","context","React","useContext","Context","props","space","extendPropsWithContext","skeleton","element","inline","no_collapse","top","right","bottom","left","style","innerSpace","stretch","innerRef","className","children","attributes","params","classnames","createSkeletonClass","createSpacingClasses","isTrue","styleObj","createSpacingProperties","skeletonDOMAttributes","createElement","Element","_supportsSpacingProps","_ref","ElementDynamic","validateDOMAttributes","component","R","isInline"],"sources":["../../../../src/components/space/Space.tsx"],"sourcesContent":["/**\n * Web Space Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { spacingPropTypes } from './SpacingHelper'\nimport {\n createSpacingClasses,\n createSpacingProperties,\n isInline,\n} from './SpacingUtils'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\nimport type { SkeletonShow } from '../Skeleton'\n\nexport { spacingPropTypes }\n\nexport type SpaceProps = {\n /**\n * Defines the HTML element used.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * If set to `true`, then `display: inline-block;` is used, so the HTML elements get aligned horizontally. Defaults to `false`.\n * Default: false\n */\n inline?: boolean\n\n /**\n * If set to `true`, then a wrapper with `display: flow-root;` is used. This way you avoid **Margin Collapsing**. Defaults to `false`. _Note:_ You can't use `inline={true}` in combination.\n * Default: false\n */\n no_collapse?: boolean\n\n /**\n * If set to `true`, then the space element will be 100% in width.\n * Default: false\n */\n stretch?: boolean\n\n /**\n * If set to `true`, a loading skeleton will be shown.\n * Default: false\n */\n skeleton?: SkeletonShow\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & SpacingProps\n\nexport type SpaceAllProps = SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nconst defaultProps = {}\n\nexport default function Space(localProps: SpaceAllProps) {\n const context = React.useContext<ContextProps & SpacingProps>(Context)\n\n // consume the space context\n const props = context.space\n ? // use only the props from context, who are available here anyway\n extendPropsWithContext(\n localProps,\n defaultProps,\n { space: context.space },\n { skeleton: context?.skeleton }\n )\n : localProps\n\n const {\n element = 'div',\n inline,\n no_collapse,\n top,\n right,\n bottom,\n left,\n style,\n space,\n innerSpace, // eslint-disable-line\n stretch,\n skeleton,\n innerRef,\n className,\n children,\n\n ...attributes\n } = props\n\n const params = {\n className: classnames(\n 'dnb-space',\n isTrue(stretch) && 'dnb-space--stretch',\n isTrue(inline) && 'dnb-space--inline',\n createSkeletonClass(null, skeleton), // do not send along context\n createSpacingClasses({ top, right, bottom, left, space }),\n className\n ),\n ...attributes,\n }\n\n const styleObj = {\n ...style,\n ...createSpacingProperties(props),\n } as React.CSSProperties\n\n skeletonDOMAttributes(params, skeleton) // do not send along context\n\n return (\n <Element\n element={element}\n no_collapse={no_collapse}\n innerRef={innerRef}\n style={styleObj}\n {...params}\n >\n {children}\n </Element>\n )\n}\n\nSpace._supportsSpacingProps = true\n\nfunction Element({\n element,\n no_collapse,\n children,\n innerRef,\n ...props\n}: SpaceAllProps) {\n const ElementDynamic = element\n\n if (element?.['_name'] === 'Section') {\n props['innerRef'] = innerRef\n } else {\n // also used for code markup simulation\n validateDOMAttributes({}, props)\n props['ref'] = innerRef\n }\n\n const component = (\n <ElementDynamic {...(props as DynamicElementParams)}>\n {children}\n </ElementDynamic>\n )\n\n if (isTrue(no_collapse)) {\n const R =\n ElementDynamic === 'span' || isInline(element as string)\n ? 'span'\n : 'div'\n return (\n <R\n className={classnames(\n 'dnb-space--no-collapse',\n isInline(element as string) && 'dnb-space--inline'\n )}\n >\n {component}\n </R>\n )\n }\n\n return component\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableAccordionHead.js","names":["_react","_interopRequireWildcard","require","_TableTd","_interopRequireDefault","_TableContext","_TableClickableHead","_TableAccordionContext","_TableAccordionContent","_Td","_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","TableAccordionHead","allProps","_React$useContext","children","expanded","noAnimation","onClick","onOpened","onClosed","count","props","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addContent","content","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","every","isValidElement","useEffect","_tableContext$collaps","collapseTrCallbacks","current","tableContextAllProps","createElement","TableClickableButtonTd","ariaLabel","accordionToggleButtonSR","icon","toggleOpenTr","isTableHead","_tableContext$allProp","TableIconSrTh","text","countTds","type","Td","TableAccordionContext","Provider","value","TableClickableHead","clickable","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeyDownHandler","event","toggleOpenFn","allowInteractiveElement","onClickTr","TableAccordionContentSingle","TableAccordionContentRow"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionHead.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport {\n TableClickableButtonTd,\n TableClickableHead,\n TableIconSrTh,\n isTableHead,\n onClickTr,\n} from '../TableClickableHead'\nimport { TableAccordionContext } from './TableAccordionContext'\nimport {\n TableAccordionContentSingle,\n TableAccordionContentRow,\n} from './TableAccordionContent'\n\nimport type {\n TableAccordionContentSingleProps,\n TableAccordionContentRowProps,\n} from './TableAccordionContent'\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableAccordionHeadProps = {\n /** The row number */\n count: number\n} & TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableAccordionHead(allProps: TableAccordionHeadProps) {\n const {\n children,\n expanded,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n count,\n ...props\n } = allProps\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let headerContent = React.Children.toArray(children)\n\n const addContent = (content) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(content)\n } else {\n headerContent.unshift(content)\n }\n }\n\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<\n TableAccordionContentSingleProps | TableAccordionContentRowProps\n >[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n useEffect(() => {\n if (\n hasAccordionContent &&\n tableContext?.collapseTrCallbacks?.current &&\n count\n ) {\n tableContext.collapseTrCallbacks.current[count] = () => {\n setOpen(false)\n }\n }\n }, [count, tableContext?.collapseTrCallbacks, hasAccordionContent])\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addContent(\n <TableClickableButtonTd\n trIsOpen={trIsOpen}\n ariaLabel={tableContextAllProps?.accordionToggleButtonSR}\n icon=\"chevron_down\"\n onClick={toggleOpenTr}\n key=\"td-icon\"\n />\n )\n } else if (isTableHead(headerContent)) {\n addContent(\n <TableIconSrTh\n key=\"th-icon\"\n text={tableContext?.allProps?.accordionToggleButtonSR}\n />\n )\n } else if (!hasAccordionContent) {\n addContent(<Td key=\"empty-td\"></Td>)\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return (\n element.type === Td || element.type === TableClickableButtonTd\n ) // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n onOpened,\n onClosed,\n }}\n >\n <TableClickableHead\n trIsOpen={trIsOpen}\n trIsHover={trIsHover}\n trHadClick={trHadClick}\n clickable={hasAccordionContent}\n noAnimation={noAnimation}\n onClick={toggleOpenTr}\n onMouseEnter={onMouseEnterHandler}\n onMouseLeave={onMouseLeaveHandler}\n onKeyDown={onKeyDownHandler}\n ariaLabel={tableContextAllProps?.accordionToggleButtonSR}\n {...props}\n >\n {headerContent}\n </TableClickableHead>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onMouseEnterHandler() {\n setHover(true)\n }\n\n function onKeyDownHandler(event: React.SyntheticEvent) {\n toggleOpenTr(event, true)\n }\n\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n\n function toggleOpenFn(event: React.SyntheticEvent) {\n setOpen(!trIsOpen)\n setHadClick(true)\n onClick?.(event)\n }\n\n function toggleOpenTr(\n event: React.SyntheticEvent,\n allowInteractiveElement?: boolean\n ) {\n onClickTr(event, allowInteractiveElement, toggleOpenFn)\n }\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionContentSingle ||\n element.type === TableAccordionContentRow\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableAccordionHead.js","names":["_react","_interopRequireWildcard","require","_TableTd","_interopRequireDefault","_TableContext","_TableClickableHead","_TableAccordionContext","_TableAccordionContent","_Td","_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","TableAccordionHead","allProps","_React$useContext","children","expanded","noAnimation","onClick","onOpened","onClosed","count","props","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addContent","content","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","every","isValidElement","useEffect","_tableContext$collaps","collapseTrCallbacks","current","tableContextAllProps","createElement","TableClickableButtonTd","ariaLabel","accordionToggleButtonSR","icon","toggleOpenTr","isTableHead","_tableContext$allProp","TableIconSrTh","text","countTds","type","Td","TableAccordionContext","Provider","value","TableClickableHead","clickable","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeyDownHandler","event","toggleOpenFn","allowInteractiveElement","onClickTr","TableAccordionContentSingle","TableAccordionContentRow"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionHead.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport {\n TableClickableButtonTd,\n TableClickableHead,\n TableIconSrTh,\n isTableHead,\n onClickTr,\n} from '../TableClickableHead'\nimport { TableAccordionContext } from './TableAccordionContext'\nimport {\n TableAccordionContentSingle,\n TableAccordionContentRow,\n} from './TableAccordionContent'\n\nimport type {\n TableAccordionContentSingleProps,\n TableAccordionContentRowProps,\n} from './TableAccordionContent'\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableAccordionHeadProps = {\n /** The row number */\n count: number\n} & TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableAccordionHead(allProps: TableAccordionHeadProps) {\n const {\n children,\n expanded,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n count,\n ...props\n } = allProps\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let headerContent = React.Children.toArray(children)\n\n const addContent = (content) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(content)\n } else {\n headerContent.unshift(content)\n }\n }\n\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<\n TableAccordionContentSingleProps | TableAccordionContentRowProps\n >[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n useEffect(() => {\n if (\n hasAccordionContent &&\n tableContext?.collapseTrCallbacks?.current &&\n count\n ) {\n tableContext.collapseTrCallbacks.current[count] = () => {\n setOpen(false)\n }\n }\n }, [count, tableContext?.collapseTrCallbacks, hasAccordionContent])\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addContent(\n <TableClickableButtonTd\n trIsOpen={trIsOpen}\n ariaLabel={tableContextAllProps?.accordionToggleButtonSR}\n icon=\"chevron_down\"\n onClick={toggleOpenTr}\n key=\"td-icon\"\n />\n )\n } else if (isTableHead(headerContent)) {\n addContent(\n <TableIconSrTh\n key=\"th-icon\"\n text={tableContext?.allProps?.accordionToggleButtonSR}\n />\n )\n } else if (!hasAccordionContent) {\n addContent(<Td key=\"empty-td\" />)\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return (\n element.type === Td || element.type === TableClickableButtonTd\n ) // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n onOpened,\n onClosed,\n }}\n >\n <TableClickableHead\n trIsOpen={trIsOpen}\n trIsHover={trIsHover}\n trHadClick={trHadClick}\n clickable={hasAccordionContent}\n noAnimation={noAnimation}\n onClick={toggleOpenTr}\n onMouseEnter={onMouseEnterHandler}\n onMouseLeave={onMouseLeaveHandler}\n onKeyDown={onKeyDownHandler}\n ariaLabel={tableContextAllProps?.accordionToggleButtonSR}\n {...props}\n >\n {headerContent}\n </TableClickableHead>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onMouseEnterHandler() {\n setHover(true)\n }\n\n function onKeyDownHandler(event: React.SyntheticEvent) {\n toggleOpenTr(event, true)\n }\n\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n\n function toggleOpenFn(event: React.SyntheticEvent) {\n setOpen(!trIsOpen)\n setHadClick(true)\n onClick?.(event)\n }\n\n function toggleOpenTr(\n event: React.SyntheticEvent,\n allowInteractiveElement?: boolean\n ) {\n onClickTr(event, allowInteractiveElement, toggleOpenFn)\n }\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionContentSingle ||\n element.type === TableAccordionContentRow\n"],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ function TableNavigationHead(allProps) {
|
|
|
22
22
|
} = allProps,
|
|
23
23
|
props = _objectWithoutProperties(allProps, _excluded);
|
|
24
24
|
const tableContext = _react.default.useContext(_TableContext.TableContext);
|
|
25
|
-
|
|
25
|
+
const content = _react.default.Children.toArray(children);
|
|
26
26
|
const hasOnClick = typeof onClick === 'function';
|
|
27
27
|
const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
|
|
28
28
|
if (hasOnClick) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableNavigationHead.js","names":["_react","_interopRequireDefault","require","_TableTd","_TableContext","_TableClickableHead","_Td","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableNavigationHead","allProps","_React$useContext","children","onClick","props","tableContext","React","useContext","TableContext","content","Children","toArray","hasOnClick","tableContextAllProps","push","createElement","TableClickableButtonTd","ariaLabel","navigationButtonSR","icon","onClickHandler","isTableHead","_tableContext$allProp","TableIconSrTh","text","TableClickableHead","clickable","onKeyDown","event","allowInteractiveElement","onClickTr"],"sources":["../../../../../src/components/table/table-navigation/TableNavigationHead.tsx"],"sourcesContent":["import React from 'react'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport {\n TableClickableButtonTd,\n TableClickableHead,\n TableIconSrTh,\n isTableHead,\n onClickTr,\n} from '../TableClickableHead'\n\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableNavigationHeadProps = TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableNavigationHead(allProps: TableNavigationHeadProps) {\n const { children, onClick, ...props } = allProps\n const tableContext = React.useContext(TableContext)\n\n
|
|
1
|
+
{"version":3,"file":"TableNavigationHead.js","names":["_react","_interopRequireDefault","require","_TableTd","_TableContext","_TableClickableHead","_Td","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableNavigationHead","allProps","_React$useContext","children","onClick","props","tableContext","React","useContext","TableContext","content","Children","toArray","hasOnClick","tableContextAllProps","push","createElement","TableClickableButtonTd","ariaLabel","navigationButtonSR","icon","onClickHandler","isTableHead","_tableContext$allProp","TableIconSrTh","text","TableClickableHead","clickable","onKeyDown","event","allowInteractiveElement","onClickTr"],"sources":["../../../../../src/components/table/table-navigation/TableNavigationHead.tsx"],"sourcesContent":["import React from 'react'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport {\n TableClickableButtonTd,\n TableClickableHead,\n TableIconSrTh,\n isTableHead,\n onClickTr,\n} from '../TableClickableHead'\n\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableNavigationHeadProps = TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableNavigationHead(allProps: TableNavigationHeadProps) {\n const { children, onClick, ...props } = allProps\n const tableContext = React.useContext(TableContext)\n\n const content = React.Children.toArray(children)\n\n const hasOnClick = typeof onClick === 'function'\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n\n if (hasOnClick) {\n content.push(\n <TableClickableButtonTd\n key=\"td-icon\"\n ariaLabel={tableContextAllProps?.navigationButtonSR}\n icon=\"chevron_right\"\n onClick={onClickHandler}\n />\n )\n } else if (isTableHead(content)) {\n content.push(\n <TableIconSrTh\n key=\"th-icon\"\n text={tableContext?.allProps?.navigationButtonSR}\n />\n )\n } else if (!hasOnClick) {\n content.push(<Td key=\"empty-td\" />)\n }\n\n return (\n <TableClickableHead\n clickable={hasOnClick}\n onClick={onClickHandler}\n onKeyDown={onClick}\n ariaLabel={tableContextAllProps?.navigationButtonSR}\n {...props}\n >\n {content}\n </TableClickableHead>\n )\n\n function onClickHandler(\n event: React.SyntheticEvent,\n allowInteractiveElement?: boolean\n ) {\n onClickTr(event, allowInteractiveElement, onClick)\n }\n}\n"],"mappings":"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"}
|
|
@@ -78,7 +78,7 @@ class Tabs extends _react.default.PureComponent {
|
|
|
78
78
|
static getData(props) {
|
|
79
79
|
const addReactElement = (list, reactElem, reactElemIndex) => {
|
|
80
80
|
if (reactElem.props && reactElem.props.displayName === 'CustomContent') {
|
|
81
|
-
const dataProps = props.
|
|
81
|
+
const dataProps = props.children && Array.isArray(props.children) && props.children[reactElemIndex] || {};
|
|
82
82
|
const componentProps = _objectSpread({}, reactElem.props);
|
|
83
83
|
if (componentProps.title === null) {
|
|
84
84
|
delete componentProps.title;
|