@skbkontur/react-ui 1.6.4 → 1.6.8-fixed-modal-stack
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/README.md +135 -135
- package/components/Autocomplete/Autocomplete.adapter.d.ts +2 -2
- package/components/Autocomplete/Autocomplete.adapter.js.flow +4 -4
- package/components/Autocomplete/Autocomplete.d.ts +108 -108
- package/components/Autocomplete/Autocomplete.js +23 -23
- package/components/Autocomplete/Autocomplete.js.flow +37 -37
- package/components/Autocomplete/README.md +7 -7
- package/components/Autocomplete/index.d.ts +1 -1
- package/components/Autocomplete/index.js.flow +2 -2
- package/components/Button/Button.adapter.d.ts +3 -3
- package/components/Button/Button.adapter.js.flow +4 -4
- package/components/Button/Button.d.ts +98 -98
- package/components/Button/Button.js +4 -4
- package/components/Button/Button.js.flow +58 -58
- package/components/Button/Button.mixins.d.ts +4 -4
- package/components/Button/Button.styles.d.ts +22 -22
- package/components/Button/Corners.d.ts +7 -7
- package/components/Button/Corners.js.flow +12 -12
- package/components/Button/README.md +85 -85
- package/components/Button/index.d.ts +1 -1
- package/components/Button/index.js.flow +2 -2
- package/components/Calendar/Animation.d.ts +6 -6
- package/components/Calendar/Animation.js.flow +7 -7
- package/components/Calendar/Calendar.d.ts +61 -61
- package/components/Calendar/Calendar.js +3 -3
- package/components/Calendar/Calendar.js.flow +33 -33
- package/components/Calendar/Calendar.styles.d.ts +5 -5
- package/components/Calendar/CalendarDateShape.d.ts +14 -14
- package/components/Calendar/CalendarDateShape.js.flow +26 -26
- package/components/Calendar/CalendarScrollEvents.d.ts +9 -9
- package/components/Calendar/CalendarScrollEvents.js.flow +15 -15
- package/components/Calendar/CalendarUtils.d.ts +18 -18
- package/components/Calendar/CalendarUtils.js.flow +35 -35
- package/components/Calendar/DayCellView.d.ts +19 -19
- package/components/Calendar/DayCellView.js.flow +16 -16
- package/components/Calendar/DayCellView.styles.d.ts +8 -8
- package/components/Calendar/DayCellViewModel.d.ts +8 -8
- package/components/Calendar/DayCellViewModel.js.flow +9 -9
- package/components/Calendar/Month.d.ts +31 -31
- package/components/Calendar/Month.js.flow +23 -23
- package/components/Calendar/MonthView.d.ts +25 -25
- package/components/Calendar/MonthView.js.flow +24 -24
- package/components/Calendar/MonthView.styles.d.ts +6 -6
- package/components/Calendar/MonthViewModel.d.ts +13 -13
- package/components/Calendar/MonthViewModel.js.flow +16 -16
- package/components/Calendar/config.d.ts +25 -25
- package/components/Calendar/config.js +11 -11
- package/components/Calendar/config.js.flow +11 -11
- package/components/Calendar/index.d.ts +1 -1
- package/components/Calendar/index.js.flow +2 -2
- package/components/Calendar/presets.d.ts +19 -19
- package/components/Calendar/presets.js.flow +21 -21
- package/components/Calendar/stepper.d.ts +1 -1
- package/components/Calendar/stepper.js.flow +2 -2
- package/components/Calendar/utils.d.ts +1 -1
- package/components/Calendar/utils.js.flow +2 -2
- package/components/Center/Center.d.ts +26 -26
- package/components/Center/Center.js +3 -3
- package/components/Center/Center.js.flow +15 -15
- package/components/Center/README.md +5 -5
- package/components/Center/index.d.ts +1 -1
- package/components/Center/index.js.flow +2 -2
- package/components/Checkbox/Checkbox.adapter.d.ts +2 -2
- package/components/Checkbox/Checkbox.adapter.js.flow +4 -4
- package/components/Checkbox/Checkbox.d.ts +76 -76
- package/components/Checkbox/Checkbox.js +12 -12
- package/components/Checkbox/Checkbox.js.flow +27 -27
- package/components/Checkbox/Checkbox.styles.d.ts +21 -21
- package/components/Checkbox/README.md +61 -61
- package/components/Checkbox/index.d.ts +1 -1
- package/components/Checkbox/index.js.flow +2 -2
- package/components/ComboBox/ComboBox.d.ts +177 -177
- package/components/ComboBox/ComboBox.js +20 -20
- package/components/ComboBox/ComboBox.js.flow +58 -58
- package/components/ComboBox/README.md +423 -423
- package/components/ComboBox/__mocks__/getCities.js.map +1 -1
- package/components/ComboBox/__mocks__/kladr.json +20002 -20002
- package/components/ComboBox/index.d.ts +1 -1
- package/components/ComboBox/index.js.flow +2 -2
- package/components/ComboBoxOld/ComboBoxOld.adapter.js +1 -1
- package/components/ComboBoxOld/ComboBoxOld.adapter.js.map +1 -1
- package/components/ComboBoxOld/ComboBoxOld.d.ts +120 -120
- package/components/ComboBoxOld/ComboBoxOld.js +47 -47
- package/components/ComboBoxOld/ComboBoxOld.js.map +1 -1
- package/components/ComboBoxOld/ComboBoxRenderer.js +1 -1
- package/components/ComboBoxOld/ComboBoxRenderer.js.map +1 -1
- package/components/ComboBoxOld/README.md +83 -83
- package/components/ComboBoxOld/index.d.ts +1 -1
- package/components/ComboBoxOld/index.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +38 -38
- package/components/CurrencyInput/CurrencyHelper.js.flow +44 -44
- package/components/CurrencyInput/CurrencyInput.d.ts +98 -98
- package/components/CurrencyInput/CurrencyInput.js +11 -11
- package/components/CurrencyInput/CurrencyInput.js.flow +30 -30
- package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
- package/components/CurrencyInput/CurrencyInputHelper.js.flow +38 -38
- package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
- package/components/CurrencyInput/CurrencyInputKeyboardActions.js.flow +19 -19
- package/components/CurrencyInput/CursorHelper.d.ts +10 -10
- package/components/CurrencyInput/CursorHelper.js.flow +15 -15
- package/components/CurrencyInput/README.md +19 -19
- package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
- package/components/CurrencyInput/SelectionHelper.js.flow +16 -16
- package/components/CurrencyInput/constants.d.ts +2 -2
- package/components/CurrencyInput/index.d.ts +1 -1
- package/components/CurrencyInput/index.js.flow +2 -2
- package/components/CurrencyLabel/CurrencyLabel.d.ts +23 -23
- package/components/CurrencyLabel/CurrencyLabel.js.flow +10 -10
- package/components/CurrencyLabel/README.md +23 -23
- package/components/CurrencyLabel/index.d.ts +1 -1
- package/components/CurrencyLabel/index.js.flow +2 -2
- package/components/CustomComboBox/ComboBoxMenu.d.ts +31 -31
- package/components/CustomComboBox/ComboBoxMenu.js.flow +22 -22
- package/components/CustomComboBox/ComboBoxView.d.ts +76 -76
- package/components/CustomComboBox/ComboBoxView.js.flow +52 -52
- package/components/CustomComboBox/CustomComboBox.d.ts +129 -129
- package/components/CustomComboBox/CustomComboBox.js +16 -16
- package/components/CustomComboBox/CustomComboBox.js.flow +130 -130
- package/components/CustomComboBox/CustomComboBoxReducer.d.ts +73 -73
- package/components/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
- package/components/CustomComboBox/index.d.ts +1 -1
- package/components/CustomComboBox/index.js.flow +2 -2
- package/components/CustomComboBox/locale/index.d.ts +4 -4
- package/components/CustomComboBox/locale/locales/en.d.ts +3 -3
- package/components/CustomComboBox/locale/locales/ru.d.ts +3 -3
- package/components/CustomComboBox/locale/types.d.ts +5 -5
- package/components/DateInput/DateFragmentsView.d.ts +17 -17
- package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
- package/components/DateInput/DateInput.d.ts +107 -107
- package/components/DateInput/DateInput.js.flow +60 -60
- package/components/DateInput/DateInput.styles.d.ts +9 -9
- package/components/DateInput/README.md +104 -104
- package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
- package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
- package/components/DateInput/helpers/DateInputKeyboardActions.js.flow +17 -17
- package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
- package/components/DateInput/helpers/SelectionHelpers.js.flow +3 -3
- package/components/DateInput/helpers/inputNumber.d.ts +2 -2
- package/components/DateInput/helpers/inputNumber.js.flow +4 -4
- package/components/DateInput/index.d.ts +1 -1
- package/components/DateInput/index.js.flow +2 -2
- package/components/DatePicker/DatePicker.d.ts +116 -116
- package/components/DatePicker/DatePicker.js +15 -15
- package/components/DatePicker/DatePicker.js.flow +45 -45
- package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
- package/components/DatePicker/DatePickerHelpers.js.flow +7 -7
- package/components/DatePicker/DateShape.js.flow +11 -11
- package/components/DatePicker/Picker.d.ts +32 -32
- package/components/DatePicker/Picker.js.flow +23 -23
- package/components/DatePicker/Picker.styles.d.ts +6 -6
- package/components/DatePicker/README.md +307 -307
- package/components/DatePicker/index.d.ts +1 -1
- package/components/DatePicker/index.js.flow +2 -2
- package/components/DatePicker/locale/index.d.ts +5 -5
- package/components/DatePicker/locale/locales/en.d.ts +3 -3
- package/components/DatePicker/locale/locales/ru.d.ts +3 -3
- package/components/DatePicker/locale/types.d.ts +5 -5
- package/components/DatePickerOld/Calendar.js +1 -1
- package/components/DatePickerOld/Calendar.js.map +1 -1
- package/components/DatePickerOld/Calendar.module.css +0 -0
- package/components/DatePickerOld/CalendarCell.js +0 -0
- package/components/DatePickerOld/CalendarCell.js.map +1 -1
- package/components/DatePickerOld/DateInput.js +3 -3
- package/components/DatePickerOld/DateInput.js.map +1 -1
- package/components/DatePickerOld/DatePicker.adapter.js +0 -0
- package/components/DatePickerOld/DatePicker.adapter.js.map +1 -1
- package/components/DatePickerOld/DatePickerOld.d.ts +35 -35
- package/components/DatePickerOld/DatePickerOld.js +17 -17
- package/components/DatePickerOld/DatePickerOld.js.map +1 -1
- package/components/DatePickerOld/Picker.js +1 -1
- package/components/DatePickerOld/Picker.js.map +1 -1
- package/components/DatePickerOld/Picker.module.css +0 -0
- package/components/DatePickerOld/README.md +7 -7
- package/components/DatePickerOld/dateParser.js +0 -0
- package/components/DatePickerOld/dateParser.js.map +1 -1
- package/components/DatePickerOld/index.d.ts +1 -1
- package/components/DatePickerOld/index.js +0 -0
- package/components/DatePickerOld/index.js.map +1 -1
- package/components/DateSelect/DateSelect.d.ts +89 -89
- package/components/DateSelect/DateSelect.js +4 -4
- package/components/DateSelect/DateSelect.js.flow +30 -30
- package/components/DateSelect/DateSelect.styles.d.ts +13 -13
- package/components/DateSelect/index.d.ts +1 -1
- package/components/DateSelect/index.js.flow +2 -2
- package/components/Dropdown/Dropdown.d.ts +119 -119
- package/components/Dropdown/Dropdown.js +24 -24
- package/components/Dropdown/Dropdown.js.flow +41 -41
- package/components/Dropdown/README.md +14 -14
- package/components/Dropdown/index.d.ts +1 -1
- package/components/Dropdown/index.js.flow +2 -2
- package/components/DropdownContainer/DropdownContainer.d.ts +45 -45
- package/components/DropdownContainer/DropdownContainer.js.flow +29 -29
- package/components/DropdownMenu/DropdownMenu.d.ts +45 -45
- package/components/DropdownMenu/DropdownMenu.js +2 -2
- package/components/DropdownMenu/DropdownMenu.js.flow +20 -20
- package/components/DropdownMenu/README.md +66 -66
- package/components/DropdownMenu/index.d.ts +1 -1
- package/components/DropdownMenu/index.js.flow +2 -2
- package/components/Fias/Fias.d.ts +133 -133
- package/components/Fias/Fias.js.flow +37 -37
- package/components/Fias/Fias.styles.d.ts +6 -6
- package/components/Fias/FiasModal.d.ts +14 -14
- package/components/Fias/FiasModal.js.flow +12 -12
- package/components/Fias/FiasSearch/FiasSearch.d.ts +53 -53
- package/components/Fias/FiasSearch/FiasSearch.js.flow +32 -32
- package/components/Fias/FiasSearch/README.md +78 -78
- package/components/Fias/Form/FiasComboBox.d.ts +39 -39
- package/components/Fias/Form/FiasComboBox.js.flow +25 -25
- package/components/Fias/Form/FiasCountrySelector.d.ts +20 -20
- package/components/Fias/Form/FiasForm.d.ts +94 -94
- package/components/Fias/Form/FiasForm.js.flow +21 -21
- package/components/Fias/README.md +436 -436
- package/components/Fias/api/APIResultFactory.d.ts +5 -5
- package/components/Fias/api/APIResultFactory.js.flow +7 -7
- package/components/Fias/api/FiasAPI.d.ts +27 -27
- package/components/Fias/api/FiasAPI.js.flow +13 -13
- package/components/Fias/api/MockAPI.d.ts +9 -9
- package/components/Fias/api/MockAPI.js.flow +13 -13
- package/components/Fias/api/data.json +285 -285
- package/components/Fias/constants/abbreviations.d.ts +4 -4
- package/components/Fias/constants/abbreviations.js.flow +7 -7
- package/components/Fias/index.d.ts +4 -4
- package/components/Fias/index.js.flow +5 -5
- package/components/Fias/locale/index.d.ts +4 -4
- package/components/Fias/locale/locales/ru.d.ts +3 -3
- package/components/Fias/locale/types.d.ts +56 -56
- package/components/Fias/locale/types.js.flow +71 -71
- package/components/Fias/logger/Logger.d.ts +9 -9
- package/components/Fias/logger/Logger.js.flow +13 -13
- package/components/Fias/models/Address.d.ts +97 -97
- package/components/Fias/models/Address.js.flow +57 -57
- package/components/Fias/models/AddressElement.d.ts +18 -18
- package/components/Fias/models/AddressElement.js.flow +15 -15
- package/components/Fias/models/FiasData.d.ts +20 -20
- package/components/Fias/models/FiasData.js.flow +10 -10
- package/components/Fias/types.d.ts +142 -142
- package/components/Fias/types.js.flow +133 -133
- package/components/FxInput/FxInput.adapter.d.ts +2 -2
- package/components/FxInput/FxInput.adapter.js.flow +4 -4
- package/components/FxInput/FxInput.d.ts +44 -44
- package/components/FxInput/FxInput.js +4 -4
- package/components/FxInput/FxInput.js.flow +24 -24
- package/components/FxInput/README.md +13 -13
- package/components/FxInput/index.d.ts +1 -1
- package/components/FxInput/index.js.flow +2 -2
- package/components/Gapped/Gapped.d.ts +35 -35
- package/components/Gapped/Gapped.js +8 -8
- package/components/Gapped/Gapped.js.flow +13 -13
- package/components/Gapped/README.md +6 -6
- package/components/Gapped/index.d.ts +1 -1
- package/components/Gapped/index.js.flow +2 -2
- package/components/Group/Group.d.ts +23 -23
- package/components/Group/Group.js +3 -3
- package/components/Group/Group.js.flow +14 -14
- package/components/Group/README.md +27 -27
- package/components/Group/index.d.ts +1 -1
- package/components/Group/index.js.flow +2 -2
- package/components/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +15 -15
- package/components/HideBodyVerticalScroll/HideBodyVerticalScroll.js.flow +7 -7
- package/components/HideBodyVerticalScroll/index.d.ts +1 -1
- package/components/HideBodyVerticalScroll/index.js.flow +2 -2
- package/components/Hint/Hint.d.ts +38 -38
- package/components/Hint/Hint.js.flow +37 -37
- package/components/Hint/README.md +3 -3
- package/components/Hint/index.d.ts +1 -1
- package/components/Hint/index.js.flow +2 -2
- package/components/Icon/20px/Icon.d.ts +32 -32
- package/components/Icon/20px/Icon.js +2 -2
- package/components/Icon/20px/Icon.js.flow +27 -27
- package/components/Icon/20px/index.d.ts +1 -1
- package/components/Icon/20px/index.js.flow +2 -2
- package/components/Icon/README.md +64 -64
- package/components/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
- package/components/IgnoreLayerClick/IgnoreLayerClick.js.flow +12 -12
- package/components/IgnoreLayerClick/index.d.ts +1 -1
- package/components/IgnoreLayerClick/index.js.flow +2 -2
- package/components/Input/Input.adapter.d.ts +7 -7
- package/components/Input/Input.adapter.js.flow +9 -9
- package/components/Input/Input.d.ts +146 -146
- package/components/Input/Input.js +13 -13
- package/components/Input/Input.js.flow +55 -55
- package/components/Input/Input.styles.d.ts +18 -18
- package/components/Input/README.md +13 -13
- package/components/Input/index.d.ts +1 -1
- package/components/Input/index.js.flow +2 -2
- package/components/Kebab/Kebab.d.ts +60 -60
- package/components/Kebab/Kebab.js +6 -6
- package/components/Kebab/Kebab.js.flow +23 -23
- package/components/Kebab/Kebab.styles.d.ts +6 -6
- package/components/Kebab/README.md +44 -44
- package/components/Kebab/index.d.ts +1 -1
- package/components/Kebab/index.js.flow +2 -2
- package/components/Kladr/AddressModal.d.ts +39 -39
- package/components/Kladr/AddressModal.js +1 -1
- package/components/Kladr/AddressModal.js.flow +20 -20
- package/components/Kladr/AddressModal.js.map +1 -1
- package/components/Kladr/Kladr.d.ts +39 -39
- package/components/Kladr/Kladr.js +4 -4
- package/components/Kladr/Kladr.js.flow +27 -27
- package/components/Kladr/Kladr.js.map +1 -1
- package/components/Kladr/KladrAPI.d.ts +8 -8
- package/components/Kladr/KladrAPI.js.flow +8 -8
- package/components/Kladr/KladrAPI.js.map +1 -1
- package/components/Kladr/README.md +3 -3
- package/components/Kladr/Types.d.ts +40 -40
- package/components/Kladr/Types.js.flow +39 -39
- package/components/Kladr/index.d.ts +1 -1
- package/components/Kladr/index.js.flow +2 -2
- package/components/Kladr/index.js.map +1 -1
- package/components/Kladr/util.js.map +1 -1
- package/components/Kladr/utils.d.ts +4 -4
- package/components/Kladr/utils.js.flow +4 -4
- package/components/Link/Link.adapter.d.ts +2 -2
- package/components/Link/Link.adapter.js.flow +4 -4
- package/components/Link/Link.d.ts +51 -51
- package/components/Link/Link.js +5 -5
- package/components/Link/Link.js.flow +25 -25
- package/components/Link/Link.styles.d.ts +8 -8
- package/components/Link/README.md +11 -11
- package/components/Link/index.d.ts +1 -1
- package/components/Link/index.js.flow +2 -2
- package/components/Loader/Loader.d.ts +65 -65
- package/components/Loader/Loader.js +22 -23
- package/components/Loader/Loader.js.flow +20 -20
- package/components/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.module.css +1 -6
- package/components/Loader/Loader.styles.d.ts +5 -5
- package/components/Loader/Loader.styles.js +1 -2
- package/components/Loader/Loader.styles.js.map +1 -1
- package/components/Loader/README.md +25 -25
- package/components/Loader/index.d.ts +1 -1
- package/components/Loader/index.js.flow +2 -2
- package/components/LocaleProvider/LocaleHelper.d.ts +9 -9
- package/components/LocaleProvider/LocaleProvider.d.ts +16 -16
- package/components/LocaleProvider/constants.d.ts +2 -2
- package/components/LocaleProvider/decorators.d.ts +24 -24
- package/components/LocaleProvider/index.d.ts +3 -3
- package/components/LocaleProvider/types.d.ts +24 -24
- package/components/Logotype/Logotype.d.ts +76 -76
- package/components/Logotype/Logotype.js.flow +21 -21
- package/components/Logotype/Logotype.styles.d.ts +6 -6
- package/components/Logotype/ProductWidget.d.ts +4 -4
- package/components/Logotype/ProductWidget.js.flow +7 -7
- package/components/Logotype/README.md +32 -32
- package/components/Logotype/index.d.ts +1 -1
- package/components/Logotype/index.js.flow +2 -2
- package/components/Logotype/locale/index.d.ts +4 -4
- package/components/Logotype/locale/locales/en.d.ts +3 -3
- package/components/Logotype/locale/locales/ru.d.ts +3 -3
- package/components/Logotype/locale/types.d.ts +4 -4
- package/components/Menu/Menu.d.ts +62 -62
- package/components/Menu/Menu.js +10 -10
- package/components/Menu/Menu.js.flow +24 -24
- package/components/Menu/Menu.styles.d.ts +6 -6
- package/components/Menu/isActiveElement.d.ts +3 -3
- package/components/Menu/isActiveElement.js.flow +7 -7
- package/components/MenuHeader/MenuHeader.d.ts +20 -20
- package/components/MenuHeader/MenuHeader.js +2 -2
- package/components/MenuHeader/MenuHeader.js.flow +11 -11
- package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
- package/components/MenuHeader/index.d.ts +1 -1
- package/components/MenuHeader/index.js.flow +2 -2
- package/components/MenuItem/MenuItem.d.ts +51 -51
- package/components/MenuItem/MenuItem.js +2 -2
- package/components/MenuItem/MenuItem.js.flow +33 -33
- package/components/MenuItem/MenuItem.styles.d.ts +10 -10
- package/components/MenuItem/README.md +5 -5
- package/components/MenuItem/index.d.ts +1 -1
- package/components/MenuItem/index.js.flow +2 -2
- package/components/MenuSeparator/MenuSeparator.d.ts +9 -9
- package/components/MenuSeparator/MenuSeparator.js +2 -2
- package/components/MenuSeparator/MenuSeparator.js.flow +7 -7
- package/components/MenuSeparator/MenuSeparator.styles.d.ts +5 -5
- package/components/MenuSeparator/index.d.ts +1 -1
- package/components/MenuSeparator/index.js.flow +2 -2
- package/components/Modal/Modal.adapter.d.ts +2 -2
- package/components/Modal/Modal.adapter.js.flow +4 -4
- package/components/Modal/Modal.d.ts +71 -71
- package/components/Modal/Modal.js +13 -13
- package/components/Modal/Modal.js.flow +30 -30
- package/components/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.module.css +2 -0
- package/components/Modal/Modal.styles.d.ts +11 -11
- package/components/Modal/ModalBody.d.ts +4 -4
- package/components/Modal/ModalBody.js.flow +7 -7
- package/components/Modal/ModalClose.d.ts +7 -7
- package/components/Modal/ModalClose.js.flow +6 -6
- package/components/Modal/ModalContext.d.ts +11 -11
- package/components/Modal/ModalContext.js.flow +15 -15
- package/components/Modal/ModalFooter.d.ts +23 -23
- package/components/Modal/ModalFooter.js +2 -2
- package/components/Modal/ModalFooter.js.flow +11 -11
- package/components/Modal/ModalHeader.d.ts +16 -16
- package/components/Modal/ModalHeader.js.flow +11 -11
- package/components/Modal/README.md +38 -38
- package/components/Modal/index.d.ts +1 -1
- package/components/Modal/index.js.flow +2 -2
- package/components/ModalStack/ModalStack.d.ts +9 -7
- package/components/ModalStack/ModalStack.js +13 -2
- package/components/ModalStack/ModalStack.js.flow +10 -10
- package/components/ModalStack/ModalStack.js.map +1 -1
- package/components/ModalStack/index.d.ts +1 -1
- package/components/ModalStack/index.js.flow +2 -2
- package/components/Paging/NavigationHelper.d.ts +10 -10
- package/components/Paging/NavigationHelper.js.flow +13 -13
- package/components/Paging/Paging.d.ts +93 -93
- package/components/Paging/Paging.js +10 -10
- package/components/Paging/Paging.js.flow +38 -38
- package/components/Paging/Paging.styles.d.ts +11 -11
- package/components/Paging/PagingHelper.d.ts +6 -6
- package/components/Paging/PagingHelper.js.flow +10 -10
- package/components/Paging/README.md +43 -43
- package/components/Paging/index.d.ts +1 -1
- package/components/Paging/index.js.flow +2 -2
- package/components/Paging/locale/index.d.ts +4 -4
- package/components/Paging/locale/locales/en.d.ts +3 -3
- package/components/Paging/locale/locales/ru.d.ts +3 -3
- package/components/Paging/locale/types.d.ts +3 -3
- package/components/PasswordInput/PasswordInput.d.ts +44 -44
- package/components/PasswordInput/PasswordInput.js +8 -8
- package/components/PasswordInput/PasswordInput.js.flow +26 -26
- package/components/PasswordInput/PasswordInputFallback.d.ts +18 -18
- package/components/PasswordInput/PasswordInputFallback.js.flow +13 -13
- package/components/PasswordInput/getCharHelper.js.flow +4 -4
- package/components/PasswordInput/index.d.ts +1 -1
- package/components/PasswordInput/index.js.flow +2 -2
- package/components/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
- package/components/PhoneInput/PhoneInput.js +4 -4
- package/components/PhoneInput/PhoneInput.js.map +1 -1
- package/components/PhoneInput/index.js.map +1 -1
- package/components/Popup/Popup.d.ts +144 -144
- package/components/Popup/Popup.js +38 -37
- package/components/Popup/Popup.js.flow +60 -60
- package/components/Popup/Popup.js.map +1 -1
- package/components/Popup/Popup.styles.d.ts +8 -8
- package/components/Popup/PopupHelper.d.ts +26 -26
- package/components/Popup/PopupHelper.js.flow +29 -29
- package/components/Popup/PopupPin.d.ts +55 -55
- package/components/Popup/PopupPin.js +16 -16
- package/components/Popup/PopupPin.js.flow +15 -15
- package/components/Popup/index.d.ts +1 -1
- package/components/Popup/index.js.flow +2 -2
- package/components/Radio/README.md +14 -14
- package/components/Radio/Radio.d.ts +89 -89
- package/components/Radio/Radio.js +22 -22
- package/components/Radio/Radio.js.flow +33 -33
- package/components/Radio/Radio.styles.d.ts +11 -11
- package/components/Radio/index.d.ts +1 -1
- package/components/Radio/index.js.flow +2 -2
- package/components/RadioGroup/Prevent.d.ts +9 -9
- package/components/RadioGroup/Prevent.js.flow +9 -9
- package/components/RadioGroup/README.md +44 -44
- package/components/RadioGroup/RadioGroup.adapter.d.ts +2 -2
- package/components/RadioGroup/RadioGroup.adapter.js.flow +4 -4
- package/components/RadioGroup/RadioGroup.d.ts +139 -139
- package/components/RadioGroup/RadioGroup.js +46 -46
- package/components/RadioGroup/RadioGroup.js.flow +42 -42
- package/components/RadioGroup/index.d.ts +1 -1
- package/components/RadioGroup/index.js.flow +2 -2
- package/components/RenderContainer/RenderContainer.d.ts +16 -16
- package/components/RenderContainer/RenderContainer.js.flow +11 -11
- package/components/RenderContainer/RenderContainerFallback.d.ts +25 -25
- package/components/RenderContainer/RenderContainerNative.d.ts +12 -12
- package/components/RenderContainer/RenderContainerTypes.d.ts +8 -8
- package/components/RenderContainer/index.d.ts +1 -1
- package/components/RenderContainer/index.js.flow +2 -2
- package/components/RenderLayer/RenderLayer.d.ts +26 -26
- package/components/RenderLayer/RenderLayer.js.flow +12 -12
- package/components/RenderLayer/index.d.ts +1 -1
- package/components/RenderLayer/index.js.flow +2 -2
- package/components/ScrollContainer/README.md +60 -60
- package/components/ScrollContainer/ScrollContainer.d.ts +65 -65
- package/components/ScrollContainer/ScrollContainer.js +6 -6
- package/components/ScrollContainer/ScrollContainer.js.flow +24 -24
- package/components/ScrollContainer/index.d.ts +1 -1
- package/components/ScrollContainer/index.js.flow +2 -2
- package/components/Select/Item.d.ts +7 -7
- package/components/Select/Item.js.flow +7 -7
- package/components/Select/README.md +23 -23
- package/components/Select/Select.adapter.d.ts +2 -2
- package/components/Select/Select.adapter.js.flow +4 -4
- package/components/Select/Select.d.ts +178 -178
- package/components/Select/Select.js +42 -42
- package/components/Select/Select.js.flow +81 -81
- package/components/Select/Select.styles.d.ts +6 -6
- package/components/Select/index.d.ts +1 -1
- package/components/Select/index.js.flow +2 -2
- package/components/Select/locale/index.d.ts +4 -4
- package/components/Select/locale/locales/en.d.ts +3 -3
- package/components/Select/locale/locales/ru.d.ts +3 -3
- package/components/Select/locale/types.d.ts +4 -4
- package/components/SidePage/README.md +46 -46
- package/components/SidePage/SidePage.d.ts +85 -85
- package/components/SidePage/SidePage.js +11 -11
- package/components/SidePage/SidePage.js.flow +34 -34
- package/components/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +9 -9
- package/components/SidePage/SidePageBody.d.ts +12 -12
- package/components/SidePage/SidePageBody.js.flow +13 -13
- package/components/SidePage/SidePageContainer.d.ts +4 -4
- package/components/SidePage/SidePageContainer.js.flow +9 -9
- package/components/SidePage/SidePageContext.d.ts +8 -8
- package/components/SidePage/SidePageContext.js.flow +15 -15
- package/components/SidePage/SidePageFooter.d.ts +33 -33
- package/components/SidePage/SidePageFooter.js +2 -2
- package/components/SidePage/SidePageFooter.js.flow +16 -16
- package/components/SidePage/SidePageHeader.d.ts +26 -25
- package/components/SidePage/SidePageHeader.js +10 -9
- package/components/SidePage/SidePageHeader.js.flow +11 -11
- package/components/SidePage/SidePageHeader.js.map +1 -1
- package/components/SidePage/index.d.ts +1 -1
- package/components/SidePage/index.js.flow +2 -2
- package/components/Spinner/README.md +33 -33
- package/components/Spinner/Spinner.d.ts +47 -47
- package/components/Spinner/Spinner.js +12 -12
- package/components/Spinner/Spinner.js.flow +20 -20
- package/components/Spinner/Spinner.styles.d.ts +11 -11
- package/components/Spinner/SpinnerFallback.d.ts +24 -24
- package/components/Spinner/SpinnerFallback.js.flow +15 -15
- package/components/Spinner/index.d.ts +1 -1
- package/components/Spinner/index.js.flow +2 -2
- package/components/Spinner/locale/index.d.ts +4 -4
- package/components/Spinner/locale/locales/en.d.ts +3 -3
- package/components/Spinner/locale/locales/ru.d.ts +3 -3
- package/components/Spinner/locale/types.d.ts +4 -4
- package/components/Spinner/settings.d.ts +38 -38
- package/components/Spinner/settings.js.flow +48 -48
- package/components/Sticky/README.md +27 -27
- package/components/Sticky/Sticky.d.ts +57 -57
- package/components/Sticky/Sticky.js +8 -7
- package/components/Sticky/Sticky.js.flow +22 -22
- package/components/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.module.css +0 -1
- package/components/Sticky/index.d.ts +1 -1
- package/components/Sticky/index.js.flow +2 -2
- package/components/Switcher/README.md +10 -10
- package/components/Switcher/Switcher.d.ts +54 -54
- package/components/Switcher/Switcher.js.flow +26 -26
- package/components/Switcher/Switcher.styles.d.ts +5 -5
- package/components/Switcher/index.d.ts +1 -1
- package/components/Switcher/index.js.flow +2 -2
- package/components/Tabs/Indicator.d.ts +29 -29
- package/components/Tabs/Indicator.js.flow +21 -21
- package/components/Tabs/Indicator.styles.d.ts +9 -9
- package/components/Tabs/README.md +28 -28
- package/components/Tabs/Tab.d.ts +134 -134
- package/components/Tabs/Tab.js +14 -14
- package/components/Tabs/Tab.js.flow +48 -48
- package/components/Tabs/Tab.styles.d.ts +12 -12
- package/components/Tabs/Tabs.d.ts +65 -65
- package/components/Tabs/Tabs.js +4 -4
- package/components/Tabs/Tabs.js.flow +28 -28
- package/components/Tabs/TabsContext.d.ts +12 -12
- package/components/Tabs/index.d.ts +1 -1
- package/components/Tabs/index.js.flow +2 -2
- package/components/Textarea/README.md +9 -9
- package/components/Textarea/Textarea.adapter.d.ts +7 -7
- package/components/Textarea/Textarea.adapter.js.flow +11 -11
- package/components/Textarea/Textarea.d.ts +139 -139
- package/components/Textarea/Textarea.js +14 -14
- package/components/Textarea/Textarea.js.flow +33 -33
- package/components/Textarea/Textarea.styles.d.ts +8 -8
- package/components/Textarea/TextareaHelpers.d.ts +4 -4
- package/components/Textarea/TextareaHelpers.js.flow +6 -6
- package/components/Textarea/index.d.ts +1 -1
- package/components/Textarea/index.js.flow +2 -2
- package/components/ThemeConsumer/ThemeConsumer.d.ts +1 -1
- package/components/ThemeConsumer/index.d.ts +1 -1
- package/components/ThemeProvider/Playground/AnotherInputsPlayground.d.ts +13 -13
- package/components/ThemeProvider/Playground/CheckboxPlayground.d.ts +4 -4
- package/components/ThemeProvider/Playground/ComponentsGroup.d.ts +10 -10
- package/components/ThemeProvider/Playground/CurrencyInputPlayground.d.ts +11 -11
- package/components/ThemeProvider/Playground/FxInputPlayground.d.ts +10 -10
- package/components/ThemeProvider/Playground/HintPlayground.d.ts +6 -6
- package/components/ThemeProvider/Playground/PagingPlayground.d.ts +10 -10
- package/components/ThemeProvider/Playground/Playground.d.ts +33 -33
- package/components/ThemeProvider/Playground/README.md +7 -7
- package/components/ThemeProvider/Playground/RadioPlayground.d.ts +4 -4
- package/components/ThemeProvider/Playground/SelectPlayground.d.ts +12 -12
- package/components/ThemeProvider/Playground/ShowcaseGroup.d.ts +6 -6
- package/components/ThemeProvider/Playground/SwitcherPlayground.d.ts +15 -15
- package/components/ThemeProvider/Playground/ThemeEditor.d.ts +30 -30
- package/components/ThemeProvider/Playground/ThemeProviderPlayground.d.ts +50 -50
- package/components/ThemeProvider/Playground/TogglePlayground.d.ts +9 -9
- package/components/ThemeProvider/Playground/TokenInputPlayground.d.ts +7 -7
- package/components/ThemeProvider/Playground/VariableValue.d.ts +42 -42
- package/components/ThemeProvider/Playground/constants.d.ts +14 -14
- package/components/ThemeProvider/Playground/darkTheme.d.ts +252 -252
- package/components/ThemeProvider/Playground/helpers.d.ts +2 -2
- package/components/ThemeProvider/Playground/jsStyles.d.ts +8 -8
- package/components/ThemeProvider/README.md +172 -172
- package/components/ThemeProvider/ThemeProvider.d.ts +14 -14
- package/components/ThemeProvider/index.d.ts +1 -1
- package/components/ThemeShowcase/README.md +13 -13
- package/components/ThemeShowcase/ThemeShowcase.d.ts +22 -22
- package/components/ThemeShowcase/ThemeShowcaseHelpers/FormatSourceCode.d.ts +2 -2
- package/components/ThemeShowcase/ThemeShowcaseHelpers/FormatSourceCode.js +0 -1
- package/components/ThemeShowcase/ThemeShowcaseHelpers/FormatSourceCode.js.map +1 -1
- package/components/ThemeShowcase/ThemeShowcaseHelpers/VariablesCollector.d.ts +24 -24
- package/components/ThemeShowcase/ThemeShowcaseHelpers/VariablesCollector.js +37 -35
- package/components/ThemeShowcase/ThemeShowcaseHelpers/VariablesCollector.js.map +1 -1
- package/components/Toast/README.md +39 -39
- package/components/Toast/Toast.d.ts +53 -53
- package/components/Toast/Toast.js +17 -17
- package/components/Toast/Toast.js.flow +29 -29
- package/components/Toast/ToastStatic.d.ts +9 -9
- package/components/Toast/ToastStatic.js.flow +10 -10
- package/components/Toast/ToastView.d.ts +33 -33
- package/components/Toast/ToastView.js +4 -4
- package/components/Toast/ToastView.js.flow +16 -16
- package/components/Toast/ToastView.styles.d.ts +7 -7
- package/components/Toast/index.d.ts +1 -1
- package/components/Toast/index.js.flow +2 -2
- package/components/Toggle/README.md +9 -9
- package/components/Toggle/Toggle.d.ts +50 -50
- package/components/Toggle/Toggle.js +2 -2
- package/components/Toggle/Toggle.js.flow +28 -28
- package/components/Toggle/Toggle.styles.d.ts +12 -12
- package/components/Toggle/index.d.ts +1 -1
- package/components/Toggle/index.js.flow +2 -2
- package/components/Token/README.md +109 -109
- package/components/Token/Token.d.ts +28 -28
- package/components/Token/Token.js.flow +25 -25
- package/components/Token/Token.styles.d.ts +22 -22
- package/components/Token/TokenRemoveIcon.d.ts +7 -7
- package/components/Token/TokenRemoveIcon.js.flow +11 -11
- package/components/Token/index.d.ts +1 -1
- package/components/Token/index.js.flow +2 -2
- package/components/TokenInput/README.md +82 -82
- package/components/TokenInput/TextWidthHelper.d.ts +10 -10
- package/components/TokenInput/TextWidthHelper.js +2 -2
- package/components/TokenInput/TextWidthHelper.js.flow +10 -10
- package/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +108 -108
- package/components/TokenInput/TokenInput.js +2 -2
- package/components/TokenInput/TokenInput.js.flow +39 -39
- package/components/TokenInput/TokenInput.styles.d.ts +11 -11
- package/components/TokenInput/TokenInputMenu.d.ts +16 -16
- package/components/TokenInput/TokenInputMenu.js.flow +17 -17
- package/components/TokenInput/TokenInputReducer.d.ts +91 -91
- package/components/TokenInput/TokenInputReducer.js.flow +63 -63
- package/components/TokenInput/index.d.ts +1 -1
- package/components/TokenInput/index.js.flow +2 -2
- package/components/TokenInput/locale/index.d.ts +4 -4
- package/components/TokenInput/locale/locales/en.d.ts +3 -3
- package/components/TokenInput/locale/locales/ru.d.ts +3 -3
- package/components/TokenInput/locale/types.d.ts +4 -4
- package/components/Tooltip/README.md +207 -207
- package/components/Tooltip/Tooltip.d.ts +143 -143
- package/components/Tooltip/Tooltip.js.flow +33 -33
- package/components/Tooltip/Tooltip.styles.d.ts +5 -5
- package/components/Tooltip/index.d.ts +1 -1
- package/components/Tooltip/index.js.flow +2 -2
- package/components/TooltipMenu/README.md +106 -106
- package/components/TooltipMenu/TooltipMenu.d.ts +43 -43
- package/components/TooltipMenu/TooltipMenu.js +7 -7
- package/components/TooltipMenu/TooltipMenu.js.flow +19 -19
- package/components/TooltipMenu/index.d.ts +1 -1
- package/components/TooltipMenu/index.js.flow +2 -2
- package/components/TopBar/ButtonItem.d.ts +21 -21
- package/components/TopBar/ButtonItem.js.flow +22 -22
- package/components/TopBar/Divider.d.ts +7 -7
- package/components/TopBar/Divider.js.flow +5 -5
- package/components/TopBar/Item.d.ts +27 -27
- package/components/TopBar/Item.js.flow +19 -19
- package/components/TopBar/Organizations.d.ts +25 -25
- package/components/TopBar/Organizations.js.flow +16 -16
- package/components/TopBar/README.md +112 -112
- package/components/TopBar/TopBar.d.ts +110 -110
- package/components/TopBar/TopBar.js +36 -36
- package/components/TopBar/TopBar.js.flow +53 -53
- package/components/TopBar/TopBar.styles.d.ts +7 -7
- package/components/TopBar/TopBarDropdown.d.ts +30 -30
- package/components/TopBar/TopBarDropdown.js.flow +23 -23
- package/components/TopBar/TopBarEnd.d.ts +3 -3
- package/components/TopBar/TopBarEnd.js.flow +4 -4
- package/components/TopBar/TopBarLogout.d.ts +10 -10
- package/components/TopBar/TopBarLogout.js.flow +6 -6
- package/components/TopBar/TopBarStart.d.ts +3 -3
- package/components/TopBar/TopBarStart.js.flow +4 -4
- package/components/TopBar/User.d.ts +21 -21
- package/components/TopBar/User.js +2 -2
- package/components/TopBar/User.js.flow +9 -9
- package/components/TopBar/index.d.ts +1 -1
- package/components/TopBar/index.js.flow +2 -2
- package/components/TopBar/locale/index.d.ts +4 -4
- package/components/TopBar/locale/locales/en.d.ts +3 -3
- package/components/TopBar/locale/locales/ru.d.ts +3 -3
- package/components/TopBar/locale/types.d.ts +7 -7
- package/components/ZIndex/ZIndex.d.ts +33 -33
- package/components/ZIndex/ZIndex.js +9 -9
- package/components/ZIndex/ZIndex.js.flow +11 -11
- package/components/ZIndex/ZIndex.js.map +1 -1
- package/components/ZIndex/ZIndexStorage.d.ts +17 -16
- package/components/ZIndex/ZIndexStorage.js +1 -0
- package/components/ZIndex/ZIndexStorage.js.map +1 -1
- package/components/ZIndex/index.d.ts +1 -1
- package/components/ZIndex/index.js.flow +2 -2
- package/components/__mocks__/react-addons-css-transition-group.js.map +1 -1
- package/components/all.d.ts +36 -36
- package/components/all.js.flow +36 -36
- package/components/ensureOldIEClassName.d.ts +4 -4
- package/components/ensureOldIEClassName.js.flow +6 -6
- package/components/eventHandlers.js.flow +9 -9
- package/components/filterProps.d.ts +15 -15
- package/components/index.d.ts +4 -4
- package/components/index.js +2 -2
- package/components/index.js.flow +2 -2
- package/components/internal/ComponentCombinator.d.ts +25 -25
- package/components/internal/ComponentTable.d.ts +21 -21
- package/components/internal/FocusTrap/FocusTrap.d.ts +14 -14
- package/components/internal/FocusTrap/__test__/FocusTrap.test.d.ts +1 -1
- package/components/internal/FocusTrap/index.d.ts +1 -1
- package/components/internal/InputLikeText/InputLikeText.d.ts +49 -49
- package/components/internal/InputLikeText/InputLikeText.js +6 -6
- package/components/internal/InputLikeText/InputLikeText.js.flow +24 -24
- package/components/internal/InputLikeText/index.d.ts +1 -1
- package/components/internal/InputLikeText/index.js.flow +2 -2
- package/components/internal/InternalMenu/InternalMenu.d.ts +63 -63
- package/components/internal/InternalMenu/InternalMenu.js.flow +23 -23
- package/components/internal/InternalMenu/InternalMenu.styles.d.ts +5 -5
- package/components/internal/InternalMenu/isActiveElement.d.ts +3 -3
- package/components/internal/InternalMenu/isActiveElement.js.flow +7 -7
- package/components/internal/LifeCycleProxy.d.ts +13 -13
- package/components/internal/MaskedInput/MaskedInput.d.ts +37 -37
- package/components/internal/MaskedInput/MaskedInput.js.flow +24 -24
- package/components/internal/MaskedInput/MaskedInput.styles.d.ts +5 -5
- package/components/internal/MaskedInput/index.d.ts +1 -1
- package/components/internal/MaskedInput/index.js.flow +2 -2
- package/components/internal/MockDate.d.ts +9 -9
- package/components/internal/MockDate.js.flow +9 -9
- package/components/internal/PopupMenu/PopupMenu.d.ts +81 -81
- package/components/internal/PopupMenu/PopupMenu.js.flow +40 -40
- package/components/internal/PopupMenu/PopupMenuPositions.d.ts +3 -3
- package/components/internal/PopupMenu/PopupMenuPositions.js.flow +4 -4
- package/components/internal/PopupMenu/index.d.ts +1 -1
- package/components/internal/PopupMenu/index.js.flow +2 -2
- package/components/internal/PopupMenu/validatePositions.d.ts +3 -3
- package/components/internal/PopupMenu/validatePositions.js.flow +4 -4
- package/components/internal/ResizeDetector/ResizeDetector.d.ts +11 -11
- package/components/internal/ResizeDetector/ResizeDetector.js.flow +8 -8
- package/components/internal/ResizeDetector/index.d.ts +1 -1
- package/components/internal/ResizeDetector/index.js.flow +2 -2
- package/components/internal/Supports.d.ts +1 -1
- package/components/internal/createPropsGetter.d.ts +2 -2
- package/components/internal/createPropsGetter.js.flow +8 -8
- package/components/internal/cross.d.ts +4 -4
- package/components/internal/cross.js.flow +4 -4
- package/components/internal/currentEnvironment.d.ts +3 -3
- package/components/internal/currentEnvironment.js.flow +4 -4
- package/components/internal/extractKeyboardAction.d.ts +13 -13
- package/components/internal/extractKeyboardAction.js.flow +12 -12
- package/components/polyfillPlaceholder.d.ts +2 -2
- package/components/polyfillPlaceholder.js.flow +4 -4
- package/components/variables.css +1 -1
- package/components/variables.module.css +1 -1
- package/lib/BGRuler.d.ts +30 -30
- package/lib/BGRuler.js +5 -5
- package/lib/Colors.d.ts +6 -6
- package/lib/LayoutEvents.d.ts +9 -9
- package/lib/SSRSafePropTypes.d.ts +2 -2
- package/lib/Upgrades.d.ts +11 -11
- package/lib/date/InternalDate.d.ts +55 -55
- package/lib/date/InternalDate.js +3 -3
- package/lib/date/InternalDateCalculator.d.ts +6 -6
- package/lib/date/InternalDateGetter.d.ts +15 -15
- package/lib/date/InternalDateSetter.d.ts +6 -6
- package/lib/date/InternalDateTransformer.d.ts +12 -12
- package/lib/date/InternalDateValidator.d.ts +9 -9
- package/lib/date/constants.d.ts +27 -27
- package/lib/date/localeSets.d.ts +5 -5
- package/lib/date/types.d.ts +88 -88
- package/lib/dom/getComputedStyle.d.ts +2 -2
- package/lib/dom/getFocusableElements.d.ts +42 -42
- package/lib/dom/getFocusableElements.js +33 -33
- package/lib/dom/getScrollWidth.d.ts +1 -1
- package/lib/events/MouseDrag.d.ts +15 -15
- package/lib/events/fixClickFocusIE.d.ts +1 -1
- package/lib/events/keyboard/KeyboardEventCodes.d.ts +31 -31
- package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
- package/lib/events/keyboard/extractCode.d.ts +3 -3
- package/lib/events/keyboard/identifiers.d.ts +47 -47
- package/lib/events/stopPropagation.d.ts +1 -1
- package/lib/events/tabListener.d.ts +6 -6
- package/lib/listenFocusOutside.d.ts +5 -5
- package/lib/listenFocusOutside.js +9 -9
- package/lib/net/fetch-cors.d.ts +13 -13
- package/lib/pluralize.d.ts +1 -1
- package/lib/reactGetTextContent/reactGetTextContent.d.ts +2 -2
- package/lib/styles/ColorFactory.d.ts +11 -11
- package/lib/styles/ColorFunctions.d.ts +12 -12
- package/lib/styles/ColorHelpers.d.ts +20 -20
- package/lib/styles/ColorKeywords.d.ts +150 -150
- package/lib/styles/ColorObject.d.ts +51 -51
- package/lib/styles/DimensionFunctions.d.ts +4 -4
- package/lib/styles/Mixins.d.ts +2 -2
- package/lib/theming/AnimationKeyframes.d.ts +9 -9
- package/lib/theming/Emotion.d.ts +13 -13
- package/lib/theming/Theme.d.ts +9 -9
- package/lib/theming/ThemeContext.d.ts +6 -6
- package/lib/theming/ThemeFactory.d.ts +10 -10
- package/lib/theming/ThemeHelpers.d.ts +1 -1
- package/lib/theming/themes/DefaultTheme.d.ts +4 -4
- package/lib/theming/themes/FlatTheme.d.ts +4 -4
- package/lib/utils.d.ts +28 -28
- package/package.json +4 -1
- package/typings/console.d.ts +3 -3
- package/typings/event-types.d.ts +4 -4
- package/typings/fbjs.d.ts +4 -4
- package/typings/global.d.ts +6 -6
- package/typings/images.d.ts +1 -1
- package/typings/less.d.ts +4 -4
- package/typings/mockdate.d.ts +1 -1
- package/typings/normalize-wheel.d.ts +1 -1
- package/typings/raf.d.ts +1 -1
- package/typings/react-addons-css-transition-group.d.ts +1 -1
- package/typings/react-testing/index.d.ts +4 -4
- package/typings/react-testing/window.d.ts +5 -5
- package/typings/react.d.ts +8 -8
- package/typings/stylis-plugin-extra-scope.d.ts +3 -3
- package/typings/utility-types.d.ts +17 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ComboBoxOld.js"],"names":["ComboBoxOld","info","renderer","render","props","state","spread","_ref","focus","_focus","componentDidMount","_mounted","value","_fetchInfo","componentWillUnmount","componentWillReceiveProps","newProps","_maybeRefetchInfo","setState","promise","_infoPromise","then","React","Component","autoFocus","PropTypes","bool","borderless","debounceInterval","number","disablePortal","disabled","error","oneOfType","any","func","menuAlign","oneOf","openButton","placeholder","string","recover","renderItem","renderNotFound","renderTotalCount","renderValue","source","isRequired","warning","width","onBlur","onChange","onClose","onFocus","onInputChange","onInputKeyDown","onMouseEnter","onMouseLeave","onMouseOver","onOpen"],"mappings":"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","sourcesContent":["// @flow\n/* eslint-disable flowtype/no-types-missing-file-annotation */\n/* eslint-disable flowtype/no-weak-types */\nimport * as React from 'react';\nimport warning from 'warning';\nimport PropTypes from 'prop-types';\n\nimport ComboBoxRenderer from './ComboBoxRenderer';\nimport type { BaseProps, Info, Value } from './ComboBoxRenderer';\n\ntype Props = BaseProps & {\n info?: Info | ((v: Value) => Promise<Info>),\n};\n\n/**\n * @deprecated Компонент устарел и будет удален в версии 2.0.0. Используйте актульный [ComboBox](#/Components/ComboBox).\n */\nexport default class ComboBoxOld extends React.Component<Props, $FlowFixMeState> {\n static propTypes = {\n autoFocus: PropTypes.bool,\n\n borderless: PropTypes.bool,\n\n debounceInterval: PropTypes.number,\n\n /**\n * Не использовать Portal для рендеринга меню.\n * По-умолчанию `false`.\n * См. https://github.com/skbkontur/retail-ui/issues/15\n */\n disablePortal: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Визуально показать наличие ошибки.\n */\n error: PropTypes.bool,\n\n /**\n * Данные, которые будут переданы в функции для отрисовки значений\n * (`renderValue` и `renderItem`).\n */\n info: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Показывать кнопку-треугольник для показа резаультатов.\n */\n openButton: PropTypes.bool,\n\n placeholder: PropTypes.string,\n\n /**\n * Функция для обработки неожиданного ввода. Если пользователь ввел что-то в\n * строку поиска и нажал Enter или ушел из поля, не выбрав значение, то\n * будет вызвана эта функция, которая может вернуть значение, которое будет\n * использовано как будто оно было выбрано.\n *\n * Возвращаемое значение может быть `null`, либо объектом такой формы:\n * `{value: any, info?: any}`.\n *\n * Если задать это поле в `true`, то будет использована такая функция:\n * `(searchText) => searchText`.\n */\n recover: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\n renderItem: PropTypes.func,\n\n /**\n * Сообщение при отсутствии результатов\n *\n * `string | (searchText: string) => React$Element<*> | string`\n */\n renderNotFound: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n /**\n * Общее количество найденных элементов\n *\n * `(foundCount: number, totalCount: number) => React$Element<*> | string`\n */\n renderTotalCount: PropTypes.func,\n\n renderValue: PropTypes.func,\n\n source: PropTypes.func.isRequired,\n\n value: PropTypes.any,\n\n /**\n * Визуально показать наличие предупреждения.\n */\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onBlur: PropTypes.func,\n\n onChange: PropTypes.func,\n\n onClose: PropTypes.func,\n\n onFocus: PropTypes.func,\n\n /**\n * Вызывается при изменении текста в поле ввода,\n * если результатом функции будет строка,\n * то она станет следующим состояним полем ввода\n *\n * `(value: string) => any`\n */\n onInputChange: PropTypes.func,\n\n /**\n * Позволяет обработать нажатия клавиш.\n * Можно отменить стандартное поведение, используя `event.preventDefault()`\n *\n * `(event: KeyboardSyntheticEvent) => void`\n */\n onInputKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n onOpen: PropTypes.func,\n };\n\n static defaultProps = {\n menuAlign: 'left',\n placeholder: '',\n width: 250,\n };\n\n state = {\n info: null,\n };\n\n renderer: ComboBoxRenderer;\n\n _mounted = false;\n _infoPromise: ?Promise<any>;\n\n render() {\n let info = this.props.info;\n if (typeof info === 'function') {\n info = this.state.info;\n }\n\n // Flow needs this for some reason.\n const spread: BaseProps = this.props;\n\n return <ComboBoxRenderer ref={this._ref} {...spread} info={info} />;\n }\n\n focus() {\n if (this.renderer) {\n this.renderer._focus();\n }\n }\n\n _ref = (renderer: ComboBoxRenderer) => {\n this.renderer = renderer;\n };\n\n componentDidMount() {\n warning(false, 'ComboBoxOld is deprecated and will be removed in v2.0.0. Please, use the actual ComboBox instead.');\n this._mounted = true;\n const { value, info } = this.props;\n if (typeof info === 'function') {\n this._fetchInfo(value, info);\n }\n }\n\n componentWillUnmount() {\n this._mounted = false;\n }\n\n componentWillReceiveProps(newProps: Props) {\n this._maybeRefetchInfo(newProps.value, newProps.info);\n }\n\n _maybeRefetchInfo(value: Value, info: Info) {\n if (typeof info !== 'function') {\n return;\n }\n\n const props = this.props;\n\n if (value === props.value && typeof props.info === 'function') {\n // Values hasn't changed and info is still a function. So we are already\n // fetching info.\n return;\n }\n\n this.setState({ info: null });\n this._fetchInfo(value, info);\n }\n\n _fetchInfo(value: Value, info: Info) {\n const promise = info(value);\n this._infoPromise = promise;\n\n promise.then(info => {\n if (this._mounted && this._infoPromise === promise) {\n this.setState({ info });\n }\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["ComboBoxOld.js"],"names":["ComboBoxOld","info","renderer","render","props","state","spread","_ref","focus","_focus","componentDidMount","_mounted","value","_fetchInfo","componentWillUnmount","componentWillReceiveProps","newProps","_maybeRefetchInfo","setState","promise","_infoPromise","then","React","Component","autoFocus","PropTypes","bool","borderless","debounceInterval","number","disablePortal","disabled","error","oneOfType","any","func","menuAlign","oneOf","openButton","placeholder","string","recover","renderItem","renderNotFound","renderTotalCount","renderValue","source","isRequired","warning","width","onBlur","onChange","onClose","onFocus","onInputChange","onInputKeyDown","onMouseEnter","onMouseLeave","onMouseOver","onOpen"],"mappings":"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","sourcesContent":["// @flow\r\n/* eslint-disable flowtype/no-types-missing-file-annotation */\r\n/* eslint-disable flowtype/no-weak-types */\r\nimport * as React from 'react';\r\nimport warning from 'warning';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport ComboBoxRenderer from './ComboBoxRenderer';\r\nimport type { BaseProps, Info, Value } from './ComboBoxRenderer';\r\n\r\ntype Props = BaseProps & {\r\n info?: Info | ((v: Value) => Promise<Info>),\r\n};\r\n\r\n/**\r\n * @deprecated Компонент устарел и будет удален в версии 2.0.0. Используйте актульный [ComboBox](#/Components/ComboBox).\r\n */\r\nexport default class ComboBoxOld extends React.Component<Props, $FlowFixMeState> {\r\n static propTypes = {\r\n autoFocus: PropTypes.bool,\r\n\r\n borderless: PropTypes.bool,\r\n\r\n debounceInterval: PropTypes.number,\r\n\r\n /**\r\n * Не использовать Portal для рендеринга меню.\r\n * По-умолчанию `false`.\r\n * См. https://github.com/skbkontur/retail-ui/issues/15\r\n */\r\n disablePortal: PropTypes.bool,\r\n\r\n disabled: PropTypes.bool,\r\n\r\n /**\r\n * Визуально показать наличие ошибки.\r\n */\r\n error: PropTypes.bool,\r\n\r\n /**\r\n * Данные, которые будут переданы в функции для отрисовки значений\r\n * (`renderValue` и `renderItem`).\r\n */\r\n info: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\r\n\r\n menuAlign: PropTypes.oneOf(['left', 'right']),\r\n\r\n /**\r\n * Показывать кнопку-треугольник для показа резаультатов.\r\n */\r\n openButton: PropTypes.bool,\r\n\r\n placeholder: PropTypes.string,\r\n\r\n /**\r\n * Функция для обработки неожиданного ввода. Если пользователь ввел что-то в\r\n * строку поиска и нажал Enter или ушел из поля, не выбрав значение, то\r\n * будет вызвана эта функция, которая может вернуть значение, которое будет\r\n * использовано как будто оно было выбрано.\r\n *\r\n * Возвращаемое значение может быть `null`, либо объектом такой формы:\r\n * `{value: any, info?: any}`.\r\n *\r\n * Если задать это поле в `true`, то будет использована такая функция:\r\n * `(searchText) => searchText`.\r\n */\r\n recover: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\r\n\r\n renderItem: PropTypes.func,\r\n\r\n /**\r\n * Сообщение при отсутствии результатов\r\n *\r\n * `string | (searchText: string) => React$Element<*> | string`\r\n */\r\n renderNotFound: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\r\n\r\n /**\r\n * Общее количество найденных элементов\r\n *\r\n * `(foundCount: number, totalCount: number) => React$Element<*> | string`\r\n */\r\n renderTotalCount: PropTypes.func,\r\n\r\n renderValue: PropTypes.func,\r\n\r\n source: PropTypes.func.isRequired,\r\n\r\n value: PropTypes.any,\r\n\r\n /**\r\n * Визуально показать наличие предупреждения.\r\n */\r\n warning: PropTypes.bool,\r\n\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n\r\n onBlur: PropTypes.func,\r\n\r\n onChange: PropTypes.func,\r\n\r\n onClose: PropTypes.func,\r\n\r\n onFocus: PropTypes.func,\r\n\r\n /**\r\n * Вызывается при изменении текста в поле ввода,\r\n * если результатом функции будет строка,\r\n * то она станет следующим состояним полем ввода\r\n *\r\n * `(value: string) => any`\r\n */\r\n onInputChange: PropTypes.func,\r\n\r\n /**\r\n * Позволяет обработать нажатия клавиш.\r\n * Можно отменить стандартное поведение, используя `event.preventDefault()`\r\n *\r\n * `(event: KeyboardSyntheticEvent) => void`\r\n */\r\n onInputKeyDown: PropTypes.func,\r\n\r\n onMouseEnter: PropTypes.func,\r\n\r\n onMouseLeave: PropTypes.func,\r\n\r\n onMouseOver: PropTypes.func,\r\n\r\n onOpen: PropTypes.func,\r\n };\r\n\r\n static defaultProps = {\r\n menuAlign: 'left',\r\n placeholder: '',\r\n width: 250,\r\n };\r\n\r\n state = {\r\n info: null,\r\n };\r\n\r\n renderer: ComboBoxRenderer;\r\n\r\n _mounted = false;\r\n _infoPromise: ?Promise<any>;\r\n\r\n render() {\r\n let info = this.props.info;\r\n if (typeof info === 'function') {\r\n info = this.state.info;\r\n }\r\n\r\n // Flow needs this for some reason.\r\n const spread: BaseProps = this.props;\r\n\r\n return <ComboBoxRenderer ref={this._ref} {...spread} info={info} />;\r\n }\r\n\r\n focus() {\r\n if (this.renderer) {\r\n this.renderer._focus();\r\n }\r\n }\r\n\r\n _ref = (renderer: ComboBoxRenderer) => {\r\n this.renderer = renderer;\r\n };\r\n\r\n componentDidMount() {\r\n warning(false, 'ComboBoxOld is deprecated and will be removed in v2.0.0. Please, use the actual ComboBox instead.');\r\n this._mounted = true;\r\n const { value, info } = this.props;\r\n if (typeof info === 'function') {\r\n this._fetchInfo(value, info);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._mounted = false;\r\n }\r\n\r\n componentWillReceiveProps(newProps: Props) {\r\n this._maybeRefetchInfo(newProps.value, newProps.info);\r\n }\r\n\r\n _maybeRefetchInfo(value: Value, info: Info) {\r\n if (typeof info !== 'function') {\r\n return;\r\n }\r\n\r\n const props = this.props;\r\n\r\n if (value === props.value && typeof props.info === 'function') {\r\n // Values hasn't changed and info is still a function. So we are already\r\n // fetching info.\r\n return;\r\n }\r\n\r\n this.setState({ info: null });\r\n this._fetchInfo(value, info);\r\n }\r\n\r\n _fetchInfo(value: Value, info: Info) {\r\n const promise = info(value);\r\n this._infoPromise = promise;\r\n\r\n promise.then(info => {\r\n if (this._mounted && this._infoPromise === promise) {\r\n this.setState({ info });\r\n }\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -14,7 +14,7 @@ var _InputLikeText = _interopRequireDefault(require("../internal/InputLikeText/I
|
|
|
14
14
|
var _Menu = _interopRequireDefault(require("../Menu/Menu"));
|
|
15
15
|
var _MenuItem = _interopRequireDefault(require("../MenuItem/MenuItem"));
|
|
16
16
|
|
|
17
|
-
var _fixClickFocusIE = require("../../lib/events/fixClickFocusIE");var _ComboBoxRendererModule = _interopRequireDefault(require("./ComboBoxRenderer.module.css"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { "default": obj };}function _getRequireWildcardCache() {if (typeof WeakMap !== "function") return null;var cache = new WeakMap();_getRequireWildcardCache = function _getRequireWildcardCache() {return cache;};return cache;}function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;}var cache = _getRequireWildcardCache();if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};
|
|
17
|
+
var _fixClickFocusIE = require("../../lib/events/fixClickFocusIE");var _ComboBoxRendererModule = _interopRequireDefault(require("./ComboBoxRenderer.module.css"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { "default": obj };}function _getRequireWildcardCache() {if (typeof WeakMap !== "function") return null;var cache = new WeakMap();_getRequireWildcardCache = function _getRequireWildcardCache() {return cache;};return cache;}function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { "default": obj };}var cache = _getRequireWildcardCache();if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj["default"] = obj;if (cache) {cache.set(obj, newObj);}return newObj;}function _extends() {_extends = Object.assign || function (target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i];for (var key in source) {if (Object.prototype.hasOwnProperty.call(source, key)) {target[key] = source[key];}}}return target;};return _extends.apply(this, arguments);}function _assertThisInitialized(self) {if (self === void 0) {throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _inheritsLoose(subClass, superClass) {subClass.prototype = Object.create(superClass.prototype);subClass.prototype.constructor = subClass;subClass.__proto__ = superClass;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ComboBoxRenderer.js"],"names":["INPUT_PASS_PROPS","borderless","error","warning","width","disabled","onMouseEnter","onMouseLeave","onMouseOver","ComboBoxRenderer","element","props","context","el","_focusable","focus","ReactDOM","findDOMNode","menu","_menu","event","value","newInputValue","inputValueChanged","state","searchText","onInputChange","nextState","setState","opened","_debouncedFetchList","_ignoreRecover","onInputKeyDown","defaultPrevented","key","preventDefault","safelyCall","onOpen","up","down","handled","enter","_tryRecover","_handleBlur","_close","_setCurrentSearchText","info","_fetchList","_handleFocus","_handleValueClick","_ignoreBlur","isEditing","onFocus","onAlkoFocus","onBlur","onAlkoBlur","e","endEdit","result","onClose","pattern","expectingId","_fetchingId","source","then","_mounted","reset","setSelectionRange","length","selected","debounceInterval","render","_handleClickOutside","styles","root","renderInput","renderValue","renderMenu","openButton","arrow","_handleArrowClick","_handleArrowMouseDown","inputProps","input","_refFocusable","_handleInputChange","_handleInputKey","placeholder","isNotRecovered","_error","isEmptyResults","values","menuAlign","disablePortal","_refMenu","renderEmptyResults","renderResults","renderTotalCount","mapResult","i","React","isValidElement","cloneElement","onClick","_handleItemClick","renderItem","renderNotFound","isFunction","total","totalCount","componentDidMount","autoFocus","_focus","componentWillUnmount","options","_change","recover","recovered","_setError","_lastError","onError","onChange","target","valueToString","Component","children","fn","args","map","infos"],"mappings":";;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mE;;;;AAIA,IAAMA,gBAAgB,GAAG;AACvBC,EAAAA,UAAU,EAAE,IADW;AAEvBC,EAAAA,KAAK,EAAE,IAFgB;AAGvBC,EAAAA,OAAO,EAAE,IAHc;AAIvBC,EAAAA,KAAK,EAAE,IAJgB;AAKvBC,EAAAA,QAAQ,EAAE,IALa;AAMvBC,EAAAA,YAAY,EAAE,IANS;AAOvBC,EAAAA,YAAY,EAAE,IAPS;AAQvBC,EAAAA,WAAW,EAAE,IARU,EAAzB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFMC,gB;AACJ;;;;;;;AAOA,mBAAcC,OAAd,EAAwE;AACtE,WAAOA,OAAP;AACD,G;;;;;;;;;;;;;;;;;;;;;;AAsBD,4BAAYC,KAAZ,EAA0BC,OAA1B,EAA0C;AACxC,wCAAMD,KAAN,EAAaC,OAAb,UADwC,2DAX/B,KAW+B,+DAV7B,IAU6B,0DAT3B,IAS2B,uEARI,IAQJ,+DAPlB,IAOkB,2DANtB,IAMsB,mEALzB,IAKyB,gEAJ5B,IAI4B,gEAH5B,CAG4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoK1B,cAACC,EAAD,EAAsC;AACpD,YAAKC,UAAL,GAAkBD,EAAE,KAAKA,EAAE,CAACE,KAAH,GAAWF,EAAX,GAAiBG,qBAASC,WAAT,CAAqBJ,EAArB,CAAtB,CAApB;AACD,KAtKyC;;AAwK/B,cAACK,IAAD,EAAiB;AAC1B,YAAKC,KAAL,GAAaD,IAAb;AACD,KA1KyC;;AA4KrB,cAACE,KAAD,EAA+CC,KAA/C,EAAiE;AACpF,UAAIC,aAAa,GAAGD,KAApB;;AAEA,UAAME,iBAAiB,GAAG,MAAKC,KAAL,CAAWC,UAAX,KAA0BH,aAApD;AACA,UAAIC,iBAAiB,IAAI,MAAKZ,KAAL,CAAWe,aAApC,EAAmD;AACjD,YAAIC,SAAS,GAAG,MAAKhB,KAAL,CAAWe,aAAX,CAAyBJ,aAAzB,CAAhB;;AAEA,YAAIK,SAAS,IAAI,IAAb,IAAqB,OAAOA,SAAP,KAAqB,QAA9C,EAAwD;AACtDL,UAAAA,aAAa,GAAG,KAAKK,SAArB;AACD;AACF;;AAED,YAAKC,QAAL,CAAc,oBAAO;AACnBH,UAAAA,UAAU,EAAEH,aADO;AAEnBO,UAAAA,MAAM,EAAE,IAFW,EAAP,EAAd;;AAIA,YAAKC,mBAAL,CAAyBR,aAAzB;AACA,YAAKS,cAAL,GAAsB,KAAtB;AACD,KA9LyC;;AAgMxB,cAACX,KAAD,EAAqC;AACrD,UAAI,OAAO,MAAKT,KAAL,CAAWqB,cAAlB,KAAqC,UAAzC,EAAqD;AACnD,cAAKrB,KAAL,CAAWqB,cAAX,CAA0BZ,KAA1B;AACA,YAAIA,KAAK,CAACa,gBAAV,EAA4B;AAC1B;AACD;AACF;;AAED,cAAQb,KAAK,CAACc,GAAd;AACE,aAAK,SAAL;AACEd,UAAAA,KAAK,CAACe,cAAN;;AAEA,cAAI,CAAC,MAAKX,KAAL,CAAWK,MAAhB,EAAwB;AACtB,kBAAKD,QAAL,CAAc,EAAEC,MAAM,EAAE,IAAV,EAAd;AACAO,YAAAA,UAAU,CAAC,MAAKzB,KAAL,CAAW0B,MAAZ,CAAV;AACD;;AAED,gBAAKlB,KAAL,IAAc,MAAKA,KAAL,CAAWmB,EAAX,EAAd;AACA;AACF,aAAK,WAAL;AACElB,UAAAA,KAAK,CAACe,cAAN;;AAEA,cAAI,CAAC,MAAKX,KAAL,CAAWK,MAAhB,EAAwB;AACtB,kBAAKD,QAAL,CAAc,EAAEC,MAAM,EAAE,IAAV,EAAd;AACAO,YAAAA,UAAU,CAAC,MAAKzB,KAAL,CAAW0B,MAAZ,CAAV;AACD;;AAED,gBAAKlB,KAAL,IAAc,MAAKA,KAAL,CAAWoB,IAAX,EAAd;AACA;AACF,aAAK,OAAL;AACEnB,UAAAA,KAAK,CAACe,cAAN;AACA,cAAMK,OAAO,GAAG,MAAKrB,KAAL,IAAc,MAAKA,KAAL,CAAWsB,KAAX,CAAiBrB,KAAjB,CAA9B;AACA,cAAI,CAACoB,OAAL,EAAc;AACZ,kBAAKE,WAAL;;AAEA;AACA,kBAAKC,WAAL;AACD;AACD;AACF,aAAK,QAAL;AACEvB,UAAAA,KAAK,CAACe,cAAN;AACA,cAAI,CAAC,MAAKX,KAAL,CAAWK,MAAhB,EAAwB;AACtB;AACD;AACD,gBAAKe,MAAL;AACA,gBArCJ;;AAuCD,KA/OyC;;AAiPtB,gBAAM;AACxB,YAAKC,qBAAL,CAA2B,MAAKlC,KAAL,CAAWU,KAAtC,EAA6C,MAAKV,KAAL,CAAWmC,IAAxD;AACA,YAAKC,UAAL,CAAgB,EAAhB;AACA,YAAKC,YAAL;AACD,KArPyC;;;;;;;;;;AA+PlB,cAAC5B,KAAD,EAAkC;AACxDA,MAAAA,KAAK,CAACe,cAAN;AACD,KAjQyC;;AAmQtB,cAACf,KAAD,EAAkC;AACpD,UAAI,CAAC,MAAKI,KAAL,CAAWK,MAAZ,IAAsB,CAAC,MAAKlB,KAAL,CAAWN,QAAtC,EAAgD;AAC9C,cAAK4C,iBAAL;AACD;AACF,KAvQyC;;AAyQ3B,gBAAM;AACnB;AACA,YAAKC,WAAL,GAAmB,KAAnB;;AAEA,YAAKtB,QAAL,CAAc,EAAEuB,SAAS,EAAE,IAAb,EAAmBtB,MAAM,EAAE,IAA3B,EAAd;AACAO,MAAAA,UAAU,CAAC,MAAKzB,KAAL,CAAW0B,MAAZ,CAAV;;AAEA,UAAI,CAACD,UAAU,CAAC,MAAKzB,KAAL,CAAWyC,OAAZ,CAAf,EAAqC;AACnChB,QAAAA,UAAU,CAAC,MAAKzB,KAAL,CAAW0C,WAAZ,CAAV;AACD;AACF,KAnRyC;;AAqR5B,gBAAM;AAClB,UAAI,MAAKH,WAAT,EAAsB;AACpB;AACD;;AAED,YAAKN,MAAL,CAAY,IAAZ;AACA,YAAKF,WAAL;;AAEA,UAAI,CAACN,UAAU,CAAC,MAAKzB,KAAL,CAAW2C,MAAZ,CAAf,EAAoC;AAClClB,QAAAA,UAAU,CAAC,MAAKzB,KAAL,CAAW4C,UAAZ,CAAV;AACD;;AAED;AACA,YAAKL,WAAL,GAAmB,IAAnB;AACD,KAnSyC;;AAqSpB,cAACM,CAAD,EAAc;AAClC,4CAAgBA,CAAhB;AACA,YAAKb,WAAL;AACD,KAxSyC;;AA0SjC,cAACc,OAAD,EAAuB;AAC9B,YAAK7B,QAAL,CAAc,oBAAO,EAAEuB,SAAS,EAAE,CAACM,OAAd,EAAuB5B,MAAM,EAAE,KAA/B,EAAsC6B,MAAM,EAAE,IAA9C,EAAP,EAAd;AACAtB,MAAAA,UAAU,CAAC,MAAKzB,KAAL,CAAWgD,OAAZ,CAAV;AACD,KA7SyC;;AA+S7B,cAACC,OAAD,EAAqB;AAChC,UAAMC,WAAW,GAAG,EAAE,MAAKC,WAA3B;AACA,YAAKnD,KAAL,CAAWoD,MAAX,CAAkBH,OAAlB,EAA2BI,IAA3B,CAAgC,UAAAN,MAAM,EAAI;AACxC,YAAI,CAAC,MAAKO,QAAV,EAAoB;AAClB;AACD;;AAED,YAAIJ,WAAW,KAAK,MAAKC,WAArB,IAAoC,MAAKtC,KAAL,CAAWK,MAAnD,EAA2D;AACzD,gBAAKV,KAAL,IAAc,MAAKA,KAAL,CAAW+C,KAAX,EAAd;AACA,gBAAKtC,QAAL,CAAc,oBAAO,EAAE8B,MAAM,EAANA,MAAF,EAAP,EAAd;AACD;AACF,OATD;AAUD,KA3TyC;;AA6TjC,gBAAM;AACb,UAAI,MAAK5C,UAAL,IAAmB,MAAKA,UAAL,CAAgBqD,iBAAvC,EAA0D;AACxD;AACA,cAAKrD,UAAL,CAAgBqD,iBAAhB,CAAkC,CAAlC,EAAqC,MAAK3C,KAAL,CAAWC,UAAX,CAAsB2C,MAA3D;AACD,OAHD,MAGO,IAAI,MAAKtD,UAAT,EAAqB;AAC1B,cAAKA,UAAL,CAAgBC,KAAhB;AACD;AACF,KApUyC,EAGxC,MAAKS,KAAL,GAAa,EACXK,MAAM,EAAE,KADG,EAEXJ,UAAU,EAAE,EAFD,EAGXiC,MAAM,EAAE,IAHG,EAIXP,SAAS,EAAE,KAJA,EAKXkB,QAAQ,EAAE,CAAC,CALA,EAAb,CAHwC,IAWhCC,gBAXgC,GAWX,MAAK3D,KAXM,CAWhC2D,gBAXgC,CAYxC,MAAKxC,mBAAL,GACEwC,gBAAgB,IAAIA,gBAAgB,GAAG,CAAvC,GAA2C,wBAAS,MAAKvB,UAAd,EAA0BuB,gBAA1B,CAA3C,GAAyF,MAAKvB,UADhG,CAZwC,aAczC,C,+CAEDwB,M,GAAA,kBAAS,CACP,OACE,oBAAC,uBAAD,IACE,cAAc,EAAE,KAAK5B,WADvB,EAEE,cAAc,EAAE,KAAK6B,mBAFvB,EAGE,MAAM,EAAE,KAAKhD,KAAL,CAAWK,MAHrB,IAKE,+BAAO,SAAS,EAAE4C,mCAAOC,IAAzB,EAA+B,KAAK,EAAE,EAAEtE,KAAK,EAAE,KAAKO,KAAL,CAAWP,KAApB,EAAtC,IACG,KAAKoB,KAAL,CAAW2B,SAAX,GAAuB,KAAKwB,WAAL,EAAvB,GAA4C,KAAKC,WAAL,EAD/C,EAEG,KAAKpD,KAAL,CAAWK,MAAX,IAAqB,KAAKgD,UAAL,EAFxB,EAGG,KAAKlE,KAAL,CAAWmE,UAAX,IACC,6BAAK,SAAS,EAAEL,mCAAOM,KAAvB,EAA8B,OAAO,EAAE,KAAKC,iBAA5C,EAA+D,WAAW,EAAE,KAAKC,qBAAjF,GAJJ,CALF,CADF,CAeD,C,QAEDN,W,GAAA,uBAAc,CACZ,IAAMO,UAAU,GAAG,6BAAY,KAAKvE,KAAjB,EAAwBX,gBAAxB,CAAnB,CACA,OACE,6BAAK,SAAS,EAAEyE,mCAAOU,KAAvB,IACE,oBAAC,iBAAD,aACE,GAAG,EAAE,KAAKC,aADZ,IAEMF,UAFN,IAGE,KAAK,EAAE,KAAK1D,KAAL,CAAWC,UAHpB,EAIE,SAAS,EAAE,KAAKd,KAAL,CAAWmE,UAAX,IAAyB,iCAJtC,EAKE,QAAQ,EAAE,KAAKO,kBALjB,EAME,SAAS,EAAE,KAAKC,eANlB,IADF,CADF,CAYD,C,QAEDV,W,GAAA,uBAAc,CACZ,IAAMM,UAAU,GAAG,6BAAY,KAAKvE,KAAjB,EAAwBX,gBAAxB,CAAnB,CAEA,IAAMqB,KAAK,GAAG,KAAKV,KAAL,CAAWU,KAAX,GACZ,KAAKV,KAAL,CAAWiE,WAAX,CAAuB,KAAKjE,KAAL,CAAWU,KAAlC,EAAyC,KAAKV,KAAL,CAAWmC,IAApD,CADY,GAGZ,8BAAM,SAAS,EAAE2B,mCAAOc,WAAxB,IAAsC,KAAK5E,KAAL,CAAW4E,WAAjD,CAHF,CAMA,IAAMC,cAAc,GAAG,CAAC,CAAC,KAAKC,MAA9B,CAEA,OACE,oBAAC,yBAAD,aACE,GAAG,EAAE,KAAKL,aADZ,IAEMF,UAFN,IAGE,OAAO,EAAE,KAAKjC,iBAHhB,EAIE,OAAO,EAAE,KAAKA,iBAJhB,EAKE,KAAK,EAAEuC,cAAc,IAAI,KAAK7E,KAAL,CAAWT,KALtC,KAOGsF,cAAc,GAAG,KAAKhE,KAAL,CAAWC,UAAd,GAA2BJ,KAP5C,CADF,CAWD,C,QAEDwD,U,GAAA,sBAAa,uBACHnB,MADG,GACQ,KAAKlC,KADb,CACHkC,MADG,CAEX,IAAI,CAACA,MAAL,EAAa,CACX,OAAO,IAAP,CACD,CAED,IAAMgC,cAAc,GAAGhC,MAAM,CAACiC,MAAP,CAAcvB,MAAd,KAAyB,CAAhD,CAEA,OACE,oBAAC,6BAAD,IACE,SAAS,EAAE,6BAAMpD,qBAASC,WAAT,CAAqB,MAArB,CAAN,EADb,EAEE,KAAK,EAAE,KAAKN,KAAL,CAAWiF,SAFpB,EAGE,aAAa,EAAE,KAAKjF,KAAL,CAAWkF,aAH5B,EAIE,OAAO,EAAE,CAJX,IAME,oBAAC,gBAAD,IAAM,GAAG,EAAE,KAAKC,QAAhB,EAA0B,SAAS,EAAE,GAArC,IACGJ,cAAc,GAAG,KAAKK,kBAAL,EAAH,GAA+B,KAAKC,aAAL,CAAmBtC,MAAnB,CADhD,EAEG,KAAKuC,gBAAL,CAAsBvC,MAAtB,CAFH,CANF,CADF,CAaD,C,QAEDsC,a,GAAA,uBAActC,MAAd,EAA4E,mBAC1E,OAAOwC,SAAS,CAACxC,MAAD,EAAS,UAACrC,KAAD,EAAQyB,IAAR,EAAcqD,CAAd,EAAoB,CAC3C,IAAI,OAAO9E,KAAP,KAAiB,UAAjB,IAA+B+E,KAAK,CAACC,cAAN,CAAqBhF,KAArB,CAAnC,EAAgE,CAC9D,IAAMX,OAAO,GAAG,OAAOW,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,EAAnC,GAAwCA,KAAxD,CACA,OAAO+E,KAAK,CAACE,YAAN,CAAmB5F,OAAnB,EAA4B,EACjCwB,GAAG,EAAEiE,CAD4B,EAEjCI,OAAO,EAAE,iBAAAnF,KAAK,UAAI,MAAI,CAACoF,gBAAL,CAAsBpF,KAAtB,EAA6BV,OAAO,CAACC,KAArC,CAAJ,EAFmB,EAA5B,CAAP,CAID,CACD,OACE,oBAAC,oBAAD,IACE,GAAG,EAAEwF,CADP,EAEE,OAAO,EAAE,iBAAC/E,KAAD,EAA8B,CACrC,MAAI,CAACoF,gBAAL,CAAsBpF,KAAtB,EAA6B,EAAEC,KAAK,EAALA,KAAF,EAASyB,IAAI,EAAJA,IAAT,EAA7B,EACD,CAJH,IAMG,UAAAtB,KAAK,UAAI,MAAI,CAACb,KAAL,CAAW8F,UAAX,CAAsBpF,KAAtB,EAA6ByB,IAA7B,EAAmCtB,KAAnC,CAAJ,EANR,CADF,CAUD,CAlBe,CAAhB,CAmBD,C,QAEDuE,kB,GAAA,8BAAsD,KAC5CW,cAD4C,GACzB,KAAK/F,KADoB,CAC5C+F,cAD4C,CAGpD,IAAI,CAACA,cAAL,EAAqB,CACnB,OAAO,IAAP,CACD,CALmD,IAO5CjF,UAP4C,GAO7B,KAAKD,KAPwB,CAO5CC,UAP4C,CASpD,OACE,oBAAC,oBAAD,IAAU,QAAQ,EAAE,CAACkF,UAAU,CAACD,cAAD,CAA/B,IACGC,UAAU,CAACD,cAAD,CAAV,GAA6BA,cAAc,CAACjF,UAAD,CAA3C,GAA0DiF,cAD7D,CADF,CAKD,C,QAEDT,gB,GAAA,0BAAiBvC,MAAjB,EAAuC,KAC7BuC,gBAD6B,GACR,KAAKtF,KADG,CAC7BsF,gBAD6B,CAGrC,IAAI,CAACA,gBAAD,IAAqB,CAACvC,MAAtB,IAAgC,CAACA,MAAM,CAACiC,MAAxC,IAAkD,CAACjC,MAAM,CAACkD,KAA9D,EAAqE,CACnE,OAAO,IAAP,CACD,CAED,IAAIlD,MAAM,CAACiC,MAAP,CAAcvB,MAAd,KAAyBV,MAAM,CAACkD,KAApC,EAA2C,CACzC,OAAO,IAAP,CACD,CAED,OACE,oBAAC,oBAAD,IAAU,QAAQ,MAAlB,IACE,6BAAK,SAAS,EAAEnC,mCAAOoC,UAAvB,IAAoCZ,gBAAgB,CAACvC,MAAM,CAACiC,MAAP,CAAcvB,MAAf,EAAuBV,MAAM,CAACkD,KAA9B,CAApD,CADF,CADF,CAKD,C,QAEDE,iB,GAAA,6BAAoB,CAClB,KAAK7C,QAAL,GAAgB,IAAhB,CACA,IAAI,KAAKtD,KAAL,CAAWoG,SAAf,EAA0B,CACxB,KAAKC,MAAL,GACD,CACF,C,QAEDC,oB,GAAA,gCAAuB,CACrB,KAAKhD,QAAL,GAAgB,KAAhB,CACD,C,QAqFDuC,gB,GAAA,0BAAiBpF,KAAjB,EAA2C8F,OAA3C,EAA0G,CACxG,KAAKtF,QAAL,CAAc,EAAEH,UAAU,EAAE,EAAd,EAAkBI,MAAM,EAAE,KAA1B,EAAiCsB,SAAS,EAAE,KAA5C,EAAd,EACA,KAAKgE,OAAL,CAAaD,OAAO,CAAC7F,KAArB,EAA4B6F,OAAO,CAACpE,IAApC,EAEAV,UAAU,CAAC8E,OAAO,CAACX,OAAT,CAAV,CACA,KAAK5D,WAAL,GACD,C;;AAyEDD,EAAAA,W,GAAA,uBAAc;AACZ,QAAI,KAAKX,cAAT,EAAyB;AACvB;AACD;AACD,SAAKA,cAAL,GAAsB,IAAtB;;AAEA,QAAI,CAAC,KAAKpB,KAAL,CAAWyG,OAAhB,EAAyB;AACvB,WAAKD,OAAL,CAAa,IAAb;AACA,WAAKvF,QAAL,CAAc,EAAEH,UAAU,EAAE,EAAd,EAAd;AACA;AACD;;AAED,QAAMA,UAAU,GAAG,KAAKD,KAAL,CAAWC,UAA9B;AACA,QAAI4F,SAAyB,GAAG,IAAhC;;AAEA,QAAI,OAAO,KAAK1G,KAAL,CAAWyG,OAAlB,KAA8B,UAAlC,EAA8C;AAC5CC,MAAAA,SAAS,GAAG,KAAK1G,KAAL,CAAWyG,OAAX,CAAmB3F,UAAnB,CAAZ;AACD,KAFD,MAEO,IAAI,KAAKd,KAAL,CAAWyG,OAAX,KAAuB,IAA3B,EAAiC;AACtCC,MAAAA,SAAS,GAAG,EAAEhG,KAAK,EAAEI,UAAT,EAAZ;AACD;;AAED,QAAI4F,SAAJ,EAAe;AACb,WAAKF,OAAL,CAAaE,SAAS,CAAChG,KAAvB,EAA8BgG,SAAS,CAACvE,IAAxC;AACD,KAFD,MAEO;AACL,WAAKqE,OAAL,CAAa,IAAb;AACA,WAAKG,SAAL,CAAe,KAAK9F,KAAL,CAAWC,UAAX,GAAwB,eAAxB,GAA0C,IAAzD;AACD;AACF,G;;AAED6F,EAAAA,S,GAAA,mBAAUpH,KAAV,EAA4B;AAC1B,SAAKuF,MAAL,GAAcvF,KAAd;AACA,QAAI,KAAKqH,UAAL,KAAoBrH,KAAxB,EAA+B;AAC7B,WAAKqH,UAAL,GAAkBrH,KAAlB;AACAkC,MAAAA,UAAU,CAAC,KAAKzB,KAAL,CAAW6G,OAAZ,EAAqBtH,KAArB,CAAV;AACD;AACF,G;;AAEDiH,EAAAA,O,GAAA,iBAAQ9F,KAAR,EAAsByB,IAAtB,EAAmC;AACjCV,IAAAA,UAAU,CAAC,KAAKzB,KAAL,CAAW8G,QAAZ,EAAsB,EAAEC,MAAM,EAAE,EAAErG,KAAK,EAALA,KAAF,EAAV,EAAtB,EAA6CA,KAA7C,EAAoDyB,IAApD,CAAV;AACA,SAAKwE,SAAL,CAAe,IAAf;;AAEA;AACA,SAAKvF,cAAL,GAAsB,IAAtB;AACD,G;;AAEDc,EAAAA,qB,GAAA,+BAAsBxB,KAAtB,EAAoCyB,IAApC,EAAiD;AAC/C,QAAM6E,aAAa,GAAG,KAAKhH,KAAL,CAAWgH,aAAjC;;AAEA,QAAIA,aAAJ,EAAmB;AACjB,UAAMlG,WAAU,GAAGJ,KAAK,GAAGsG,aAAa,CAACtG,KAAD,EAAQyB,IAAR,CAAhB,GAAgC,KAAKtB,KAAL,CAAWC,UAAnE;;AAEA,aAAO,KAAKG,QAAL,CAAc,EAAEH,UAAU,EAAVA,WAAF,EAAd,EAA8B,KAAKuF,MAAnC,CAAP;AACD;;AAED,WAAO,KAAKpF,QAAL,CAAc,EAAEH,UAAU,EAAE,EAAd,EAAd,EAAkC,KAAKuF,MAAvC,CAAP;AACD,G,2BA7Z4BZ,KAAK,CAACwB,S,kBAA/BnH,gB,4MAGF8D,M,GAAA,kBAAS,CACP,OAAO,oBAAC,oBAAD,QAAW,KAAK5D,KAAL,CAAWkH,QAAtB,CAAP,CACD,C,eAH8BzB,KAAK,CAACwB,S,mBAFnCnH,gB,kBAYkB,EACpBgG,UAAU,EAAVA,UADoB,EAEpB7B,WAAW,EAAXA,WAFoB,EAGpBW,WAAW,EAAE,EAHO,EAIpBnF,KAAK,EAAG,GAJY,EAKpBwF,SAAS,EAAE,MALS,EAMpBtB,gBAAgB,EAAE,CANE,E;;;AAoZxB,SAASlC,UAAT,CAAoB0F,EAApB,EAAmD;AACjD,MAAIA,EAAJ,EAAQ,mCAD4BC,IAC5B,uEAD4BA,IAC5B;AACND,IAAAA,EAAE,MAAF,SAAMC,IAAN;AACA,WAAO,IAAP;AACD;AACD,SAAO,KAAP;AACD;;AAED,SAAS7B,SAAT,CAAmBxC,MAAnB,EAAyCoE,EAAzC,EAAgG;AAC9F,SAAOpE,MAAM,CAACiC,MAAP,CAAcqC,GAAd,CAAkB,UAAC3G,KAAD,EAAQ8E,CAAR,EAAc;AACrC,QAAMrD,IAAI,GAAGY,MAAM,CAACuE,KAAP,IAAgBvE,MAAM,CAACuE,KAAP,CAAa9B,CAAb,CAA7B;AACA,WAAO2B,EAAE,CAACzG,KAAD,EAAQyB,IAAR,EAAcqD,CAAd,CAAT;AACD,GAHM,CAAP;AAID;;AAED,SAASvB,WAAT,CAAqBvD,KAArB,EAA+ByB,IAA/B,EAAwC;AACtC,SAAOA,IAAP;AACD;;AAED,SAAS2D,UAAT,CAAoBpF,KAApB,EAA8ByB,IAA9B,EAAuCtB,KAAvC,EAAiD;AAC/C,SAAOsB,IAAP;AACD;;AAED,SAAS6D,UAAT,CAAoBmB,EAApB,EAAwB,sBAAuB;AAC7C,SAAO,OAAOA,EAAP,KAAc,UAArB;AACD,C;;AAEcrH,gB","sourcesContent":["// @flow\n/* eslint-disable flowtype/no-weak-types */\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport filterProps from '../filterProps';\n\nimport debounce from 'lodash.debounce';\n\nimport RenderLayer from '../RenderLayer';\nimport DropdownContainer from '../DropdownContainer/DropdownContainer';\nimport Input from '../Input';\nimport InputLikeText from '../internal/InputLikeText/InputLikeText';\nimport Menu from '../Menu/Menu';\nimport MenuItem from '../MenuItem/MenuItem';\nimport type { MenuItemState } from '../MenuItem/MenuItem';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\n\nimport styles from './ComboBoxRenderer.module.less';\n\nconst INPUT_PASS_PROPS = {\n borderless: true,\n error: true,\n warning: true,\n width: true,\n disabled: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n};\n\nexport type Value = any;\nexport type Info = any;\n\ntype SourceResult = {\n values: Array<Value | React.Element<any> | (() => React.Element<any>)>,\n infos?: Array<Info>,\n total?: number,\n};\n\ntype RecoverResult = {\n value: Value,\n info?: Info,\n};\n\ntype ErrorKind = null | 'not_recovered';\n\ntype RecoverFunc = (searchString: string) => RecoverResult;\n\nexport type BaseProps = {\n autoFocus?: boolean,\n borderless?: boolean,\n disabled?: boolean,\n error?: boolean,\n info?: Info | ((v: Value) => Promise<Info>),\n menuAlign: 'left' | 'right',\n disablePortal?: boolean,\n debounceInterval?: number,\n openButton?: boolean,\n placeholder: string,\n recover?: RecoverFunc | boolean,\n renderItem: (value: Value, info: Info, state: MenuItemState) => React.Node,\n renderValue: (value: Value, info: ?Info) => React.Element<any>,\n renderNotFound?: string | ((searchText: string) => React.Element<any> | string),\n renderTotalCount?: (f: number, total: number) => React.Element<any> | string,\n source: (searchText: string) => Promise<SourceResult>,\n warning?: boolean,\n value: Value | null,\n valueToString?: (value: Value, info: ?Info) => string,\n width: number | string,\n\n onBlur?: () => void,\n onChange?: (event: { target: { value: Value } }, value: Value) => void,\n onClose?: () => void,\n onError?: (kind: ErrorKind) => void,\n onFocus?: () => void,\n onOpen?: () => void,\n onInputChange?: (value: string) => ?string,\n onInputKeyDown?: (e: SyntheticKeyboardEvent<>) => void,\n\n alkoValueToText?: (value: Value) => string,\n onAlkoFocus?: () => void,\n onAlkoBlur?: () => void,\n\n onMouseEnter?: (e: SyntheticMouseEvent<>) => void,\n onMouseLeave?: (e: SyntheticMouseEvent<>) => void,\n onMouseOver?: (e: SyntheticMouseEvent<>) => void,\n};\n\ntype Props = BaseProps & {\n info: Info,\n};\n\ntype State = {\n opened: boolean,\n searchText: string,\n isEditing: boolean,\n result: ?SourceResult,\n selected: number,\n};\n\nclass ComboBoxRenderer extends React.Component<Props, State> {\n // eslint-disable-next-line react/no-multi-comp\n static Item = class Item extends React.Component<{ children?: React.Node }> {\n render() {\n return <MenuItem>{this.props.children}</MenuItem>;\n }\n };\n\n static static(element: (() => React.Element<any>) | React.Element<any>) {\n return element;\n }\n\n static defaultProps = {\n renderItem,\n renderValue,\n placeholder: '',\n width: (250: number | string),\n menuAlign: 'left',\n debounceInterval: 0,\n };\n\n _mounted = false;\n _focusable = null;\n _menu: ?Menu = null;\n _focusSubscribtion: ?{ remove: () => void } = null;\n _lastError: ErrorKind = null;\n _error: ErrorKind = null;\n _ignoreRecover = true;\n _ignoreBlur = true;\n _fetchingId = 0;\n _debouncedFetchList: Function;\n\n constructor(props: Props, context: mixed) {\n super(props, context);\n\n this.state = {\n opened: false,\n searchText: '',\n result: null,\n isEditing: false,\n selected: -1,\n };\n\n const { debounceInterval } = this.props;\n this._debouncedFetchList =\n debounceInterval && debounceInterval > 0 ? debounce(this._fetchList, debounceInterval) : this._fetchList;\n }\n\n render() {\n return (\n <RenderLayer\n onFocusOutside={this._handleBlur}\n onClickOutside={this._handleClickOutside}\n active={this.state.opened}\n >\n <label className={styles.root} style={{ width: this.props.width }}>\n {this.state.isEditing ? this.renderInput() : this.renderValue()}\n {this.state.opened && this.renderMenu()}\n {this.props.openButton && (\n <div className={styles.arrow} onClick={this._handleArrowClick} onMouseDown={this._handleArrowMouseDown} />\n )}\n </label>\n </RenderLayer>\n );\n }\n\n renderInput() {\n const inputProps = filterProps(this.props, INPUT_PASS_PROPS);\n return (\n <div className={styles.input}>\n <Input\n ref={this._refFocusable}\n {...inputProps}\n value={this.state.searchText}\n rightIcon={this.props.openButton && <span />}\n onChange={this._handleInputChange}\n onKeyDown={this._handleInputKey}\n />\n </div>\n );\n }\n\n renderValue() {\n const inputProps = filterProps(this.props, INPUT_PASS_PROPS);\n\n const value = this.props.value ? (\n this.props.renderValue(this.props.value, this.props.info)\n ) : (\n <span className={styles.placeholder}>{this.props.placeholder}</span>\n );\n\n const isNotRecovered = !!this._error;\n\n return (\n <InputLikeText\n ref={this._refFocusable}\n {...inputProps}\n onClick={this._handleValueClick}\n onFocus={this._handleValueClick}\n error={isNotRecovered || this.props.error}\n >\n {isNotRecovered ? this.state.searchText : value}\n </InputLikeText>\n );\n }\n\n renderMenu() {\n const { result } = this.state;\n if (!result) {\n return null;\n }\n\n const isEmptyResults = result.values.length === 0;\n\n return (\n <DropdownContainer\n getParent={() => ReactDOM.findDOMNode(this)}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n offsetY={1}\n >\n <Menu ref={this._refMenu} maxHeight={200}>\n {isEmptyResults ? this.renderEmptyResults() : this.renderResults(result)}\n {this.renderTotalCount(result)}\n </Menu>\n </DropdownContainer>\n );\n }\n\n renderResults(result: SourceResult): Array<?React.Element<Class<MenuItem>>> {\n return mapResult(result, (value, info, i) => {\n if (typeof value === 'function' || React.isValidElement(value)) {\n const element = typeof value === 'function' ? value() : value;\n return React.cloneElement(element, {\n key: i,\n onClick: event => this._handleItemClick(event, element.props),\n });\n }\n return (\n <MenuItem\n key={i}\n onClick={(event: SyntheticEvent<*>) => {\n this._handleItemClick(event, { value, info });\n }}\n >\n {state => this.props.renderItem(value, info, state)}\n </MenuItem>\n );\n });\n }\n\n renderEmptyResults(): ?React.Element<typeof MenuItem> {\n const { renderNotFound } = this.props;\n\n if (!renderNotFound) {\n return null;\n }\n\n const { searchText } = this.state;\n\n return (\n <MenuItem disabled={!isFunction(renderNotFound)}>\n {isFunction(renderNotFound) ? renderNotFound(searchText) : renderNotFound}\n </MenuItem>\n );\n }\n\n renderTotalCount(result: SourceResult) {\n const { renderTotalCount } = this.props;\n\n if (!renderTotalCount || !result || !result.values || !result.total) {\n return null;\n }\n\n if (result.values.length === result.total) {\n return null;\n }\n\n return (\n <MenuItem disabled>\n <div className={styles.totalCount}>{renderTotalCount(result.values.length, result.total)}</div>\n </MenuItem>\n );\n }\n\n componentDidMount() {\n this._mounted = true;\n if (this.props.autoFocus) {\n this._focus();\n }\n }\n\n componentWillUnmount() {\n this._mounted = false;\n }\n\n _refFocusable = (el: Input | InputLikeText | null) => {\n this._focusable = el && (el.focus ? el : (ReactDOM.findDOMNode(el): any));\n };\n\n _refMenu = (menu: ?Menu) => {\n this._menu = menu;\n };\n\n _handleInputChange = (event: SyntheticInputEvent<HTMLInputElement>, value: string) => {\n let newInputValue = value;\n\n const inputValueChanged = this.state.searchText !== newInputValue;\n if (inputValueChanged && this.props.onInputChange) {\n let nextState = this.props.onInputChange(newInputValue);\n\n if (nextState != null && typeof nextState !== 'object') {\n newInputValue = '' + nextState;\n }\n }\n\n this.setState(() => ({\n searchText: newInputValue,\n opened: true,\n }));\n this._debouncedFetchList(newInputValue);\n this._ignoreRecover = false;\n };\n\n _handleInputKey = (event: SyntheticKeyboardEvent<>) => {\n if (typeof this.props.onInputKeyDown === 'function') {\n this.props.onInputKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n\n if (!this.state.opened) {\n this.setState({ opened: true });\n safelyCall(this.props.onOpen);\n }\n\n this._menu && this._menu.up();\n break;\n case 'ArrowDown':\n event.preventDefault();\n\n if (!this.state.opened) {\n this.setState({ opened: true });\n safelyCall(this.props.onOpen);\n }\n\n this._menu && this._menu.down();\n break;\n case 'Enter':\n event.preventDefault();\n const handled = this._menu && this._menu.enter(event);\n if (!handled) {\n this._tryRecover();\n\n // Close ComboBox only if Enter wasn't handled by the Menu.\n this._handleBlur();\n }\n break;\n case 'Escape':\n event.preventDefault();\n if (!this.state.opened) {\n return;\n }\n this._close();\n break;\n }\n };\n\n _handleValueClick = () => {\n this._setCurrentSearchText(this.props.value, this.props.info);\n this._fetchList('');\n this._handleFocus();\n };\n\n _handleItemClick(event: SyntheticEvent<*>, options: { value?: Value, info?: Info, onClick?: () => void }) {\n this.setState({ searchText: '', opened: false, isEditing: false });\n this._change(options.value, options.info);\n\n safelyCall(options.onClick);\n this._handleBlur();\n }\n\n _handleArrowMouseDown = (event: SyntheticMouseEvent<>) => {\n event.preventDefault();\n };\n\n _handleArrowClick = (event: SyntheticMouseEvent<>) => {\n if (!this.state.opened && !this.props.disabled) {\n this._handleValueClick();\n }\n };\n\n _handleFocus = () => {\n /* Allow blur happen only if focus occured */\n this._ignoreBlur = false;\n\n this.setState({ isEditing: true, opened: true });\n safelyCall(this.props.onOpen);\n\n if (!safelyCall(this.props.onFocus)) {\n safelyCall(this.props.onAlkoFocus);\n }\n };\n\n _handleBlur = () => {\n if (this._ignoreBlur) {\n return;\n }\n\n this._close(true);\n this._tryRecover();\n\n if (!safelyCall(this.props.onBlur)) {\n safelyCall(this.props.onAlkoBlur);\n }\n\n /* Blur should occure only once */\n this._ignoreBlur = true;\n };\n\n _handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this._handleBlur();\n };\n\n _close = (endEdit?: boolean) => {\n this.setState(() => ({ isEditing: !endEdit, opened: false, result: null }));\n safelyCall(this.props.onClose);\n };\n\n _fetchList = (pattern: string) => {\n const expectingId = ++this._fetchingId;\n this.props.source(pattern).then(result => {\n if (!this._mounted) {\n return;\n }\n\n if (expectingId === this._fetchingId && this.state.opened) {\n this._menu && this._menu.reset();\n this.setState(() => ({ result }));\n }\n });\n };\n\n _focus = () => {\n if (this._focusable && this._focusable.setSelectionRange) {\n // $FlowIgnore\n this._focusable.setSelectionRange(0, this.state.searchText.length);\n } else if (this._focusable) {\n this._focusable.focus();\n }\n };\n\n _tryRecover() {\n if (this._ignoreRecover) {\n return;\n }\n this._ignoreRecover = true;\n\n if (!this.props.recover) {\n this._change(null);\n this.setState({ searchText: '' });\n return;\n }\n\n const searchText = this.state.searchText;\n let recovered: ?RecoverResult = null;\n\n if (typeof this.props.recover === 'function') {\n recovered = this.props.recover(searchText);\n } else if (this.props.recover === true) {\n recovered = { value: searchText };\n }\n\n if (recovered) {\n this._change(recovered.value, recovered.info);\n } else {\n this._change(null);\n this._setError(this.state.searchText ? 'not_recovered' : null);\n }\n }\n\n _setError(error: ErrorKind) {\n this._error = error;\n if (this._lastError !== error) {\n this._lastError = error;\n safelyCall(this.props.onError, error);\n }\n }\n\n _change(value: Value, info?: Info) {\n safelyCall(this.props.onChange, { target: { value } }, value, info);\n this._setError(null);\n\n /* No need in recovers after value changes */\n this._ignoreRecover = true;\n }\n\n _setCurrentSearchText(value: Value, info: ?Info) {\n const valueToString = this.props.valueToString;\n\n if (valueToString) {\n const searchText = value ? valueToString(value, info) : this.state.searchText;\n\n return this.setState({ searchText }, this._focus);\n }\n\n return this.setState({ searchText: '' }, this._focus);\n }\n}\n\nfunction safelyCall(fn: ?Function, ...args: any[]) {\n if (fn) {\n fn(...args);\n return true;\n }\n return false;\n}\n\nfunction mapResult(result: SourceResult, fn: (v: Value, d: Info, i: number) => any): Array<any> {\n return result.values.map((value, i) => {\n const info = result.infos && result.infos[i];\n return fn(value, info, i);\n });\n}\n\nfunction renderValue(value: *, info: *) {\n return info;\n}\n\nfunction renderItem(value: *, info: *, state: *) {\n return info;\n}\n\nfunction isFunction(fn) /*: boolean %checks */ {\n return typeof fn === 'function';\n}\n\nexport default ComboBoxRenderer;\n"]}
|
|
1
|
+
{"version":3,"sources":["ComboBoxRenderer.js"],"names":["INPUT_PASS_PROPS","borderless","error","warning","width","disabled","onMouseEnter","onMouseLeave","onMouseOver","ComboBoxRenderer","element","props","context","el","_focusable","focus","ReactDOM","findDOMNode","menu","_menu","event","value","newInputValue","inputValueChanged","state","searchText","onInputChange","nextState","setState","opened","_debouncedFetchList","_ignoreRecover","onInputKeyDown","defaultPrevented","key","preventDefault","safelyCall","onOpen","up","down","handled","enter","_tryRecover","_handleBlur","_close","_setCurrentSearchText","info","_fetchList","_handleFocus","_handleValueClick","_ignoreBlur","isEditing","onFocus","onAlkoFocus","onBlur","onAlkoBlur","e","endEdit","result","onClose","pattern","expectingId","_fetchingId","source","then","_mounted","reset","setSelectionRange","length","selected","debounceInterval","render","_handleClickOutside","styles","root","renderInput","renderValue","renderMenu","openButton","arrow","_handleArrowClick","_handleArrowMouseDown","inputProps","input","_refFocusable","_handleInputChange","_handleInputKey","placeholder","isNotRecovered","_error","isEmptyResults","values","menuAlign","disablePortal","_refMenu","renderEmptyResults","renderResults","renderTotalCount","mapResult","i","React","isValidElement","cloneElement","onClick","_handleItemClick","renderItem","renderNotFound","isFunction","total","totalCount","componentDidMount","autoFocus","_focus","componentWillUnmount","options","_change","recover","recovered","_setError","_lastError","onError","onChange","target","valueToString","Component","children","fn","args","map","infos"],"mappings":"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","sourcesContent":["// @flow\r\n/* eslint-disable flowtype/no-weak-types */\r\nimport * as React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport filterProps from '../filterProps';\r\n\r\nimport debounce from 'lodash.debounce';\r\n\r\nimport RenderLayer from '../RenderLayer';\r\nimport DropdownContainer from '../DropdownContainer/DropdownContainer';\r\nimport Input from '../Input';\r\nimport InputLikeText from '../internal/InputLikeText/InputLikeText';\r\nimport Menu from '../Menu/Menu';\r\nimport MenuItem from '../MenuItem/MenuItem';\r\nimport type { MenuItemState } from '../MenuItem/MenuItem';\r\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\r\n\r\nimport styles from './ComboBoxRenderer.module.less';\r\n\r\nconst INPUT_PASS_PROPS = {\r\n borderless: true,\r\n error: true,\r\n warning: true,\r\n width: true,\r\n disabled: true,\r\n onMouseEnter: true,\r\n onMouseLeave: true,\r\n onMouseOver: true,\r\n};\r\n\r\nexport type Value = any;\r\nexport type Info = any;\r\n\r\ntype SourceResult = {\r\n values: Array<Value | React.Element<any> | (() => React.Element<any>)>,\r\n infos?: Array<Info>,\r\n total?: number,\r\n};\r\n\r\ntype RecoverResult = {\r\n value: Value,\r\n info?: Info,\r\n};\r\n\r\ntype ErrorKind = null | 'not_recovered';\r\n\r\ntype RecoverFunc = (searchString: string) => RecoverResult;\r\n\r\nexport type BaseProps = {\r\n autoFocus?: boolean,\r\n borderless?: boolean,\r\n disabled?: boolean,\r\n error?: boolean,\r\n info?: Info | ((v: Value) => Promise<Info>),\r\n menuAlign: 'left' | 'right',\r\n disablePortal?: boolean,\r\n debounceInterval?: number,\r\n openButton?: boolean,\r\n placeholder: string,\r\n recover?: RecoverFunc | boolean,\r\n renderItem: (value: Value, info: Info, state: MenuItemState) => React.Node,\r\n renderValue: (value: Value, info: ?Info) => React.Element<any>,\r\n renderNotFound?: string | ((searchText: string) => React.Element<any> | string),\r\n renderTotalCount?: (f: number, total: number) => React.Element<any> | string,\r\n source: (searchText: string) => Promise<SourceResult>,\r\n warning?: boolean,\r\n value: Value | null,\r\n valueToString?: (value: Value, info: ?Info) => string,\r\n width: number | string,\r\n\r\n onBlur?: () => void,\r\n onChange?: (event: { target: { value: Value } }, value: Value) => void,\r\n onClose?: () => void,\r\n onError?: (kind: ErrorKind) => void,\r\n onFocus?: () => void,\r\n onOpen?: () => void,\r\n onInputChange?: (value: string) => ?string,\r\n onInputKeyDown?: (e: SyntheticKeyboardEvent<>) => void,\r\n\r\n alkoValueToText?: (value: Value) => string,\r\n onAlkoFocus?: () => void,\r\n onAlkoBlur?: () => void,\r\n\r\n onMouseEnter?: (e: SyntheticMouseEvent<>) => void,\r\n onMouseLeave?: (e: SyntheticMouseEvent<>) => void,\r\n onMouseOver?: (e: SyntheticMouseEvent<>) => void,\r\n};\r\n\r\ntype Props = BaseProps & {\r\n info: Info,\r\n};\r\n\r\ntype State = {\r\n opened: boolean,\r\n searchText: string,\r\n isEditing: boolean,\r\n result: ?SourceResult,\r\n selected: number,\r\n};\r\n\r\nclass ComboBoxRenderer extends React.Component<Props, State> {\r\n // eslint-disable-next-line react/no-multi-comp\r\n static Item = class Item extends React.Component<{ children?: React.Node }> {\r\n render() {\r\n return <MenuItem>{this.props.children}</MenuItem>;\r\n }\r\n };\r\n\r\n static static(element: (() => React.Element<any>) | React.Element<any>) {\r\n return element;\r\n }\r\n\r\n static defaultProps = {\r\n renderItem,\r\n renderValue,\r\n placeholder: '',\r\n width: (250: number | string),\r\n menuAlign: 'left',\r\n debounceInterval: 0,\r\n };\r\n\r\n _mounted = false;\r\n _focusable = null;\r\n _menu: ?Menu = null;\r\n _focusSubscribtion: ?{ remove: () => void } = null;\r\n _lastError: ErrorKind = null;\r\n _error: ErrorKind = null;\r\n _ignoreRecover = true;\r\n _ignoreBlur = true;\r\n _fetchingId = 0;\r\n _debouncedFetchList: Function;\r\n\r\n constructor(props: Props, context: mixed) {\r\n super(props, context);\r\n\r\n this.state = {\r\n opened: false,\r\n searchText: '',\r\n result: null,\r\n isEditing: false,\r\n selected: -1,\r\n };\r\n\r\n const { debounceInterval } = this.props;\r\n this._debouncedFetchList =\r\n debounceInterval && debounceInterval > 0 ? debounce(this._fetchList, debounceInterval) : this._fetchList;\r\n }\r\n\r\n render() {\r\n return (\r\n <RenderLayer\r\n onFocusOutside={this._handleBlur}\r\n onClickOutside={this._handleClickOutside}\r\n active={this.state.opened}\r\n >\r\n <label className={styles.root} style={{ width: this.props.width }}>\r\n {this.state.isEditing ? this.renderInput() : this.renderValue()}\r\n {this.state.opened && this.renderMenu()}\r\n {this.props.openButton && (\r\n <div className={styles.arrow} onClick={this._handleArrowClick} onMouseDown={this._handleArrowMouseDown} />\r\n )}\r\n </label>\r\n </RenderLayer>\r\n );\r\n }\r\n\r\n renderInput() {\r\n const inputProps = filterProps(this.props, INPUT_PASS_PROPS);\r\n return (\r\n <div className={styles.input}>\r\n <Input\r\n ref={this._refFocusable}\r\n {...inputProps}\r\n value={this.state.searchText}\r\n rightIcon={this.props.openButton && <span />}\r\n onChange={this._handleInputChange}\r\n onKeyDown={this._handleInputKey}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n renderValue() {\r\n const inputProps = filterProps(this.props, INPUT_PASS_PROPS);\r\n\r\n const value = this.props.value ? (\r\n this.props.renderValue(this.props.value, this.props.info)\r\n ) : (\r\n <span className={styles.placeholder}>{this.props.placeholder}</span>\r\n );\r\n\r\n const isNotRecovered = !!this._error;\r\n\r\n return (\r\n <InputLikeText\r\n ref={this._refFocusable}\r\n {...inputProps}\r\n onClick={this._handleValueClick}\r\n onFocus={this._handleValueClick}\r\n error={isNotRecovered || this.props.error}\r\n >\r\n {isNotRecovered ? this.state.searchText : value}\r\n </InputLikeText>\r\n );\r\n }\r\n\r\n renderMenu() {\r\n const { result } = this.state;\r\n if (!result) {\r\n return null;\r\n }\r\n\r\n const isEmptyResults = result.values.length === 0;\r\n\r\n return (\r\n <DropdownContainer\r\n getParent={() => ReactDOM.findDOMNode(this)}\r\n align={this.props.menuAlign}\r\n disablePortal={this.props.disablePortal}\r\n offsetY={1}\r\n >\r\n <Menu ref={this._refMenu} maxHeight={200}>\r\n {isEmptyResults ? this.renderEmptyResults() : this.renderResults(result)}\r\n {this.renderTotalCount(result)}\r\n </Menu>\r\n </DropdownContainer>\r\n );\r\n }\r\n\r\n renderResults(result: SourceResult): Array<?React.Element<Class<MenuItem>>> {\r\n return mapResult(result, (value, info, i) => {\r\n if (typeof value === 'function' || React.isValidElement(value)) {\r\n const element = typeof value === 'function' ? value() : value;\r\n return React.cloneElement(element, {\r\n key: i,\r\n onClick: event => this._handleItemClick(event, element.props),\r\n });\r\n }\r\n return (\r\n <MenuItem\r\n key={i}\r\n onClick={(event: SyntheticEvent<*>) => {\r\n this._handleItemClick(event, { value, info });\r\n }}\r\n >\r\n {state => this.props.renderItem(value, info, state)}\r\n </MenuItem>\r\n );\r\n });\r\n }\r\n\r\n renderEmptyResults(): ?React.Element<typeof MenuItem> {\r\n const { renderNotFound } = this.props;\r\n\r\n if (!renderNotFound) {\r\n return null;\r\n }\r\n\r\n const { searchText } = this.state;\r\n\r\n return (\r\n <MenuItem disabled={!isFunction(renderNotFound)}>\r\n {isFunction(renderNotFound) ? renderNotFound(searchText) : renderNotFound}\r\n </MenuItem>\r\n );\r\n }\r\n\r\n renderTotalCount(result: SourceResult) {\r\n const { renderTotalCount } = this.props;\r\n\r\n if (!renderTotalCount || !result || !result.values || !result.total) {\r\n return null;\r\n }\r\n\r\n if (result.values.length === result.total) {\r\n return null;\r\n }\r\n\r\n return (\r\n <MenuItem disabled>\r\n <div className={styles.totalCount}>{renderTotalCount(result.values.length, result.total)}</div>\r\n </MenuItem>\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._mounted = true;\r\n if (this.props.autoFocus) {\r\n this._focus();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._mounted = false;\r\n }\r\n\r\n _refFocusable = (el: Input | InputLikeText | null) => {\r\n this._focusable = el && (el.focus ? el : (ReactDOM.findDOMNode(el): any));\r\n };\r\n\r\n _refMenu = (menu: ?Menu) => {\r\n this._menu = menu;\r\n };\r\n\r\n _handleInputChange = (event: SyntheticInputEvent<HTMLInputElement>, value: string) => {\r\n let newInputValue = value;\r\n\r\n const inputValueChanged = this.state.searchText !== newInputValue;\r\n if (inputValueChanged && this.props.onInputChange) {\r\n let nextState = this.props.onInputChange(newInputValue);\r\n\r\n if (nextState != null && typeof nextState !== 'object') {\r\n newInputValue = '' + nextState;\r\n }\r\n }\r\n\r\n this.setState(() => ({\r\n searchText: newInputValue,\r\n opened: true,\r\n }));\r\n this._debouncedFetchList(newInputValue);\r\n this._ignoreRecover = false;\r\n };\r\n\r\n _handleInputKey = (event: SyntheticKeyboardEvent<>) => {\r\n if (typeof this.props.onInputKeyDown === 'function') {\r\n this.props.onInputKeyDown(event);\r\n if (event.defaultPrevented) {\r\n return;\r\n }\r\n }\r\n\r\n switch (event.key) {\r\n case 'ArrowUp':\r\n event.preventDefault();\r\n\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n safelyCall(this.props.onOpen);\r\n }\r\n\r\n this._menu && this._menu.up();\r\n break;\r\n case 'ArrowDown':\r\n event.preventDefault();\r\n\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n safelyCall(this.props.onOpen);\r\n }\r\n\r\n this._menu && this._menu.down();\r\n break;\r\n case 'Enter':\r\n event.preventDefault();\r\n const handled = this._menu && this._menu.enter(event);\r\n if (!handled) {\r\n this._tryRecover();\r\n\r\n // Close ComboBox only if Enter wasn't handled by the Menu.\r\n this._handleBlur();\r\n }\r\n break;\r\n case 'Escape':\r\n event.preventDefault();\r\n if (!this.state.opened) {\r\n return;\r\n }\r\n this._close();\r\n break;\r\n }\r\n };\r\n\r\n _handleValueClick = () => {\r\n this._setCurrentSearchText(this.props.value, this.props.info);\r\n this._fetchList('');\r\n this._handleFocus();\r\n };\r\n\r\n _handleItemClick(event: SyntheticEvent<*>, options: { value?: Value, info?: Info, onClick?: () => void }) {\r\n this.setState({ searchText: '', opened: false, isEditing: false });\r\n this._change(options.value, options.info);\r\n\r\n safelyCall(options.onClick);\r\n this._handleBlur();\r\n }\r\n\r\n _handleArrowMouseDown = (event: SyntheticMouseEvent<>) => {\r\n event.preventDefault();\r\n };\r\n\r\n _handleArrowClick = (event: SyntheticMouseEvent<>) => {\r\n if (!this.state.opened && !this.props.disabled) {\r\n this._handleValueClick();\r\n }\r\n };\r\n\r\n _handleFocus = () => {\r\n /* Allow blur happen only if focus occured */\r\n this._ignoreBlur = false;\r\n\r\n this.setState({ isEditing: true, opened: true });\r\n safelyCall(this.props.onOpen);\r\n\r\n if (!safelyCall(this.props.onFocus)) {\r\n safelyCall(this.props.onAlkoFocus);\r\n }\r\n };\r\n\r\n _handleBlur = () => {\r\n if (this._ignoreBlur) {\r\n return;\r\n }\r\n\r\n this._close(true);\r\n this._tryRecover();\r\n\r\n if (!safelyCall(this.props.onBlur)) {\r\n safelyCall(this.props.onAlkoBlur);\r\n }\r\n\r\n /* Blur should occure only once */\r\n this._ignoreBlur = true;\r\n };\r\n\r\n _handleClickOutside = (e: Event) => {\r\n fixClickFocusIE(e);\r\n this._handleBlur();\r\n };\r\n\r\n _close = (endEdit?: boolean) => {\r\n this.setState(() => ({ isEditing: !endEdit, opened: false, result: null }));\r\n safelyCall(this.props.onClose);\r\n };\r\n\r\n _fetchList = (pattern: string) => {\r\n const expectingId = ++this._fetchingId;\r\n this.props.source(pattern).then(result => {\r\n if (!this._mounted) {\r\n return;\r\n }\r\n\r\n if (expectingId === this._fetchingId && this.state.opened) {\r\n this._menu && this._menu.reset();\r\n this.setState(() => ({ result }));\r\n }\r\n });\r\n };\r\n\r\n _focus = () => {\r\n if (this._focusable && this._focusable.setSelectionRange) {\r\n // $FlowIgnore\r\n this._focusable.setSelectionRange(0, this.state.searchText.length);\r\n } else if (this._focusable) {\r\n this._focusable.focus();\r\n }\r\n };\r\n\r\n _tryRecover() {\r\n if (this._ignoreRecover) {\r\n return;\r\n }\r\n this._ignoreRecover = true;\r\n\r\n if (!this.props.recover) {\r\n this._change(null);\r\n this.setState({ searchText: '' });\r\n return;\r\n }\r\n\r\n const searchText = this.state.searchText;\r\n let recovered: ?RecoverResult = null;\r\n\r\n if (typeof this.props.recover === 'function') {\r\n recovered = this.props.recover(searchText);\r\n } else if (this.props.recover === true) {\r\n recovered = { value: searchText };\r\n }\r\n\r\n if (recovered) {\r\n this._change(recovered.value, recovered.info);\r\n } else {\r\n this._change(null);\r\n this._setError(this.state.searchText ? 'not_recovered' : null);\r\n }\r\n }\r\n\r\n _setError(error: ErrorKind) {\r\n this._error = error;\r\n if (this._lastError !== error) {\r\n this._lastError = error;\r\n safelyCall(this.props.onError, error);\r\n }\r\n }\r\n\r\n _change(value: Value, info?: Info) {\r\n safelyCall(this.props.onChange, { target: { value } }, value, info);\r\n this._setError(null);\r\n\r\n /* No need in recovers after value changes */\r\n this._ignoreRecover = true;\r\n }\r\n\r\n _setCurrentSearchText(value: Value, info: ?Info) {\r\n const valueToString = this.props.valueToString;\r\n\r\n if (valueToString) {\r\n const searchText = value ? valueToString(value, info) : this.state.searchText;\r\n\r\n return this.setState({ searchText }, this._focus);\r\n }\r\n\r\n return this.setState({ searchText: '' }, this._focus);\r\n }\r\n}\r\n\r\nfunction safelyCall(fn: ?Function, ...args: any[]) {\r\n if (fn) {\r\n fn(...args);\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction mapResult(result: SourceResult, fn: (v: Value, d: Info, i: number) => any): Array<any> {\r\n return result.values.map((value, i) => {\r\n const info = result.infos && result.infos[i];\r\n return fn(value, info, i);\r\n });\r\n}\r\n\r\nfunction renderValue(value: *, info: *) {\r\n return info;\r\n}\r\n\r\nfunction renderItem(value: *, info: *, state: *) {\r\n return info;\r\n}\r\n\r\nfunction isFunction(fn) /*: boolean %checks */ {\r\n return typeof fn === 'function';\r\n}\r\n\r\nexport default ComboBoxRenderer;\r\n"]}
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
```jsx
|
|
2
|
-
var items = [
|
|
3
|
-
{ id: 1, name: 'Kappa' },
|
|
4
|
-
{ id: 2, name: 'Keepo' },
|
|
5
|
-
{ id: 3, name: 'ResidentSleeper' },
|
|
6
|
-
{ id: 4, name: 'Kestrel' },
|
|
7
|
-
{ id: 5, name: 'Kats' },
|
|
8
|
-
{ id: 6, name: 'Junior' },
|
|
9
|
-
];
|
|
10
|
-
|
|
11
|
-
function info(id) {
|
|
12
|
-
return Promise.resolve(items.find(item => item.id === id));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function search(query) {
|
|
16
|
-
query = query.toLowerCase();
|
|
17
|
-
var results = items.filter(item => item.name.toLowerCase().indexOf(query) !== -1);
|
|
18
|
-
return Promise.resolve({
|
|
19
|
-
values: results.map(d => d.id).slice(0, 3),
|
|
20
|
-
infos: results,
|
|
21
|
-
total: results.length,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function recover(query) {
|
|
26
|
-
var found = items.find(x => x.name.toLowerCase() === query.toLowerCase());
|
|
27
|
-
if (found) {
|
|
28
|
-
return { value: found.id };
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function renderValue(value, info) {
|
|
34
|
-
return <span>{info ? info.name : 'Loading'}</span>;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function renderItem(value, info) {
|
|
38
|
-
return (
|
|
39
|
-
<span>
|
|
40
|
-
{value}: {info.name}
|
|
41
|
-
</span>
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function valueToString(id) {
|
|
46
|
-
var info = items.find(x => x.id === id);
|
|
47
|
-
return info ? info.name : '';
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function renderTotalCount(found, total) {
|
|
51
|
-
return (
|
|
52
|
-
<div style={{ maxWidth: 220 }}>
|
|
53
|
-
Displayed {found} from {total}
|
|
54
|
-
</div>
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
class Comp extends React.Component {
|
|
59
|
-
constructor(props) {
|
|
60
|
-
super(props);
|
|
61
|
-
this.state = { value: 3 };
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
render() {
|
|
65
|
-
return (
|
|
66
|
-
<ComboBoxOld
|
|
67
|
-
info={info}
|
|
68
|
-
source={search}
|
|
69
|
-
value={this.state.value}
|
|
70
|
-
recover={recover}
|
|
71
|
-
renderValue={renderValue}
|
|
72
|
-
renderItem={renderItem}
|
|
73
|
-
renderNotFound="Nothing here"
|
|
74
|
-
renderTotalCount={renderTotalCount}
|
|
75
|
-
valueToString={valueToString}
|
|
76
|
-
onChange={e => this.setState({ value: e.target.value })}
|
|
77
|
-
/>
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
<Comp />;
|
|
83
|
-
```
|
|
1
|
+
```jsx
|
|
2
|
+
var items = [
|
|
3
|
+
{ id: 1, name: 'Kappa' },
|
|
4
|
+
{ id: 2, name: 'Keepo' },
|
|
5
|
+
{ id: 3, name: 'ResidentSleeper' },
|
|
6
|
+
{ id: 4, name: 'Kestrel' },
|
|
7
|
+
{ id: 5, name: 'Kats' },
|
|
8
|
+
{ id: 6, name: 'Junior' },
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
function info(id) {
|
|
12
|
+
return Promise.resolve(items.find(item => item.id === id));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function search(query) {
|
|
16
|
+
query = query.toLowerCase();
|
|
17
|
+
var results = items.filter(item => item.name.toLowerCase().indexOf(query) !== -1);
|
|
18
|
+
return Promise.resolve({
|
|
19
|
+
values: results.map(d => d.id).slice(0, 3),
|
|
20
|
+
infos: results,
|
|
21
|
+
total: results.length,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function recover(query) {
|
|
26
|
+
var found = items.find(x => x.name.toLowerCase() === query.toLowerCase());
|
|
27
|
+
if (found) {
|
|
28
|
+
return { value: found.id };
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function renderValue(value, info) {
|
|
34
|
+
return <span>{info ? info.name : 'Loading'}</span>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function renderItem(value, info) {
|
|
38
|
+
return (
|
|
39
|
+
<span>
|
|
40
|
+
{value}: {info.name}
|
|
41
|
+
</span>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function valueToString(id) {
|
|
46
|
+
var info = items.find(x => x.id === id);
|
|
47
|
+
return info ? info.name : '';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function renderTotalCount(found, total) {
|
|
51
|
+
return (
|
|
52
|
+
<div style={{ maxWidth: 220 }}>
|
|
53
|
+
Displayed {found} from {total}
|
|
54
|
+
</div>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
class Comp extends React.Component {
|
|
59
|
+
constructor(props) {
|
|
60
|
+
super(props);
|
|
61
|
+
this.state = { value: 3 };
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
render() {
|
|
65
|
+
return (
|
|
66
|
+
<ComboBoxOld
|
|
67
|
+
info={info}
|
|
68
|
+
source={search}
|
|
69
|
+
value={this.state.value}
|
|
70
|
+
recover={recover}
|
|
71
|
+
renderValue={renderValue}
|
|
72
|
+
renderItem={renderItem}
|
|
73
|
+
renderNotFound="Nothing here"
|
|
74
|
+
renderTotalCount={renderTotalCount}
|
|
75
|
+
valueToString={valueToString}
|
|
76
|
+
onChange={e => this.setState({ value: e.target.value })}
|
|
77
|
+
/>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
<Comp />;
|
|
83
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default, ComboBoxOldProps, ComboBoxOldState } from './ComboBoxOld';
|
|
1
|
+
export { default, ComboBoxOldProps, ComboBoxOldState } from './ComboBoxOld';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.js"],"names":["ComboBoxOld"],"mappings":"mEAAA,oE;AACeA,uB","sourcesContent":["import ComboBoxOld from './ComboBoxOld';\nexport default ComboBoxOld;\n"]}
|
|
1
|
+
{"version":3,"sources":["index.js"],"names":["ComboBoxOld"],"mappings":"mEAAA,oE;AACeA,uB","sourcesContent":["import ComboBoxOld from './ComboBoxOld';\r\nexport default ComboBoxOld;\r\n"]}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { DecimalOptions } from './CurrencyInputHelper';
|
|
2
|
-
import { CursorMap } from './CursorHelper';
|
|
3
|
-
import { Nullable } from '../../typings/utility-types';
|
|
4
|
-
export interface DecimalFormattingOptions {
|
|
5
|
-
fractionDigits?: Nullable<number>;
|
|
6
|
-
thousandsDelimiter?: string;
|
|
7
|
-
minusSign?: string;
|
|
8
|
-
}
|
|
9
|
-
interface DecimalFormattingOptionsInternal {
|
|
10
|
-
fractionDigits: Nullable<number>;
|
|
11
|
-
thousandsDelimiter: string;
|
|
12
|
-
minusSign: string;
|
|
13
|
-
}
|
|
14
|
-
export interface FormattingInfo {
|
|
15
|
-
raw: string;
|
|
16
|
-
formatted: string;
|
|
17
|
-
cursorMap: CursorMap;
|
|
18
|
-
}
|
|
19
|
-
export default class CurrencyHelper {
|
|
20
|
-
static defaultOptions: DecimalFormattingOptionsInternal;
|
|
21
|
-
static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal;
|
|
22
|
-
static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo;
|
|
23
|
-
static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap;
|
|
24
|
-
static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string;
|
|
25
|
-
static parse(value: string): Nullable<number>;
|
|
26
|
-
static unformatString(value: string): string;
|
|
27
|
-
static formatForClipboard(value: string): string;
|
|
28
|
-
static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string;
|
|
29
|
-
static isValidString(value: string, options: DecimalOptions): boolean;
|
|
30
|
-
static extractValid(value: string, options: DecimalOptions): string;
|
|
31
|
-
static destructString(value: string): {
|
|
32
|
-
sign: string;
|
|
33
|
-
integer: string;
|
|
34
|
-
delimiter: string;
|
|
35
|
-
fraction: string;
|
|
36
|
-
} | null;
|
|
37
|
-
}
|
|
38
|
-
export {};
|
|
1
|
+
import { DecimalOptions } from './CurrencyInputHelper';
|
|
2
|
+
import { CursorMap } from './CursorHelper';
|
|
3
|
+
import { Nullable } from '../../typings/utility-types';
|
|
4
|
+
export interface DecimalFormattingOptions {
|
|
5
|
+
fractionDigits?: Nullable<number>;
|
|
6
|
+
thousandsDelimiter?: string;
|
|
7
|
+
minusSign?: string;
|
|
8
|
+
}
|
|
9
|
+
interface DecimalFormattingOptionsInternal {
|
|
10
|
+
fractionDigits: Nullable<number>;
|
|
11
|
+
thousandsDelimiter: string;
|
|
12
|
+
minusSign: string;
|
|
13
|
+
}
|
|
14
|
+
export interface FormattingInfo {
|
|
15
|
+
raw: string;
|
|
16
|
+
formatted: string;
|
|
17
|
+
cursorMap: CursorMap;
|
|
18
|
+
}
|
|
19
|
+
export default class CurrencyHelper {
|
|
20
|
+
static defaultOptions: DecimalFormattingOptionsInternal;
|
|
21
|
+
static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal;
|
|
22
|
+
static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo;
|
|
23
|
+
static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap;
|
|
24
|
+
static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string;
|
|
25
|
+
static parse(value: string): Nullable<number>;
|
|
26
|
+
static unformatString(value: string): string;
|
|
27
|
+
static formatForClipboard(value: string): string;
|
|
28
|
+
static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string;
|
|
29
|
+
static isValidString(value: string, options: DecimalOptions): boolean;
|
|
30
|
+
static extractValid(value: string, options: DecimalOptions): string;
|
|
31
|
+
static destructString(value: string): {
|
|
32
|
+
sign: string;
|
|
33
|
+
integer: string;
|
|
34
|
+
delimiter: string;
|
|
35
|
+
fraction: string;
|
|
36
|
+
} | null;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
/* @flow */
|
|
2
|
-
import type { CursorMap } from './CursorHelper';
|
|
3
|
-
|
|
4
|
-
export type DecimalFormattingOptions = {|
|
|
5
|
-
fractionDigits?: ?number,
|
|
6
|
-
thousandsDelimiter?: string,
|
|
7
|
-
minusSign?: string,
|
|
8
|
-
|};
|
|
9
|
-
|
|
10
|
-
type DecimalFormattingOptionsInternal = {|
|
|
11
|
-
fractionDigits: ?number,
|
|
12
|
-
thousandsDelimiter: string,
|
|
13
|
-
minusSign: string,
|
|
14
|
-
|};
|
|
15
|
-
|
|
16
|
-
export type FormattingInfo = {|
|
|
17
|
-
raw: string,
|
|
18
|
-
formatted: string,
|
|
19
|
-
cursorMap: CursorMap,
|
|
20
|
-
|};
|
|
21
|
-
|
|
22
|
-
declare class CurrencyHelper {
|
|
23
|
-
static defaultOptions: DecimalFormattingOptionsInternal;
|
|
24
|
-
static getOptions(options?: ?DecimalFormattingOptions): DecimalFormattingOptionsInternal;
|
|
25
|
-
static getInfo(value: string, options?: ?DecimalFormattingOptions): FormattingInfo;
|
|
26
|
-
static getCursorMap(formatted: string, formattingOptions?: ?DecimalFormattingOptions): CursorMap;
|
|
27
|
-
static format(value: ?number, options?: ?DecimalFormattingOptions): string;
|
|
28
|
-
static parse(value: string): ?number;
|
|
29
|
-
static unformatString(value: string): string;
|
|
30
|
-
static formatForClipboard(value: string): string;
|
|
31
|
-
static formatString(value: string, formattingOptions?: ?DecimalFormattingOptions): string;
|
|
32
|
-
static isValidString(value: string, fractionDigits: ?number, unsigned?: ?boolean): boolean;
|
|
33
|
-
static extractValid(value: string, fractionDigits: ?number, unsigned: ?boolean): string;
|
|
34
|
-
static destructString(
|
|
35
|
-
value: string,
|
|
36
|
-
): {
|
|
37
|
-
sign: string,
|
|
38
|
-
integer: string,
|
|
39
|
-
delimiter: string,
|
|
40
|
-
fraction: string,
|
|
41
|
-
} | null;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export default CurrencyHelper;
|
|
1
|
+
/* @flow */
|
|
2
|
+
import type { CursorMap } from './CursorHelper';
|
|
3
|
+
|
|
4
|
+
export type DecimalFormattingOptions = {|
|
|
5
|
+
fractionDigits?: ?number,
|
|
6
|
+
thousandsDelimiter?: string,
|
|
7
|
+
minusSign?: string,
|
|
8
|
+
|};
|
|
9
|
+
|
|
10
|
+
type DecimalFormattingOptionsInternal = {|
|
|
11
|
+
fractionDigits: ?number,
|
|
12
|
+
thousandsDelimiter: string,
|
|
13
|
+
minusSign: string,
|
|
14
|
+
|};
|
|
15
|
+
|
|
16
|
+
export type FormattingInfo = {|
|
|
17
|
+
raw: string,
|
|
18
|
+
formatted: string,
|
|
19
|
+
cursorMap: CursorMap,
|
|
20
|
+
|};
|
|
21
|
+
|
|
22
|
+
declare class CurrencyHelper {
|
|
23
|
+
static defaultOptions: DecimalFormattingOptionsInternal;
|
|
24
|
+
static getOptions(options?: ?DecimalFormattingOptions): DecimalFormattingOptionsInternal;
|
|
25
|
+
static getInfo(value: string, options?: ?DecimalFormattingOptions): FormattingInfo;
|
|
26
|
+
static getCursorMap(formatted: string, formattingOptions?: ?DecimalFormattingOptions): CursorMap;
|
|
27
|
+
static format(value: ?number, options?: ?DecimalFormattingOptions): string;
|
|
28
|
+
static parse(value: string): ?number;
|
|
29
|
+
static unformatString(value: string): string;
|
|
30
|
+
static formatForClipboard(value: string): string;
|
|
31
|
+
static formatString(value: string, formattingOptions?: ?DecimalFormattingOptions): string;
|
|
32
|
+
static isValidString(value: string, fractionDigits: ?number, unsigned?: ?boolean): boolean;
|
|
33
|
+
static extractValid(value: string, fractionDigits: ?number, unsigned: ?boolean): string;
|
|
34
|
+
static destructString(
|
|
35
|
+
value: string,
|
|
36
|
+
): {
|
|
37
|
+
sign: string,
|
|
38
|
+
integer: string,
|
|
39
|
+
delimiter: string,
|
|
40
|
+
fraction: string,
|
|
41
|
+
} | null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export default CurrencyHelper;
|