@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","_ref","changeMonthViews","isRange","_ref2","getDates","reduce","acc","returnObject","getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","typedDates","start_date","end_date","_ref3","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","_ref4","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","_ref5","_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","_ref","changeMonthViews","isRange","_ref2","getDates","reduce","acc","returnObject","getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","typedDates","start_date","end_date","_ref3","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","_ref4","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","_ref5","_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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"}
|
|
@@ -379,7 +379,7 @@ class DropdownInstance extends React.PureComponent {
|
|
|
379
379
|
onKeyDown: this.onTriggerKeyDownHandler
|
|
380
380
|
});
|
|
381
381
|
if (opened) {
|
|
382
|
-
triggerParams['aria-controls'] = `${id}-
|
|
382
|
+
triggerParams['aria-controls'] = `${id}-ul`;
|
|
383
383
|
}
|
|
384
384
|
if (showStatus || suffix) {
|
|
385
385
|
triggerParams['aria-describedby'] = combineDescribedBy(triggerParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
|
|
@@ -466,7 +466,8 @@ class DropdownInstance extends React.PureComponent {
|
|
|
466
466
|
})), suffix && React.createElement(Suffix, {
|
|
467
467
|
className: "dnb-dropdown__suffix",
|
|
468
468
|
id: id + '-suffix',
|
|
469
|
-
context: props
|
|
469
|
+
context: props,
|
|
470
|
+
onClick: this.setHidden
|
|
470
471
|
}, suffix))));
|
|
471
472
|
}
|
|
472
473
|
}
|
|
@@ -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","_this","this","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","setHidden","arguments","hidden","isOpen","e","preventDefault","args","length","undefined","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","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","_this","this","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","setHidden","arguments","hidden","isOpen","e","preventDefault","args","length","undefined","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","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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"}
|
|
@@ -41,7 +41,7 @@ function FlexContainer(props) {
|
|
|
41
41
|
queries
|
|
42
42
|
} = props,
|
|
43
43
|
rest = _objectWithoutProperties(props, _excluded);
|
|
44
|
-
const childrenArray =
|
|
44
|
+
const childrenArray = wrapChildren(props, children);
|
|
45
45
|
const hasHeading = childrenArray.some((child, i) => {
|
|
46
46
|
const previousChild = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray[i - 1];
|
|
47
47
|
return isHeadingElement(child) || i > 0 && isHeadingElement(previousChild);
|
|
@@ -58,13 +58,15 @@ function FlexContainer(props) {
|
|
|
58
58
|
queries
|
|
59
59
|
});
|
|
60
60
|
const content = childrenArray.map((child, i) => {
|
|
61
|
+
var _previousChild$type;
|
|
61
62
|
const isFirst = i === 0;
|
|
62
63
|
const previousChild = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray[i - 1];
|
|
63
64
|
const start = direction === 'horizontal' ? 'left' : 'top';
|
|
64
65
|
const end = direction === 'horizontal' ? 'right' : 'bottom';
|
|
65
66
|
const endSpacing = 0;
|
|
66
67
|
let startSpacing = null;
|
|
67
|
-
|
|
68
|
+
const isHeading = hasHeading && isHeadingElement(previousChild);
|
|
69
|
+
if (divider === 'line' && !isFirst && !isHeading) {
|
|
68
70
|
var _getSpaceValue, _getSpaceValue2;
|
|
69
71
|
const spaceAboveLine = (_getSpaceValue = getSpaceValue(end, previousChild)) !== null && _getSpaceValue !== void 0 ? _getSpaceValue : spacing;
|
|
70
72
|
startSpacing = (_getSpaceValue2 = getSpaceValue(start, child)) !== null && _getSpaceValue2 !== void 0 ? _getSpaceValue2 : spacing;
|
|
@@ -88,6 +90,9 @@ function FlexContainer(props) {
|
|
|
88
90
|
var _ref2, _getSpaceValue3;
|
|
89
91
|
startSpacing = (_ref2 = (_getSpaceValue3 = getSpaceValue(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : getSpaceValue(end, previousChild)) !== null && _ref2 !== void 0 ? _ref2 : spacing;
|
|
90
92
|
}
|
|
93
|
+
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) {
|
|
94
|
+
startSpacing = 0;
|
|
95
|
+
}
|
|
91
96
|
const space = direction === 'horizontal' ? {
|
|
92
97
|
[start]: endSpacing,
|
|
93
98
|
[end]: startSpacing
|
|
@@ -111,6 +116,14 @@ function FlexContainer(props) {
|
|
|
111
116
|
}, style) : style
|
|
112
117
|
}, rest), content);
|
|
113
118
|
}
|
|
119
|
+
function wrapChildren(props, children) {
|
|
120
|
+
return React.Children.toArray(children).map(child => {
|
|
121
|
+
if (React.isValidElement(child) && child.type['_supportsSpacingProps'] === 'children') {
|
|
122
|
+
return React.cloneElement(child, child.props, React.createElement(FlexContainer, props, child.props.children));
|
|
123
|
+
}
|
|
124
|
+
return child;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
114
127
|
FlexContainer._supportsSpacingProps = true;
|
|
115
128
|
export default FlexContainer;
|
|
116
129
|
//# 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","arguments","length","undefined","skip","_objectSpread","Object","fromEntries","entries","filter","_ref","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","_ref2","_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","arguments","length","undefined","skip","_objectSpread","Object","fromEntries","entries","filter","_ref","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","_ref2","_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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"}
|