@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
|
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _components = require("../../../../components");
|
|
9
|
-
var _ButtonRow = _interopRequireDefault(require("../../Form/ButtonRow"));
|
|
10
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
10
|
var _Option = _interopRequireDefault(require("../Option"));
|
|
12
11
|
var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
|
|
13
12
|
var _hooks = require("../../hooks");
|
|
14
13
|
var _utils = require("../../../../components/flex/utils");
|
|
14
|
+
var _ToggleButtonGroupContext = _interopRequireDefault(require("../../../../components/toggle-button/ToggleButtonGroupContext"));
|
|
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; }
|
|
@@ -28,10 +28,9 @@ function ArraySelection(props) {
|
|
|
28
28
|
layout = 'vertical',
|
|
29
29
|
optionsLayout = 'vertical',
|
|
30
30
|
label,
|
|
31
|
-
labelDescription,
|
|
32
|
-
labelSecondary,
|
|
33
31
|
value,
|
|
34
32
|
error,
|
|
33
|
+
hasError,
|
|
35
34
|
info,
|
|
36
35
|
warning,
|
|
37
36
|
disabled,
|
|
@@ -41,15 +40,13 @@ function ArraySelection(props) {
|
|
|
41
40
|
} = (0, _hooks.useDataValue)(props);
|
|
42
41
|
const fieldBlockProps = _objectSpread({
|
|
43
42
|
forId: id,
|
|
44
|
-
className: (0, _classnames.default)(`dnb-forms-field-array-selection dnb-forms-field-array-selection--
|
|
43
|
+
className: (0, _classnames.default)(`dnb-forms-field-array-selection dnb-forms-field-array-selection--layout-${optionsLayout}`, className),
|
|
45
44
|
contentClassName: 'dnb-forms-field-array-selection__options',
|
|
46
45
|
info,
|
|
47
46
|
warning,
|
|
48
47
|
error,
|
|
49
48
|
layout,
|
|
50
|
-
label
|
|
51
|
-
labelDescription,
|
|
52
|
-
labelSecondary
|
|
49
|
+
label
|
|
53
50
|
}, (0, _utils.pickSpacingProps)(props));
|
|
54
51
|
const options = (0, _react.useMemo)(() => _react.default.Children.toArray(children).filter(child => _react.default.isValidElement(child) && child.type === _Option.default).map(option => {
|
|
55
52
|
var _option$props$title;
|
|
@@ -65,14 +62,16 @@ function ArraySelection(props) {
|
|
|
65
62
|
}), [children, value, emptyValue, handleChange]);
|
|
66
63
|
switch (variant) {
|
|
67
64
|
case 'button':
|
|
68
|
-
return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(
|
|
65
|
+
return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_ToggleButtonGroupContext.default.Provider, {
|
|
66
|
+
value: {
|
|
67
|
+
status: hasError ? 'error' : undefined,
|
|
68
|
+
disabled
|
|
69
|
+
}
|
|
70
|
+
}, options.map((option, i) => _react.default.createElement(_components.ToggleButton, {
|
|
69
71
|
key: `option-${i}-${option.value}`,
|
|
70
|
-
id: id,
|
|
71
72
|
text: option.title,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
status: error ? 'error' : undefined,
|
|
75
|
-
disabled: disabled
|
|
73
|
+
checked: value === null || value === void 0 ? void 0 : value.includes(option.value),
|
|
74
|
+
on_change: option.handleSelect
|
|
76
75
|
}))));
|
|
77
76
|
case 'checkbox':
|
|
78
77
|
return _react.default.createElement(_FieldBlock.default, fieldBlockProps, options.map((option, i) => _react.default.createElement(_components.Checkbox, {
|
|
@@ -81,7 +80,8 @@ function ArraySelection(props) {
|
|
|
81
80
|
label: option.title,
|
|
82
81
|
checked: value === null || value === void 0 ? void 0 : value.includes(option.value),
|
|
83
82
|
disabled: disabled,
|
|
84
|
-
on_change: option.handleSelect
|
|
83
|
+
on_change: option.handleSelect,
|
|
84
|
+
status: hasError ? 'error' : undefined
|
|
85
85
|
})));
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_components","_ButtonRow","_interopRequireDefault","_classnames","_Option","_FieldBlock","_hooks","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ArraySelection","props","id","className","variant","layout","optionsLayout","label","labelDescription","labelSecondary","error","info","warning","disabled","emptyValue","handleChange","children","useDataValue","fieldBlockProps","forId","classnames","contentClassName","pickSpacingProps","options","useMemo","React","Children","toArray","child","isValidElement","type","Option","map","option","_option$props$title","title","handleSelect","selected","newValue","includes","createElement","Button","text","on_click","status","Checkbox","checked","on_change","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { Checkbox, Button } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport classnames from 'classnames'\nimport Option from '../Option'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\n\ninterface IOption {\n title: string\n value: number | string\n handleSelect: () => void\n}\n\nexport type Props = FieldProps<Array<string | number>> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button'\n optionsLayout?: 'horizontal' | 'vertical'\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n labelDescription,\n labelSecondary,\n value,\n error,\n info,\n warning,\n disabled,\n emptyValue,\n handleChange,\n children,\n } = useDataValue(props)\n\n const fieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--options-layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n labelSecondary,\n ...pickSpacingProps(props),\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 title: option.props.title ?? option.props.children,\n value: option.props.value,\n handleSelect: () => {\n const selected = option.props.value\n\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(newValue.length === 0 ? emptyValue : newValue)\n },\n })),\n [children, value, emptyValue, handleChange]\n )\n\n switch (variant) {\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ButtonRow>\n {options.map((option, i) => (\n <Button\n key={`option-${i}-${option.value}`}\n id={id}\n text={option.title}\n on_click={option.handleSelect}\n variant={\n value?.includes(option.value) ? undefined : 'secondary'\n }\n status={error ? 'error' : undefined}\n disabled={disabled}\n />\n ))}\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps}>\n {options.map((option, i) => (\n <Checkbox\n key={`option-${i}-${option.value}`}\n className=\"dnb-forms-field-array-selection__checkbox\"\n label={option.title}\n checked={value?.includes(option.value)}\n disabled={disabled}\n on_change={option.handleSelect}\n />\n ))}\n </FieldBlock>\n )\n }\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_Option","_FieldBlock","_hooks","_utils","_ToggleButtonGroupContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ArraySelection","props","id","className","variant","layout","optionsLayout","label","error","hasError","info","warning","disabled","emptyValue","handleChange","children","useDataValue","fieldBlockProps","forId","classnames","contentClassName","pickSpacingProps","options","useMemo","React","Children","toArray","child","isValidElement","type","Option","map","option","_option$props$title","title","handleSelect","selected","newValue","includes","createElement","Provider","status","ToggleButton","text","checked","on_change","Checkbox","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport Option from '../Option'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\ninterface IOption {\n title: string\n value: number | string\n handleSelect: () => void\n}\n\nexport type Props = FieldProps<Array<string | number>> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button'\n optionsLayout?: 'horizontal' | 'vertical'\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n label,\n value,\n error,\n hasError,\n info,\n warning,\n disabled,\n emptyValue,\n handleChange,\n children,\n } = useDataValue(props)\n\n const fieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--layout-${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n info,\n warning,\n error,\n layout,\n label,\n ...pickSpacingProps(props),\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 title: option.props.title ?? option.props.children,\n value: option.props.value,\n handleSelect: () => {\n const selected = option.props.value\n\n const newValue = value?.includes(selected)\n ? value.filter((value) => value !== selected)\n : [...(value ?? []), selected]\n\n handleChange?.(newValue.length === 0 ? emptyValue : newValue)\n },\n })),\n [children, value, emptyValue, handleChange]\n )\n\n switch (variant) {\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n {options.map((option, i) => (\n <ToggleButton\n key={`option-${i}-${option.value}`}\n text={option.title}\n checked={value?.includes(option.value)}\n on_change={option.handleSelect}\n />\n ))}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps}>\n {options.map((option, i) => (\n <Checkbox\n key={`option-${i}-${option.value}`}\n className=\"dnb-forms-field-array-selection__checkbox\"\n label={option.title}\n checked={value?.includes(option.value)}\n disabled={disabled}\n on_change={option.handleSelect}\n status={hasError ? 'error' : undefined}\n />\n ))}\n </FieldBlock>\n )\n }\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Utilities
|
|
3
|
+
*/
|
|
4
|
+
.dnb-forms-field-array-selection--layout-vertical .dnb-forms-field-array-selection__options {
|
|
2
5
|
display: flex;
|
|
3
6
|
flex-flow: column;
|
|
4
7
|
row-gap: var(--spacing-x-small);
|
|
5
8
|
}
|
|
6
|
-
.dnb-forms-field-array-selection--
|
|
9
|
+
.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options {
|
|
7
10
|
display: flex;
|
|
8
11
|
flex-flow: row wrap;
|
|
9
12
|
-moz-column-gap: var(--spacing-small);
|
|
10
13
|
column-gap: var(--spacing-small);
|
|
14
|
+
row-gap: var(--spacing-x-small);
|
|
15
|
+
}
|
|
16
|
+
@media screen and (min-width: 40em) {
|
|
17
|
+
.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label {
|
|
18
|
+
line-height: 2.5rem;
|
|
19
|
+
margin-bottom: 0;
|
|
20
|
+
}
|
|
11
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-forms-field-array-selection--
|
|
1
|
+
.dnb-forms-field-array-selection--layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--spacing-x-small)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}
|
|
@@ -1,13 +1,23 @@
|
|
|
1
|
+
@import '../../../../../style/core/utilities.scss';
|
|
2
|
+
|
|
1
3
|
.dnb-forms-field-array-selection {
|
|
2
|
-
&--
|
|
4
|
+
&--layout-vertical &__options {
|
|
3
5
|
display: flex;
|
|
4
6
|
flex-flow: column;
|
|
5
7
|
row-gap: var(--spacing-x-small);
|
|
6
8
|
}
|
|
7
9
|
|
|
8
|
-
&--
|
|
10
|
+
&--layout-horizontal &__options {
|
|
9
11
|
display: flex;
|
|
10
12
|
flex-flow: row wrap;
|
|
11
13
|
column-gap: var(--spacing-small);
|
|
14
|
+
row-gap: var(--spacing-x-small); // for when wrapped
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@include allAbove(small) {
|
|
18
|
+
.dnb-forms-field-block--layout-horizontal .dnb-form-label {
|
|
19
|
+
line-height: 2.5rem;
|
|
20
|
+
margin-bottom: 0;
|
|
21
|
+
}
|
|
12
22
|
}
|
|
13
23
|
}
|
|
@@ -61,8 +61,6 @@ function DateComponent(props) {
|
|
|
61
61
|
id,
|
|
62
62
|
className,
|
|
63
63
|
label,
|
|
64
|
-
labelDescription,
|
|
65
|
-
labelSecondary,
|
|
66
64
|
value,
|
|
67
65
|
help,
|
|
68
66
|
info,
|
|
@@ -78,8 +76,6 @@ function DateComponent(props) {
|
|
|
78
76
|
className: (0, _classnames.default)('dnb-forms-field-string', className),
|
|
79
77
|
forId: id,
|
|
80
78
|
label: label !== null && label !== void 0 ? label : sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms.dateLabel,
|
|
81
|
-
labelDescription: labelDescription,
|
|
82
|
-
labelSecondary: labelSecondary,
|
|
83
79
|
info: info,
|
|
84
80
|
warning: warning,
|
|
85
81
|
disabled: disabled,
|
|
@@ -91,7 +87,7 @@ function DateComponent(props) {
|
|
|
91
87
|
show_input: true,
|
|
92
88
|
show_cancel_button: true,
|
|
93
89
|
show_reset_button: true,
|
|
94
|
-
status:
|
|
90
|
+
status: hasError ? 'error' : undefined,
|
|
95
91
|
suffix: help ? _react.default.createElement(_components.HelpButton, {
|
|
96
92
|
title: help.title
|
|
97
93
|
}, help.contents) : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_Context","_interopRequireDefault","_classnames","_FieldBlock","_dateFns","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","DateComponent","props","sharedContext","useContext","SharedContext","tr","translation","Forms","errorMessages","useMemo","required","dateErrorRequired","pattern","inputErrorPattern","schema","_props$schema","type","validateRequired","useCallback","_ref","error","isValid","parseISO","preparedProps","fromInput","_ref2","date","id","className","label","labelDescription","labelSecondary","help","info","warning","hasError","disabled","handleFocus","handleBlur","handleChange","useDataValue","createElement","classnames","forId","dateLabel","pickSpacingProps","DatePicker","show_input","show_cancel_button","show_reset_button","status","suffix","HelpButton","title","contents","on_change","on_reset","onFocus","onBlur","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker, HelpButton } from '../../../../components'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport { JSONSchema7 } from 'json-schema'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { parseISO, isValid } from 'date-fns'\n\nexport type Props = FieldHelpProps &\n FieldProps<string> & {\n // Validation\n pattern?: string\n }\n\nfunction DateComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.dateErrorRequired,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({ date }: { date: string }) => {\n return date\n },\n validateRequired,\n }\n\n const {\n id,\n className,\n label,\n labelDescription,\n labelSecondary,\n value,\n help,\n info,\n warning,\n error,\n hasError,\n disabled,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n label={label ?? sharedContext?.translation.Forms.dateLabel}\n labelDescription={labelDescription}\n labelSecondary={labelSecondary}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n {...pickSpacingProps(props)}\n >\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n show_input={true}\n show_cancel_button={true}\n show_reset_button={true}\n status={error || hasError ? 'error' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_change={handleChange}\n on_reset={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_Context","_interopRequireDefault","_classnames","_FieldBlock","_dateFns","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","DateComponent","props","sharedContext","useContext","SharedContext","tr","translation","Forms","errorMessages","useMemo","required","dateErrorRequired","pattern","inputErrorPattern","schema","_props$schema","type","validateRequired","useCallback","_ref","error","isValid","parseISO","preparedProps","fromInput","_ref2","date","id","className","label","help","info","warning","hasError","disabled","handleFocus","handleBlur","handleChange","useDataValue","createElement","classnames","forId","dateLabel","pickSpacingProps","DatePicker","show_input","show_cancel_button","show_reset_button","status","suffix","HelpButton","title","contents","on_change","on_reset","onFocus","onBlur","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker, HelpButton } from '../../../../components'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps, JSONSchema } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { parseISO, isValid } from 'date-fns'\n\nexport type Props = FieldHelpProps &\n FieldProps<string> & {\n // Validation\n pattern?: string\n }\n\nfunction DateComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const errorMessages = useMemo(\n () => ({\n required: tr.dateErrorRequired,\n pattern: tr.inputErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n\n const schema = useMemo<JSONSchema>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n fromInput: ({ date }: { date: string }) => {\n return date\n },\n validateRequired,\n }\n\n const {\n id,\n className,\n label,\n value,\n help,\n info,\n warning,\n error,\n hasError,\n disabled,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-string', className)}\n forId={id}\n label={label ?? sharedContext?.translation.Forms.dateLabel}\n info={info}\n warning={warning}\n disabled={disabled}\n error={error}\n {...pickSpacingProps(props)}\n >\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n show_input={true}\n show_cancel_button={true}\n show_reset_button={true}\n status={hasError ? 'error' : undefined}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n on_change={handleChange}\n on_reset={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...pickSpacingProps(props)}\n />\n </FieldBlock>\n )\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldHelpProps, FieldProps } from '../../types';
|
|
2
|
-
export type ExpiryProps = FieldProps<string
|
|
2
|
+
export type ExpiryProps = FieldHelpProps & FieldProps<string>;
|
|
3
3
|
declare function Expiry(props: ExpiryProps): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
declare namespace Expiry {
|
|
5
5
|
var _supportsEufemiaSpacingProps: boolean;
|
|
@@ -26,27 +26,39 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
26
26
|
function Expiry(props) {
|
|
27
27
|
var _value$substring;
|
|
28
28
|
const sharedContext = (0, _react.useContext)(_Context.default);
|
|
29
|
+
const translations = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
|
|
29
30
|
const placeholders = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.DatePicker.placeholder_characters;
|
|
31
|
+
const errorMessages = (0, _react.useMemo)(() => _objectSpread({
|
|
32
|
+
required: translations.dateErrorRequired
|
|
33
|
+
}, props.errorMessages), [translations, props.errorMessages]);
|
|
34
|
+
const validateRequired = (0, _react.useCallback)((value, _ref) => {
|
|
35
|
+
let {
|
|
36
|
+
required,
|
|
37
|
+
error
|
|
38
|
+
} = _ref;
|
|
39
|
+
return required && !value ? error : undefined;
|
|
40
|
+
}, []);
|
|
41
|
+
const preparedProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
42
|
+
errorMessages,
|
|
43
|
+
fromInput: toExpiryString,
|
|
44
|
+
validateRequired
|
|
45
|
+
});
|
|
30
46
|
const {
|
|
31
47
|
id: propsId,
|
|
32
48
|
className,
|
|
33
|
-
label =
|
|
49
|
+
label = translations.expiryLabel,
|
|
34
50
|
error,
|
|
35
51
|
info,
|
|
36
52
|
warning,
|
|
37
53
|
help,
|
|
38
54
|
disabled,
|
|
39
55
|
value = '',
|
|
40
|
-
labelDescription,
|
|
41
|
-
labelSecondary,
|
|
42
56
|
layout = 'vertical',
|
|
43
57
|
required,
|
|
44
58
|
handleFocus,
|
|
45
59
|
handleBlur,
|
|
46
60
|
handleChange
|
|
47
|
-
} = (0, _hooks.useDataValue)(_objectSpread(
|
|
48
|
-
emptyValue: ''
|
|
49
|
-
}));
|
|
61
|
+
} = (0, _hooks.useDataValue)(_objectSpread({}, preparedProps));
|
|
50
62
|
const expiry = {
|
|
51
63
|
month: ensureValidMonth(value === null || value === void 0 ? void 0 : value.substring(0, 2)),
|
|
52
64
|
year: (_value$substring = value === null || value === void 0 ? void 0 : value.substring(2, 4)) !== null && _value$substring !== void 0 ? _value$substring : ''
|
|
@@ -55,8 +67,6 @@ function Expiry(props) {
|
|
|
55
67
|
const status = error ? 'error' : warning ? 'warn' : info ? 'info' : null;
|
|
56
68
|
return _react.default.createElement(_FieldBlock.default, _extends({
|
|
57
69
|
className: (0, _classnames.default)('dnb-forms-field-expiry', className),
|
|
58
|
-
labelSecondary: labelSecondary,
|
|
59
|
-
labelDescription: labelDescription,
|
|
60
70
|
info: info,
|
|
61
71
|
warning: warning,
|
|
62
72
|
error: error
|
|
@@ -70,7 +80,7 @@ function Expiry(props) {
|
|
|
70
80
|
statusState: disabled ? 'disabled' : undefined,
|
|
71
81
|
disabled: disabled,
|
|
72
82
|
required: required,
|
|
73
|
-
onChange:
|
|
83
|
+
onChange: handleChange,
|
|
74
84
|
onBlur: handleBlur,
|
|
75
85
|
onFocus: handleFocus,
|
|
76
86
|
delimiter: "/",
|
|
@@ -92,7 +102,7 @@ function Expiry(props) {
|
|
|
92
102
|
title: help.title
|
|
93
103
|
}, help.contents) : undefined
|
|
94
104
|
}));
|
|
95
|
-
function
|
|
105
|
+
function toExpiryString(values) {
|
|
96
106
|
return Object.values(values).join('');
|
|
97
107
|
}
|
|
98
108
|
function ensureValidMonth(month) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expiry.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_Context","_interopRequireDefault","_utils","_hooks","_classnames","_FieldBlock","_inputMasked","_components","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","Expiry","props","_value$substring","sharedContext","useContext","SharedContext","placeholders","translation","DatePicker","placeholder_characters","id","propsId","className","label","Forms","expiryLabel","error","info","warning","help","disabled","labelDescription","labelSecondary","layout","required","handleFocus","handleBlur","handleChange","useDataValue","emptyValue","expiry","month","ensureValidMonth","substring","year","idRef","useRef","makeUniqueId","current","status","createElement","classnames","pickSpacingProps","MultiInputMask","stretch","labelDirection","values","statusState","onChange","expiryToString","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","HelpButton","title","contents","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","seconDigit","isSecondDigitValid","_supportsEufemiaSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useContext, useRef } from 'react'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport SharedContext from '../../../../shared/Context'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { useDataValue } from '../../hooks'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { MultiInputMask } from '../../../../components/input-masked'\nimport type { MultiInputMaskValue } from '../../../../components/input-masked'\nimport { HelpButton } from '../../../../components'\n\ntype ExpiryValue = MultiInputMaskValue<'month' | 'year'>\n\nexport type ExpiryProps = FieldProps<string> & FieldHelpProps\n\nfunction Expiry(props: ExpiryProps) {\n const sharedContext = useContext(SharedContext)\n const placeholders =\n sharedContext?.translation.DatePicker.placeholder_characters\n\n const {\n id: propsId,\n className,\n label = sharedContext?.translation.Forms.expiryLabel,\n error,\n info,\n warning,\n help,\n disabled,\n value = '',\n labelDescription,\n labelSecondary,\n layout = 'vertical',\n required,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue({\n ...props,\n emptyValue: '',\n })\n\n const expiry: ExpiryValue = {\n month: ensureValidMonth(value?.substring(0, 2)),\n year: value?.substring(2, 4) ?? '',\n }\n\n const idRef = useRef(propsId || makeUniqueId()).current\n\n const status = error ? 'error' : warning ? 'warn' : info ? 'info' : null\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-expiry', className)}\n labelSecondary={labelSecondary}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <MultiInputMask\n stretch\n id={`${idRef}__input`}\n label={label}\n labelDirection={layout}\n values={expiry}\n status={status}\n statusState={disabled ? 'disabled' : undefined}\n disabled={disabled}\n required={required}\n onChange={(expiry) => handleChange(expiryToString(expiry))}\n onBlur={handleBlur}\n onFocus={handleFocus}\n delimiter=\"/\"\n inputMode=\"numeric\"\n inputs={[\n {\n id: 'month',\n label: sharedContext?.translation.DatePicker['month'],\n mask: getMonthMask(expiry?.month),\n placeholderCharacter: placeholders['month'],\n autoComplete: 'cc-exp-month',\n },\n {\n id: 'year',\n label: sharedContext?.translation.DatePicker['year'],\n mask: [/[0-9]/, /[0-9]/],\n placeholderCharacter: placeholders['year'],\n autoComplete: 'cc-exp-year',\n },\n ]}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n\n function expiryToString(values: ExpiryValue) {\n return Object.values(values).join('')\n }\n\n function ensureValidMonth(month: string) {\n // Return empty value if no month is given\n if (!month) {\n return ''\n }\n\n const [firstMask, secondMask] = getMonthMask(month)\n\n const firstDigit = month?.charAt(0)\n const isFirstDigitValid = firstMask.test(firstDigit)\n\n if (firstDigit && !isFirstDigitValid) {\n // Return empty value if the first digit is invalid\n return ''\n }\n\n const seconDigit = month?.charAt(1)\n const isSecondDigitValid = secondMask.test(seconDigit)\n\n if (seconDigit && !isSecondDigitValid) {\n // Return empty value if the second digit is invalid\n return ''\n }\n\n // Return given month of month value is valid\n return month\n }\n\n function getMonthMask(month: string) {\n const firstDigit = month?.charAt(0)\n\n return [\n /[0-1]/,\n firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/,\n ]\n }\n}\n\nExpiry._supportsEufemiaSpacingProps = true\nexport default Expiry\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Expiry.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_Context","_interopRequireDefault","_utils","_hooks","_classnames","_FieldBlock","_inputMasked","_components","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","Expiry","props","_value$substring","sharedContext","useContext","SharedContext","translations","translation","Forms","placeholders","DatePicker","placeholder_characters","errorMessages","useMemo","required","dateErrorRequired","validateRequired","useCallback","_ref","error","preparedProps","fromInput","toExpiryString","id","propsId","className","label","expiryLabel","info","warning","help","disabled","layout","handleFocus","handleBlur","handleChange","useDataValue","expiry","month","ensureValidMonth","substring","year","idRef","useRef","makeUniqueId","current","status","createElement","classnames","pickSpacingProps","MultiInputMask","stretch","labelDirection","values","statusState","onChange","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","HelpButton","title","contents","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","seconDigit","isSecondDigitValid","_supportsEufemiaSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport SharedContext from '../../../../shared/Context'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { useDataValue } from '../../hooks'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { MultiInputMask } from '../../../../components/input-masked'\nimport type { MultiInputMaskValue } from '../../../../components/input-masked'\nimport { HelpButton } from '../../../../components'\n\ntype ExpiryValue = MultiInputMaskValue<'month' | 'year'>\n\nexport type ExpiryProps = FieldHelpProps & FieldProps<string>\n\nfunction Expiry(props: ExpiryProps) {\n const sharedContext = useContext(SharedContext)\n const translations = sharedContext?.translation.Forms\n const placeholders =\n sharedContext?.translation.DatePicker.placeholder_characters\n\n const errorMessages = useMemo(\n () => ({\n required: translations.dateErrorRequired,\n ...props.errorMessages,\n }),\n [translations, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n return required && !value ? error : undefined\n },\n []\n )\n\n const preparedProps: ExpiryProps = {\n ...props,\n errorMessages,\n fromInput: toExpiryString,\n validateRequired,\n }\n\n const {\n id: propsId,\n className,\n label = translations.expiryLabel,\n error,\n info,\n warning,\n help,\n disabled,\n value = '',\n layout = 'vertical',\n required,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue({\n ...preparedProps,\n })\n\n const expiry: ExpiryValue = {\n month: ensureValidMonth(value?.substring(0, 2)),\n year: value?.substring(2, 4) ?? '',\n }\n\n const idRef = useRef(propsId || makeUniqueId()).current\n\n const status = error ? 'error' : warning ? 'warn' : info ? 'info' : null\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-expiry', className)}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <MultiInputMask\n stretch\n id={`${idRef}__input`}\n label={label}\n labelDirection={layout}\n values={expiry}\n status={status}\n statusState={disabled ? 'disabled' : undefined}\n disabled={disabled}\n required={required}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n delimiter=\"/\"\n inputMode=\"numeric\"\n inputs={[\n {\n id: 'month',\n label: sharedContext?.translation.DatePicker['month'],\n mask: getMonthMask(expiry?.month),\n placeholderCharacter: placeholders['month'],\n autoComplete: 'cc-exp-month',\n },\n {\n id: 'year',\n label: sharedContext?.translation.DatePicker['year'],\n mask: [/[0-9]/, /[0-9]/],\n placeholderCharacter: placeholders['year'],\n autoComplete: 'cc-exp-year',\n },\n ]}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n\n function toExpiryString(values: ExpiryValue) {\n return Object.values(values).join('')\n }\n\n function ensureValidMonth(month: string) {\n // Return empty value if no month is given\n if (!month) {\n return ''\n }\n\n const [firstMask, secondMask] = getMonthMask(month)\n\n const firstDigit = month?.charAt(0)\n const isFirstDigitValid = firstMask.test(firstDigit)\n\n if (firstDigit && !isFirstDigitValid) {\n // Return empty value if the first digit is invalid\n return ''\n }\n\n const seconDigit = month?.charAt(1)\n const isSecondDigitValid = secondMask.test(seconDigit)\n\n if (seconDigit && !isSecondDigitValid) {\n // Return empty value if the second digit is invalid\n return ''\n }\n\n // Return given month of month value is valid\n return month\n }\n\n function getMonthMask(month: string) {\n const firstDigit = month?.charAt(0)\n\n return [\n /[0-1]/,\n firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/,\n ]\n }\n}\n\nExpiry._supportsEufemiaSpacingProps = true\nexport default Expiry\n"],"mappings":"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"}
|
|
@@ -109,7 +109,6 @@ function NumberComponent(props) {
|
|
|
109
109
|
toInput,
|
|
110
110
|
fromInput,
|
|
111
111
|
transformValue,
|
|
112
|
-
size: props.size !== 'small' && props.size !== 'large' ? 'medium' : props.size,
|
|
113
112
|
width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'medium'
|
|
114
113
|
});
|
|
115
114
|
const {
|
|
@@ -121,8 +120,6 @@ function NumberComponent(props) {
|
|
|
121
120
|
layout,
|
|
122
121
|
placeholder,
|
|
123
122
|
label,
|
|
124
|
-
labelDescription,
|
|
125
|
-
labelSecondary,
|
|
126
123
|
value,
|
|
127
124
|
minimum = Number.MIN_SAFE_INTEGER,
|
|
128
125
|
maximum = Number.MAX_SAFE_INTEGER,
|
|
@@ -169,8 +166,6 @@ function NumberComponent(props) {
|
|
|
169
166
|
forId: id,
|
|
170
167
|
layout,
|
|
171
168
|
label,
|
|
172
|
-
labelDescription,
|
|
173
|
-
labelSecondary,
|
|
174
169
|
info,
|
|
175
170
|
warning,
|
|
176
171
|
error,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.js","names":["_react","_interopRequireWildcard","require","_components","_Context","_interopRequireDefault","_classnames","_FieldBlock","_hooks","_utils","_SliderHelpers","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","NumberComponent","props","_props$width","_sharedContext$transl","_sharedContext$transl2","sharedContext","useContext","SharedContext","tr","translation","Forms","currency","percent","mask","step","thousandSeparator","decimalSymbol","decimalLimit","prefix","suffix","showStepControls","errorMessages","useMemo","required","inputErrorRequired","minimum","numberFieldErrorMinimum","maximum","numberFieldErrorMaximum","exclusiveMinimum","numberFieldErrorExclusiveMinimum","exclusiveMaximum","numberFieldErrorExclusiveMaximum","multipleOf","numberFieldErrorMultipleOf","schema","_props$schema","type","toInput","useCallback","external","fromInput","_ref","numberValue","emptyValue","transformValue","currentValue","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","as_currency","as_percent","as_number","number_mask","includeThousandsSeparator","thousandsSeparatorSymbol","preparedProps","size","width","id","name","className","autoComplete","inputClassName","layout","placeholder","label","labelDescription","labelSecondary","disabled","info","warning","error","help","align","handleFocus","handleBlur","handleChange","useDataValue","onKeyDownHandler","_ref2","event","clamp","persist","preventDefault","fieldBlockProps","classnames","contentClassName","forId","contentsWidth","pickSpacingProps","increaseProps","variant","icon","convertInputSizeToButtonSize","tabIndex","onClick","title","Slider","addTitle","replace","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","createElement","HelpButton","contents","asFieldset","Button","InputMasked","inputSize","buttonSize","indexOf","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { JSONSchema7 } from 'json-schema'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n // Formatting\n thousandSeparator?: string | true\n decimalSymbol?: string\n decimalLimit?: number\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const {\n currency,\n percent,\n mask,\n step = 1,\n thousandSeparator,\n decimalSymbol,\n decimalLimit = 12,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minimum: tr.numberFieldErrorMinimum,\n maximum: tr.numberFieldErrorMaximum,\n exclusiveMinimum: tr.numberFieldErrorExclusiveMinimum,\n exclusiveMaximum: tr.numberFieldErrorExclusiveMaximum,\n multipleOf: tr.numberFieldErrorMultipleOf,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema7>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return ''\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n if (currency) {\n return {\n as_currency: currency,\n }\n }\n if (percent) {\n return {\n as_percent: percent,\n }\n }\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n decimalLimit,\n decimalSymbol,\n includeThousandsSeparator: thousandSeparator !== undefined,\n thousandsSeparatorSymbol:\n thousandSeparator === true ? ' ' : thousandSeparator,\n prefix,\n suffix,\n },\n }\n }, [\n currency,\n percent,\n mask,\n decimalLimit,\n decimalSymbol,\n thousandSeparator,\n prefix,\n suffix,\n ])\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n size:\n props.size !== 'small' && props.size !== 'large'\n ? 'medium'\n : props.size,\n width: props.width ?? 'medium',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputClassName,\n layout,\n placeholder,\n label,\n labelDescription,\n labelSecondary,\n value,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n info,\n warning,\n error,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const onKeyDownHandler = useCallback(\n ({ key, event }) => {\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (key) {\n case 'ArrowUp':\n numberValue = clamp((value as number) + step, minimum, maximum)\n break\n case 'ArrowDown':\n numberValue = clamp((value as number) - step, minimum, maximum)\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [handleChange, maximum, minimum, showStepControls, step, value]\n )\n\n const fieldBlockProps = {\n className: classnames('dnb-forms-field-number', className),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n disabled && 'dnb-forms-field-number__contents--is-disabled',\n error && 'dnb-forms-field-number__contents--has-error'\n ),\n forId: id,\n layout,\n label,\n labelDescription,\n labelSecondary,\n info,\n warning,\n error,\n disabled,\n width: width === 'stretch' ? width : undefined,\n contentsWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: convertInputSizeToButtonSize(size),\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) + step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n disabled: disabled || value <= minimum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) - step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invlaid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n status: error ? 'error' : undefined,\n stretch: width !== undefined,\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n {showStepControls && <Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {showStepControls && <Button {...increaseProps} />}\n {help && showStepControls && (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n )}\n </FieldBlock>\n )\n}\n\nconst convertInputSizeToButtonSize = (\n inputSize: InputSize\n): ButtonSize => {\n const buttonSize =\n ['small', 'medium', 'large'].indexOf(inputSize as string) > -1\n ? inputSize\n : 'medium'\n return buttonSize as ButtonSize\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Number.js","names":["_react","_interopRequireWildcard","require","_components","_Context","_interopRequireDefault","_classnames","_FieldBlock","_hooks","_utils","_SliderHelpers","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","NumberComponent","props","_props$width","_sharedContext$transl","_sharedContext$transl2","sharedContext","useContext","SharedContext","tr","translation","Forms","currency","percent","mask","step","thousandSeparator","decimalSymbol","decimalLimit","prefix","suffix","showStepControls","errorMessages","useMemo","required","inputErrorRequired","minimum","numberFieldErrorMinimum","maximum","numberFieldErrorMaximum","exclusiveMinimum","numberFieldErrorExclusiveMinimum","exclusiveMaximum","numberFieldErrorExclusiveMaximum","multipleOf","numberFieldErrorMultipleOf","schema","_props$schema","type","toInput","useCallback","external","fromInput","_ref","numberValue","emptyValue","transformValue","currentValue","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","as_currency","as_percent","as_number","number_mask","includeThousandsSeparator","thousandsSeparatorSymbol","preparedProps","width","id","name","className","autoComplete","inputClassName","layout","placeholder","label","disabled","info","warning","error","help","size","align","handleFocus","handleBlur","handleChange","useDataValue","onKeyDownHandler","_ref2","event","clamp","persist","preventDefault","fieldBlockProps","classnames","contentClassName","forId","contentsWidth","pickSpacingProps","increaseProps","variant","icon","convertInputSizeToButtonSize","tabIndex","onClick","title","Slider","addTitle","replace","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","createElement","HelpButton","contents","asFieldset","Button","InputMasked","inputSize","buttonSize","indexOf","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps, JSONSchema } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n // Formatting\n thousandSeparator?: string | true\n decimalSymbol?: string\n decimalLimit?: number\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const {\n currency,\n percent,\n mask,\n step = 1,\n thousandSeparator,\n decimalSymbol,\n decimalLimit = 12,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useMemo(\n () => ({\n required: tr.inputErrorRequired,\n minimum: tr.numberFieldErrorMinimum,\n maximum: tr.numberFieldErrorMaximum,\n exclusiveMinimum: tr.numberFieldErrorExclusiveMinimum,\n exclusiveMaximum: tr.numberFieldErrorExclusiveMaximum,\n multipleOf: tr.numberFieldErrorMultipleOf,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const schema = useMemo<JSONSchema>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return ''\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n if (currency) {\n return {\n as_currency: currency,\n }\n }\n if (percent) {\n return {\n as_percent: percent,\n }\n }\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n decimalLimit,\n decimalSymbol,\n includeThousandsSeparator: thousandSeparator !== undefined,\n thousandsSeparatorSymbol:\n thousandSeparator === true ? ' ' : thousandSeparator,\n prefix,\n suffix,\n },\n }\n }, [\n currency,\n percent,\n mask,\n decimalLimit,\n decimalSymbol,\n thousandSeparator,\n prefix,\n suffix,\n ])\n\n const preparedProps: Props = {\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n width: props.width ?? 'medium',\n }\n\n const {\n id,\n name,\n className,\n autoComplete,\n inputClassName,\n layout,\n placeholder,\n label,\n value,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n info,\n warning,\n error,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useDataValue(preparedProps)\n\n const onKeyDownHandler = useCallback(\n ({ key, event }) => {\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (key) {\n case 'ArrowUp':\n numberValue = clamp((value as number) + step, minimum, maximum)\n break\n case 'ArrowDown':\n numberValue = clamp((value as number) - step, minimum, maximum)\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [handleChange, maximum, minimum, showStepControls, step, value]\n )\n\n const fieldBlockProps = {\n className: classnames('dnb-forms-field-number', className),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n disabled && 'dnb-forms-field-number__contents--is-disabled',\n error && 'dnb-forms-field-number__contents--has-error'\n ),\n forId: id,\n layout,\n label,\n info,\n warning,\n error,\n disabled,\n width: width === 'stretch' ? width : undefined,\n contentsWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: convertInputSizeToButtonSize(size),\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) + step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n disabled: disabled || value <= minimum,\n onClick: () => {\n handleChange({\n numberValue: clamp((value as number) - step, minimum, maximum),\n })\n },\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invlaid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n status: error ? 'error' : undefined,\n stretch: width !== undefined,\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n {showStepControls && <Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {showStepControls && <Button {...increaseProps} />}\n {help && showStepControls && (\n <HelpButton title={help.title}>{help.contents}</HelpButton>\n )}\n </FieldBlock>\n )\n}\n\nconst convertInputSizeToButtonSize = (\n inputSize: InputSize\n): ButtonSize => {\n const buttonSize =\n ['small', 'medium', 'large'].indexOf(inputSize as string) > -1\n ? inputSize\n : 'medium'\n return buttonSize as ButtonSize\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
|
|
@@ -70,6 +70,7 @@ function PhoneNumber(props) {
|
|
|
70
70
|
toEvent
|
|
71
71
|
});
|
|
72
72
|
const {
|
|
73
|
+
value,
|
|
73
74
|
className,
|
|
74
75
|
countryCodeFieldClassName,
|
|
75
76
|
numberFieldClassName,
|
|
@@ -95,7 +96,6 @@ function PhoneNumber(props) {
|
|
|
95
96
|
handleFocus,
|
|
96
97
|
handleBlur,
|
|
97
98
|
handleChange,
|
|
98
|
-
updateValue,
|
|
99
99
|
onCountryCodeChange,
|
|
100
100
|
onNumberChange,
|
|
101
101
|
filterCountries = ccFilter !== 'Prioritized' ? (0, _SelectCountry.makeCountryFilterSet)(ccFilter) : undefined
|
|
@@ -127,16 +127,15 @@ function PhoneNumber(props) {
|
|
|
127
127
|
countryCode = omitCountryCodeField ? emptyValue : countryCodeRef.current || emptyValue,
|
|
128
128
|
phoneNumber = numberRef.current || emptyValue
|
|
129
129
|
} = _ref2;
|
|
130
|
-
updateValue('invalidate');
|
|
131
130
|
handleChange(joinValue([countryCode, phoneNumber]), omitCountryCodeField ? {
|
|
132
131
|
phoneNumber
|
|
133
132
|
} : {
|
|
134
133
|
countryCode,
|
|
135
134
|
phoneNumber
|
|
136
135
|
});
|
|
137
|
-
}, [omitCountryCodeField, emptyValue,
|
|
136
|
+
}, [omitCountryCodeField, emptyValue, handleChange]);
|
|
138
137
|
(0, _react.useMemo)(() => {
|
|
139
|
-
const [countryCode, phoneNumber] = splitValue(props.value);
|
|
138
|
+
const [countryCode, phoneNumber] = splitValue(props.value || value);
|
|
140
139
|
numberRef.current = phoneNumber;
|
|
141
140
|
if (lang !== langRef.current || !wasFilled.current) {
|
|
142
141
|
if (!countryCodeRef.current || countryCode) {
|
|
@@ -145,7 +144,7 @@ function PhoneNumber(props) {
|
|
|
145
144
|
langRef.current = lang;
|
|
146
145
|
updateCurrentDataSet();
|
|
147
146
|
}
|
|
148
|
-
}, [props.value, lang, updateCurrentDataSet]);
|
|
147
|
+
}, [value, props.value, lang, updateCurrentDataSet]);
|
|
149
148
|
const prevCountryCodeRef = _react.default.useRef(countryCodeRef.current);
|
|
150
149
|
const handleCountryCodeChange = (0, _react.useCallback)(_ref3 => {
|
|
151
150
|
var _data$selectedKey;
|