@dnb/eufemia 10.17.0 → 10.18.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 +18 -0
- package/cjs/components/flex/Container.js +4 -0
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/utils.d.ts +1 -1
- package/cjs/components/flex/utils.js +11 -1
- package/cjs/components/flex/utils.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMask.d.ts +10 -2
- package/cjs/components/input-masked/MultiInputMask.js +41 -14
- package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
- package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
- package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.js +1 -1
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
- package/cjs/components/visually-hidden/VisuallyHidden.js +1 -1
- package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +14 -14
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
- package/cjs/extensions/forms/Field/Date/Date.js +1 -5
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +20 -10
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.js +0 -5
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +7 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +4 -9
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +0 -1
- package/cjs/extensions/forms/Field/String/String.js +2 -8
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +0 -4
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -10
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
- package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +0 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/hooks/useData.d.ts +10 -0
- package/cjs/extensions/forms/Form/hooks/useData.js +36 -0
- package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +7 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +0 -4
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +2 -2
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +12 -11
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +4 -8
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/EventEmitter.d.ts +5 -0
- package/cjs/shared/helpers/EventEmitter.js.map +1 -1
- package/cjs/shared/helpers/useEventEmitter.d.ts +2 -0
- package/cjs/shared/helpers/useEventEmitter.js.map +1 -1
- package/cjs/shared/helpers/useSharedState.d.ts +15 -0
- package/cjs/shared/helpers/useSharedState.js +71 -0
- package/cjs/shared/helpers/useSharedState.js.map +1 -0
- package/cjs/style/dnb-ui-components.css +12 -11
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +12 -11
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +12 -11
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +28 -22
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +12 -11
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +12 -11
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/flex/Container.js +4 -0
- package/components/flex/Container.js.map +1 -1
- package/components/flex/utils.d.ts +1 -1
- package/components/flex/utils.js +11 -1
- package/components/flex/utils.js.map +1 -1
- package/components/input-masked/MultiInputMask.d.ts +10 -2
- package/components/input-masked/MultiInputMask.js +39 -14
- package/components/input-masked/MultiInputMask.js.map +1 -1
- package/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
- package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
- package/components/number-format/NumberFormat.js +1 -1
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
- package/components/visually-hidden/VisuallyHidden.js +1 -1
- package/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/es/components/flex/Container.js +4 -0
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/utils.d.ts +1 -1
- package/es/components/flex/utils.js +11 -1
- package/es/components/flex/utils.js.map +1 -1
- package/es/components/input-masked/MultiInputMask.d.ts +10 -2
- package/es/components/input-masked/MultiInputMask.js +39 -13
- package/es/components/input-masked/MultiInputMask.js.map +1 -1
- package/es/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
- package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
- package/es/components/number-format/NumberFormat.js +1 -1
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
- package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
- package/es/components/visually-hidden/VisuallyHidden.js +1 -1
- package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
- package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
- package/es/extensions/forms/Field/Date/Date.js +1 -5
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +20 -11
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.js +0 -5
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +7 -1
- package/es/extensions/forms/Field/Selection/Selection.js +4 -9
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +0 -1
- package/es/extensions/forms/Field/String/String.js +2 -8
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +0 -4
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -10
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
- package/es/extensions/forms/Form/Handler/Handler.js +1 -0
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.js +0 -1
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/hooks/useData.d.ts +10 -0
- package/es/extensions/forms/Form/hooks/useData.js +29 -0
- package/es/extensions/forms/Form/hooks/useData.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +0 -4
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.js +2 -2
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +12 -11
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +4 -8
- package/es/extensions/forms/types.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/EventEmitter.d.ts +5 -0
- package/es/shared/helpers/EventEmitter.js.map +1 -1
- package/es/shared/helpers/useEventEmitter.d.ts +2 -0
- package/es/shared/helpers/useEventEmitter.js.map +1 -1
- package/es/shared/helpers/useSharedState.d.ts +15 -0
- package/es/shared/helpers/useSharedState.js +63 -0
- package/es/shared/helpers/useSharedState.js.map +1 -0
- package/es/style/dnb-ui-components.css +12 -11
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +12 -11
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +12 -11
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +28 -22
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +12 -11
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +12 -11
- 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/Provider/Provider.d.ts +8 -4
- package/extensions/forms/DataContext/Provider/Provider.js +22 -4
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
- package/extensions/forms/Field/Date/Date.js +1 -5
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +21 -11
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Number/Number.js +0 -5
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -5
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +7 -1
- package/extensions/forms/Field/Selection/Selection.js +4 -9
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +0 -1
- package/extensions/forms/Field/String/String.js +2 -8
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +0 -4
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +2 -10
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -9
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -11
- package/extensions/forms/Form/Handler/Handler.js +1 -0
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.js +0 -1
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/hooks/useData.d.ts +10 -0
- package/extensions/forms/Form/hooks/useData.js +30 -0
- package/extensions/forms/Form/hooks/useData.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +1 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +0 -4
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.js +2 -2
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +12 -11
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +4 -8
- package/extensions/forms/types.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/helpers/EventEmitter.d.ts +5 -0
- package/shared/helpers/EventEmitter.js.map +1 -1
- package/shared/helpers/useEventEmitter.d.ts +2 -0
- package/shared/helpers/useEventEmitter.js.map +1 -1
- package/shared/helpers/useSharedState.d.ts +15 -0
- package/shared/helpers/useSharedState.js +63 -0
- package/shared/helpers/useSharedState.js.map +1 -0
- package/style/dnb-ui-components.css +12 -11
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-extensions.css +12 -11
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +12 -11
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +28 -22
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -11
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -11
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +32 -23
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -11
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -11
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +28 -22
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +12 -11
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +12 -11
- 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 +2 -2
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_hooks","_FieldBlock","_utils","_Context","_SelectCountry","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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_countryCodeRef$curre","sharedContext","useContext","SharedContext","tr","translation","Forms","lang","locale","split","countryCodeRef","React","useRef","numberRef","dataRef","langRef","wasFilled","errorMessages","useMemo","required","phoneNumberErrorRequired","pattern","validateRequired","useCallback","_ref","isChanged","error","countryCode","phoneNumber","splitValue","prevCountryCodeRef","current","defaultProps","preparedProps","fromExternal","toEvent","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","countryCodeLabel","label","phoneNumberLabel","numberMask","countries","ccFilter","emptyValue","info","warning","disabled","width","help","validateInitially","continuousValidation","validateUnchanged","omitCountryCodeField","handleFocus","handleBlur","handleChange","updateValue","onCountryCodeChange","onNumberChange","filterCountries","makeCountryFilterSet","useDataValue","external","updateCurrentDataSet","getCountryData","country","formattCountryCode","cdc","sort","makeObject","callOnChange","_ref2","joinValue","handleCountryCodeChange","_ref3","_data$selectedKey","data","selectedKey","trim","handleNumberChange","onFocusHandler","_ref4","updateData","onTypeHandler","_ref5","_event$nativeEvent","revalidateInputValue","event","nativeEvent","cdcVal","test","find","_ref6","window","requestAnimationFrame","isDefault","includes","createElement","classnames","pickSpacingProps","Flex","Horizontal","align","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","autoComplete","no_animation","noAnimation","stretch","type","layout","mask","Array","fill","onFocus","onBlur","onChange","inputMode","_country$i18n$lang","selected_value","iso","content","i18n","en","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport { Autocomplete, Flex } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, { CountryType } from '../../constants/countries'\nimport StringComponent, { Props as InputProps } from '../String'\nimport { useDataValue } from '../../hooks'\nimport FieldBlock from '../../FieldBlock'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n CountryFilterSet,\n getCountryData,\n makeCountryFilterSet,\n} from '../SelectCountry'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: InputProps['pattern']\n width?: 'large' | 'stretch'\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n countries?: CountryFilterSet\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\n// Important for the default value to be defined here, and not after the useDataValue call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n const lang = sharedContext.locale?.split('-')[0]\n\n const countryCodeRef = React.useRef(null)\n const numberRef = React.useRef(null)\n const dataRef = React.useRef(null)\n const langRef = React.useRef(lang)\n const wasFilled = React.useRef(false)\n\n const errorMessages = useMemo(\n () => ({\n required: tr.phoneNumberErrorRequired,\n pattern: tr.phoneNumberErrorRequired,\n ...props?.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const defaultProps: Partial<Props> = {\n errorMessages,\n }\n const preparedProps: Props = {\n ...defaultProps,\n ...props,\n validateRequired,\n fromExternal,\n toEvent,\n }\n\n const {\n className,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = sharedContext?.translation.Forms.phoneNumberLabel,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n error,\n disabled,\n width = 'large',\n help,\n pattern,\n required,\n validateInitially,\n continuousValidation,\n validateUnchanged,\n omitCountryCodeField,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useDataValue(preparedProps)\n\n function fromExternal(external: string) {\n const [, phoneNumber] = splitValue(external)\n if (!phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n }\n\n function toEvent(value: string) {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return emptyValue\n }\n return value\n }\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) =>\n `${formattCountryCode(country.cdc)}` === countryCodeRef.current\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filterCountries, ccFilter])\n\n const callOnChange = useCallback(\n ({\n countryCode = omitCountryCodeField\n ? emptyValue\n : countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }) => {\n /**\n * To ensure, we actually call onChange every time the cc value changes,\n * even if the value is undefined\n */\n updateValue('invalidate')\n\n handleChange(\n joinValue([countryCode, phoneNumber]),\n omitCountryCodeField\n ? { phoneNumber }\n : { countryCode, phoneNumber }\n )\n },\n [omitCountryCodeField, emptyValue, updateValue, handleChange]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [props.value, lang, updateCurrentDataSet])\n\n const prevCountryCodeRef = React.useRef(countryCodeRef.current)\n\n const handleCountryCodeChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleFocus()\n },\n [handleFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formattCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-phone-number', className)}\n width={omitCountryCodeField ? undefined : width}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n {...pickSpacingProps(props)}\n >\n <Flex.Horizontal align=\"flex-end\">\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={\n countryCodeLabel ??\n sharedContext?.translation.Forms.countryCodeLabel\n }\n data={dataRef.current}\n value={countryCodeRef.current}\n status={error ? 'error' : undefined}\n disabled={disabled}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n stretch={width === 'stretch'}\n />\n )}\n\n <StringComponent\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue=\"\"\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width={omitCountryCodeField ? 'medium' : 'stretch'}\n help={help}\n required={required}\n pattern={pattern}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n continuousValidation={continuousValidation}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n />\n </Flex.Horizontal>\n </FieldBlock>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n return {\n selectedKey: formattCountryCode(country.cdc),\n selected_value: `${country.iso} (${formattCountryCode(country.cdc)})`,\n content: `${formattCountryCode(country.cdc)} ${\n country.i18n[lang] ?? country.i18n.en\n }`,\n }\n}\n\nfunction formattCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_hooks","_FieldBlock","_utils","_Context","_SelectCountry","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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_countryCodeRef$curre","sharedContext","useContext","SharedContext","tr","translation","Forms","lang","locale","split","countryCodeRef","React","useRef","numberRef","dataRef","langRef","wasFilled","errorMessages","useMemo","required","phoneNumberErrorRequired","pattern","validateRequired","useCallback","_ref","isChanged","error","countryCode","phoneNumber","splitValue","prevCountryCodeRef","current","defaultProps","preparedProps","fromExternal","toEvent","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","countryCodeLabel","label","phoneNumberLabel","numberMask","countries","ccFilter","emptyValue","info","warning","disabled","width","help","validateInitially","continuousValidation","validateUnchanged","omitCountryCodeField","handleFocus","handleBlur","handleChange","onCountryCodeChange","onNumberChange","filterCountries","makeCountryFilterSet","useDataValue","external","updateCurrentDataSet","getCountryData","country","formattCountryCode","cdc","sort","makeObject","callOnChange","_ref2","joinValue","handleCountryCodeChange","_ref3","_data$selectedKey","data","selectedKey","trim","handleNumberChange","onFocusHandler","_ref4","updateData","onTypeHandler","_ref5","_event$nativeEvent","revalidateInputValue","event","nativeEvent","cdcVal","test","find","_ref6","window","requestAnimationFrame","isDefault","includes","createElement","classnames","pickSpacingProps","Flex","Horizontal","align","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","autoComplete","no_animation","noAnimation","stretch","type","layout","mask","Array","fill","onFocus","onBlur","onChange","inputMode","_country$i18n$lang","selected_value","iso","content","i18n","en","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport { Autocomplete, Flex } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, { CountryType } from '../../constants/countries'\nimport StringComponent, { Props as InputProps } from '../String'\nimport { useDataValue } from '../../hooks'\nimport FieldBlock from '../../FieldBlock'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n CountryFilterSet,\n getCountryData,\n makeCountryFilterSet,\n} from '../SelectCountry'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: InputProps['pattern']\n width?: 'large' | 'stretch'\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n countries?: CountryFilterSet\n\n /**\n * For internal use only.\n *\n * @param country\n * @returns boolean\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n }\n\n// Important for the default value to be defined here, and not after the useDataValue call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n const lang = sharedContext.locale?.split('-')[0]\n\n const countryCodeRef = React.useRef(null)\n const numberRef = React.useRef(null)\n const dataRef = React.useRef(null)\n const langRef = React.useRef(lang)\n const wasFilled = React.useRef(false)\n\n const errorMessages = useMemo(\n () => ({\n required: tr.phoneNumberErrorRequired,\n pattern: tr.phoneNumberErrorRequired,\n ...props?.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const defaultProps: Partial<Props> = {\n errorMessages,\n }\n const preparedProps: Props = {\n ...defaultProps,\n ...props,\n validateRequired,\n fromExternal,\n toEvent,\n }\n\n const {\n value,\n className,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = sharedContext?.translation.Forms.phoneNumberLabel,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n error,\n disabled,\n width = 'large',\n help,\n pattern,\n required,\n validateInitially,\n continuousValidation,\n validateUnchanged,\n omitCountryCodeField,\n handleFocus,\n handleBlur,\n handleChange,\n onCountryCodeChange,\n onNumberChange,\n filterCountries = ccFilter !== 'Prioritized'\n ? makeCountryFilterSet(ccFilter)\n : undefined,\n } = useDataValue(preparedProps)\n\n function fromExternal(external: string) {\n const [, phoneNumber] = splitValue(external)\n if (!phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n }\n\n function toEvent(value: string) {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return emptyValue\n }\n return value\n }\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) =>\n `${formattCountryCode(country.cdc)}` === countryCodeRef.current\n : filterCountries,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filterCountries, ccFilter])\n\n const callOnChange = useCallback(\n ({\n countryCode = omitCountryCodeField\n ? emptyValue\n : countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }) => {\n handleChange(\n joinValue([countryCode, phoneNumber]),\n omitCountryCodeField\n ? { phoneNumber }\n : { countryCode, phoneNumber }\n )\n },\n [omitCountryCodeField, emptyValue, handleChange]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const prevCountryCodeRef = React.useRef(countryCodeRef.current)\n\n const handleCountryCodeChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleFocus()\n },\n [handleFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formattCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-phone-number', className)}\n width={omitCountryCodeField ? undefined : width}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n {...pickSpacingProps(props)}\n >\n <Flex.Horizontal align=\"flex-end\">\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={\n countryCodeLabel ??\n sharedContext?.translation.Forms.countryCodeLabel\n }\n data={dataRef.current}\n value={countryCodeRef.current}\n status={error ? 'error' : undefined}\n disabled={disabled}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n stretch={width === 'stretch'}\n />\n )}\n\n <StringComponent\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue=\"\"\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width={omitCountryCodeField ? 'medium' : 'stretch'}\n help={help}\n required={required}\n pattern={pattern}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n continuousValidation={continuousValidation}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n />\n </Flex.Horizontal>\n </FieldBlock>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n return {\n selectedKey: formattCountryCode(country.cdc),\n selected_value: `${country.iso} (${formattCountryCode(country.cdc)})`,\n content: `${formattCountryCode(country.cdc)} ${\n country.i18n[lang] ?? country.i18n.en\n }`,\n }\n}\n\nfunction formattCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FieldProps, FieldHelpProps } from '../../types';
|
|
3
|
-
|
|
3
|
+
import type { FormStatusText } from '../../../../components/FormStatus';
|
|
4
|
+
interface IOption {
|
|
5
|
+
title: string | React.ReactNode;
|
|
6
|
+
value: number | string;
|
|
7
|
+
status: FormStatusText;
|
|
8
|
+
}
|
|
9
|
+
export type Props = FieldHelpProps & FieldProps<IOption['value']> & {
|
|
4
10
|
children?: React.ReactNode;
|
|
5
11
|
variant?: 'dropdown' | 'radio' | 'button';
|
|
6
12
|
clear?: boolean;
|
|
@@ -38,8 +38,6 @@ function Selection(props) {
|
|
|
38
38
|
variant = 'dropdown',
|
|
39
39
|
clear,
|
|
40
40
|
label,
|
|
41
|
-
labelDescription,
|
|
42
|
-
labelSecondary,
|
|
43
41
|
layout = 'vertical',
|
|
44
42
|
optionsLayout = 'vertical',
|
|
45
43
|
placeholder,
|
|
@@ -90,9 +88,7 @@ function Selection(props) {
|
|
|
90
88
|
warning,
|
|
91
89
|
error,
|
|
92
90
|
layout,
|
|
93
|
-
label
|
|
94
|
-
labelDescription,
|
|
95
|
-
labelSecondary
|
|
91
|
+
label
|
|
96
92
|
});
|
|
97
93
|
const getStatus = (0, _react.useCallback)(error => {
|
|
98
94
|
var _error$message;
|
|
@@ -166,7 +162,7 @@ function Selection(props) {
|
|
|
166
162
|
} : undefined, ...(optionsData !== null && optionsData !== void 0 ? optionsData : [])].filter(Boolean);
|
|
167
163
|
return _react.default.createElement(_FieldBlock.default, _extends({}, fieldBlockProps, {
|
|
168
164
|
width: width
|
|
169
|
-
}), _react.default.createElement(_components.Dropdown,
|
|
165
|
+
}), _react.default.createElement(_components.Dropdown, {
|
|
170
166
|
id: id,
|
|
171
167
|
list_class: "dnb-forms-field-selection__list",
|
|
172
168
|
portal_class: "dnb-forms-field-selection__portal",
|
|
@@ -180,10 +176,9 @@ function Selection(props) {
|
|
|
180
176
|
}, help.contents) : undefined,
|
|
181
177
|
on_change: handleDropdownChange,
|
|
182
178
|
on_show: handleShow,
|
|
183
|
-
on_hide: handleHide
|
|
184
|
-
}, (0, _utils.pickSpacingProps)(props), {
|
|
179
|
+
on_hide: handleHide,
|
|
185
180
|
stretch: true
|
|
186
|
-
}))
|
|
181
|
+
}));
|
|
187
182
|
}
|
|
188
183
|
}
|
|
189
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_componentHelper","_Context","_Option","_hooks","_types","_utils","_FieldBlock","_em","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Selection","props","sharedContext","useContext","SharedContext","clearValue","useMemo","makeUniqueId","id","className","variant","clear","label","labelDescription","labelSecondary","layout","optionsLayout","placeholder","info","warning","error","disabled","help","emptyValue","width","setHasFocus","handleChange","children","useDataValue","handleDropdownChange","useCallback","_ref","data","selectedKey","onChangeHandler","_ref2","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","pickSpacingProps","getStatus","_error$message","message","Error","FormError","toString","options","React","Children","toArray","child","isValidElement","type","Option","map","option","_option$props","v","title","rest","status","Component","Radio","ToggleButton","createElement","Group","layout_direction","on_change","text","optionsData","_child$props$value","_ref5","_child$props$children","_child$props$children2","content","translation","Forms","selectionClearSelected","Boolean","Dropdown","list_class","portal_class","suffix","HelpButton","contents","on_show","on_hide","stretch","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n} from '../../../../components'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport SharedContext from '../../../../shared/Context'\nimport Option from '../Option'\nimport { useDataValue } from '../../hooks'\nimport { FormError, FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport FieldBlock from '../../FieldBlock'\n\ninterface IOption {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<string | number> & {\n children?: React.ReactNode\n variant?: 'dropdown' | 'radio' | 'button'\n clear?: boolean\n optionsLayout?: 'horizontal' | 'vertical'\n width?: 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction Selection(props: Props) {\n const sharedContext = useContext(SharedContext)\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n clear,\n label,\n labelDescription,\n labelSecondary,\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n emptyValue,\n width = 'large',\n setHasFocus,\n handleChange,\n children,\n } = useDataValue(props)\n\n const handleDropdownChange = useCallback(\n ({ data: { selectedKey } }) => {\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useDataValues handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection__options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n labelSecondary,\n }\n\n const getStatus = useCallback(\n (error: Error | FormError | undefined) => {\n return (\n error?.message ??\n ((warning instanceof Error && warning.message) ||\n (warning instanceof FormError && warning.message) ||\n warning?.toString() ||\n (info instanceof Error && info.message) ||\n (info instanceof FormError && info.message) ||\n info?.toString())\n )\n },\n [info, warning]\n )\n\n const options: IOption[] = useMemo(\n () =>\n React.Children.toArray(children)\n .filter(\n (child) => React.isValidElement(child) && child.type === Option\n )\n .map((option: React.ReactElement) => {\n const {\n value: v,\n error,\n title,\n children,\n ...rest\n } = option.props\n\n const status = getStatus(error)\n\n return {\n title: title ?? children,\n value: v,\n status,\n ...rest,\n }\n }),\n [children, getStatus]\n )\n\n const status = getStatus(error)\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {options.map((option, i) => {\n const { value, title, status, ...rest } = option\n return (\n <Component\n id={options.length === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n label={variant === 'radio' ? title : undefined}\n text={variant === 'button' ? title : undefined}\n value={String(value ?? '')}\n status={status}\n {...rest}\n />\n )\n })}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'dropdown': {\n const optionsData = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && child.type === Option) {\n // Option components\n return child.props.text\n ? {\n selectedKey: String(child.props.value ?? ''),\n content: [\n child.props.children ?? child.props.title ?? (\n <em>Untitled</em>\n ),\n child.props.text,\n ],\n }\n : {\n selectedKey: child.props.value,\n content: child.props.children ?? child.props.title,\n }\n }\n\n // For other children, just show them as content\n return {\n content: child,\n }\n })\n const data = [\n clear\n ? {\n selectedKey: clearValue,\n content: (\n <em>\n {sharedContext?.translation.Forms.selectionClearSelected}\n </em>\n ),\n }\n : undefined,\n ...(optionsData ?? []),\n ].filter(Boolean)\n\n return (\n <FieldBlock {...fieldBlockProps} width={width}>\n <Dropdown\n id={id}\n list_class=\"dnb-forms-field-selection__list\"\n portal_class=\"dnb-forms-field-selection__portal\"\n title={placeholder}\n value={String(value ?? '')}\n status={status && 'error'}\n disabled={disabled}\n data={data}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_change={handleDropdownChange}\n on_show={handleShow}\n on_hide={handleHide}\n {...pickSpacingProps(props)}\n stretch\n />\n </FieldBlock>\n )\n }\n }\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_componentHelper","_Context","_Option","_hooks","_types","_utils","_FieldBlock","_em","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Selection","props","sharedContext","useContext","SharedContext","clearValue","useMemo","makeUniqueId","id","className","variant","clear","label","layout","optionsLayout","placeholder","info","warning","error","disabled","help","emptyValue","width","setHasFocus","handleChange","children","useDataValue","handleDropdownChange","useCallback","_ref","data","selectedKey","onChangeHandler","_ref2","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","pickSpacingProps","getStatus","_error$message","message","Error","FormError","toString","options","React","Children","toArray","child","isValidElement","type","Option","map","option","_option$props","v","title","rest","status","Component","Radio","ToggleButton","createElement","Group","layout_direction","on_change","text","optionsData","_child$props$value","_ref5","_child$props$children","_child$props$children2","content","translation","Forms","selectionClearSelected","Boolean","Dropdown","list_class","portal_class","suffix","HelpButton","contents","on_show","on_hide","stretch","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useContext, useCallback } from 'react'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n} from '../../../../components'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport SharedContext from '../../../../shared/Context'\nimport Option from '../Option'\nimport { useDataValue } from '../../hooks'\nimport { FormError, FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport FieldBlock from '../../FieldBlock'\n\ninterface IOption {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<IOption['value']> & {\n children?: React.ReactNode\n variant?: 'dropdown' | 'radio' | 'button'\n clear?: boolean\n optionsLayout?: 'horizontal' | 'vertical'\n width?: 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction Selection(props: Props) {\n const sharedContext = useContext(SharedContext)\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n clear,\n label,\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n disabled,\n help,\n emptyValue,\n width = 'large',\n setHasFocus,\n handleChange,\n children,\n } = useDataValue(props)\n\n const handleDropdownChange = useCallback(\n ({ data: { selectedKey } }) => {\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useDataValues handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection__options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n layout,\n label,\n }\n\n const getStatus = useCallback(\n (error: Error | FormError | undefined) => {\n return (\n error?.message ??\n ((warning instanceof Error && warning.message) ||\n (warning instanceof FormError && warning.message) ||\n warning?.toString() ||\n (info instanceof Error && info.message) ||\n (info instanceof FormError && info.message) ||\n info?.toString())\n )\n },\n [info, warning]\n )\n\n const options: IOption[] = useMemo(\n () =>\n React.Children.toArray(children)\n .filter(\n (child) => React.isValidElement(child) && child.type === Option\n )\n .map((option: React.ReactElement) => {\n const {\n value: v,\n error,\n title,\n children,\n ...rest\n } = option.props\n\n const status = getStatus(error)\n\n return {\n title: title ?? children,\n value: v,\n status,\n ...rest,\n }\n }),\n [children, getStatus]\n )\n\n const status = getStatus(error)\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {options.map((option, i) => {\n const { value, title, status, ...rest } = option\n return (\n <Component\n id={options.length === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n label={variant === 'radio' ? title : undefined}\n text={variant === 'button' ? title : undefined}\n value={String(value ?? '')}\n status={status}\n {...rest}\n />\n )\n })}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'dropdown': {\n const optionsData = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && child.type === Option) {\n // Option components\n return child.props.text\n ? {\n selectedKey: String(child.props.value ?? ''),\n content: [\n child.props.children ?? child.props.title ?? (\n <em>Untitled</em>\n ),\n child.props.text,\n ],\n }\n : {\n selectedKey: child.props.value,\n content: child.props.children ?? child.props.title,\n }\n }\n\n // For other children, just show them as content\n return {\n content: child,\n }\n })\n const data = [\n clear\n ? {\n selectedKey: clearValue,\n content: (\n <em>\n {sharedContext?.translation.Forms.selectionClearSelected}\n </em>\n ),\n }\n : undefined,\n ...(optionsData ?? []),\n ].filter(Boolean)\n\n return (\n <FieldBlock {...fieldBlockProps} width={width}>\n <Dropdown\n id={id}\n list_class=\"dnb-forms-field-selection__list\"\n portal_class=\"dnb-forms-field-selection__portal\"\n title={placeholder}\n value={String(value ?? '')}\n status={status && 'error'}\n disabled={disabled}\n data={data}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_change={handleDropdownChange}\n on_show={handleShow}\n on_hide={handleHide}\n stretch\n />\n </FieldBlock>\n )\n }\n }\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
|
|
@@ -21,7 +21,6 @@ export type Props = FieldHelpProps & FieldProps<string, undefined | string, Erro
|
|
|
21
21
|
autoComplete?: HTMLInputElement['autocomplete'];
|
|
22
22
|
inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
|
|
23
23
|
autoresizeMaxRows?: number;
|
|
24
|
-
characterCounter?: boolean;
|
|
25
24
|
mask?: InputMaskedProps['mask'];
|
|
26
25
|
minLength?: number;
|
|
27
26
|
maxLength?: number;
|
|
@@ -24,7 +24,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
24
24
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
25
25
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
26
26
|
function StringComponent(props) {
|
|
27
|
-
var _props$width, _value$
|
|
27
|
+
var _props$width, _value$toString;
|
|
28
28
|
const sharedContext = (0, _react.useContext)(_Context.default);
|
|
29
29
|
const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
|
|
30
30
|
const errorMessages = (0, _react.useMemo)(() => _objectSpread({
|
|
@@ -90,8 +90,6 @@ function StringComponent(props) {
|
|
|
90
90
|
type,
|
|
91
91
|
placeholder,
|
|
92
92
|
label,
|
|
93
|
-
labelDescription,
|
|
94
|
-
labelSecondary,
|
|
95
93
|
value,
|
|
96
94
|
info,
|
|
97
95
|
warning,
|
|
@@ -105,7 +103,6 @@ function StringComponent(props) {
|
|
|
105
103
|
clear,
|
|
106
104
|
autoresize = true,
|
|
107
105
|
autoresizeMaxRows = 6,
|
|
108
|
-
characterCounter,
|
|
109
106
|
mask,
|
|
110
107
|
width,
|
|
111
108
|
handleFocus,
|
|
@@ -113,7 +110,6 @@ function StringComponent(props) {
|
|
|
113
110
|
handleChange
|
|
114
111
|
} = (0, _hooks.useDataValue)(preparedProps);
|
|
115
112
|
const transformInstantly = (0, _react.useCallback)(value => props.capitalize ? (0, _componentHelper.toCapitalized)(value) : value, [props.capitalize]);
|
|
116
|
-
const characterCounterElement = characterCounter ? props.maxLength ? `${(_value$length = value === null || value === void 0 ? void 0 : value.length) !== null && _value$length !== void 0 ? _value$length : '0'}/${props.maxLength}` : `${(_value$length2 = value === null || value === void 0 ? void 0 : value.length) !== null && _value$length2 !== void 0 ? _value$length2 : '0'}` : undefined;
|
|
117
113
|
const cn = (0, _classnames.default)('dnb-forms-field-string__input', inputClassName);
|
|
118
114
|
const sharedProps = {
|
|
119
115
|
id,
|
|
@@ -131,7 +127,7 @@ function StringComponent(props) {
|
|
|
131
127
|
disabled: disabled,
|
|
132
128
|
stretch: width !== undefined,
|
|
133
129
|
inner_ref: innerRef,
|
|
134
|
-
status:
|
|
130
|
+
status: hasError ? 'error' : undefined,
|
|
135
131
|
value: transformInstantly((_value$toString = value === null || value === void 0 ? void 0 : value.toString()) !== null && _value$toString !== void 0 ? _value$toString : '')
|
|
136
132
|
};
|
|
137
133
|
return _react.default.createElement(_FieldBlock.default, _extends({
|
|
@@ -139,8 +135,6 @@ function StringComponent(props) {
|
|
|
139
135
|
forId: id,
|
|
140
136
|
layout: layout,
|
|
141
137
|
label: label,
|
|
142
|
-
labelDescription: labelDescription,
|
|
143
|
-
labelSecondary: labelSecondary !== null && labelSecondary !== void 0 ? labelSecondary : characterCounterElement,
|
|
144
138
|
info: info,
|
|
145
139
|
warning: warning,
|
|
146
140
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"String.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_InputMasked","_Context","_FieldBlock","_hooks","_utils","_componentHelper","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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","StringComponent","props","_props$width","_value$length","_value$length2","_value$toString","sharedContext","useContext","SharedContext","tr","translation","Forms","errorMessages","useMemo","required","inputErrorRequired","minLength","stringInputErrorMinLength","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","_props$schema","type","fromInput","useCallback","event","_event","_event$cleanedValue","_event2","_event3","emptyValue","cleanedValue","toEvent","trim","spaces","RegExp","test","replace","handleChange","transformValue","capitalize","toCapitalized","preparedProps","width","id","name","className","autoComplete","inputMode","innerRef","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","info","warning","error","hasError","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","characterCounter","mask","handleFocus","handleBlur","useDataValue","transformInstantly","characterCounterElement","cn","classnames","sharedProps","suffix","createElement","HelpButton","title","contents","on_focus","on_blur","on_change","stretch","inner_ref","status","toString","forId","contentsWidth","pickSpacingProps","Textarea","autoresize_max_rows","icon","icon_position","Input","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { JSONSchema7 } from 'json-schema'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { toCapitalized } from '../../../../shared/component-helper'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoComplete?: HTMLInputElement['autocomplete']\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode']\n autoresizeMaxRows?: number\n characterCounter?: boolean\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minLength: tr.stringInputErrorMinLength,\n maxLength: tr.stringInputErrorMaxLength,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n (event: { value: string; cleanedValue?: string }) => {\n if (typeof event === 'string') {\n event = { value: event }\n }\n if (event?.value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return event?.cleanedValue ?? event?.value\n },\n [props.emptyValue]\n )\n const toEvent = useCallback(\n (value: string, type: string) => {\n if (props.trim && type === 'onBlur') {\n const spaces = '[\\\\s ]'\n if (new RegExp(`^${spaces}|${spaces}$`).test(value)) {\n value = value.replace(\n new RegExp(`^${spaces}+|${spaces}+$`, 'g'),\n ''\n )\n handleChange(value)\n }\n }\n return value\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.trim]\n )\n const transformValue = useCallback(\n (value: string) => {\n if (props.capitalize) {\n value = toCapitalized(String(value || ''))\n }\n return value\n },\n [props.capitalize]\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n toEvent,\n transformValue,\n width: props.width ?? 'large',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputMode,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n characterCounter,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const transformInstantly = useCallback(\n (value: string) => (props.capitalize ? toCapitalized(value) : value),\n [props.capitalize]\n )\n\n const characterCounterElement = characterCounter\n ? props.maxLength\n ? `${value?.length ?? '0'}/${props.maxLength}`\n : `${value?.length ?? '0'}`\n : undefined\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps = {\n id,\n name,\n autoComplete,\n inputMode,\n className: cn,\n placeholder: placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled: disabled,\n stretch: width !== undefined,\n inner_ref: innerRef,\n status: error || hasError ? 'error' : undefined,\n value: transformInstantly(value?.toString() ?? ''),\n }\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary ?? characterCounterElement}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n width={width === 'stretch' ? width : undefined}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n {...sharedProps}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n />\n ) : mask ? (\n <InputMasked\n {...sharedProps}\n mask={mask}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n />\n ) : (\n <Input\n {...sharedProps}\n type={type}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"String.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_InputMasked","_Context","_FieldBlock","_hooks","_utils","_componentHelper","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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","StringComponent","props","_props$width","_value$toString","sharedContext","useContext","SharedContext","tr","translation","Forms","errorMessages","useMemo","required","inputErrorRequired","minLength","stringInputErrorMinLength","maxLength","stringInputErrorMaxLength","pattern","inputErrorPattern","schema","_props$schema","type","fromInput","useCallback","event","_event","_event$cleanedValue","_event2","_event3","emptyValue","cleanedValue","toEvent","trim","spaces","RegExp","test","replace","handleChange","transformValue","capitalize","toCapitalized","preparedProps","width","id","name","className","autoComplete","inputMode","innerRef","inputClassName","layout","placeholder","label","info","warning","error","hasError","disabled","help","multiline","leftIcon","rightIcon","clear","autoresize","autoresizeMaxRows","mask","handleFocus","handleBlur","useDataValue","transformInstantly","cn","classnames","sharedProps","suffix","createElement","HelpButton","title","contents","on_focus","on_blur","on_change","stretch","inner_ref","status","toString","forId","contentsWidth","pickSpacingProps","Textarea","autoresize_max_rows","icon","icon_position","Input","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps, JSONSchema } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { toCapitalized } from '../../../../shared/component-helper'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minLength?: string\n maxLength?: string\n pattern?: string\n}\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string, ErrorMessages> & {\n type?: InputProps['type']\n multiline?: boolean\n leftIcon?: string\n rightIcon?: string\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n clear?: boolean\n autoresize?: boolean\n autoComplete?: HTMLInputElement['autocomplete']\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode']\n autoresizeMaxRows?: number\n mask?: InputMaskedProps['mask']\n // Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n // Styling\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n }\n\nfunction StringComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minLength: tr.stringInputErrorMinLength,\n maxLength: tr.stringInputErrorMaxLength,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n (event: { value: string; cleanedValue?: string }) => {\n if (typeof event === 'string') {\n event = { value: event }\n }\n if (event?.value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return event?.cleanedValue ?? event?.value\n },\n [props.emptyValue]\n )\n const toEvent = useCallback(\n (value: string, type: string) => {\n if (props.trim && type === 'onBlur') {\n const spaces = '[\\\\s ]'\n if (new RegExp(`^${spaces}|${spaces}$`).test(value)) {\n value = value.replace(\n new RegExp(`^${spaces}+|${spaces}+$`, 'g'),\n ''\n )\n handleChange(value)\n }\n }\n return value\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.trim]\n )\n const transformValue = useCallback(\n (value: string) => {\n if (props.capitalize) {\n value = toCapitalized(String(value || ''))\n }\n return value\n },\n [props.capitalize]\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n toEvent,\n transformValue,\n width: props.width ?? 'large',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputMode,\n innerRef,\n inputClassName,\n layout,\n type,\n placeholder,\n label,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n multiline,\n leftIcon,\n rightIcon,\n clear,\n autoresize = true,\n autoresizeMaxRows = 6,\n mask,\n width,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const transformInstantly = useCallback(\n (value: string) => (props.capitalize ? toCapitalized(value) : value),\n [props.capitalize]\n )\n\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps = {\n id,\n name,\n autoComplete,\n inputMode,\n className: cn,\n placeholder: placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n disabled: disabled,\n stretch: width !== undefined,\n inner_ref: innerRef,\n status: hasError ? 'error' : undefined,\n value: transformInstantly(value?.toString() ?? ''),\n }\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n layout={layout}\n label={label}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n width={width === 'stretch' ? width : undefined}\n contentsWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n {multiline ? (\n <Textarea\n {...sharedProps}\n autoresize={autoresize}\n autoresize_max_rows={autoresizeMaxRows}\n />\n ) : mask ? (\n <InputMasked\n {...sharedProps}\n mask={mask}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n />\n ) : (\n <Input\n {...sharedProps}\n type={type}\n icon={leftIcon ?? rightIcon}\n icon_position={rightIcon && !leftIcon ? 'right' : undefined}\n clear={clear}\n />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
|
|
@@ -34,8 +34,6 @@ function Toggle(props) {
|
|
|
34
34
|
variant,
|
|
35
35
|
disabled,
|
|
36
36
|
label,
|
|
37
|
-
labelDescription,
|
|
38
|
-
labelSecondary,
|
|
39
37
|
textOn,
|
|
40
38
|
textOff,
|
|
41
39
|
value,
|
|
@@ -69,8 +67,6 @@ function Toggle(props) {
|
|
|
69
67
|
const fieldBlockProps = _objectSpread(_objectSpread({}, fieldBlockPropsWithoutLabel), {}, {
|
|
70
68
|
layout,
|
|
71
69
|
label,
|
|
72
|
-
labelDescription,
|
|
73
|
-
labelSecondary,
|
|
74
70
|
disabled
|
|
75
71
|
});
|
|
76
72
|
const isOn = value === valueOn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_ButtonRow","_FieldBlock","_hooks","_utils","_Context","_ToggleButtonGroupContext","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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Toggle","props","sharedContext","useContext","SharedContext","id","className","valueOn","valueOff","layout","variant","disabled","label","labelDescription","labelSecondary","textOn","textOff","info","warning","error","handleChange","useDataValue","handleCheckboxChange","useCallback","_ref","checked","handleToggleChange","_ref2","cn","classnames","fieldBlockPropsWithoutLabel","forId","pickSpacingProps","fieldBlockProps","isOn","isOff","createElement","Checkbox","status","on_change","ToggleButton","text","translation","Forms","booleanYes","booleanNo","asFieldset","bottom","Provider","onChange","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\nexport type Props = FieldProps<unknown> & {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nfunction Toggle(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n id,\n className,\n valueOn,\n valueOff,\n layout,\n variant,\n disabled,\n label,\n labelDescription,\n labelSecondary,\n textOn,\n textOff,\n value,\n info,\n warning,\n error,\n handleChange,\n } = useDataValue(props)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockPropsWithoutLabel = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n disabled,\n }\n\n const fieldBlockProps = {\n ...fieldBlockPropsWithoutLabel,\n layout,\n label,\n labelDescription,\n labelSecondary,\n disabled,\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockPropsWithoutLabel}>\n <Checkbox\n id={id}\n className={cn}\n label={label}\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n on_change={handleCheckboxChange}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : undefined,\n onChange: handleToggleChange,\n status: error ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={\n textOn ?? sharedContext?.translation.Forms.booleanYes\n }\n value=\"on\"\n />\n <ToggleButton\n text={\n textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n value=\"off\"\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Toggle.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_ButtonRow","_FieldBlock","_hooks","_utils","_Context","_ToggleButtonGroupContext","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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Toggle","props","sharedContext","useContext","SharedContext","id","className","valueOn","valueOff","layout","variant","disabled","label","textOn","textOff","info","warning","error","handleChange","useDataValue","handleCheckboxChange","useCallback","_ref","checked","handleToggleChange","_ref2","cn","classnames","fieldBlockPropsWithoutLabel","forId","pickSpacingProps","fieldBlockProps","isOn","isOff","createElement","Checkbox","status","on_change","ToggleButton","text","translation","Forms","booleanYes","booleanNo","asFieldset","bottom","Provider","onChange","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\nexport type Props = FieldProps<unknown> & {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nfunction Toggle(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n id,\n className,\n valueOn,\n valueOff,\n layout,\n variant,\n disabled,\n label,\n textOn,\n textOff,\n value,\n info,\n warning,\n error,\n handleChange,\n } = useDataValue(props)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockPropsWithoutLabel = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n disabled,\n }\n\n const fieldBlockProps = {\n ...fieldBlockPropsWithoutLabel,\n layout,\n label,\n disabled,\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockPropsWithoutLabel}>\n <Checkbox\n id={id}\n className={cn}\n label={label}\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n on_change={handleCheckboxChange}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : undefined,\n onChange: handleToggleChange,\n status: error ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={\n textOn ?? sharedContext?.translation.Forms.booleanYes\n }\n value=\"on\"\n />\n <ToggleButton\n text={\n textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n value=\"off\"\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={error ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ComponentProps, FieldProps } from '../types';
|
|
3
|
-
export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' | '
|
|
3
|
+
export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' | 'info' | 'warning' | 'error' | 'disabled'> & {
|
|
4
4
|
forId?: string;
|
|
5
5
|
contentClassName?: string;
|
|
6
6
|
children: React.ReactNode;
|
|
@@ -11,7 +11,7 @@ var _components = require("../../../components");
|
|
|
11
11
|
var _types = require("../types");
|
|
12
12
|
var _FieldBlockContext = _interopRequireDefault(require("./FieldBlockContext"));
|
|
13
13
|
var _componentHelper = require("../../../shared/component-helper");
|
|
14
|
-
const _excluded = ["className", "forId", "layout", "label", "
|
|
14
|
+
const _excluded = ["className", "forId", "layout", "label", "asFieldset", "info", "warning", "error", "disabled", "width", "contentsWidth", "size", "contentClassName", "children"];
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -30,8 +30,6 @@ function FieldBlock(props) {
|
|
|
30
30
|
forId,
|
|
31
31
|
layout = 'vertical',
|
|
32
32
|
label,
|
|
33
|
-
labelDescription,
|
|
34
|
-
labelSecondary,
|
|
35
33
|
asFieldset,
|
|
36
34
|
info,
|
|
37
35
|
warning,
|
|
@@ -127,13 +125,7 @@ function FieldBlock(props) {
|
|
|
127
125
|
className: mainClasses
|
|
128
126
|
}, rest), _react.default.createElement("div", {
|
|
129
127
|
className: gridClasses
|
|
130
|
-
},
|
|
131
|
-
className: "dnb-forms-field-block__label"
|
|
132
|
-
}, label || labelDescription ? _react.default.createElement(_components.FormLabel, labelProps, label, labelDescription && _react.default.createElement("span", {
|
|
133
|
-
className: "dnb-forms-field-block__label-description"
|
|
134
|
-
}, labelDescription)) : _react.default.createElement(_react.default.Fragment, null, "\xA0"), labelSecondary && _react.default.createElement("span", {
|
|
135
|
-
className: "dnb-forms-field-block__label-secondary"
|
|
136
|
-
}, labelSecondary)) : label && _react.default.createElement(_components.FormLabel, labelProps, label), _react.default.createElement("div", {
|
|
128
|
+
}, label && _react.default.createElement(_components.FormLabel, labelProps, label), _react.default.createElement("div", {
|
|
137
129
|
className: (0, _classnames.default)('dnb-forms-field-block__contents', contentClassName, contentsWidth !== undefined && `dnb-forms-field-block__contents--width-${contentsWidth}`)
|
|
138
130
|
}, children), stateStatus && _react.default.createElement("div", {
|
|
139
131
|
className: "dnb-forms-field-block__status"
|