@dnb/eufemia 10.16.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 +54 -0
- package/cjs/components/anchor/Anchor.js +9 -5
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/anchor/style/anchor-mixins.scss +0 -11
- package/cjs/components/anchor/style/dnb-anchor.css +0 -16
- package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
- package/cjs/components/autocomplete/Autocomplete.js +2 -2
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/button/style/dnb-button.css +13 -0
- package/cjs/components/button/style/dnb-button.min.css +1 -1
- package/cjs/components/button/style/dnb-button.scss +16 -0
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
- package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
- package/cjs/components/button/style/themes/dnb-button-theme-ui.css +12 -1
- package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
- package/cjs/components/date-picker/DatePicker.d.ts +14 -1
- package/cjs/components/date-picker/DatePicker.js +0 -1
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalc.js +2 -1
- package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.d.ts +3 -0
- package/cjs/components/date-picker/DatePickerInput.js +9 -2
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js +3 -2
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/flex/Container.js +15 -2
- package/cjs/components/flex/Container.js.map +1 -1
- package/cjs/components/flex/export.d.ts +1 -0
- package/cjs/components/flex/export.js +7 -0
- package/cjs/components/flex/export.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/flex/withChildren.d.ts +6 -0
- package/cjs/components/flex/withChildren.js +13 -0
- package/cjs/components/flex/withChildren.js.map +1 -0
- package/cjs/components/input/Input.js +3 -3
- package/cjs/components/input/Input.js.map +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.css +2 -0
- package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
- package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/cjs/components/input-masked/InputMaskedHooks.js +13 -8
- package/cjs/components/input-masked/InputMaskedHooks.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/useHandleCursorPosition.js +7 -3
- package/cjs/components/input-masked/hooks/useHandleCursorPosition.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/textarea/style/dnb-textarea.css +5 -0
- package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
- package/cjs/components/textarea/style/dnb-textarea.scss +4 -0
- 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/Currency/Currency.d.ts +1 -5
- package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +3 -1
- package/cjs/extensions/forms/Field/Date/Date.js +47 -10
- 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.d.ts +5 -1
- package/cjs/extensions/forms/Field/Number/Number.js +109 -30
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.css +192 -0
- package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
- package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
- package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
- 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 +23 -9
- 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 +16 -26
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -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/{Visibility → Form/Visibility}/Visibility.d.ts +5 -2
- package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/index.js.map +1 -0
- 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 +2 -0
- package/cjs/extensions/forms/Form/index.js +14 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +0 -4
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +26 -33
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useId.d.ts +1 -0
- package/cjs/extensions/forms/hooks/useId.js +18 -0
- package/cjs/extensions/forms/hooks/useId.js.map +1 -0
- package/cjs/extensions/forms/index.d.ts +6 -1
- package/cjs/extensions/forms/index.js +5 -8
- package/cjs/extensions/forms/index.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +214 -11
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +16 -18
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
- package/cjs/extensions/forms/utils/TestElement/TestElement.js +1 -0
- package/cjs/extensions/forms/utils/TestElement/TestElement.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/core/utilities.scss +1 -2
- package/cjs/style/dnb-ui-components.css +232 -27
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-extensions.css +214 -11
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +214 -11
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +496 -44
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +9 -5
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +230 -11
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +230 -12
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.scss +2 -0
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -10
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/anchor/Anchor.js +9 -5
- package/components/anchor/Anchor.js.map +1 -1
- package/components/anchor/style/anchor-mixins.scss +0 -11
- package/components/anchor/style/dnb-anchor.css +0 -16
- package/components/anchor/style/dnb-anchor.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
- package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
- package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
- package/components/autocomplete/Autocomplete.js +2 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/button/style/dnb-button.css +13 -0
- package/components/button/style/dnb-button.min.css +1 -1
- package/components/button/style/dnb-button.scss +16 -0
- package/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
- package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
- package/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
- package/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
- package/components/button/style/themes/dnb-button-theme-ui.css +12 -1
- package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
- package/components/date-picker/DatePicker.d.ts +14 -1
- package/components/date-picker/DatePicker.js +0 -1
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerCalc.js +2 -1
- package/components/date-picker/DatePickerCalc.js.map +1 -1
- package/components/date-picker/DatePickerInput.d.ts +3 -0
- package/components/date-picker/DatePickerInput.js +9 -2
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/dropdown/Dropdown.js +3 -2
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/flex/Container.js +15 -2
- package/components/flex/Container.js.map +1 -1
- package/components/flex/export.d.ts +1 -0
- package/components/flex/export.js +1 -0
- package/components/flex/export.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/flex/withChildren.d.ts +6 -0
- package/components/flex/withChildren.js +6 -0
- package/components/flex/withChildren.js.map +1 -0
- package/components/input/Input.js +3 -3
- package/components/input/Input.js.map +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.css +2 -0
- package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
- package/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/components/input-masked/InputMaskedHooks.js +13 -8
- package/components/input-masked/InputMaskedHooks.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/useHandleCursorPosition.js +7 -3
- package/components/input-masked/hooks/useHandleCursorPosition.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/textarea/style/dnb-textarea.css +5 -0
- package/components/textarea/style/dnb-textarea.min.css +1 -1
- package/components/textarea/style/dnb-textarea.scss +4 -0
- 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/anchor/Anchor.js +9 -5
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/anchor/style/anchor-mixins.scss +0 -11
- package/es/components/anchor/style/dnb-anchor.css +0 -16
- package/es/components/anchor/style/dnb-anchor.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
- package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
- package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
- package/es/components/autocomplete/Autocomplete.js +2 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/button/style/dnb-button.css +13 -0
- package/es/components/button/style/dnb-button.min.css +1 -1
- package/es/components/button/style/dnb-button.scss +16 -0
- package/es/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
- package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
- package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
- package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
- package/es/components/button/style/themes/dnb-button-theme-ui.css +12 -1
- package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
- package/es/components/date-picker/DatePicker.d.ts +14 -1
- package/es/components/date-picker/DatePicker.js +0 -1
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerCalc.js +2 -1
- package/es/components/date-picker/DatePickerCalc.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.d.ts +3 -0
- package/es/components/date-picker/DatePickerInput.js +9 -2
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +3 -2
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/flex/Container.js +15 -2
- package/es/components/flex/Container.js.map +1 -1
- package/es/components/flex/export.d.ts +1 -0
- package/es/components/flex/export.js +1 -0
- package/es/components/flex/export.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/flex/withChildren.d.ts +6 -0
- package/es/components/flex/withChildren.js +6 -0
- package/es/components/flex/withChildren.js.map +1 -0
- package/es/components/input/Input.js +3 -3
- package/es/components/input/Input.js.map +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.css +2 -0
- package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
- package/es/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
- package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/es/components/input-masked/InputMaskedHooks.js +13 -8
- package/es/components/input-masked/InputMaskedHooks.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/useHandleCursorPosition.js +7 -3
- package/es/components/input-masked/hooks/useHandleCursorPosition.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/textarea/style/dnb-textarea.css +5 -0
- package/es/components/textarea/style/dnb-textarea.min.css +1 -1
- package/es/components/textarea/style/dnb-textarea.scss +4 -0
- 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/Currency/Currency.d.ts +1 -5
- package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +3 -1
- package/es/extensions/forms/Field/Date/Date.js +45 -9
- 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.d.ts +5 -1
- package/es/extensions/forms/Field/Number/Number.js +109 -31
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.css +192 -0
- package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
- package/es/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
- package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
- 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 +23 -9
- 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 +14 -23
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
- package/es/extensions/forms/Form/Handler/Handler.js +1 -0
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/{extensions/forms → es/extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
- package/es/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/index.js.map +1 -0
- 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 +2 -0
- package/es/extensions/forms/Form/index.js +2 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +0 -4
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.js +26 -33
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useId.d.ts +1 -0
- package/es/extensions/forms/hooks/useId.js +11 -0
- package/es/extensions/forms/hooks/useId.js.map +1 -0
- package/es/extensions/forms/index.d.ts +6 -1
- package/es/extensions/forms/index.js +3 -1
- package/es/extensions/forms/index.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +214 -11
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +16 -18
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
- package/es/extensions/forms/utils/TestElement/TestElement.js +1 -0
- package/es/extensions/forms/utils/TestElement/TestElement.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/core/utilities.scss +1 -2
- package/es/style/dnb-ui-components.css +232 -27
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-extensions.css +214 -11
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +214 -11
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +496 -44
- package/es/style/themes/theme-ui/ui-theme-components.min.css +9 -5
- package/es/style/themes/theme-ui/ui-theme-extensions.css +230 -11
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-forms.css +230 -12
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
- package/es/style/themes/theme-ui/ui-theme-forms.scss +2 -0
- package/es/style/themes/theme-ui/ui-theme-tags.css +8 -10
- package/es/style/themes/theme-ui/ui-theme-tags.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/Currency/Currency.d.ts +1 -5
- package/extensions/forms/Field/Currency/Currency.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +3 -1
- package/extensions/forms/Field/Date/Date.js +48 -11
- 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.d.ts +5 -1
- package/extensions/forms/Field/Number/Number.js +110 -31
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.css +192 -0
- package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
- package/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
- package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
- 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 +23 -9
- 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 +16 -26
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
- package/extensions/forms/Form/Handler/Handler.js +1 -0
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/{es/extensions/forms → extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
- package/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
- package/extensions/forms/Form/Visibility/index.js.map +1 -0
- 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 +2 -0
- package/extensions/forms/Form/index.js +2 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +0 -4
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.js +26 -33
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useId.d.ts +1 -0
- package/extensions/forms/hooks/useId.js +11 -0
- package/extensions/forms/hooks/useId.js.map +1 -0
- package/extensions/forms/index.d.ts +6 -1
- package/extensions/forms/index.js +3 -1
- package/extensions/forms/index.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +214 -11
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +16 -18
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
- package/extensions/forms/utils/TestElement/TestElement.js +1 -0
- package/extensions/forms/utils/TestElement/TestElement.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/core/utilities.scss +1 -2
- package/style/dnb-ui-components.css +232 -27
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-extensions.css +214 -11
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +214 -11
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
- package/style/themes/theme-ui/ui-theme-components.css +496 -44
- package/style/themes/theme-ui/ui-theme-components.min.css +9 -5
- package/style/themes/theme-ui/ui-theme-extensions.css +230 -11
- package/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
- package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/style/themes/theme-ui/ui-theme-forms.css +230 -12
- package/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
- package/style/themes/theme-ui/ui-theme-forms.scss +2 -0
- package/style/themes/theme-ui/ui-theme-tags.css +8 -10
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Visibility/Visibility.js.map +0 -1
- package/cjs/extensions/forms/Visibility/index.js.map +0 -1
- package/es/extensions/forms/Visibility/Visibility.js.map +0 -1
- package/es/extensions/forms/Visibility/index.js.map +0 -1
- package/extensions/forms/Visibility/Visibility.js.map +0 -1
- package/extensions/forms/Visibility/index.js.map +0 -1
- /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
- /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
- /package/es/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
- /package/es/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
- /package/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
- /package/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerInput.js","names":["React","PropTypes","addDays","addMonths","addYears","isValid","parseISO","classnames","TextMask","Button","Input","SubmitButton","keycode","warn","validateDOMAttributes","dispatchCustomElementEvent","convertStringToDate","DatePickerContext","DatePickerInput","PureComponent","constructor","props","_defineProperty","_listenForPropChanges","focusState","e","focusMode","success","clipboardData","window","getData","preventDefault","separators","possibleFormats","forEach","date","sep","push","replace","split","reverse","join","i","l","length","date_format","mode","state","context","setState","updateState","hoverDate","hasHadValidDate","startDate","endDate","event","_objectSpread","callOnChangeHandler","changeMonthViews","isRange","getDates","reduce","acc","returnObject","getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","typedDates","start_date","end_date","keyCode","target","isDate","getAttribute","match","isInRange","count","callOnChange","wait","selectAll","focus","setSelectionRange","onBlur","selectionStart","selectionEnd","selectStart","persist","prepareCounting","size","parseFloat","firstSelectionStart","secondSelectionStart","test","index","refList","findIndex","current","nextSibling","prevSibling","endPos","value","setDate","type","fallback","year","getFullYear","month","getMonth","day","getDate","Date","isValidDate","callOnChangeAsInvalid","callOnType","params","id","startDateList","generateDateList","endDateList","createElement","className","_span","maskOrder","separatorRexExp","maskList","cur","shift","_startDayRef","createRef","_startMonthRef","_startYearRef","_endDayRef","_endMonthRef","_endYearRef","componentWillUnmount","_shortcuts","remove","osShortcut","getPlaceholderChar","indexOf","maskPlaceholder","map","slice","placeholderChar","input_element","translation","DatePicker","isRangeLabel","onKeyDown","onKeyDownHandler","onPaste","shortcutHandler","onFocus","onFocusHandler","onBlurHandler","DateField","isValidElement","InputElement","inputSizeClassName","Fragment","key","_extends","mask","inputRef","onChange","hidden","htmlFor","formatDate","open_picker_text","selectedDateTitle","render","_this$props","title","submitAttributes","onSubmit","showInput","locale","disabled","skeleton","opened","status","status_state","status_props","attributes","_objectWithoutProperties","_excluded","UsedButton","innerRef","ref","lang","code","label","input_state","renderInputElement","submit_element","icon","variant","on_submit","on_click","process","env","NODE_ENV","propTypes","string","instanceOf","RegExp","object","bool","oneOf","oneOfType","func","node","select","_ref","_excluded2","guide","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","t","Promise","r","setTimeout"],"sources":["../../../../src/components/date-picker/DatePickerInput.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\n// date-fns\nimport addDays from 'date-fns/addDays'\nimport addMonths from 'date-fns/addMonths'\nimport addYears from 'date-fns/addYears'\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport keycode from 'keycode'\nimport {\n warn,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { convertStringToDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nexport default class DatePickerInput extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n selectedDateTitle: PropTypes.string,\n maskOrder: PropTypes.string,\n maskPlaceholder: PropTypes.string,\n separatorRexExp: PropTypes.instanceOf(RegExp),\n submitAttributes: PropTypes.object,\n isRange: PropTypes.bool,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n input_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n locale: PropTypes.object,\n disabled: PropTypes.bool,\n skeleton: PropTypes.bool,\n opened: PropTypes.bool,\n showInput: PropTypes.bool,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: null,\n selectedDateTitle: null,\n maskOrder: 'dd/mm/yyyy',\n maskPlaceholder: 'dd/mm/åååå',\n separatorRexExp: /[-/ ]/g,\n submitAttributes: null,\n isRange: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n input_element: null,\n disabled: null,\n locale: null,\n skeleton: null,\n opened: false,\n showInput: null,\n onChange: null,\n onSubmit: null,\n onFocus: null,\n onBlur: null,\n }\n\n state = {\n _listenForPropChanges: true,\n focusState: 'virgin',\n }\n\n constructor(props) {\n super(props)\n\n const separators = props.maskOrder.match(props.separatorRexExp)\n this.maskList = props.maskOrder\n .split(props.separatorRexExp)\n .reduce((acc, cur) => {\n if (cur) {\n acc.push(cur)\n if (separators.length > 0) {\n acc.push(separators.shift())\n }\n }\n return acc\n }, [])\n\n this._startDayRef = React.createRef()\n this._startMonthRef = React.createRef()\n this._startYearRef = React.createRef()\n this._endDayRef = React.createRef()\n this._endMonthRef = React.createRef()\n this._endYearRef = React.createRef()\n }\n\n componentWillUnmount() {\n if (this._shortcuts) {\n this._shortcuts.remove(this.osShortcut)\n }\n }\n\n shortcutHandler = async (e) => {\n if (this.focusMode) {\n const success = (\n e.clipboardData ||\n (typeof window !== 'undefined' && window.clipboardData)\n ).getData('text')\n if (success) {\n e.preventDefault()\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date\n for (let i = 0, l = possibleFormats.length; i < l; ++i) {\n date = convertStringToDate(success, {\n date_format: possibleFormats[i],\n })\n if (date) {\n break\n }\n }\n const mode = this.focusMode === 'start' ? 'startDate' : 'endDate'\n if (date && !this.state[mode]) {\n this.context.setState({\n [mode]: date,\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n }\n\n callOnChangeAsInvalid = (state) => {\n this.context.updateState(\n {\n hoverDate: null,\n },\n () => {\n if (this.context.hasHadValidDate) {\n const { startDate, endDate, event } = {\n ...this.context,\n ...state,\n }\n this.context.callOnChangeHandler({ startDate, endDate, event })\n }\n }\n )\n }\n\n callOnChange = ({ startDate, endDate, event }) => {\n const state = { changeMonthViews: true }\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state.startDate = startDate\n }\n if (!this.props.isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state.endDate = endDate\n }\n\n this.context.updateState(state, () => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n this.context.callOnChangeHandler({ event })\n }\n })\n }\n\n callOnType = ({ event }) => {\n const getDates = () =>\n ['start', 'end'].reduce((acc, mode) => {\n acc[`${mode}Date`] = [\n this[`_${mode}Year`] || this.context[`__${mode}Year`] || 'yyyy',\n this[`_${mode}Month`] || this.context[`__${mode}Month`] || 'mm',\n this[`_${mode}Day`] || this.context[`__${mode}Day`] || 'dd',\n ].join('-')\n return acc\n }, {})\n\n // Get the typed dates, so we can ...\n let { startDate, endDate } = getDates()\n\n startDate = parseISO(startDate)\n endDate = parseISO(endDate)\n\n // ... check if they were valid\n if (!isValid(startDate)) {\n startDate = null\n }\n if (!isValid(endDate)) {\n endDate = null\n }\n\n let returnObject = this.context.getReturnObject({\n startDate,\n endDate,\n event,\n })\n\n // Now, lets correct\n if (\n returnObject.is_valid === false ||\n returnObject.is_valid_start_date === false ||\n returnObject.is_valid_end_date === false\n ) {\n const { startDate, endDate } = getDates()\n\n const typedDates = this.props.isRange\n ? {\n start_date: startDate,\n end_date: endDate,\n }\n : { date: startDate }\n\n returnObject = {\n ...returnObject,\n ...typedDates,\n }\n }\n\n dispatchCustomElementEvent(this.context, 'on_type', returnObject)\n }\n\n prepareCounting = async ({ keyCode, target, event }) => {\n try {\n const isDate = target\n .getAttribute('class')\n .match(/__input--([day|month|year]+)($|\\s)/)[1]\n\n const isInRange = target\n .getAttribute('id')\n .match(/-([start|end]+)-/)[1]\n\n let date =\n isInRange === 'start'\n ? this.context.startDate\n : this.context.endDate\n\n // do nothing if date is not set yet\n if (!date) {\n return\n }\n\n const count = keyCode === 'up' ? 1 : -1\n\n if (keyCode === 'up' || keyCode === 'down') {\n switch (isDate) {\n case 'day':\n date = addDays(date, count)\n break\n case 'month':\n date = addMonths(date, count)\n break\n case 'year':\n date = addYears(date, count)\n break\n }\n }\n\n this.callOnChange({\n [isInRange === 'start' ? 'startDate' : 'endDate']: date,\n event,\n })\n\n await wait(1) // to get the correct position afterwards\n\n selectAll(target)\n } catch (e) {\n warn(e)\n }\n }\n\n selectStart = (target) => {\n target.focus()\n target.setSelectionRange(0, 0)\n }\n\n onFocusHandler = (event) => {\n try {\n selectAll(event.target)\n } catch (e) {\n warn(e)\n }\n\n this.setState({\n focusState: 'focus',\n _listenForPropChanges: false,\n })\n }\n\n onBlurHandler = (e) => {\n this.focusMode = null\n this.setState({\n focusState: 'blur',\n _listenForPropChanges: false,\n })\n\n if (this.props.onBlur) {\n this.props.onBlur(e)\n }\n }\n\n onKeyDownHandler = async (event) => {\n const keyCode = keycode(event)\n const target = event.target\n\n if (target.selectionStart !== target.selectionEnd) {\n this.selectStart(target)\n }\n\n // only to process key up and down press\n switch (keyCode) {\n case 'up':\n case 'down':\n event.persist()\n event.preventDefault()\n this.prepareCounting({ event, keyCode, target })\n return false\n case 'tab':\n // case 'backspace': // We need backspace down here\n return false\n }\n\n // the rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n\n await wait(1) // to get the correct position afterwards\n\n const secondSelectionStart = target.selectionStart\n const isValid = /[0-9]/.test(keyCode)\n const index = this.refList.findIndex(\n ({ current }) => current === target\n )\n\n if (\n index < this.refList.length - 1 &&\n ((secondSelectionStart === size &&\n isValid &&\n keyCode !== 'left' &&\n keyCode !== 'backspace') ||\n (firstSelectionStart === size && keyCode === 'right'))\n ) {\n try {\n // stop in case there is no next input element\n if (!this.refList[index + 1].current) {\n return\n }\n const nextSibling = this.refList[index + 1].current\n if (nextSibling) {\n nextSibling.focus()\n nextSibling.setSelectionRange(0, 0)\n }\n } catch (e) {\n warn(e)\n }\n } else if (firstSelectionStart === 0 && index > 0) {\n switch (keyCode) {\n case 'left':\n case 'backspace':\n try {\n const prevSibling = this.refList[index - 1].current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n prevSibling.focus()\n prevSibling.setSelectionRange(endPos, endPos)\n }\n } catch (e) {\n warn(e)\n }\n break\n }\n }\n }\n\n set_startDay = (event) => {\n this.setDate(event, 'start', 'Day')\n }\n\n set_startMonth = (event) => {\n this.setDate(event, 'start', 'Month')\n }\n\n set_startYear = (event) => {\n this.setDate(event, 'start', 'Year')\n }\n\n set_endDay = (event) => {\n this.setDate(event, 'end', 'Day')\n }\n\n set_endMonth = (event) => {\n this.setDate(event, 'end', 'Month')\n }\n\n set_endYear = (event) => {\n this.setDate(event, 'end', 'Year')\n }\n\n setDate = (event, mode, type) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = event.target.value\n\n this[`_${mode}${type}`] = value\n\n if (this.context[`${mode}Date`]) {\n this[`tmp_${mode}Date`] = this.context[`${mode}Date`]\n }\n\n const fallback = this[`tmp_${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n this[`_${mode}Year`] || (fallback && fallback.getFullYear())\n const month =\n this[`_${mode}Month`] || (fallback && fallback.getMonth() + 1)\n const day = this[`_${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(year),\n parseFloat(month) - 1,\n parseFloat(day)\n )\n\n const isValidDate =\n !/[^0-9]/.test(day) &&\n !/[^0-9]/.test(month) &&\n !/[^0-9]/.test(year) &&\n isValid(date) &&\n date.getDate() == parseFloat(day) &&\n date.getMonth() + 1 == parseFloat(month) &&\n date.getFullYear() == parseFloat(year)\n\n // update the date\n if (isValidDate) {\n this.callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n this.context.updateState({ [`${mode}Date`]: null })\n this.context.updateState({ [`__${mode}${type}`]: value })\n\n this.callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n this.callOnType({\n event,\n })\n }\n\n renderInputElement = (params) => {\n const { id, isRange } = this.props\n this.refList = []\n const startDateList = this.generateDateList(params, 'start')\n const endDateList = this.generateDateList(params, 'end')\n return (\n <span id={`${id}-input`} className=\"dnb-date-picker__input__wrapper\">\n {startDateList}\n {isRange && (\n <span className=\"dnb-date-picker--separator\" aria-hidden>\n {' – '}\n </span>\n )}\n {isRange && endDateList}\n </span>\n )\n }\n\n getPlaceholderChar(value) {\n const index = this.props.maskOrder.indexOf(value)\n return this.props.maskPlaceholder[index]\n }\n\n generateDateList(params, mode) {\n return this.maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = this.getPlaceholderChar(value)\n const { input_element, separatorRexExp, isRange, size } = this.props\n const { day, month, year } = this.context.translation.DatePicker\n const isRangeLabel = isRange\n ? `${this.context.translation.DatePicker[mode]} `\n : ''\n\n if (!separatorRexExp.test(value)) {\n if (!input_element) {\n params = {\n ...params,\n onKeyDown: this.onKeyDownHandler,\n onPaste: this.shortcutHandler,\n onFocus: (e) => {\n this.focusMode = mode\n this.onFocusHandler(e)\n },\n onBlur: this.onBlurHandler,\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n input_element && React.isValidElement(input_element)\n ? input_element\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n this.refList.push(this[`_${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-3]/, /[0-9]/]}\n inputRef={this[`_${mode}DayRef`]}\n onChange={this[`set_${mode}Day`]}\n value={this.context[`__${mode}Day`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${this.props.id}-${mode}-day-label`}\n htmlFor={`${this.props.id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n this.refList.push(this[`_${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-1]/, /[0-9]/]}\n inputRef={this[`_${mode}MonthRef`]}\n onChange={this[`set_${mode}Month`]}\n value={this.context[`__${mode}Month`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${this.props.id}-${mode}-month-label`}\n htmlFor={`${this.props.id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n this.refList.push(this[`_${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size=\"4\"\n mask={[/[1-2]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={this[`_${mode}YearRef`]}\n onChange={this[`set_${mode}Year`]}\n value={this.context[`__${mode}Year`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${this.props.id}-${mode}-year-label`}\n htmlFor={`${this.props.id}-${mode}-year`}\n >\n {isRangeLabel + year}\n </label>\n </React.Fragment>\n )\n }\n }\n return (\n <span\n key={'s' + i}\n className=\"dnb-date-picker--separator\"\n aria-hidden\n >\n {placeholderChar}\n </span>\n )\n })\n }\n\n formatDate() {\n const { open_picker_text } = this.context.translation.DatePicker\n\n const { selectedDateTitle } = this.props\n\n return selectedDateTitle\n ? `${selectedDateTitle}, ${open_picker_text}`\n : open_picker_text\n }\n\n render() {\n const {\n id,\n title,\n\n submitAttributes,\n isRange, // eslint-disable-line\n maskOrder, // eslint-disable-line\n maskPlaceholder, // eslint-disable-line\n separatorRexExp, // eslint-disable-line\n onChange, // eslint-disable-line\n onFocus, // eslint-disable-line\n onSubmit, // eslint-disable-line\n onBlur, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n input_element,\n locale,\n disabled,\n skeleton,\n opened,\n size,\n status,\n status_state,\n status_props,\n\n ...attributes\n } = this.props\n\n const { focusState } = this.state\n\n validateDOMAttributes(this.props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const UsedButton = showInput ? SubmitButton : Button\n if (!showInput) {\n // Use Button inner ref\n submitAttributes.innerRef = submitAttributes.ref\n submitAttributes.ref = null\n }\n\n return (\n <fieldset className=\"dnb-date-picker__fieldset\" lang={locale?.code}>\n {this.context.props.label && (\n <legend className=\"dnb-sr-only\">\n {this.context.props.label}\n </legend>\n )}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n input_element && typeof input_element !== 'string'\n ? typeof input_element === 'function'\n ? input_element(this.props)\n : input_element\n : this.renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={status_state}\n {...status_props}\n submit_element={\n <UsedButton\n id={id}\n disabled={disabled}\n skeleton={skeleton}\n className={classnames(\n showInput && 'dnb-button--input-button',\n opened ? 'dnb-button--active' : null\n )}\n aria-label={this.formatDate()}\n title={title}\n size={size}\n status={status}\n status_state={status_state}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...status_props}\n />\n }\n lang={locale?.code}\n {...attributes}\n />\n </fieldset>\n )\n }\n}\n\nconst selectAll = (target) => {\n target.focus()\n target.select()\n}\n\nconst InputElement = ({ className, value, ...props }) => {\n return (\n <TextMask\n guide={true}\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n spellCheck={false}\n autoCorrect=\"off\"\n className={classnames(\n className,\n /\\d+/.test(value) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nconst wait = (t) => new Promise((r) => setTimeout(r, t))\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerInput.js","names":["React","PropTypes","addDays","addMonths","addYears","isValid","parseISO","classnames","TextMask","Button","Input","SubmitButton","keycode","warn","validateDOMAttributes","dispatchCustomElementEvent","convertStringToDate","DatePickerContext","DatePickerInput","PureComponent","constructor","props","_defineProperty","_listenForPropChanges","focusState","e","focusMode","success","clipboardData","window","getData","preventDefault","separators","possibleFormats","forEach","date","sep","push","replace","split","reverse","join","i","l","length","date_format","mode","state","context","setState","updateState","hoverDate","hasHadValidDate","startDate","endDate","event","_objectSpread","callOnChangeHandler","changeMonthViews","isRange","getDates","reduce","acc","returnObject","getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","typedDates","start_date","end_date","keyCode","target","isDate","getAttribute","match","isInRange","count","callOnChange","wait","selectAll","focus","setSelectionRange","onFocus","onBlur","selectionStart","selectionEnd","selectStart","persist","prepareCounting","size","parseFloat","firstSelectionStart","secondSelectionStart","test","index","refList","findIndex","current","nextSibling","prevSibling","endPos","value","setDate","type","fallback","year","getFullYear","month","getMonth","day","getDate","Date","isValidDate","callOnChangeAsInvalid","callOnType","params","id","startDateList","generateDateList","endDateList","createElement","className","_span","maskOrder","separatorRexExp","maskList","cur","shift","_startDayRef","createRef","_startMonthRef","_startYearRef","_endDayRef","_endMonthRef","_endYearRef","componentWillUnmount","_shortcuts","remove","osShortcut","getPlaceholderChar","indexOf","maskPlaceholder","map","slice","placeholderChar","input_element","translation","DatePicker","isRangeLabel","onKeyDown","onKeyDownHandler","onPaste","shortcutHandler","onFocusHandler","onBlurHandler","DateField","isValidElement","InputElement","inputSizeClassName","Fragment","key","_extends","mask","inputRef","onChange","hidden","htmlFor","formatDate","open_picker_text","selectedDateTitle","render","_this$props","title","submitAttributes","onSubmit","showInput","locale","disabled","skeleton","opened","status","status_state","status_props","attributes","_objectWithoutProperties","_excluded","UsedButton","innerRef","ref","lang","code","label","input_state","renderInputElement","submit_element","icon","variant","on_submit","on_click","process","env","NODE_ENV","propTypes","string","instanceOf","RegExp","object","bool","oneOf","oneOfType","func","node","select","_ref","_excluded2","guide","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","t","Promise","r","setTimeout"],"sources":["../../../../src/components/date-picker/DatePickerInput.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\n// date-fns\nimport addDays from 'date-fns/addDays'\nimport addMonths from 'date-fns/addMonths'\nimport addYears from 'date-fns/addYears'\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport keycode from 'keycode'\nimport {\n warn,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { convertStringToDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nexport default class DatePickerInput extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n selectedDateTitle: PropTypes.string,\n maskOrder: PropTypes.string,\n maskPlaceholder: PropTypes.string,\n separatorRexExp: PropTypes.instanceOf(RegExp),\n submitAttributes: PropTypes.object,\n isRange: PropTypes.bool,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n input_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n locale: PropTypes.object,\n disabled: PropTypes.bool,\n skeleton: PropTypes.bool,\n opened: PropTypes.bool,\n showInput: PropTypes.bool,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: null,\n selectedDateTitle: null,\n maskOrder: 'dd/mm/yyyy',\n maskPlaceholder: 'dd/mm/åååå',\n separatorRexExp: /[-/ ]/g,\n submitAttributes: null,\n isRange: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n input_element: null,\n disabled: null,\n locale: null,\n skeleton: null,\n opened: false,\n showInput: null,\n onChange: null,\n onSubmit: null,\n onFocus: null,\n onBlur: null,\n }\n\n state = {\n _listenForPropChanges: true,\n focusState: 'virgin',\n }\n\n constructor(props) {\n super(props)\n\n const separators = props.maskOrder.match(props.separatorRexExp)\n this.maskList = props.maskOrder\n .split(props.separatorRexExp)\n .reduce((acc, cur) => {\n if (cur) {\n acc.push(cur)\n if (separators.length > 0) {\n acc.push(separators.shift())\n }\n }\n return acc\n }, [])\n\n this._startDayRef = React.createRef()\n this._startMonthRef = React.createRef()\n this._startYearRef = React.createRef()\n this._endDayRef = React.createRef()\n this._endMonthRef = React.createRef()\n this._endYearRef = React.createRef()\n }\n\n componentWillUnmount() {\n if (this._shortcuts) {\n this._shortcuts.remove(this.osShortcut)\n }\n }\n\n shortcutHandler = async (e) => {\n if (this.focusMode) {\n const success = (\n e.clipboardData ||\n (typeof window !== 'undefined' && window.clipboardData)\n ).getData('text')\n if (success) {\n e.preventDefault()\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date\n for (let i = 0, l = possibleFormats.length; i < l; ++i) {\n date = convertStringToDate(success, {\n date_format: possibleFormats[i],\n })\n if (date) {\n break\n }\n }\n const mode = this.focusMode === 'start' ? 'startDate' : 'endDate'\n if (date && !this.state[mode]) {\n this.context.setState({\n [mode]: date,\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n }\n\n callOnChangeAsInvalid = (state) => {\n this.context.updateState(\n {\n hoverDate: null,\n },\n () => {\n if (this.context.hasHadValidDate) {\n const { startDate, endDate, event } = {\n ...this.context,\n ...state,\n }\n this.context.callOnChangeHandler({ startDate, endDate, event })\n }\n }\n )\n }\n\n callOnChange = ({ startDate, endDate, event }) => {\n const state = { changeMonthViews: true }\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state.startDate = startDate\n }\n if (!this.props.isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state.endDate = endDate\n }\n\n this.context.updateState(state, () => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n this.context.callOnChangeHandler({ event })\n }\n })\n }\n\n callOnType = ({ event }) => {\n const getDates = () =>\n ['start', 'end'].reduce((acc, mode) => {\n acc[`${mode}Date`] = [\n this[`_${mode}Year`] || this.context[`__${mode}Year`] || 'yyyy',\n this[`_${mode}Month`] || this.context[`__${mode}Month`] || 'mm',\n this[`_${mode}Day`] || this.context[`__${mode}Day`] || 'dd',\n ].join('-')\n return acc\n }, {})\n\n // Get the typed dates, so we can ...\n let { startDate, endDate } = getDates()\n\n startDate = parseISO(startDate)\n endDate = parseISO(endDate)\n\n // ... check if they were valid\n if (!isValid(startDate)) {\n startDate = null\n }\n if (!isValid(endDate)) {\n endDate = null\n }\n\n let returnObject = this.context.getReturnObject({\n startDate,\n endDate,\n event,\n })\n\n // Now, lets correct\n if (\n returnObject.is_valid === false ||\n returnObject.is_valid_start_date === false ||\n returnObject.is_valid_end_date === false\n ) {\n const { startDate, endDate } = getDates()\n\n const typedDates = this.props.isRange\n ? {\n start_date: startDate,\n end_date: endDate,\n }\n : { date: startDate }\n\n returnObject = {\n ...returnObject,\n ...typedDates,\n }\n }\n\n dispatchCustomElementEvent(this.context, 'on_type', returnObject)\n }\n\n prepareCounting = async ({ keyCode, target, event }) => {\n try {\n const isDate = target\n .getAttribute('class')\n .match(/__input--([day|month|year]+)($|\\s)/)[1]\n\n const isInRange = target\n .getAttribute('id')\n .match(/-([start|end]+)-/)[1]\n\n let date =\n isInRange === 'start'\n ? this.context.startDate\n : this.context.endDate\n\n // do nothing if date is not set yet\n if (!date) {\n return\n }\n\n const count = keyCode === 'up' ? 1 : -1\n\n if (keyCode === 'up' || keyCode === 'down') {\n switch (isDate) {\n case 'day':\n date = addDays(date, count)\n break\n case 'month':\n date = addMonths(date, count)\n break\n case 'year':\n date = addYears(date, count)\n break\n }\n }\n\n this.callOnChange({\n [isInRange === 'start' ? 'startDate' : 'endDate']: date,\n event,\n })\n\n await wait(1) // to get the correct position afterwards\n\n selectAll(target)\n } catch (e) {\n warn(e)\n }\n }\n\n selectStart = (target) => {\n target.focus()\n target.setSelectionRange(0, 0)\n }\n\n onFocusHandler = (event) => {\n try {\n selectAll(event.target)\n } catch (e) {\n warn(e)\n }\n\n this.setState({\n focusState: 'focus',\n _listenForPropChanges: false,\n })\n\n if (this.props.onFocus) {\n this.props.onFocus({\n ...event,\n ...this.context.getReturnObject({ event }),\n })\n }\n }\n\n onBlurHandler = (event) => {\n this.focusMode = null\n this.setState({\n focusState: 'blur',\n _listenForPropChanges: false,\n })\n\n if (this.props.onBlur) {\n this.props.onBlur({\n ...event,\n ...this.context.getReturnObject({ event }),\n })\n }\n }\n\n onKeyDownHandler = async (event) => {\n const keyCode = keycode(event)\n const target = event.target\n\n if (target.selectionStart !== target.selectionEnd) {\n this.selectStart(target)\n }\n\n // only to process key up and down press\n switch (keyCode) {\n case 'up':\n case 'down':\n event.persist()\n event.preventDefault()\n this.prepareCounting({ event, keyCode, target })\n return false\n case 'tab':\n // case 'backspace': // We need backspace down here\n return false\n }\n\n // the rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n\n await wait(1) // to get the correct position afterwards\n\n const secondSelectionStart = target.selectionStart\n const isValid = /[0-9]/.test(keyCode)\n const index = this.refList.findIndex(\n ({ current }) => current === target\n )\n\n if (\n index < this.refList.length - 1 &&\n ((secondSelectionStart === size &&\n isValid &&\n keyCode !== 'left' &&\n keyCode !== 'backspace') ||\n (firstSelectionStart === size && keyCode === 'right'))\n ) {\n try {\n // stop in case there is no next input element\n if (!this.refList[index + 1].current) {\n return\n }\n const nextSibling = this.refList[index + 1].current\n if (nextSibling) {\n nextSibling.focus()\n nextSibling.setSelectionRange(0, 0)\n }\n } catch (e) {\n warn(e)\n }\n } else if (firstSelectionStart === 0 && index > 0) {\n switch (keyCode) {\n case 'left':\n case 'backspace':\n try {\n const prevSibling = this.refList[index - 1].current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n prevSibling.focus()\n prevSibling.setSelectionRange(endPos, endPos)\n }\n } catch (e) {\n warn(e)\n }\n break\n }\n }\n }\n\n set_startDay = (event) => {\n this.setDate(event, 'start', 'Day')\n }\n\n set_startMonth = (event) => {\n this.setDate(event, 'start', 'Month')\n }\n\n set_startYear = (event) => {\n this.setDate(event, 'start', 'Year')\n }\n\n set_endDay = (event) => {\n this.setDate(event, 'end', 'Day')\n }\n\n set_endMonth = (event) => {\n this.setDate(event, 'end', 'Month')\n }\n\n set_endYear = (event) => {\n this.setDate(event, 'end', 'Year')\n }\n\n setDate = (event, mode, type) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = event.target.value\n\n this[`_${mode}${type}`] = value\n\n if (this.context[`${mode}Date`]) {\n this[`tmp_${mode}Date`] = this.context[`${mode}Date`]\n }\n\n const fallback = this[`tmp_${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n this[`_${mode}Year`] || (fallback && fallback.getFullYear())\n const month =\n this[`_${mode}Month`] || (fallback && fallback.getMonth() + 1)\n const day = this[`_${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(year),\n parseFloat(month) - 1,\n parseFloat(day)\n )\n\n const isValidDate =\n !/[^0-9]/.test(day) &&\n !/[^0-9]/.test(month) &&\n !/[^0-9]/.test(year) &&\n isValid(date) &&\n date.getDate() == parseFloat(day) &&\n date.getMonth() + 1 == parseFloat(month) &&\n date.getFullYear() == parseFloat(year)\n\n // update the date\n if (isValidDate) {\n this.callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n this.context.updateState({ [`${mode}Date`]: null })\n this.context.updateState({ [`__${mode}${type}`]: value })\n\n this.callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n this.callOnType({\n event,\n })\n }\n\n renderInputElement = (params) => {\n const { id, isRange } = this.props\n this.refList = []\n const startDateList = this.generateDateList(params, 'start')\n const endDateList = this.generateDateList(params, 'end')\n return (\n <span id={`${id}-input`} className=\"dnb-date-picker__input__wrapper\">\n {startDateList}\n {isRange && (\n <span className=\"dnb-date-picker--separator\" aria-hidden>\n {' – '}\n </span>\n )}\n {isRange && endDateList}\n </span>\n )\n }\n\n getPlaceholderChar(value) {\n const index = this.props.maskOrder.indexOf(value)\n return this.props.maskPlaceholder[index]\n }\n\n generateDateList(params, mode) {\n return this.maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = this.getPlaceholderChar(value)\n const { input_element, separatorRexExp, isRange, size } = this.props\n const { day, month, year } = this.context.translation.DatePicker\n const isRangeLabel = isRange\n ? `${this.context.translation.DatePicker[mode]} `\n : ''\n\n if (!separatorRexExp.test(value)) {\n if (!input_element) {\n params = {\n ...params,\n onKeyDown: this.onKeyDownHandler,\n onPaste: this.shortcutHandler,\n onFocus: (e) => {\n this.focusMode = mode\n this.onFocusHandler(e)\n },\n onBlur: this.onBlurHandler,\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n input_element && React.isValidElement(input_element)\n ? input_element\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n this.refList.push(this[`_${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-3]/, /[0-9]/]}\n inputRef={this[`_${mode}DayRef`]}\n onChange={this[`set_${mode}Day`]}\n value={this.context[`__${mode}Day`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${this.props.id}-${mode}-day-label`}\n htmlFor={`${this.props.id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n this.refList.push(this[`_${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-1]/, /[0-9]/]}\n inputRef={this[`_${mode}MonthRef`]}\n onChange={this[`set_${mode}Month`]}\n value={this.context[`__${mode}Month`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${this.props.id}-${mode}-month-label`}\n htmlFor={`${this.props.id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n this.refList.push(this[`_${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size=\"4\"\n mask={[/[1-2]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={this[`_${mode}YearRef`]}\n onChange={this[`set_${mode}Year`]}\n value={this.context[`__${mode}Year`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${this.props.id}-${mode}-year-label`}\n htmlFor={`${this.props.id}-${mode}-year`}\n >\n {isRangeLabel + year}\n </label>\n </React.Fragment>\n )\n }\n }\n return (\n <span\n key={'s' + i}\n className=\"dnb-date-picker--separator\"\n aria-hidden\n >\n {placeholderChar}\n </span>\n )\n })\n }\n\n formatDate() {\n const { open_picker_text } = this.context.translation.DatePicker\n\n const { selectedDateTitle } = this.props\n\n return selectedDateTitle\n ? `${selectedDateTitle}, ${open_picker_text}`\n : open_picker_text\n }\n\n render() {\n const {\n id,\n title,\n\n submitAttributes,\n isRange, // eslint-disable-line\n maskOrder, // eslint-disable-line\n maskPlaceholder, // eslint-disable-line\n separatorRexExp, // eslint-disable-line\n onChange, // eslint-disable-line\n onFocus, // eslint-disable-line\n onSubmit, // eslint-disable-line\n onBlur, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n input_element,\n locale,\n disabled,\n skeleton,\n opened,\n size,\n status,\n status_state,\n status_props,\n\n ...attributes\n } = this.props\n\n const { focusState } = this.state\n\n validateDOMAttributes(this.props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const UsedButton = showInput ? SubmitButton : Button\n if (!showInput) {\n // Use Button inner ref\n submitAttributes.innerRef = submitAttributes.ref\n submitAttributes.ref = null\n }\n\n return (\n <fieldset className=\"dnb-date-picker__fieldset\" lang={locale?.code}>\n {this.context.props.label && (\n <legend className=\"dnb-sr-only\">\n {this.context.props.label}\n </legend>\n )}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n input_element && typeof input_element !== 'string'\n ? typeof input_element === 'function'\n ? input_element(this.props)\n : input_element\n : this.renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={status_state}\n {...status_props}\n submit_element={\n <UsedButton\n id={id}\n disabled={disabled}\n skeleton={skeleton}\n className={classnames(\n showInput && 'dnb-button--input-button',\n opened ? 'dnb-button--active' : null\n )}\n aria-label={this.formatDate()}\n title={title}\n size={size}\n status={status}\n status_state={status_state}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...status_props}\n />\n }\n lang={locale?.code}\n {...attributes}\n />\n </fieldset>\n )\n }\n}\n\nconst selectAll = (target) => {\n target.focus()\n target.select()\n}\n\nconst InputElement = ({ className, value, ...props }) => {\n return (\n <TextMask\n guide={true}\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n spellCheck={false}\n autoCorrect=\"off\"\n className={classnames(\n className,\n /\\d+/.test(value) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nconst wait = (t) => new Promise((r) => setTimeout(r, t))\n"],"mappings":"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"}
|
|
@@ -375,7 +375,7 @@ class DropdownInstance extends React.PureComponent {
|
|
|
375
375
|
onKeyDown: this.onTriggerKeyDownHandler
|
|
376
376
|
});
|
|
377
377
|
if (opened) {
|
|
378
|
-
triggerParams['aria-controls'] = `${id}-
|
|
378
|
+
triggerParams['aria-controls'] = `${id}-ul`;
|
|
379
379
|
}
|
|
380
380
|
if (showStatus || suffix) {
|
|
381
381
|
triggerParams['aria-describedby'] = combineDescribedBy(triggerParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
|
|
@@ -462,7 +462,8 @@ class DropdownInstance extends React.PureComponent {
|
|
|
462
462
|
})), suffix && React.createElement(Suffix, {
|
|
463
463
|
className: "dnb-dropdown__suffix",
|
|
464
464
|
id: id + '-suffix',
|
|
465
|
-
context: props
|
|
465
|
+
context: props,
|
|
466
|
+
onClick: this.setHidden
|
|
466
467
|
}, suffix))));
|
|
467
468
|
}
|
|
468
469
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","Suffix","Icon","FormLabel","FormStatus","Button","buttonVariantPropType","DrawerList","DrawerListContext","DrawerListProvider","drawerListPropTypes","drawerListProviderPropTypes","parseContentTitle","getCurrentData","Dropdown","PureComponent","render","id","props","more_menu","action_menu","prevent_selection","children","data","createElement","_extends","opened","tagName","ignore_events","DropdownInstance","_defineProperty","title","variant","icon","icon_size","icon_position","triangle_position","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","innerRef","buttonRef","suffix","scrollable","focusable","max_height","direction","skip_portal","portal_class","no_animation","no_scroll_animation","independent_width","size","align_dropdown","trigger_element","default_value","value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","class","className","on_show","on_hide","on_change","on_select","on_state_update","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","node","func","oneOf","bool","object","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","content","array","constructor","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","args","setHidden","hidden","isOpen","e","preventDefault","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","length","currentOptionData","selected_item","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","FormRow","formElement","fixed_position","enable_body_lock","CustomTrigger","_className","_title","_icon","_align_dropdown","_icon_position","_data","_children","_direction","_opened","_value","_objectWithoutProperties","_excluded","handleAsMenu","isPopupMenu","showStatus","Object","assign","mainParams","triggerParams","onFocus","onFocusHandler","onBlur","onBlurHandler","onClick","onClickHandler","onKeyDown","onTriggerKeyDownHandler","ref","for_id","text","sr_only","_AlignmentHelper","show","text_id","custom_content","Fragment","role","list_class","is_popup","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/dropdown/Dropdown.js"],"sourcesContent":["/**\n * Web Dropdown Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport Icon from '../icon-primary/IconPrimary'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport DrawerList from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n drawerListProviderPropTypes,\n parseContentTitle,\n getCurrentData,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Dropdown extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n\n id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n variant: buttonVariantPropType.variant,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n buttonRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n more_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_dropdown: PropTypes.oneOf(['left', 'right']),\n trigger_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: 'Option Menu',\n variant: 'secondary',\n icon: null,\n icon_size: null,\n icon_position: null,\n triangle_position: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n innerRef: null,\n buttonRef: null,\n suffix: null,\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n portal_class: null,\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n more_menu: false,\n action_menu: false,\n independent_width: false,\n size: 'default',\n align_dropdown: null,\n trigger_element: null,\n data: null,\n default_value: null,\n value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: false,\n disabled: null,\n stretch: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n\n on_change: null,\n on_select: null,\n on_state_update: null,\n }\n\n render() {\n // generate ID here, so we can send it along the provider\n const id = this.props.id || makeUniqueId()\n const { more_menu, action_menu, prevent_selection, children, data } =\n this.props\n\n return (\n <DrawerListProvider\n {...this.props}\n id={id}\n data={data || children}\n opened={null}\n tagName=\"dnb-dropdown\"\n ignore_events={false}\n prevent_selection={\n isTrue(more_menu) ||\n isTrue(action_menu) ||\n isTrue(prevent_selection)\n }\n >\n <DropdownInstance {...this.props} id={id} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DropdownInstance extends React.PureComponent {\n static propTypes = Dropdown.propTypes\n static defaultProps = Dropdown.defaultProps\n static contextType = DrawerListContext\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n\n this._ref = props.innerRef || React.createRef()\n this._refWrapper = React.createRef()\n this._refButton = props.buttonRef || React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n }\n\n setVisible = () => {\n this.context.drawerList\n .setWrapperElement(this._refWrapper.current)\n .setVisible()\n }\n\n setHidden = (...args) => {\n this.context.drawerList.setHidden(...args)\n }\n\n onFocusHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setVisible()\n }\n }\n\n onBlurHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setHidden()\n }\n }\n\n onClickHandler = () => {\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden()\n } else {\n this.setVisible()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'enter':\n case 'space':\n e.preventDefault()\n this.setVisible()\n break\n\n case 'up':\n case 'down':\n e.preventDefault()\n this.setVisible()\n\n break\n\n case 'esc':\n this.setHidden()\n break\n\n case 'home':\n case 'end':\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n onHideHandler = (args = {}) => {\n const attributes = this.attributes || {}\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n attributes,\n })\n\n if (res !== false) {\n this.setFocus(args)\n }\n\n return res\n }\n\n setFocus = (args) => {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n try {\n const element = this._refButton.current\n if (element && typeof element.focus === 'function') {\n if (args.preventHideFocus !== true) {\n element.focus({ preventScroll: true })\n }\n dispatchCustomElementEvent(this, 'on_hide_focus', { element })\n }\n } catch (e) {\n // do noting\n }\n }, 1) // NVDA / Firefox needs a delay to set this focus\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n attributes,\n })\n }\n }\n\n onChangeHandler = (args) => {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n attributes,\n })\n }\n\n getTitle(title = null) {\n const { data } = this.context.drawerList\n if (data && data.length > 0) {\n const currentOptionData = getCurrentData(\n this.context.drawerList.selected_item,\n data\n )\n if (currentOptionData) {\n title =\n currentOptionData.selected_value ||\n parseContentTitle(currentOptionData)\n }\n }\n return title\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Dropdown.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Dropdown,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Dropdown\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n icon_size,\n size,\n fixed_position,\n enable_body_lock,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n prevent_close,\n no_animation,\n no_scroll_animation,\n triangle_position,\n skip_portal,\n portal_class,\n trigger_element: CustomTrigger,\n more_menu,\n action_menu,\n independent_width,\n prevent_selection,\n max_height,\n default_value,\n className,\n class: _className,\n disabled,\n stretch,\n skeleton,\n variant,\n\n title: _title,\n icon: _icon, // eslint-disable-line\n align_dropdown: _align_dropdown, // eslint-disable-line\n icon_position: _icon_position, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n buttonRef, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { icon, icon_position, align_dropdown } = props\n const id = this._id\n\n const handleAsMenu =\n isTrue(action_menu) || isTrue(more_menu) || isTrue(prevent_selection)\n const isPopupMenu = isTrue(more_menu) || !(_title && _title.length > 0)\n if (isPopupMenu) {\n icon = icon || (isTrue(more_menu) ? 'more' : 'chevron_down')\n }\n if (isPopupMenu || isTrue(action_menu)) {\n if (icon_position !== 'right' && align_dropdown !== 'right') {\n icon_position = 'left'\n align_dropdown = 'left'\n }\n }\n\n const { selected_item, direction, opened } = this.context.drawerList\n const showStatus = getStatusState(status)\n const title = this.getTitle(_title)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-dropdown',\n `dnb-dropdown--${direction}`,\n opened && 'dnb-dropdown--opened',\n label_direction && `dnb-dropdown--${label_direction}`,\n `dnb-dropdown--icon-position-${icon_position || 'right'}`,\n isPopupMenu && 'dnb-dropdown--is-popup',\n isTrue(action_menu) && `dnb-dropdown--action-menu`,\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-dropdown--independent-width',\n size && `dnb-dropdown--${size}`,\n isTrue(stretch) && `dnb-dropdown--stretch`,\n `dnb-dropdown--${align_dropdown || 'right'}`,\n status && `dnb-dropdown__status--${status_state}`,\n showStatus && 'dnb-dropdown__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n const triggerParams = {\n className: classnames(\n 'dnb-dropdown__trigger',\n opened && 'dnb-button--active'\n ),\n id,\n disabled,\n 'aria-haspopup': handleAsMenu ? true : 'listbox',\n 'aria-expanded': opened,\n // 'aria-controls': `${id}-drawer-list`,\n ...attributes,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n onClick: this.onClickHandler,\n onKeyDown: this.onTriggerKeyDownHandler,\n }\n\n if (opened) {\n triggerParams['aria-controls'] = `${id}-drawer-list`\n }\n\n if (showStatus || suffix) {\n triggerParams['aria-describedby'] = combineDescribedBy(\n triggerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n if (label) {\n triggerParams['aria-labelledby'] = combineLabelledBy(\n triggerParams,\n id + '-label',\n id // used to read the current value\n )\n }\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(this.props, triggerParams)\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n\n return (\n <span ref={this._ref} {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.onClickHandler}\n />\n )}\n\n <span className=\"dnb-dropdown__inner\" ref={this._refWrapper}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-dropdown__row\">\n <span className=\"dnb-dropdown__shell\">\n {CustomTrigger ? (\n <CustomTrigger {...triggerParams} />\n ) : (\n <Button\n variant={variant}\n icon={false} // only to suppress the warning about the icon when tertiary variant is used\n size={size === 'default' ? 'medium' : size}\n innerRef={this._refButton}\n custom_content={\n <>\n {!isPopupMenu && (\n <span className=\"dnb-dropdown__text dnb-button__text\">\n <span className=\"dnb-dropdown__text__inner\">\n {title}\n </span>\n </span>\n )}\n <span\n aria-hidden\n className={classnames(\n 'dnb-dropdown__icon',\n parseFloat(selected_item) === 0 &&\n 'dnb-dropdown__icon--first'\n )}\n >\n {icon !== false && (\n <Icon\n icon={icon || 'chevron_down'}\n size={\n icon_size ||\n (size === 'large' ? 'medium' : 'default')\n }\n />\n )}\n </span>\n </>\n }\n {...triggerParams}\n />\n )}\n\n <DrawerList\n id={id}\n role={handleAsMenu ? 'menu' : 'listbox'}\n portal_class={portal_class}\n list_class=\"dnb-dropdown__list\"\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={handleAsMenu}\n action_menu={action_menu}\n triangle_position={\n triangle_position || icon_position || 'right'\n }\n keep_open={keep_open}\n prevent_close={prevent_close}\n independent_width={\n isTrue(independent_width) || isPopupMenu || action_menu\n }\n is_popup={isPopupMenu || action_menu}\n align_drawer={align_dropdown || 'left'}\n fixed_position={fixed_position}\n enable_body_lock={enable_body_lock}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-dropdown__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nDropdown.HorizontalItem = DrawerList.HorizontalItem\nDropdown._formElement = true\nDropdown._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","Suffix","Icon","FormLabel","FormStatus","Button","buttonVariantPropType","DrawerList","DrawerListContext","DrawerListProvider","drawerListPropTypes","drawerListProviderPropTypes","parseContentTitle","getCurrentData","Dropdown","PureComponent","render","id","props","more_menu","action_menu","prevent_selection","children","data","createElement","_extends","opened","tagName","ignore_events","DropdownInstance","_defineProperty","title","variant","icon","icon_size","icon_position","triangle_position","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","innerRef","buttonRef","suffix","scrollable","focusable","max_height","direction","skip_portal","portal_class","no_animation","no_scroll_animation","independent_width","size","align_dropdown","trigger_element","default_value","value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","class","className","on_show","on_hide","on_change","on_select","on_state_update","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","node","func","oneOf","bool","object","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","content","array","constructor","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","args","setHidden","hidden","isOpen","e","preventDefault","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","length","currentOptionData","selected_item","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","FormRow","formElement","fixed_position","enable_body_lock","CustomTrigger","_className","_title","_icon","_align_dropdown","_icon_position","_data","_children","_direction","_opened","_value","_objectWithoutProperties","_excluded","handleAsMenu","isPopupMenu","showStatus","Object","assign","mainParams","triggerParams","onFocus","onFocusHandler","onBlur","onBlurHandler","onClick","onClickHandler","onKeyDown","onTriggerKeyDownHandler","ref","for_id","text","sr_only","_AlignmentHelper","show","text_id","custom_content","Fragment","role","list_class","is_popup","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/dropdown/Dropdown.js"],"sourcesContent":["/**\n * Web Dropdown Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport Icon from '../icon-primary/IconPrimary'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport DrawerList from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n drawerListProviderPropTypes,\n parseContentTitle,\n getCurrentData,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Dropdown extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n\n id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n variant: buttonVariantPropType.variant,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n buttonRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n more_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_dropdown: PropTypes.oneOf(['left', 'right']),\n trigger_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: 'Option Menu',\n variant: 'secondary',\n icon: null,\n icon_size: null,\n icon_position: null,\n triangle_position: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n innerRef: null,\n buttonRef: null,\n suffix: null,\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n portal_class: null,\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n more_menu: false,\n action_menu: false,\n independent_width: false,\n size: 'default',\n align_dropdown: null,\n trigger_element: null,\n data: null,\n default_value: null,\n value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: false,\n disabled: null,\n stretch: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n\n on_change: null,\n on_select: null,\n on_state_update: null,\n }\n\n render() {\n // generate ID here, so we can send it along the provider\n const id = this.props.id || makeUniqueId()\n const { more_menu, action_menu, prevent_selection, children, data } =\n this.props\n\n return (\n <DrawerListProvider\n {...this.props}\n id={id}\n data={data || children}\n opened={null}\n tagName=\"dnb-dropdown\"\n ignore_events={false}\n prevent_selection={\n isTrue(more_menu) ||\n isTrue(action_menu) ||\n isTrue(prevent_selection)\n }\n >\n <DropdownInstance {...this.props} id={id} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DropdownInstance extends React.PureComponent {\n static propTypes = Dropdown.propTypes\n static defaultProps = Dropdown.defaultProps\n static contextType = DrawerListContext\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n\n this._ref = props.innerRef || React.createRef()\n this._refWrapper = React.createRef()\n this._refButton = props.buttonRef || React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n }\n\n setVisible = () => {\n this.context.drawerList\n .setWrapperElement(this._refWrapper.current)\n .setVisible()\n }\n\n setHidden = (...args) => {\n this.context.drawerList.setHidden(...args)\n }\n\n onFocusHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setVisible()\n }\n }\n\n onBlurHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setHidden()\n }\n }\n\n onClickHandler = () => {\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden()\n } else {\n this.setVisible()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'enter':\n case 'space':\n e.preventDefault()\n this.setVisible()\n break\n\n case 'up':\n case 'down':\n e.preventDefault()\n this.setVisible()\n\n break\n\n case 'esc':\n this.setHidden()\n break\n\n case 'home':\n case 'end':\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n onHideHandler = (args = {}) => {\n const attributes = this.attributes || {}\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n attributes,\n })\n\n if (res !== false) {\n this.setFocus(args)\n }\n\n return res\n }\n\n setFocus = (args) => {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n try {\n const element = this._refButton.current\n if (element && typeof element.focus === 'function') {\n if (args.preventHideFocus !== true) {\n element.focus({ preventScroll: true })\n }\n dispatchCustomElementEvent(this, 'on_hide_focus', { element })\n }\n } catch (e) {\n // do noting\n }\n }, 1) // NVDA / Firefox needs a delay to set this focus\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n attributes,\n })\n }\n }\n\n onChangeHandler = (args) => {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n attributes,\n })\n }\n\n getTitle(title = null) {\n const { data } = this.context.drawerList\n if (data && data.length > 0) {\n const currentOptionData = getCurrentData(\n this.context.drawerList.selected_item,\n data\n )\n if (currentOptionData) {\n title =\n currentOptionData.selected_value ||\n parseContentTitle(currentOptionData)\n }\n }\n return title\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Dropdown.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Dropdown,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Dropdown\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n icon_size,\n size,\n fixed_position,\n enable_body_lock,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n prevent_close,\n no_animation,\n no_scroll_animation,\n triangle_position,\n skip_portal,\n portal_class,\n trigger_element: CustomTrigger,\n more_menu,\n action_menu,\n independent_width,\n prevent_selection,\n max_height,\n default_value,\n className,\n class: _className,\n disabled,\n stretch,\n skeleton,\n variant,\n\n title: _title,\n icon: _icon, // eslint-disable-line\n align_dropdown: _align_dropdown, // eslint-disable-line\n icon_position: _icon_position, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n buttonRef, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { icon, icon_position, align_dropdown } = props\n const id = this._id\n\n const handleAsMenu =\n isTrue(action_menu) || isTrue(more_menu) || isTrue(prevent_selection)\n const isPopupMenu = isTrue(more_menu) || !(_title && _title.length > 0)\n if (isPopupMenu) {\n icon = icon || (isTrue(more_menu) ? 'more' : 'chevron_down')\n }\n if (isPopupMenu || isTrue(action_menu)) {\n if (icon_position !== 'right' && align_dropdown !== 'right') {\n icon_position = 'left'\n align_dropdown = 'left'\n }\n }\n\n const { selected_item, direction, opened } = this.context.drawerList\n const showStatus = getStatusState(status)\n const title = this.getTitle(_title)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-dropdown',\n `dnb-dropdown--${direction}`,\n opened && 'dnb-dropdown--opened',\n label_direction && `dnb-dropdown--${label_direction}`,\n `dnb-dropdown--icon-position-${icon_position || 'right'}`,\n isPopupMenu && 'dnb-dropdown--is-popup',\n isTrue(action_menu) && `dnb-dropdown--action-menu`,\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-dropdown--independent-width',\n size && `dnb-dropdown--${size}`,\n isTrue(stretch) && `dnb-dropdown--stretch`,\n `dnb-dropdown--${align_dropdown || 'right'}`,\n status && `dnb-dropdown__status--${status_state}`,\n showStatus && 'dnb-dropdown__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n const triggerParams = {\n className: classnames(\n 'dnb-dropdown__trigger',\n opened && 'dnb-button--active'\n ),\n id,\n disabled,\n 'aria-haspopup': handleAsMenu ? true : 'listbox',\n 'aria-expanded': opened,\n ...attributes,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n onClick: this.onClickHandler,\n onKeyDown: this.onTriggerKeyDownHandler,\n }\n\n if (opened) {\n triggerParams['aria-controls'] = `${id}-ul`\n }\n\n if (showStatus || suffix) {\n triggerParams['aria-describedby'] = combineDescribedBy(\n triggerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n if (label) {\n triggerParams['aria-labelledby'] = combineLabelledBy(\n triggerParams,\n id + '-label',\n id // used to read the current value\n )\n }\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(this.props, triggerParams)\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n\n return (\n <span ref={this._ref} {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.onClickHandler}\n />\n )}\n\n <span className=\"dnb-dropdown__inner\" ref={this._refWrapper}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-dropdown__row\">\n <span className=\"dnb-dropdown__shell\">\n {CustomTrigger ? (\n <CustomTrigger {...triggerParams} />\n ) : (\n <Button\n variant={variant}\n icon={false} // only to suppress the warning about the icon when tertiary variant is used\n size={size === 'default' ? 'medium' : size}\n innerRef={this._refButton}\n custom_content={\n <>\n {!isPopupMenu && (\n <span className=\"dnb-dropdown__text dnb-button__text\">\n <span className=\"dnb-dropdown__text__inner\">\n {title}\n </span>\n </span>\n )}\n <span\n aria-hidden\n className={classnames(\n 'dnb-dropdown__icon',\n parseFloat(selected_item) === 0 &&\n 'dnb-dropdown__icon--first'\n )}\n >\n {icon !== false && (\n <Icon\n icon={icon || 'chevron_down'}\n size={\n icon_size ||\n (size === 'large' ? 'medium' : 'default')\n }\n />\n )}\n </span>\n </>\n }\n {...triggerParams}\n />\n )}\n\n <DrawerList\n id={id}\n role={handleAsMenu ? 'menu' : 'listbox'}\n portal_class={portal_class}\n list_class=\"dnb-dropdown__list\"\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={handleAsMenu}\n action_menu={action_menu}\n triangle_position={\n triangle_position || icon_position || 'right'\n }\n keep_open={keep_open}\n prevent_close={prevent_close}\n independent_width={\n isTrue(independent_width) || isPopupMenu || action_menu\n }\n is_popup={isPopupMenu || action_menu}\n align_drawer={align_dropdown || 'left'}\n fixed_position={fixed_position}\n enable_body_lock={enable_body_lock}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-dropdown__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n onClick={this.setHidden}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nDropdown.HorizontalItem = DrawerList.HorizontalItem\nDropdown._formElement = true\nDropdown._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ function FlexContainer(props) {
|
|
|
36
36
|
queries
|
|
37
37
|
} = props,
|
|
38
38
|
rest = _objectWithoutProperties(props, _excluded);
|
|
39
|
-
const childrenArray =
|
|
39
|
+
const childrenArray = wrapChildren(props, children);
|
|
40
40
|
const hasHeading = childrenArray.some((child, i) => {
|
|
41
41
|
const previousChild = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray[i - 1];
|
|
42
42
|
return isHeadingElement(child) || i > 0 && isHeadingElement(previousChild);
|
|
@@ -53,13 +53,15 @@ function FlexContainer(props) {
|
|
|
53
53
|
queries
|
|
54
54
|
});
|
|
55
55
|
const content = childrenArray.map((child, i) => {
|
|
56
|
+
var _previousChild$type;
|
|
56
57
|
const isFirst = i === 0;
|
|
57
58
|
const previousChild = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray[i - 1];
|
|
58
59
|
const start = direction === 'horizontal' ? 'left' : 'top';
|
|
59
60
|
const end = direction === 'horizontal' ? 'right' : 'bottom';
|
|
60
61
|
const endSpacing = 0;
|
|
61
62
|
let startSpacing = null;
|
|
62
|
-
|
|
63
|
+
const isHeading = hasHeading && isHeadingElement(previousChild);
|
|
64
|
+
if (divider === 'line' && !isFirst && !isHeading) {
|
|
63
65
|
var _getSpaceValue, _getSpaceValue2;
|
|
64
66
|
const spaceAboveLine = (_getSpaceValue = getSpaceValue(end, previousChild)) !== null && _getSpaceValue !== void 0 ? _getSpaceValue : spacing;
|
|
65
67
|
startSpacing = (_getSpaceValue2 = getSpaceValue(start, child)) !== null && _getSpaceValue2 !== void 0 ? _getSpaceValue2 : spacing;
|
|
@@ -83,6 +85,9 @@ function FlexContainer(props) {
|
|
|
83
85
|
var _ref, _getSpaceValue3;
|
|
84
86
|
startSpacing = (_ref = (_getSpaceValue3 = getSpaceValue(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : getSpaceValue(end, previousChild)) !== null && _ref !== void 0 ? _ref : spacing;
|
|
85
87
|
}
|
|
88
|
+
if (React.isValidElement(previousChild) && (previousChild === null || previousChild === void 0 ? void 0 : (_previousChild$type = previousChild.type) === null || _previousChild$type === void 0 ? void 0 : _previousChild$type['_supportsSpacingProps']) === false) {
|
|
89
|
+
startSpacing = 0;
|
|
90
|
+
}
|
|
86
91
|
const space = direction === 'horizontal' ? {
|
|
87
92
|
[start]: endSpacing,
|
|
88
93
|
[end]: startSpacing
|
|
@@ -106,6 +111,14 @@ function FlexContainer(props) {
|
|
|
106
111
|
}, style) : style
|
|
107
112
|
}, rest), content);
|
|
108
113
|
}
|
|
114
|
+
function wrapChildren(props, children) {
|
|
115
|
+
return React.Children.toArray(children).map(child => {
|
|
116
|
+
if (React.isValidElement(child) && child.type['_supportsSpacingProps'] === 'children') {
|
|
117
|
+
return React.cloneElement(child, child.props, React.createElement(FlexContainer, props, child.props.children));
|
|
118
|
+
}
|
|
119
|
+
return child;
|
|
120
|
+
});
|
|
121
|
+
}
|
|
109
122
|
FlexContainer._supportsSpacingProps = true;
|
|
110
123
|
export default FlexContainer;
|
|
111
124
|
//# sourceMappingURL=Container.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","names":["React","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","Children","toArray","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","isFirst","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","_Hr","space","_ref","_getSpaceValue3","n","cn","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = React.Children.toArray(children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above/below headings\n !hasHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Container.js","names":["React","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","start","end","endSpacing","startSpacing","isHeading","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","_Hr","space","_ref","_getSpaceValue3","isValidElement","type","n","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n const isHeading = hasHeading && isHeadingElement(previousChild)\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above heading\n !isHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
|