@skbkontur/react-ui 5.0.12 → 5.1.0-next.1
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/cjs/components/Autocomplete/Autocomplete.d.ts +16 -17
- package/cjs/components/Autocomplete/Autocomplete.js +13 -2
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.md +9 -7
- package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
- package/cjs/components/Autocomplete/locale/types.js +1 -1
- package/cjs/components/Button/Button.d.ts +20 -62
- package/cjs/components/Button/Button.js +0 -42
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +40 -26
- package/cjs/components/Button/__docs__/Button.mdx +28 -0
- package/cjs/components/Calendar/Calendar.d.ts +22 -45
- package/cjs/components/Calendar/Calendar.js +1 -15
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +12 -12
- package/cjs/components/Calendar/CalendarDay.d.ts +7 -0
- package/cjs/components/Calendar/CalendarDay.js +11 -0
- package/cjs/components/Calendar/CalendarDay.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.md +32 -32
- package/cjs/components/Calendar/__docs__/Calendar.mdx +28 -0
- package/cjs/components/Calendar/__docs__/CalendarDay.mdx +24 -0
- package/cjs/components/Calendar/locale/types.js +1 -1
- package/cjs/components/Center/Center.d.ts +4 -6
- package/cjs/components/Center/Center.js +3 -5
- package/cjs/components/Center/Center.js.map +1 -1
- package/cjs/components/Center/Center.md +1 -1
- package/cjs/components/Center/__docs__/Center.mdx +24 -0
- package/cjs/components/Checkbox/Checkbox.d.ts +20 -28
- package/cjs/components/Checkbox/Checkbox.js +7 -6
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.md +6 -5
- package/cjs/components/Checkbox/__docs__/Checkbox.mdx +28 -0
- package/cjs/components/ComboBox/ComboBox.d.ts +67 -86
- package/cjs/components/ComboBox/ComboBox.js +12 -28
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +41 -40
- package/cjs/components/ComboBox/__docs__/ComboBox.mdx +28 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.js +7 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +12 -12
- package/cjs/components/CurrencyInput/CurrencyInput.js +8 -2
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.md +3 -1
- package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js +5 -0
- package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
- package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +5 -5
- package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
- package/cjs/components/DateInput/DateInput.d.ts +21 -29
- package/cjs/components/DateInput/DateInput.js +14 -2
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/DateInput.md +7 -2
- package/cjs/components/DateInput/__docs__/DateInput.mdx +26 -0
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -1
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +33 -23
- package/cjs/components/DatePicker/DatePicker.js +53 -4
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +2 -2
- package/cjs/components/DatePicker/__docs__/DatePicker.mdx +28 -0
- package/cjs/components/DatePicker/locale/types.js +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +25 -30
- package/cjs/components/Dropdown/Dropdown.js +8 -1
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.md +2 -1
- package/cjs/components/Dropdown/__docs__/Dropdown.mdx +28 -0
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +12 -10
- package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +16 -20
- package/cjs/components/FileUploader/FileUploader.js +5 -3
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +9 -9
- package/cjs/components/FileUploader/__docs__/FileUploader.mdx +28 -0
- package/cjs/components/FileUploader/locale/types.js +1 -1
- package/cjs/components/FxInput/FxInput.d.ts +15 -9
- package/cjs/components/FxInput/FxInput.js +14 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/FxInput/FxInput.md +2 -0
- package/cjs/components/FxInput/__docs__/FxInput.mdx +28 -0
- package/cjs/components/Gapped/Gapped.d.ts +6 -17
- package/cjs/components/Gapped/Gapped.js +1 -8
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/Gapped/Gapped.md +3 -2
- package/cjs/components/Gapped/__docs__/Gapped.mdx +24 -0
- package/cjs/components/GlobalLoader/GlobalLoader.d.ts +22 -32
- package/cjs/components/GlobalLoader/GlobalLoader.js +14 -14
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.md +4 -5
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +7 -0
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
- package/cjs/components/Group/Group.d.ts +6 -0
- package/cjs/components/Group/Group.js +7 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.md +1 -0
- package/cjs/components/Group/__docs__/Group.mdx +24 -0
- package/cjs/components/Hint/Hint.d.ts +18 -40
- package/cjs/components/Hint/Hint.js +4 -16
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Hint/Hint.md +9 -8
- package/cjs/components/Hint/__docs__/Hint.mdx +29 -0
- package/cjs/components/Input/Input.d.ts +46 -68
- package/cjs/components/Input/Input.js +10 -9
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.md +11 -2
- package/cjs/components/Input/Input.typings.js +1 -1
- package/cjs/components/Input/__docs__/Input.mdx +28 -0
- package/cjs/components/Kebab/Kebab.d.ts +12 -16
- package/cjs/components/Kebab/Kebab.js +4 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +9 -9
- package/cjs/components/Kebab/__docs__/Kebab.mdx +28 -0
- package/cjs/components/Link/Link.d.ts +13 -37
- package/cjs/components/Link/Link.js +0 -13
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.md +12 -11
- package/cjs/components/Link/__docs__/Link.mdx +28 -0
- package/cjs/components/Loader/Loader.d.ts +13 -25
- package/cjs/components/Loader/Loader.js +2 -8
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Loader/Loader.md +1 -0
- package/cjs/components/Loader/__docs__/Loader.mdx +26 -0
- package/cjs/components/MaskedInput/MaskedInput.d.ts +13 -33
- package/cjs/components/MaskedInput/MaskedInput.js +0 -13
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.md +7 -5
- package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
- package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -4
- package/cjs/components/MenuFooter/MenuFooter.js +7 -3
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuFooter/MenuFooter.md +2 -2
- package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
- package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -4
- package/cjs/components/MenuHeader/MenuHeader.js +7 -3
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.md +2 -2
- package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
- package/cjs/components/MenuItem/MenuItem.d.ts +22 -55
- package/cjs/components/MenuItem/MenuItem.js +1 -18
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +34 -30
- package/cjs/components/MenuItem/__docs__/MenuItem.mdx +24 -0
- package/cjs/components/MenuSeparator/MenuSeparator.d.ts +2 -2
- package/cjs/components/MenuSeparator/MenuSeparator.js +3 -2
- package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/cjs/components/MenuSeparator/MenuSeparator.md +1 -1
- package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
- package/cjs/components/MiniModal/MiniModal.d.ts +6 -0
- package/cjs/components/MiniModal/MiniModal.js +6 -0
- package/cjs/components/MiniModal/MiniModal.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.md +1 -3
- package/cjs/components/MiniModal/MiniModalFooter.d.ts +2 -7
- package/cjs/components/MiniModal/MiniModalFooter.js +0 -5
- package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/cjs/components/MiniModal/MiniModalHeader.d.ts +2 -5
- package/cjs/components/MiniModal/MiniModalHeader.js +0 -3
- package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -1
- package/cjs/components/MiniModal/__docs__/MiniModal.mdx +28 -0
- package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +17 -0
- package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +17 -0
- package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +18 -0
- package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
- package/cjs/components/MiniModal/getMiniModalTheme.d.ts +1 -1
- package/cjs/components/Modal/Modal.d.ts +12 -33
- package/cjs/components/Modal/Modal.js +4 -24
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.md +3 -1
- package/cjs/components/Modal/Modal.styles.d.ts +4 -1
- package/cjs/components/Modal/Modal.styles.js +68 -31
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.d.ts +2 -4
- package/cjs/components/Modal/ModalBody.js +1 -3
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +7 -2
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Modal/ModalContext.d.ts +2 -0
- package/cjs/components/Modal/ModalContext.js +3 -0
- package/cjs/components/Modal/ModalContext.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.d.ts +5 -15
- package/cjs/components/Modal/ModalFooter.js +0 -7
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.d.ts +3 -1
- package/cjs/components/Modal/ModalHeader.js +4 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Modal/ModalSeparator.d.ts +1 -0
- package/cjs/components/Modal/ModalSeparator.js +1 -0
- package/cjs/components/Modal/ModalSeparator.js.map +1 -1
- package/cjs/components/Modal/__creevey__/Modal.creevey.mts +15 -1
- package/cjs/components/Modal/__docs__/Modal.mdx +28 -0
- package/cjs/components/Modal/__docs__/ModalBody.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalFooter.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalHeader.mdx +15 -0
- package/cjs/components/Modal/__docs__/ModalSeparator.mdx +15 -0
- package/cjs/components/Modal/locale/types.js +1 -1
- package/cjs/components/Paging/Paging.d.ts +20 -15
- package/cjs/components/Paging/Paging.js +17 -1
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.md +3 -2
- package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -0
- package/cjs/components/Paging/PagingDefaultComponent.js +3 -0
- package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
- package/cjs/components/Paging/__docs__/Paging.mdx +28 -0
- package/cjs/components/Paging/locale/types.js +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +10 -3
- package/cjs/components/PasswordInput/PasswordInput.js +35 -9
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.md +3 -2
- package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
- package/cjs/components/PasswordInput/locale/types.js +1 -1
- package/cjs/components/Radio/Radio.d.ts +13 -28
- package/cjs/components/Radio/Radio.js +1 -8
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.md +3 -2
- package/cjs/components/Radio/__docs__/Radio.mdx +28 -0
- package/cjs/components/RadioGroup/RadioGroup.d.ts +28 -54
- package/cjs/components/RadioGroup/RadioGroup.js +4 -15
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.md +1 -0
- package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +6 -2
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
- package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
- package/cjs/components/ResponsiveLayout/types.js +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +7 -0
- package/cjs/components/ScrollContainer/ScrollBar.js +13 -0
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +23 -29
- package/cjs/components/ScrollContainer/ScrollContainer.js +8 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +5 -3
- package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
- package/cjs/components/Select/Item.d.ts +2 -0
- package/cjs/components/Select/Item.js +3 -0
- package/cjs/components/Select/Item.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +54 -38
- package/cjs/components/Select/Select.js +57 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.md +7 -6
- package/cjs/components/Select/__docs__/Select.mdx +28 -0
- package/cjs/components/Select/locale/types.js +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +17 -38
- package/cjs/components/SidePage/SidePage.js +15 -28
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.md +2 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +8 -1
- package/cjs/components/SidePage/SidePage.styles.js +83 -26
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageCloseButton.d.ts +6 -1
- package/cjs/components/SidePage/SidePageCloseButton.js +14 -2
- package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.d.ts +4 -9
- package/cjs/components/SidePage/SidePageFooter.js +0 -2
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +2 -1
- package/cjs/components/SidePage/SidePageHeader.js +14 -7
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +103 -1
- package/cjs/components/SidePage/__docs__/SidePage.mdx +28 -0
- package/cjs/components/SidePage/__docs__/SidePageBody.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
- package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
- package/cjs/components/SidePage/locale/types.js +1 -1
- package/cjs/components/SingleToast/SingleToast.d.ts +5 -1
- package/cjs/components/SingleToast/SingleToast.js +5 -1
- package/cjs/components/SingleToast/SingleToast.js.map +1 -1
- package/cjs/components/SingleToast/SingleToast.md +2 -1
- package/cjs/components/SingleToast/__docs__/SingleToast.mdx +28 -0
- package/cjs/components/Spinner/Spinner.d.ts +15 -20
- package/cjs/components/Spinner/Spinner.js +6 -7
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +2 -1
- package/cjs/components/Spinner/__docs__/Spinner.mdx +28 -0
- package/cjs/components/Sticky/Sticky.d.ts +9 -4
- package/cjs/components/Sticky/Sticky.js +9 -1
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Sticky/Sticky.md +1 -0
- package/cjs/components/Sticky/__docs__/Sticky.mdx +24 -0
- package/cjs/components/Switcher/Switcher.d.ts +18 -7
- package/cjs/components/Switcher/Switcher.js +14 -3
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.md +6 -2
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
- package/cjs/components/Switcher/Switcher.styles.js +20 -1
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Switcher/__docs__/Switcher.mdx +28 -0
- package/cjs/components/Tabs/Tab.d.ts +12 -31
- package/cjs/components/Tabs/Tab.js +1 -20
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.md +2 -0
- package/cjs/components/Tabs/Tabs.d.ts +14 -25
- package/cjs/components/Tabs/Tabs.js +6 -17
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +3 -2
- package/cjs/components/Tabs/__docs__/Tab.mdx +28 -0
- package/cjs/components/Tabs/__docs__/Tabs.mdx +28 -0
- package/cjs/components/Textarea/Textarea.d.ts +26 -52
- package/cjs/components/Textarea/Textarea.js +3 -23
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.md +4 -2
- package/cjs/components/Textarea/__docs__/Textarea.mdx +28 -0
- package/cjs/components/Toast/Toast.d.ts +12 -9
- package/cjs/components/Toast/Toast.js +13 -5
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.md +4 -4
- package/cjs/components/Toast/ToastStatic.d.ts +2 -2
- package/cjs/components/Toast/ToastStatic.js +15 -5
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/Toast/ToastView.d.ts +3 -6
- package/cjs/components/Toast/ToastView.js +3 -5
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.js +4 -4
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toast/__creevey__/Toast.creevey.mts +23 -0
- package/cjs/components/Toast/__docs__/Toast.mdx +28 -0
- package/cjs/components/Toast/locale/types.js +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +25 -48
- package/cjs/components/Toggle/Toggle.js +4 -12
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.md +9 -9
- package/cjs/components/Toggle/__docs__/Toggle.mdx +28 -0
- package/cjs/components/Token/Token.d.ts +17 -9
- package/cjs/components/Token/Token.js +9 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/Token/Token.md +86 -3
- package/cjs/components/Token/TokenView.d.ts +3 -0
- package/cjs/components/Token/TokenView.js +3 -0
- package/cjs/components/Token/TokenView.js.map +1 -1
- package/cjs/components/Token/__docs__/Token.mdx +28 -0
- package/cjs/components/Token/locale/types.js +1 -1
- package/cjs/components/TokenInput/TextWidthHelper.d.ts +3 -0
- package/cjs/components/TokenInput/TextWidthHelper.js +5 -0
- package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +54 -97
- package/cjs/components/TokenInput/TokenInput.js +7 -18
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +12 -10
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +5 -5
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TokenInput/__docs__/TokenInput.mdx +28 -0
- package/cjs/components/TokenInput/locale/types.js +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +28 -68
- package/cjs/components/Tooltip/Tooltip.js +9 -63
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +5 -0
- package/cjs/components/Tooltip/__docs__/Tooltip.mdx +28 -0
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +13 -28
- package/cjs/components/TooltipMenu/TooltipMenu.js +1 -16
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.md +13 -10
- package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
- package/cjs/index.d.ts +1 -2
- package/cjs/index.js +1 -2
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/types.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +12 -2
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
- package/cjs/internal/CustomComboBox/locale/types.js +1 -1
- package/cjs/internal/DateSelect/locale/types.js +1 -1
- package/cjs/internal/FileUploaderControl/fileUtils.js +1 -1
- package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +12 -11
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Popup/types.js +1 -1
- package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js +2 -1
- package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
- package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
- package/cjs/internal/ThemePlayground/constants.js +1 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js +0 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
- package/cjs/internal/themes/BasicLightTheme.d.ts +5 -1198
- package/cjs/internal/themes/BasicLightTheme.js +2 -2512
- package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +1217 -0
- package/cjs/internal/themes/BasicTheme.js +2536 -0
- package/cjs/internal/themes/BasicTheme.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_0.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_0.js +556 -0
- package/cjs/internal/themes/DarkTheme5_0.js.map +1 -0
- package/cjs/internal/themes/DarkTheme5_1.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_1.js +41 -0
- package/cjs/internal/themes/DarkTheme5_1.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_0.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_0.js +9 -0
- package/cjs/internal/themes/LightTheme5_0.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_1.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_1.js +41 -0
- package/cjs/internal/themes/LightTheme5_1.js.map +1 -0
- package/cjs/lib/ModalStack.d.ts +1 -0
- package/cjs/lib/ModalStack.js +6 -4
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/date/types.js +6 -6
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +1 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
- package/cjs/lib/locale/types.js +1 -1
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/theming/Theme.d.ts +4 -3
- package/cjs/lib/theming/Theme.js +1 -1
- package/cjs/lib/theming/Theme.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.d.ts +1 -1
- package/cjs/lib/theming/ThemeContext.js +2 -2
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.d.ts +9 -0
- package/cjs/lib/theming/ThemeFactory.js +28 -9
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.d.ts +55 -8
- package/cjs/lib/theming/ThemeHelpers.js +94 -22
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +25 -0
- package/cjs/lib/theming/ThemeVersions.js +58 -0
- package/cjs/lib/theming/ThemeVersions.js.map +1 -0
- package/cjs/lib/theming/themes/DarkTheme.d.ts +3 -1
- package/cjs/lib/theming/themes/DarkTheme.js +6 -4
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +3 -1
- package/cjs/lib/theming/themes/LightTheme.js +6 -4
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightThemeMobile.d.ts +1 -1
- package/cjs/lib/theming/useTheme.d.ts +1 -1
- package/cjs/lib/types/button-link.js +1 -1
- package/cjs/lib/types/polymorphic-component.js +1 -1
- package/cjs/lib/types/props.js +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -2
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +16 -17
- package/components/Autocomplete/Autocomplete.md +9 -7
- package/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
- package/components/Autocomplete/locale/types/types.js +0 -1
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +20 -62
- package/components/Button/Button.md +40 -26
- package/components/Button/__docs__/Button.mdx +28 -0
- package/components/Calendar/Calendar/Calendar.js +1 -1
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +22 -45
- package/components/Calendar/Calendar.md +12 -12
- package/components/Calendar/CalendarDay/CalendarDay.js +2 -0
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
- package/components/Calendar/CalendarDay.d.ts +7 -0
- package/components/Calendar/CalendarDay.md +32 -32
- package/components/Calendar/__docs__/Calendar.mdx +28 -0
- package/components/Calendar/__docs__/CalendarDay.mdx +24 -0
- package/components/Calendar/locale/types/types.js +0 -1
- package/components/Center/Center/Center.js +3 -1
- package/components/Center/Center/Center.js.map +1 -1
- package/components/Center/Center.d.ts +4 -6
- package/components/Center/Center.md +1 -1
- package/components/Center/__docs__/Center.mdx +24 -0
- package/components/Checkbox/Checkbox/Checkbox.js +7 -0
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +20 -28
- package/components/Checkbox/Checkbox.md +6 -5
- package/components/Checkbox/__docs__/Checkbox.mdx +28 -0
- package/components/ComboBox/ComboBox/ComboBox.js +13 -2
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +67 -86
- package/components/ComboBox/ComboBox.md +41 -40
- package/components/ComboBox/__docs__/ComboBox.mdx +28 -0
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +5 -2
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +12 -12
- package/components/CurrencyInput/CurrencyInput.md +3 -1
- package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
- package/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +4 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
- package/components/CurrencyLabel/CurrencyLabel.md +5 -5
- package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
- package/components/DateInput/DateInput/DateInput.js +8 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +21 -29
- package/components/DateInput/DateInput.md +7 -2
- package/components/DateInput/__docs__/DateInput.mdx +26 -0
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +3 -3
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +33 -5
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +33 -23
- package/components/DatePicker/DatePicker.md +2 -2
- package/components/DatePicker/__docs__/DatePicker.mdx +28 -0
- package/components/DatePicker/locale/types/types.js +0 -1
- package/components/Dropdown/Dropdown/Dropdown.js +7 -1
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +25 -30
- package/components/Dropdown/Dropdown.md +2 -1
- package/components/Dropdown/__docs__/Dropdown.mdx +28 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/components/DropdownMenu/DropdownMenu.md +12 -10
- package/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
- package/components/FileUploader/FileUploader/FileUploader.js +6 -0
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +16 -20
- package/components/FileUploader/FileUploader.md +9 -9
- package/components/FileUploader/__docs__/FileUploader.mdx +28 -0
- package/components/FileUploader/locale/types/types.js +0 -1
- package/components/FxInput/FxInput/FxInput.js +7 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInput.d.ts +15 -9
- package/components/FxInput/FxInput.md +2 -0
- package/components/FxInput/__docs__/FxInput.mdx +28 -0
- package/components/Gapped/Gapped/Gapped.js +1 -1
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/Gapped.d.ts +6 -17
- package/components/Gapped/Gapped.md +3 -2
- package/components/Gapped/__docs__/Gapped.mdx +24 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -0
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.d.ts +22 -32
- package/components/GlobalLoader/GlobalLoader.md +4 -5
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
- package/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
- package/components/Group/Group/Group.js +6 -0
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.d.ts +6 -0
- package/components/Group/Group.md +1 -0
- package/components/Group/__docs__/Group.mdx +24 -0
- package/components/Hint/Hint/Hint.js +4 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +18 -40
- package/components/Hint/Hint.md +9 -8
- package/components/Hint/__docs__/Hint.mdx +29 -0
- package/components/Input/Input/Input.js +10 -1
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +46 -68
- package/components/Input/Input.md +11 -2
- package/components/Input/Input.typings/Input.typings.js +0 -1
- package/components/Input/__docs__/Input.mdx +28 -0
- package/components/Kebab/Kebab/Kebab.js +4 -0
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +12 -16
- package/components/Kebab/Kebab.md +9 -9
- package/components/Kebab/__docs__/Kebab.mdx +28 -0
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.d.ts +13 -37
- package/components/Link/Link.md +12 -11
- package/components/Link/__docs__/Link.mdx +28 -0
- package/components/Loader/Loader/Loader.js +2 -2
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +13 -25
- package/components/Loader/Loader.md +1 -0
- package/components/Loader/__docs__/Loader.mdx +26 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +13 -33
- package/components/MaskedInput/MaskedInput.md +7 -5
- package/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js +3 -3
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +6 -4
- package/components/MenuFooter/MenuFooter.md +2 -2
- package/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
- package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -3
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +6 -4
- package/components/MenuHeader/MenuHeader.md +2 -2
- package/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
- package/components/MenuItem/MenuItem/MenuItem.js +1 -2
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +22 -55
- package/components/MenuItem/MenuItem.md +34 -30
- package/components/MenuItem/__docs__/MenuItem.mdx +24 -0
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +3 -2
- package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +2 -2
- package/components/MenuSeparator/MenuSeparator.md +1 -1
- package/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
- package/components/MiniModal/MiniModal/MiniModal.js +7 -0
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
- package/components/MiniModal/MiniModal.d.ts +6 -0
- package/components/MiniModal/MiniModal.md +1 -3
- package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalFooter.d.ts +2 -7
- package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -1
- package/components/MiniModal/MiniModalHeader.d.ts +2 -5
- package/components/MiniModal/__docs__/MiniModal.mdx +28 -0
- package/components/MiniModal/__docs__/MiniModalBody.mdx +17 -0
- package/components/MiniModal/__docs__/MiniModalFooter.mdx +17 -0
- package/components/MiniModal/__docs__/MiniModalHeader.mdx +18 -0
- package/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
- package/components/MiniModal/getMiniModalTheme.d.ts +1 -1
- package/components/Modal/Modal/Modal.js +4 -9
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +12 -33
- package/components/Modal/Modal.md +3 -1
- package/components/Modal/Modal.styles/Modal.styles.js +40 -31
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +4 -1
- package/components/Modal/ModalBody/ModalBody.js +1 -1
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalBody.d.ts +2 -4
- package/components/Modal/ModalClose/ModalClose.js +3 -1
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Modal/ModalContext/ModalContext.js.map +1 -1
- package/components/Modal/ModalContext.d.ts +2 -0
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalFooter.d.ts +5 -15
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Modal/ModalHeader.d.ts +3 -1
- package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
- package/components/Modal/ModalSeparator.d.ts +1 -0
- package/components/Modal/__creevey__/Modal.creevey.mts +15 -1
- package/components/Modal/__docs__/Modal.mdx +28 -0
- package/components/Modal/__docs__/ModalBody.mdx +15 -0
- package/components/Modal/__docs__/ModalFooter.mdx +15 -0
- package/components/Modal/__docs__/ModalHeader.mdx +15 -0
- package/components/Modal/__docs__/ModalSeparator.mdx +15 -0
- package/components/Modal/locale/types/types.js +0 -1
- package/components/Paging/Paging/Paging.js +4 -0
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +20 -15
- package/components/Paging/Paging.md +3 -2
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
- package/components/Paging/PagingDefaultComponent.d.ts +2 -0
- package/components/Paging/__docs__/Paging.mdx +28 -0
- package/components/Paging/locale/types/types.js +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +32 -10
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +10 -3
- package/components/PasswordInput/PasswordInput.md +3 -2
- package/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
- package/components/PasswordInput/locale/types/types.js +0 -1
- package/components/Radio/Radio/Radio.js +1 -1
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +13 -28
- package/components/Radio/Radio.md +3 -2
- package/components/Radio/__docs__/Radio.mdx +28 -0
- package/components/RadioGroup/RadioGroup/RadioGroup.js +4 -5
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +28 -54
- package/components/RadioGroup/RadioGroup.md +1 -0
- package/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -2
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
- package/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
- package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
- package/components/ResponsiveLayout/types/types.js +0 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +7 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +4 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +23 -29
- package/components/ScrollContainer/ScrollContainer.md +5 -3
- package/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
- package/components/Select/Item/Item.js.map +1 -1
- package/components/Select/Item.d.ts +2 -0
- package/components/Select/Select/Select.js +11 -0
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +54 -38
- package/components/Select/Select.md +7 -6
- package/components/Select/__docs__/Select.mdx +28 -0
- package/components/Select/locale/types/types.js +0 -1
- package/components/SidePage/SidePage/SidePage.js +28 -16
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +17 -38
- package/components/SidePage/SidePage.md +2 -1
- package/components/SidePage/SidePage.styles/SidePage.styles.js +48 -26
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +8 -1
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +6 -2
- package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.d.ts +6 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageFooter.d.ts +4 -9
- package/components/SidePage/SidePageHeader/SidePageHeader.js +13 -5
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +2 -1
- package/components/SidePage/__creevey__/SidePage.creevey.mts +103 -1
- package/components/SidePage/__docs__/SidePage.mdx +28 -0
- package/components/SidePage/__docs__/SidePageBody.mdx +15 -0
- package/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
- package/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
- package/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
- package/components/SidePage/locale/types/types.js +0 -1
- package/components/SingleToast/SingleToast/SingleToast.js +5 -1
- package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +5 -1
- package/components/SingleToast/SingleToast.md +2 -1
- package/components/SingleToast/__docs__/SingleToast.mdx +28 -0
- package/components/Spinner/Spinner/Spinner.js +6 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +15 -20
- package/components/Spinner/Spinner.md +2 -1
- package/components/Spinner/__docs__/Spinner.mdx +28 -0
- package/components/Sticky/Sticky/Sticky.js +5 -0
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +9 -4
- package/components/Sticky/Sticky.md +1 -0
- package/components/Sticky/__docs__/Sticky.mdx +24 -0
- package/components/Switcher/Switcher/Switcher.js +16 -6
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +18 -7
- package/components/Switcher/Switcher.md +6 -2
- package/components/Switcher/Switcher.styles/Switcher.styles.js +4 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -0
- package/components/Switcher/__docs__/Switcher.mdx +28 -0
- package/components/Tabs/Tab/Tab.js +1 -1
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +12 -31
- package/components/Tabs/Tab.md +2 -0
- package/components/Tabs/Tabs/Tabs.js +6 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +14 -25
- package/components/Tabs/Tabs.md +3 -2
- package/components/Tabs/__docs__/Tab.mdx +28 -0
- package/components/Tabs/__docs__/Tabs.mdx +28 -0
- package/components/Textarea/Textarea/Textarea.js +3 -4
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +26 -52
- package/components/Textarea/Textarea.md +4 -2
- package/components/Textarea/__docs__/Textarea.mdx +28 -0
- package/components/Toast/Toast/Toast.js +17 -12
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.d.ts +12 -9
- package/components/Toast/Toast.md +4 -4
- package/components/Toast/ToastStatic/ToastStatic.js +5 -5
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/Toast/ToastStatic.d.ts +2 -2
- package/components/Toast/ToastView/ToastView.js +2 -1
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.d.ts +3 -6
- package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/__creevey__/Toast.creevey.mts +23 -0
- package/components/Toast/__docs__/Toast.mdx +28 -0
- package/components/Toast/locale/types/types.js +0 -1
- package/components/Toggle/Toggle/Toggle.js +4 -1
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +25 -48
- package/components/Toggle/Toggle.md +9 -9
- package/components/Toggle/__docs__/Toggle.mdx +28 -0
- package/components/Token/Token/Token.js +6 -0
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +17 -9
- package/components/Token/Token.md +86 -3
- package/components/Token/TokenView/TokenView.js.map +1 -1
- package/components/Token/TokenView.d.ts +3 -0
- package/components/Token/__docs__/Token.mdx +28 -0
- package/components/Token/locale/types/types.js +0 -1
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TextWidthHelper.d.ts +3 -0
- package/components/TokenInput/TokenInput/TokenInput.js +9 -3
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +54 -97
- package/components/TokenInput/TokenInput.md +12 -10
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +5 -5
- package/components/TokenInput/__docs__/TokenInput.mdx +28 -0
- package/components/TokenInput/locale/types/types.js +0 -1
- package/components/Tooltip/Tooltip/Tooltip.js +9 -0
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +28 -68
- package/components/Tooltip/Tooltip.md +5 -0
- package/components/Tooltip/__docs__/Tooltip.mdx +28 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +13 -28
- package/components/TooltipMenu/TooltipMenu.md +13 -10
- package/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
- package/index.d.ts +1 -2
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/internal/CommonWrapper/index/index.js +1 -2
- package/internal/CommonWrapper/index/index.js.map +1 -1
- package/internal/CommonWrapper/types/types.js +0 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -2
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -0
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js +3 -3
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
- package/internal/CustomComboBox/locale/types/types.js +0 -1
- package/internal/DateSelect/locale/types/types.js +0 -1
- package/internal/FileUploaderControl/fileUtils/fileUtils.js +3 -3
- package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +12 -6
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/Popup/types/types.js +0 -1
- package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +0 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js +1 -1
- package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts +1 -0
- package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
- package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
- package/internal/ThemePlayground/constants/constants.js +3 -3
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/index/index.js +1 -2
- package/internal/ZIndex/index/index.js.map +1 -1
- package/internal/themes/BasicLightTheme/BasicLightTheme.js +5 -3338
- package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
- package/internal/themes/BasicLightTheme.d.ts +5 -1198
- package/internal/themes/BasicTheme/BasicTheme.js +3360 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -0
- package/internal/themes/BasicTheme/package.json +6 -0
- package/internal/themes/BasicTheme.d.ts +1217 -0
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +409 -0
- package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +1 -0
- package/internal/themes/DarkTheme5_0/package.json +6 -0
- package/internal/themes/DarkTheme5_0.d.ts +1 -0
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +52 -0
- package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +1 -0
- package/internal/themes/DarkTheme5_1/package.json +6 -0
- package/internal/themes/DarkTheme5_1.d.ts +1 -0
- package/internal/themes/LightTheme5_0/LightTheme5_0.js +14 -0
- package/internal/themes/LightTheme5_0/LightTheme5_0.js.map +1 -0
- package/internal/themes/LightTheme5_0/package.json +6 -0
- package/internal/themes/LightTheme5_0.d.ts +1 -0
- package/internal/themes/LightTheme5_1/LightTheme5_1.js +52 -0
- package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +1 -0
- package/internal/themes/LightTheme5_1/package.json +6 -0
- package/internal/themes/LightTheme5_1.d.ts +1 -0
- package/lib/ModalStack/ModalStack.js +8 -8
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/ModalStack.d.ts +1 -0
- package/lib/date/types/types.js +18 -18
- package/lib/date/types/types.js.map +1 -1
- package/lib/events/MouseDrag/MouseDrag.js +3 -3
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js +3 -3
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
- package/lib/locale/types/types.js +3 -3
- package/lib/locale/types/types.js.map +1 -1
- package/lib/theming/Theme/Theme.js +2 -1
- package/lib/theming/Theme/Theme.js.map +1 -1
- package/lib/theming/Theme.d.ts +4 -3
- package/lib/theming/ThemeContext/ThemeContext.js +2 -2
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeContext.d.ts +1 -1
- package/lib/theming/ThemeFactory/ThemeFactory.js +21 -7
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeFactory.d.ts +9 -0
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +85 -18
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeHelpers.d.ts +55 -8
- package/lib/theming/ThemeVersions/ThemeVersions.js +50 -0
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -0
- package/lib/theming/ThemeVersions/package.json +6 -0
- package/lib/theming/ThemeVersions.d.ts +25 -0
- package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -4
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js +5 -4
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +3 -1
- package/lib/theming/themes/LightThemeMobile.d.ts +1 -1
- package/lib/theming/useTheme.d.ts +1 -1
- package/lib/types/button-link/button-link.js +0 -1
- package/lib/types/polymorphic-component/polymorphic-component.js +0 -1
- package/lib/types/props/props.js +0 -1
- package/package.json +9 -5
- package/cjs/internal/themes/BasicDarkTheme.d.ts +0 -289
- package/cjs/internal/themes/BasicDarkTheme.js +0 -597
- package/cjs/internal/themes/BasicDarkTheme.js.map +0 -1
- package/cjs/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
- package/cjs/lib/theming/themes/DarkTheme2022_0.js +0 -5
- package/cjs/lib/theming/themes/DarkTheme2022_0.js.map +0 -1
- package/cjs/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
- package/cjs/lib/theming/themes/LightTheme2022_0.js +0 -5
- package/cjs/lib/theming/themes/LightTheme2022_0.js.map +0 -1
- package/internal/themes/BasicDarkTheme/BasicDarkTheme.js +0 -641
- package/internal/themes/BasicDarkTheme/BasicDarkTheme.js.map +0 -1
- package/internal/themes/BasicDarkTheme/package.json +0 -6
- package/internal/themes/BasicDarkTheme.d.ts +0 -289
- package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js +0 -3
- package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js.map +0 -1
- package/lib/theming/themes/DarkTheme2022_0/package.json +0 -6
- package/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
- package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js +0 -3
- package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js.map +0 -1
- package/lib/theming/themes/LightTheme2022_0/package.json +0 -6
- package/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","CustomComboBox","rootNode","createPropsGetter","ComboBox","_class","_ComboBox","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","_inheritsLoose","_proto","prototype","focus","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","createElement","_extends","size","props","ref","Component","__KONTUR_REACT_UI__","displayName","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow"],"sources":["ComboBox.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\n\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuItemState } from '../MenuItem';\nimport { InputIconType } from '../Input';\nimport { CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\n\nexport interface ComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n /**\n * Вызывает функцию поиска `getItems` при фокусе и очистке поля ввода\n * @default true\n */\n searchOnFocus?: boolean;\n /**\n * Рисует справа иконку в виде стрелки\n * @default true\n */\n drawArrow?: boolean;\n\n autoFocus?: boolean;\n\n borderless?: boolean;\n\n /**\n * Не использовать Portal для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15\n * @default false\n */\n disablePortal?: boolean;\n\n disabled?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n leftIcon?: InputIconType;\n\n rightIcon?: InputIconType;\n\n /**\n * Функция поиска элементов, должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n *\n * Элементы могут быть любого типа. В этом случае необходимо определить\n * свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`\n */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /**\n * Необходим для сравнения полученных результатов с `value`\n * @default item => item.label\n */\n itemToValue?: (item: T) => string | number;\n\n maxLength?: number;\n\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n onFocus?: () => void;\n\n /**\n * Вызывается при изменении текста в поле ввода,\n * если результатом функции будет строка,\n * то она станет следующим состоянием полем ввода\n */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /**\n * Функция для обработки ситуации, когда была введена\n * строка в инпут и был потерян фокус с элемента.\n *\n * Если при потере фокуса в выпадающем списке будет только один\n * элемент и результат `renderValue` с этим элементом будет\n * совпадать со значение в текстовом поле, то\n * сработает onValueChange со значением данного элемента\n *\n * Сама функция также может вернуть значение,\n * неравное `undefined`,\n * с которым будет вызван onValueChange.\n */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n placeholder?: string;\n\n /**\n * Функция отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /**\n * Компонент, заменяющий собой обёртку элементов результата поиска.\n *\n * По умолчанию все элементы результата поиска оборачиваются в тег `<button />`.\n *\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType;\n\n /**\n * Функция для отрисовки сообщения о пустом результате поиска\n * Если есть renderAddButton - не работает\n */\n renderNotFound?: () => React.ReactNode;\n\n /**\n * Функция отображающая сообщение об общем количестве элементов.\n * `found` учитывает только компонент `MenuItem`. Им \"оборачиваются\" элементы, возвращаемые `getItems()`.\n */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /**\n * Функция отрисовки выбранного значения\n * @default item => item.label\n */\n renderValue?: (item: T) => React.ReactNode;\n\n /**\n * Функция отрисовки кнопки добавления в выпадающем списке\n */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /**\n * Общее количество элементов.\n * Необходим для работы `renderTotalCount`\n */\n totalCount?: number;\n\n /**\n * Выбранное значение\n * Ожидается, что `value` того же типа что и элементы в массиве,\n * возвращаемом в `getItems`\n */\n value?: Nullable<T>;\n\n /**\n * Необходим для преобразования `value` в строку при фокусировке\n * @default item => item.label\n */\n valueToString?: (item: T) => string;\n\n size?: SizeProp;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n width?: string | number;\n\n maxMenuHeight?: number | string;\n\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n onMouseOver?: (e: React.MouseEvent) => void;\n\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n 'itemToValue' | 'valueToString' | 'renderValue' | 'renderItem' | 'menuAlign' | 'searchOnFocus' | 'drawArrow'\n >\n>;\n\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n public static displayName = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.comboboxElement) {\n this.comboboxElement.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render() {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"],"mappings":"sJAAA,OAAOA,KAAK,MAA0C,OAAO;;AAE7D,SAASC,cAAc,QAAQ,+BAA+B;;;;;AAK9D,SAASC,QAAQ,QAAsB,oBAAoB;AAC3D,SAASC,iBAAiB,QAAQ,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkM/D;AACaC,QAAQ,GADpBF,QAAQ,CAAAG,MAAA,IAAAC,SAAA,0BAAAC,gBAAA,YAAAH,SAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;IAeCU,QAAQ,GAAGf,iBAAiB,CAACC,QAAQ,CAACe,YAAY,CAAC,CAAAX,KAAA;;IAEnDY,eAAe,GAAgC,IAAI,CAAAZ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqFnDa,iBAAiB,GAAG,UAACC,OAAoC,EAAK;MACpEd,KAAA,CAAKe,WAAW,CAACD,OAAO,CAAC;MACzBd,KAAA,CAAKY,eAAe,GAAGE,OAAO;IAChC,CAAC,QAAAd,KAAA,EAAAgB,cAAA,CAAApB,QAAA,EAAAG,gBAAA,MAAAkB,MAAA,GAAArB,QAAA,CAAAsB,SAAA,EArFD;AACF;AACA,KAFED,MAAA,CAGOE,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,IAAI,CAACP,eAAe,EAAE,CACxB,IAAI,CAACA,eAAe,CAACO,KAAK,CAAC,CAAC,CAC9B,CACF,CAAC,CAED;AACF;AACA,KAFE,CAAAF,MAAA,CAGOG,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAI,IAAI,CAACR,eAAe,EAAE,CACxB,IAAI,CAACA,eAAe,CAACQ,IAAI,CAAC,CAAC,CAC7B,CACF,CAAC,CAED;AACF;AACA;AACA;AACA;AACA;AACA,KANE,CAAAH,MAAA,CAOOI,MAAM,GAAb,SAAAA,OAAcC,KAAc,EAAE,CAC5B,IAAI,IAAI,CAACV,eAAe,EAAE,CACxB,IAAI,CAACA,eAAe,CAACS,MAAM,CAACC,KAAK,CAAC,CACpC,CACF,CAAC,CAED;AACF;AACA,KAFE,CAAAL,MAAA,CAGOM,YAAY,GAAnB,SAAAA,aAAA,EAAsB,CACpB,IAAI,IAAI,CAACX,eAAe,EAAE,CACxB,IAAI,CAACA,eAAe,CAACW,YAAY,CAAC,CAAC,CACrC,CACF,CAAC,CAED;AACF;AACA,KAFE,CAAAN,MAAA,CAGOO,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAI,IAAI,CAACZ,eAAe,EAAE,CACxB,IAAI,CAACA,eAAe,CAACY,IAAI,CAAC,CAAC,CAC7B,CACF,CAAC,CAED;AACF;AACA,KAFE,CAAAP,MAAA,CAGOQ,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,IAAI,CAACb,eAAe,EAAE,CACxB,IAAI,CAACA,eAAe,CAACa,KAAK,CAAC,CAAC,CAC9B,CACF,CAAC,CAED;AACF;AACA;AACA,KAHE,CAAAR,MAAA,CAIOS,eAAe,GAAtB,SAAAA,gBAAA,EAAyB,CACvB,IAAI,IAAI,CAACd,eAAe,EAAE,CACxB,IAAI,CAACA,eAAe,CAACc,eAAe,CAAC,CAAC,CACxC,CACF,CAAC,CAED;AACF;AACA;AACA,KAHE,CAAAT,MAAA,CAIOU,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,IAAI,CAACf,eAAe,EAAE,CACxB,IAAI,CAACA,eAAe,CAACe,KAAK,CAAC,CAAC,CAC9B,CACF,CAAC,CAAAV,MAAA,CAEMW,MAAM,GAAb,SAAAA,OAAA,EAAgB,CACd,oBAAOpC,KAAA,CAAAqC,aAAA,CAACpC,cAAc,EAAAqC,QAAA,KAAK,IAAI,CAACpB,QAAQ,CAAC,CAAC,IAAEqB,IAAI,EAAE,IAAI,CAACC,KAAK,CAACD,IAAK,EAACE,GAAG,EAAE,IAAI,CAACpB,iBAAkB,GAAE,CAAC,CACpG,CAAC,QAAAjB,QAAA,GAnG6CJ,KAAK,CAAC0C,SAAS,GAAApC,SAAA,CAC/CqC,mBAAmB,GAAG,UAAU,EAAArC,SAAA,CAChCsC,WAAW,GAAG,UAAU,EAAAtC,SAAA,CAExBa,YAAY,GAAsB,EAC9C0B,WAAW,EAAE,SAAAA,YAACC,IAAkB,UAAKA,IAAI,CAACC,KAAK,IAC/CC,aAAa,EAAE,SAAAA,cAACF,IAAkB,UAAKA,IAAI,CAACG,KAAK,IACjDC,WAAW,EAAE,SAAAA,YAACJ,IAAkB,UAAKA,IAAI,CAACG,KAAK,IAC/CE,UAAU,EAAE,SAAAA,WAACL,IAAkB,UAAKA,IAAI,CAACG,KAAK,IAC9CG,SAAS,EAAE,MAAM,EACjBC,aAAa,EAAE,IAAI,EACnBC,SAAS,EAAE,IAAI,CACjB,CAAC,EAAAhD,SAAA,MAAAD,MAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","CustomComboBox","rootNode","createPropsGetter","ComboBox","_class","_ComboBox","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","_inheritsLoose","_proto","prototype","focus","opts","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","createElement","_extends","size","props","ref","Component","__KONTUR_REACT_UI__","displayName","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow"],"sources":["ComboBox.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\n\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuItemState } from '../MenuItem';\nimport { InputIconType } from '../Input';\nimport { CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\n\nexport interface ComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Задает выравнивание контента. */\n align?: 'left' | 'center' | 'right';\n\n /** Вызывает функцию поиска getItems при фокусе и очистке поля ввода. */\n searchOnFocus?: boolean;\n\n /** Отображает справа иконку в виде стрелки. */\n drawArrow?: boolean;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Убирает обводку. */\n borderless?: boolean;\n\n /** Отключает использование портала для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15 */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Добавляет иконку слева.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Задает функцию поиска элементов, которая должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n * Элементы могут быть любого типа. В этом случае необходимо определить свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`. */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /** Задает функцию сравнения полученных результатов с value. */\n itemToValue?: (item: T) => string | number;\n\n /** Задает максимальную длину инпута. */\n maxLength?: number;\n\n /** Задает текущую позицию выпадающего окна вручную.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает функцию, которая вызывается при потере комбобоксом фокуса. */\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при получении комбобоксом фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода. */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /** Задает функцию для обработки ввода строки в инпут и последующей потерей фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки.\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат valueToString с этим элементом будет совпадать со значение в текстовом поле, то сработает onValueChange со значением данного элемента.\n * Сама функция также может вернуть значение, неравное undefined, с которым будет вызван onValueChange. Если возвращаемое значение будет равно null, то сработает очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает функцию отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n * @param {T} item - элемент из результата поиска.\n * @param {MenuItemState} state? - состояние элемента.\n * @returns {React.ReactNode} React-элемент. */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /** Устанавливает компонент, заменяющий собой обёртку элементов результата поиска.\n * По умолчанию все элементы результата поиска оборачиваются в тег <button />.\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType;\n\n /** Задает функцию, которая отображает сообщение о пустом результате поиска. При renderAddButton не работает. */\n renderNotFound?: () => React.ReactNode;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * @param {number} found - количество элементов по результатам поиска. Учитывает только компонент MenuItem. Им \"оборачиваются\" элементы, возвращаемые getItems().\n * @param {number} total - количество всех элементов. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Задает функцию, которая отображает выбранное значение.\n * @default item => item.label */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке. */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы renderTotalCount. */\n totalCount?: number;\n\n /** Устанавливает выбранное в комбобоксе значение. Тип `value` совпадает с типом элементов в массиве, возвращаемом в `getItems`. */\n value?: Nullable<T>;\n\n /** Задает функцию, которая возвращает строковое представление value. Необходимо при фокусировке. */\n valueToString?: (item: T) => string;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает длину комбобокса. */\n width?: string | number;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n 'itemToValue' | 'valueToString' | 'renderValue' | 'renderItem' | 'menuAlign' | 'searchOnFocus' | 'drawArrow'\n >\n>;\n\n/**\n * `ComboBox` — это поле ввода со списком подсказок.\n *\n * `ComboBox` используют:\n * * для выбора значения из справочника.\n * * для добавления своего значения в справочник.\n *\n * `ComboBox` может работать в двух режимах — обычном и в режиме автокомплита.\n * Основное их отличие в том, что в режиме автокомплита список вариантов появляется только после ввода первого символа или изменении уже введенного значения.\n */\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n public static displayName = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.comboboxElement) {\n this.comboboxElement.focus(opts);\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render() {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,87 +5,68 @@ import { InputIconType } from '../Input';
|
|
|
5
5
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
6
6
|
import { SizeProp } from '../../lib/types/props';
|
|
7
7
|
export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps {
|
|
8
|
+
/** Задает выравнивание контента. */
|
|
8
9
|
align?: 'left' | 'center' | 'right';
|
|
9
|
-
/**
|
|
10
|
-
* Вызывает функцию поиска `getItems` при фокусе и очистке поля ввода
|
|
11
|
-
* @default true
|
|
12
|
-
*/
|
|
10
|
+
/** Вызывает функцию поиска getItems при фокусе и очистке поля ввода. */
|
|
13
11
|
searchOnFocus?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Рисует справа иконку в виде стрелки
|
|
16
|
-
* @default true
|
|
17
|
-
*/
|
|
12
|
+
/** Отображает справа иконку в виде стрелки. */
|
|
18
13
|
drawArrow?: boolean;
|
|
14
|
+
/** Устанавливает фокус на контроле после окончания загрузки страницы. */
|
|
19
15
|
autoFocus?: boolean;
|
|
16
|
+
/** Убирает обводку. */
|
|
20
17
|
borderless?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
*
|
|
23
|
-
* См. https://github.com/skbkontur/retail-ui/issues/15
|
|
24
|
-
* @default false
|
|
25
|
-
*/
|
|
18
|
+
/** Отключает использование портала для рендеринга меню.
|
|
19
|
+
* См. https://github.com/skbkontur/retail-ui/issues/15 */
|
|
26
20
|
disablePortal?: boolean;
|
|
21
|
+
/** Делает компонент недоступным. */
|
|
27
22
|
disabled?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Состояние валидации при ошибке.
|
|
30
|
-
*/
|
|
23
|
+
/** Переводит контрол в состояние валидации "ошибка". */
|
|
31
24
|
error?: boolean;
|
|
25
|
+
/** Добавляет иконку слева.
|
|
26
|
+
При использовании `ReactNode` применяются дефолтные стили для иконки.
|
|
27
|
+
При использовании `() => ReactNode` применяются только стили для позиционирования. */
|
|
32
28
|
leftIcon?: InputIconType;
|
|
29
|
+
/** Добавляет иконку справа.
|
|
30
|
+
При использовании `ReactNode` применяются дефолтные стили для иконки.
|
|
31
|
+
При использовании `() => ReactNode` применяются только стили для позиционирования. */
|
|
33
32
|
rightIcon?: InputIconType;
|
|
34
|
-
/**
|
|
35
|
-
* Функция поиска элементов, должна возвращать Promise с массивом элементов.
|
|
33
|
+
/** Задает функцию поиска элементов, которая должна возвращать Promise с массивом элементов.
|
|
36
34
|
* По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.
|
|
37
|
-
*
|
|
38
|
-
* Элементы могут быть любого типа. В этом случае необходимо определить
|
|
39
|
-
* свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`
|
|
40
|
-
*/
|
|
35
|
+
* Элементы могут быть любого типа. В этом случае необходимо определить свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`. */
|
|
41
36
|
getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;
|
|
42
|
-
/**
|
|
43
|
-
* Необходим для сравнения полученных результатов с `value`
|
|
44
|
-
* @default item => item.label
|
|
45
|
-
*/
|
|
37
|
+
/** Задает функцию сравнения полученных результатов с value. */
|
|
46
38
|
itemToValue?: (item: T) => string | number;
|
|
39
|
+
/** Задает максимальную длину инпута. */
|
|
47
40
|
maxLength?: number;
|
|
48
|
-
/**
|
|
49
|
-
* Позволяет вручную задать текущую позицию выпадающего окна
|
|
41
|
+
/** Задает текущую позицию выпадающего окна вручную.
|
|
50
42
|
*/
|
|
51
43
|
menuPos?: 'top' | 'bottom';
|
|
44
|
+
/** Задает выравнивание выпадающего меню. */
|
|
52
45
|
menuAlign?: 'left' | 'right';
|
|
46
|
+
/** Задает функцию, которая вызывается при потере комбобоксом фокуса. */
|
|
53
47
|
onBlur?: () => void;
|
|
54
48
|
/** Вызывается при изменении `value` */
|
|
55
49
|
onValueChange?: (value: T) => void;
|
|
50
|
+
/** Задает функцию, которая вызывается при получении комбобоксом фокуса. */
|
|
56
51
|
onFocus?: () => void;
|
|
57
|
-
/**
|
|
58
|
-
* Вызывается при изменении текста в поле ввода,
|
|
59
|
-
* если результатом функции будет строка,
|
|
60
|
-
* то она станет следующим состоянием полем ввода
|
|
61
|
-
*/
|
|
52
|
+
/** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода. */
|
|
62
53
|
onInputValueChange?: (value: string) => Nullable<string> | void;
|
|
63
|
-
/**
|
|
64
|
-
* Функция
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* Если при потере фокуса в выпадающем списке будет только один
|
|
68
|
-
* элемент и результат `renderValue` с этим элементом будет
|
|
69
|
-
* совпадать со значение в текстовом поле, то
|
|
70
|
-
* сработает onValueChange со значением данного элемента
|
|
71
|
-
*
|
|
72
|
-
* Сама функция также может вернуть значение,
|
|
73
|
-
* неравное `undefined`,
|
|
74
|
-
* с которым будет вызван onValueChange.
|
|
75
|
-
*/
|
|
54
|
+
/** Задает функцию для обработки ввода строки в инпут и последующей потерей фокуса компонентом.
|
|
55
|
+
* Функция срабатывает с аргументом инпута строки.
|
|
56
|
+
* Если при потере фокуса в выпадающем списке будет только один элемент и результат valueToString с этим элементом будет совпадать со значение в текстовом поле, то сработает onValueChange со значением данного элемента.
|
|
57
|
+
* Сама функция также может вернуть значение, неравное undefined, с которым будет вызван onValueChange. Если возвращаемое значение будет равно null, то сработает очистка текущего значения инпута, а в режиме редактирования токен будет удален. */
|
|
76
58
|
onUnexpectedInput?: (value: string) => void | null | T;
|
|
59
|
+
/** Задает текст, который отображается если не введено никакое значение. */
|
|
77
60
|
placeholder?: string;
|
|
78
|
-
/**
|
|
79
|
-
* Функция отрисовки элементов результата поиска.
|
|
61
|
+
/** Задает функцию отрисовки элементов результата поиска.
|
|
80
62
|
* Не применяется если элемент является функцией или React-элементом
|
|
81
63
|
* @default item => item.label
|
|
82
|
-
|
|
64
|
+
* @param {T} item - элемент из результата поиска.
|
|
65
|
+
* @param {MenuItemState} state? - состояние элемента.
|
|
66
|
+
* @returns {React.ReactNode} React-элемент. */
|
|
83
67
|
renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;
|
|
84
|
-
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* По умолчанию все элементы результата поиска оборачиваются в тег `<button />`.
|
|
88
|
-
*
|
|
68
|
+
/** Устанавливает компонент, заменяющий собой обёртку элементов результата поиска.
|
|
69
|
+
* По умолчанию все элементы результата поиска оборачиваются в тег <button />.
|
|
89
70
|
* @example
|
|
90
71
|
* itemWrapper={(item) => {
|
|
91
72
|
* if (item.value === 3) {
|
|
@@ -96,52 +77,40 @@ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby
|
|
|
96
77
|
* }}
|
|
97
78
|
*/
|
|
98
79
|
itemWrapper?: (item: T) => React.ComponentType;
|
|
99
|
-
/**
|
|
100
|
-
* Функция для отрисовки сообщения о пустом результате поиска
|
|
101
|
-
* Если есть renderAddButton - не работает
|
|
102
|
-
*/
|
|
80
|
+
/** Задает функцию, которая отображает сообщение о пустом результате поиска. При renderAddButton не работает. */
|
|
103
81
|
renderNotFound?: () => React.ReactNode;
|
|
104
|
-
/**
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*/
|
|
82
|
+
/** Задает функцию, которая отображает сообщение об общем количестве элементов.
|
|
83
|
+
* @param {number} found - количество элементов по результатам поиска. Учитывает только компонент MenuItem. Им "оборачиваются" элементы, возвращаемые getItems().
|
|
84
|
+
* @param {number} total - количество всех элементов. */
|
|
108
85
|
renderTotalCount?: (found: number, total: number) => React.ReactNode;
|
|
109
|
-
/**
|
|
110
|
-
*
|
|
111
|
-
* @default item => item.label
|
|
112
|
-
*/
|
|
86
|
+
/** Задает функцию, которая отображает выбранное значение.
|
|
87
|
+
* @default item => item.label */
|
|
113
88
|
renderValue?: (item: T) => React.ReactNode;
|
|
114
|
-
/**
|
|
115
|
-
* Функция отрисовки кнопки добавления в выпадающем списке
|
|
116
|
-
*/
|
|
89
|
+
/** Задает функцию отрисовки кнопки добавления в выпадающем списке. */
|
|
117
90
|
renderAddButton?: (query?: string) => React.ReactNode;
|
|
118
|
-
/**
|
|
119
|
-
* Общее количество элементов.
|
|
120
|
-
* Необходим для работы `renderTotalCount`
|
|
121
|
-
*/
|
|
91
|
+
/** Определяет общее количество элементов. Необходим для работы renderTotalCount. */
|
|
122
92
|
totalCount?: number;
|
|
123
|
-
/**
|
|
124
|
-
* Выбранное значение
|
|
125
|
-
* Ожидается, что `value` того же типа что и элементы в массиве,
|
|
126
|
-
* возвращаемом в `getItems`
|
|
127
|
-
*/
|
|
93
|
+
/** Устанавливает выбранное в комбобоксе значение. Тип `value` совпадает с типом элементов в массиве, возвращаемом в `getItems`. */
|
|
128
94
|
value?: Nullable<T>;
|
|
129
|
-
/**
|
|
130
|
-
* Необходим для преобразования `value` в строку при фокусировке
|
|
131
|
-
* @default item => item.label
|
|
132
|
-
*/
|
|
95
|
+
/** Задает функцию, которая возвращает строковое представление value. Необходимо при фокусировке. */
|
|
133
96
|
valueToString?: (item: T) => string;
|
|
97
|
+
/** Задает размер компонента. */
|
|
134
98
|
size?: SizeProp;
|
|
135
|
-
/**
|
|
136
|
-
* Состояние валидации при предупреждении.
|
|
137
|
-
*/
|
|
99
|
+
/** Переводит контрол в состояние валидации "предупреждение". */
|
|
138
100
|
warning?: boolean;
|
|
101
|
+
/** Задает длину комбобокса. */
|
|
139
102
|
width?: string | number;
|
|
103
|
+
/** Задает максимальную высоту меню. */
|
|
140
104
|
maxMenuHeight?: number | string;
|
|
105
|
+
/** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */
|
|
141
106
|
onMouseEnter?: (e: React.MouseEvent) => void;
|
|
107
|
+
/** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */
|
|
142
108
|
onMouseOver?: (e: React.MouseEvent) => void;
|
|
109
|
+
/** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */
|
|
143
110
|
onMouseLeave?: (e: React.MouseEvent) => void;
|
|
111
|
+
/** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */
|
|
144
112
|
onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
|
|
113
|
+
/** Задает типы вводимых данных. */
|
|
145
114
|
inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
|
|
146
115
|
}
|
|
147
116
|
export interface ComboBoxItem {
|
|
@@ -150,6 +119,16 @@ export interface ComboBoxItem {
|
|
|
150
119
|
}
|
|
151
120
|
export type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;
|
|
152
121
|
type DefaultProps<T> = Required<Pick<ComboBoxProps<T>, 'itemToValue' | 'valueToString' | 'renderValue' | 'renderItem' | 'menuAlign' | 'searchOnFocus' | 'drawArrow'>>;
|
|
122
|
+
/**
|
|
123
|
+
* `ComboBox` — это поле ввода со списком подсказок.
|
|
124
|
+
*
|
|
125
|
+
* `ComboBox` используют:
|
|
126
|
+
* * для выбора значения из справочника.
|
|
127
|
+
* * для добавления своего значения в справочник.
|
|
128
|
+
*
|
|
129
|
+
* `ComboBox` может работать в двух режимах — обычном и в режиме автокомплита.
|
|
130
|
+
* Основное их отличие в том, что в режиме автокомплита список вариантов появляется только после ввода первого символа или изменении уже введенного значения.
|
|
131
|
+
*/
|
|
153
132
|
export declare class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {
|
|
154
133
|
static __KONTUR_REACT_UI__: string;
|
|
155
134
|
static displayName: string;
|
|
@@ -160,7 +139,9 @@ export declare class ComboBox<T = ComboBoxItem> extends React.Component<ComboBox
|
|
|
160
139
|
/**
|
|
161
140
|
* @public
|
|
162
141
|
*/
|
|
163
|
-
focus(
|
|
142
|
+
focus(opts?: {
|
|
143
|
+
withoutOpenDropdown?: boolean;
|
|
144
|
+
}): void;
|
|
164
145
|
/**
|
|
165
146
|
* @public
|
|
166
147
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
### Комбобокс с валидацией
|
|
2
2
|
|
|
3
3
|
```jsx harmony
|
|
4
4
|
import { Tooltip } from '@skbkontur/react-ui';
|
|
@@ -49,6 +49,7 @@ let handleFocus = () => setError(false);
|
|
|
49
49
|
</Tooltip>;
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
+
### Очистка комбобокса
|
|
52
53
|
Очистить значение в `ComboBox`'е можно с помощью пустой строки, `null` или `undefined`
|
|
53
54
|
```jsx harmony
|
|
54
55
|
import { Group, ComboBox, Button } from '@skbkontur/react-ui';
|
|
@@ -81,11 +82,11 @@ const getItems = q => {
|
|
|
81
82
|
</Group>
|
|
82
83
|
```
|
|
83
84
|
|
|
84
|
-
ComboBox with popular values, complex menu items and total count message
|
|
85
|
+
### ComboBox with popular values, complex menu items and total count message
|
|
85
86
|
|
|
86
87
|
```jsx harmony
|
|
87
|
-
import { getCities } from '
|
|
88
|
-
import { Gapped,
|
|
88
|
+
import { getCities } from '@skbkontur/react-ui/components/ComboBox/__mocks__/getCities';
|
|
89
|
+
import { Gapped, MenuSeparator } from '@skbkontur/react-ui';
|
|
89
90
|
import {MenuFooter} from "@skbkontur/react-ui/components/MenuFooter";
|
|
90
91
|
|
|
91
92
|
let popularItems = [
|
|
@@ -148,7 +149,7 @@ let renderItem = item => (
|
|
|
148
149
|
/>;
|
|
149
150
|
```
|
|
150
151
|
|
|
151
|
-
Переопределение `renderValue`, `renderItem` и `itemWrapper
|
|
152
|
+
### Переопределение `renderValue`, `renderItem` и `itemWrapper`
|
|
152
153
|
|
|
153
154
|
```jsx harmony
|
|
154
155
|
import OkIcon from '@skbkontur/react-icons/Ok';
|
|
@@ -279,7 +280,7 @@ const customRenderValue = item => (
|
|
|
279
280
|
</Tooltip>;
|
|
280
281
|
```
|
|
281
282
|
|
|
282
|
-
|
|
283
|
+
### Подсветка результата поиска
|
|
283
284
|
|
|
284
285
|
```jsx harmony
|
|
285
286
|
import { Tooltip } from '@skbkontur/react-ui';
|
|
@@ -359,7 +360,7 @@ const renderItem = item => {
|
|
|
359
360
|
</Tooltip>;
|
|
360
361
|
```
|
|
361
362
|
|
|
362
|
-
Добавление элементов в меню
|
|
363
|
+
### Добавление элементов в меню
|
|
363
364
|
|
|
364
365
|
```jsx harmony
|
|
365
366
|
import { MenuItem } from '@skbkontur/react-ui';
|
|
@@ -466,48 +467,48 @@ class ComboboxExample extends React.Component {
|
|
|
466
467
|
<ComboboxExample />;
|
|
467
468
|
```
|
|
468
469
|
|
|
469
|
-
|
|
470
|
+
### Сброс контрола
|
|
470
471
|
Если нужно сбросить контрол без изменения `value`, то можно использовать метод `reset`.
|
|
471
472
|
|
|
472
473
|
```jsx harmony
|
|
473
474
|
import { Button } from '@skbkontur/react-ui';
|
|
474
475
|
|
|
475
|
-
|
|
476
|
-
|
|
476
|
+
const [selected, setSelected] = React.useState({ value: 1, label: "First" });
|
|
477
|
+
const ref = React.useRef(null);
|
|
477
478
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
const getItems = (q) =>
|
|
485
|
-
Promise.resolve(
|
|
486
|
-
[
|
|
487
|
-
{ value: 1, label: "First" },
|
|
488
|
-
{ value: 2, label: "Second" },
|
|
489
|
-
{ value: 3, label: "Third" }
|
|
490
|
-
].filter(
|
|
491
|
-
(x) =>
|
|
492
|
-
x.label.toLowerCase().includes(q.toLowerCase()) ||
|
|
493
|
-
x.value.toString(10) === q
|
|
494
|
-
)
|
|
495
|
-
);
|
|
479
|
+
const handleReset = () => {
|
|
480
|
+
if (ref.current) {
|
|
481
|
+
ref.current.reset();
|
|
482
|
+
}
|
|
483
|
+
};
|
|
496
484
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
485
|
+
const getItems = (q) =>
|
|
486
|
+
Promise.resolve(
|
|
487
|
+
[
|
|
488
|
+
{ value: 1, label: "First" },
|
|
489
|
+
{ value: 2, label: "Second" },
|
|
490
|
+
{ value: 3, label: "Third" }
|
|
491
|
+
].filter(
|
|
492
|
+
(x) =>
|
|
493
|
+
x.label.toLowerCase().includes(q.toLowerCase()) ||
|
|
494
|
+
x.value.toString(10) === q
|
|
495
|
+
)
|
|
496
|
+
);
|
|
497
|
+
|
|
498
|
+
<div>
|
|
499
|
+
<ComboBox
|
|
500
|
+
ref={ref}
|
|
501
|
+
getItems={getItems}
|
|
502
|
+
onValueChange={setSelected}
|
|
503
|
+
placeholder="Enter number"
|
|
504
|
+
value={selected}
|
|
505
|
+
/>
|
|
506
|
+
<Button onClick={handleReset}>Reset</Button>
|
|
507
|
+
</div>
|
|
507
508
|
|
|
508
509
|
```
|
|
509
510
|
|
|
510
|
-
|
|
511
|
+
### Локали по умолчанию
|
|
511
512
|
|
|
512
513
|
```typescript static
|
|
513
514
|
interface ComboBoxLocale {
|
|
@@ -529,7 +530,7 @@ const en_GB = {
|
|
|
529
530
|
};
|
|
530
531
|
```
|
|
531
532
|
|
|
532
|
-
|
|
533
|
+
### Размер
|
|
533
534
|
```jsx harmony
|
|
534
535
|
import { Gapped } from '@skbkontur/react-ui';
|
|
535
536
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as ComboBoxStories from './ComboBox.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={ComboBoxStories} />
|
|
6
|
+
|
|
7
|
+
# ComboBox
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/combobox/)
|
|
10
|
+
|
|
11
|
+
[Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A1602)
|
|
12
|
+
|
|
13
|
+
<Description />
|
|
14
|
+
|
|
15
|
+
## Базовый пример
|
|
16
|
+
|
|
17
|
+
<Primary />
|
|
18
|
+
|
|
19
|
+
## Пропы
|
|
20
|
+
|
|
21
|
+
<details>
|
|
22
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
23
|
+
<ArgTypes />
|
|
24
|
+
</details>
|
|
25
|
+
|
|
26
|
+
## Примеры использования
|
|
27
|
+
|
|
28
|
+
<Stories title="" includePrimary={false} />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isNonNullable","isNullable","isSafari","MAX_ALLOWED_CHARS","MAX_SAFE_DIGITS","MINUS_SIGN","SPACE","THIN_SPACE","CurrencyHelper","getOptions","options","_extends","defaultOptions","getInfo","value","raw","unformatString","formatted","formatString","cursorMap","getCursorMap","formattingOptions","regexp","RegExp","thousandsDelimiter","index","length","cursor","skip","ignoredSymbol","exec","format","toDecimalString","parse","cleaned","destructed","destructString","result","sign","integer","delimiter","fraction","parseFloat","replace","formatForClipboard","unformattedValue","fractionDigits","hideTrailingZeros","parts","blockSize","start","i","push","substring","Math","max","join","padEnd","min","minusSign","isValidString","unsigned","integerDigits","extractValid","match","token","substr","_match$","_match$2","_match$3","_match$4","_match$5","exponent","_CurrencyHelper","number","toString","includes","toExponential","_destructed$sign","intExponent","parseInt","repeat"],"sources":["CurrencyHelper.tsx"],"sourcesContent":["import { isNonNullable, isNullable } from '../../lib/utils';\nimport { Nullable } from '../../typings/utility-types';\nimport { isSafari } from '../../lib/client';\n\nimport { DecimalOptions } from './CurrencyInputHelper';\nimport { CursorMap } from './CursorHelper';\nimport { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS, MINUS_SIGN, SPACE, THIN_SPACE } from './constants';\n\nexport interface DecimalFormattingOptions {\n fractionDigits?: Nullable<number>;\n hideTrailingZeros?: boolean;\n thousandsDelimiter?: string;\n minusSign?: string;\n}\n\ntype DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;\n\nexport interface FormattingInfo {\n raw: string;\n formatted: string;\n cursorMap: CursorMap;\n}\n\nexport class CurrencyHelper {\n public static defaultOptions: DecimalFormattingOptionsInternal = {\n fractionDigits: null,\n hideTrailingZeros: false,\n thousandsDelimiter: isSafari ? SPACE : THIN_SPACE,\n minusSign: MINUS_SIGN,\n };\n\n public static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal {\n return { ...CurrencyHelper.defaultOptions, ...options };\n }\n\n public static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo {\n const raw = CurrencyHelper.unformatString(value);\n const formatted = CurrencyHelper.formatString(value, options);\n const cursorMap = CurrencyHelper.getCursorMap(formatted, options);\n\n return { raw, formatted, cursorMap };\n }\n\n public static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap {\n const options = CurrencyHelper.getOptions(formattingOptions);\n const regexp = new RegExp(options.thousandsDelimiter);\n const cursorMap: CursorMap = [];\n\n let index = formatted.length;\n let cursor = formatted.length;\n let skip = 0;\n\n while (index >= 0) {\n cursorMap[index] = cursor;\n\n const ignoredSymbol = regexp.exec(formatted[index - 1]);\n if (ignoredSymbol) {\n ++skip;\n } else {\n cursor = cursor - skip - 1;\n skip = 0;\n }\n --index;\n }\n return cursorMap;\n }\n\n public static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string {\n if (isNullable(value)) {\n return '';\n }\n return CurrencyHelper.formatString(this.toDecimalString(value), options);\n }\n\n public static parse(value: string): Nullable<number> {\n const cleaned = CurrencyHelper.unformatString(value);\n if (!cleaned) {\n return null;\n }\n\n const destructed = CurrencyHelper.destructString(cleaned);\n if (!destructed) {\n return null;\n }\n\n const result =\n destructed.sign + (destructed.integer || '0') + (destructed.delimiter || '.') + (destructed.fraction || '0');\n\n return parseFloat(result);\n }\n\n public static unformatString(value: string): string {\n return value\n .replace(/\\s/g, '')\n .replace(',', '.')\n .replace(/[\\u2212\\u002D\\uFE63\\uFF0D\\u2012\\u2013\\u2014\\u2015]/g, '-');\n }\n\n public static formatForClipboard(value: string): string {\n return CurrencyHelper.unformatString(value).replace('.', ',');\n }\n\n public static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string {\n const unformattedValue = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(unformattedValue) || {\n sign: '',\n integer: '',\n delimiter: '',\n fraction: '',\n };\n\n const { sign, integer, delimiter } = destructed;\n let fraction = destructed.fraction;\n let fractionDigits = fraction.length;\n\n const options = CurrencyHelper.getOptions(formattingOptions);\n if (options.hideTrailingZeros) {\n fraction = fraction.replace(/0+$/, '');\n fractionDigits = fraction.length;\n } else if (options.fractionDigits !== null) {\n fractionDigits = options.fractionDigits;\n }\n\n const parts = [];\n\n const blockSize = 3;\n const start = ((integer.length - 1) % blockSize) - blockSize + 1;\n for (let i = start; i < integer.length; i += blockSize) {\n parts.push(integer.substring(Math.max(i, 0), i + blockSize));\n }\n\n let result = parts.join(options.thousandsDelimiter);\n\n if (delimiter || fractionDigits) {\n result += ',';\n result += fraction.padEnd(Math.min(fractionDigits, MAX_SAFE_DIGITS), '0');\n }\n\n if (sign) {\n result = options.minusSign + result;\n }\n\n return result;\n }\n\n public static isValidString(value: string, options: DecimalOptions) {\n const unformattedValue = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(unformattedValue);\n\n if (!destructed) {\n return false;\n }\n\n const { sign, integer, delimiter, fraction } = destructed;\n\n if (options.unsigned && sign) {\n return false;\n }\n\n if (options.fractionDigits === 0 && delimiter) {\n return false;\n }\n\n const integerDigits = integer === '0' ? 0 : integer.length;\n const fractionDigits = fraction.length;\n\n if (isNonNullable(options.integerDigits) && integerDigits > options.integerDigits) {\n return false;\n }\n\n if (isNullable(options.integerDigits) && integerDigits > MAX_SAFE_DIGITS - (options.fractionDigits || 0)) {\n return false;\n }\n\n if (isNonNullable(options.fractionDigits) && fractionDigits > options.fractionDigits) {\n return false;\n }\n\n return integerDigits + fractionDigits <= MAX_SAFE_DIGITS;\n }\n\n public static extractValid(value: string, options: DecimalOptions): string {\n const unformattedValue = CurrencyHelper.unformatString(value);\n\n const match = /[-.\\d]+/.exec(unformattedValue);\n\n if (!match) {\n return '';\n }\n\n const token = match[0].substr(0, MAX_ALLOWED_CHARS);\n\n for (let i = token.length; i >= 0; --i) {\n const result = token.substr(0, i);\n if (CurrencyHelper.isValidString(result, options)) {\n return result;\n }\n }\n\n return '';\n }\n\n public static destructString(value: string) {\n const match = /^(-)?(\\d*)?(\\.)?(\\d*)?(e)?([-+]?\\d+)?$/.exec(value);\n if (!match) {\n return null;\n }\n const [, sign = '', integer = '', delimiter = '', fraction = '', , exponent = ''] = match;\n return { sign, integer, delimiter, fraction, exponent };\n }\n\n private static toDecimalString = (number: number) => {\n if (!number.toString().includes('e')) {\n return number.toString();\n }\n const destructed = this.destructString(number.toExponential());\n if (destructed === null) {\n return '';\n }\n const { sign = '', integer, fraction, exponent } = destructed;\n const intExponent = parseInt(exponent || '0');\n if (intExponent > 0) {\n return [sign, integer, fraction, '0'.repeat(intExponent - fraction.length)].join('');\n }\n return [sign, '0.', ' 0'.repeat(-intExponent - 1), integer, fraction].join('');\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isNonNullable","isNullable","isSafari","MAX_ALLOWED_CHARS","MAX_SAFE_DIGITS","MINUS_SIGN","SPACE","THIN_SPACE","CurrencyHelper","getOptions","options","_extends","defaultOptions","getInfo","value","raw","unformatString","formatted","formatString","cursorMap","getCursorMap","formattingOptions","regexp","RegExp","thousandsDelimiter","index","length","cursor","skip","ignoredSymbol","exec","format","toDecimalString","parse","cleaned","destructed","destructString","result","sign","integer","delimiter","fraction","parseFloat","replace","formatForClipboard","unformattedValue","fractionDigits","hideTrailingZeros","parts","blockSize","start","i","push","substring","Math","max","join","padEnd","min","minusSign","isValidString","unsigned","integerDigits","extractValid","match","token","substr","_match$","_match$2","_match$3","_match$4","_match$5","exponent","_CurrencyHelper","number","toString","includes","toExponential","_destructed$sign","intExponent","parseInt","repeat"],"sources":["CurrencyHelper.tsx"],"sourcesContent":["import { isNonNullable, isNullable } from '../../lib/utils';\nimport { Nullable } from '../../typings/utility-types';\nimport { isSafari } from '../../lib/client';\n\nimport { DecimalOptions } from './CurrencyInputHelper';\nimport { CursorMap } from './CursorHelper';\nimport { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS, MINUS_SIGN, SPACE, THIN_SPACE } from './constants';\n\nexport interface DecimalFormattingOptions {\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает разделители для тысячных разрядов. */\n thousandsDelimiter?: string;\n\n /** Устанавливает знак минуса. */\n minusSign?: string;\n}\n\ntype DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;\n\nexport interface FormattingInfo {\n raw: string;\n formatted: string;\n cursorMap: CursorMap;\n}\n\nexport class CurrencyHelper {\n public static defaultOptions: DecimalFormattingOptionsInternal = {\n fractionDigits: null,\n hideTrailingZeros: false,\n thousandsDelimiter: isSafari ? SPACE : THIN_SPACE,\n minusSign: MINUS_SIGN,\n };\n\n public static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal {\n return { ...CurrencyHelper.defaultOptions, ...options };\n }\n\n public static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo {\n const raw = CurrencyHelper.unformatString(value);\n const formatted = CurrencyHelper.formatString(value, options);\n const cursorMap = CurrencyHelper.getCursorMap(formatted, options);\n\n return { raw, formatted, cursorMap };\n }\n\n public static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap {\n const options = CurrencyHelper.getOptions(formattingOptions);\n const regexp = new RegExp(options.thousandsDelimiter);\n const cursorMap: CursorMap = [];\n\n let index = formatted.length;\n let cursor = formatted.length;\n let skip = 0;\n\n while (index >= 0) {\n cursorMap[index] = cursor;\n\n const ignoredSymbol = regexp.exec(formatted[index - 1]);\n if (ignoredSymbol) {\n ++skip;\n } else {\n cursor = cursor - skip - 1;\n skip = 0;\n }\n --index;\n }\n return cursorMap;\n }\n\n public static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string {\n if (isNullable(value)) {\n return '';\n }\n return CurrencyHelper.formatString(this.toDecimalString(value), options);\n }\n\n public static parse(value: string): Nullable<number> {\n const cleaned = CurrencyHelper.unformatString(value);\n if (!cleaned) {\n return null;\n }\n\n const destructed = CurrencyHelper.destructString(cleaned);\n if (!destructed) {\n return null;\n }\n\n const result =\n destructed.sign + (destructed.integer || '0') + (destructed.delimiter || '.') + (destructed.fraction || '0');\n\n return parseFloat(result);\n }\n\n public static unformatString(value: string): string {\n return value\n .replace(/\\s/g, '')\n .replace(',', '.')\n .replace(/[\\u2212\\u002D\\uFE63\\uFF0D\\u2012\\u2013\\u2014\\u2015]/g, '-');\n }\n\n public static formatForClipboard(value: string): string {\n return CurrencyHelper.unformatString(value).replace('.', ',');\n }\n\n public static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string {\n const unformattedValue = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(unformattedValue) || {\n sign: '',\n integer: '',\n delimiter: '',\n fraction: '',\n };\n\n const { sign, integer, delimiter } = destructed;\n let fraction = destructed.fraction;\n let fractionDigits = fraction.length;\n\n const options = CurrencyHelper.getOptions(formattingOptions);\n if (options.hideTrailingZeros) {\n fraction = fraction.replace(/0+$/, '');\n fractionDigits = fraction.length;\n } else if (options.fractionDigits !== null) {\n fractionDigits = options.fractionDigits;\n }\n\n const parts = [];\n\n const blockSize = 3;\n const start = ((integer.length - 1) % blockSize) - blockSize + 1;\n for (let i = start; i < integer.length; i += blockSize) {\n parts.push(integer.substring(Math.max(i, 0), i + blockSize));\n }\n\n let result = parts.join(options.thousandsDelimiter);\n\n if (delimiter || fractionDigits) {\n result += ',';\n result += fraction.padEnd(Math.min(fractionDigits, MAX_SAFE_DIGITS), '0');\n }\n\n if (sign) {\n result = options.minusSign + result;\n }\n\n return result;\n }\n\n public static isValidString(value: string, options: DecimalOptions) {\n const unformattedValue = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(unformattedValue);\n\n if (!destructed) {\n return false;\n }\n\n const { sign, integer, delimiter, fraction } = destructed;\n\n if (options.unsigned && sign) {\n return false;\n }\n\n if (options.fractionDigits === 0 && delimiter) {\n return false;\n }\n\n const integerDigits = integer === '0' ? 0 : integer.length;\n const fractionDigits = fraction.length;\n\n if (isNonNullable(options.integerDigits) && integerDigits > options.integerDigits) {\n return false;\n }\n\n if (isNullable(options.integerDigits) && integerDigits > MAX_SAFE_DIGITS - (options.fractionDigits || 0)) {\n return false;\n }\n\n if (isNonNullable(options.fractionDigits) && fractionDigits > options.fractionDigits) {\n return false;\n }\n\n return integerDigits + fractionDigits <= MAX_SAFE_DIGITS;\n }\n\n public static extractValid(value: string, options: DecimalOptions): string {\n const unformattedValue = CurrencyHelper.unformatString(value);\n\n const match = /[-.\\d]+/.exec(unformattedValue);\n\n if (!match) {\n return '';\n }\n\n const token = match[0].substr(0, MAX_ALLOWED_CHARS);\n\n for (let i = token.length; i >= 0; --i) {\n const result = token.substr(0, i);\n if (CurrencyHelper.isValidString(result, options)) {\n return result;\n }\n }\n\n return '';\n }\n\n public static destructString(value: string) {\n const match = /^(-)?(\\d*)?(\\.)?(\\d*)?(e)?([-+]?\\d+)?$/.exec(value);\n if (!match) {\n return null;\n }\n const [, sign = '', integer = '', delimiter = '', fraction = '', , exponent = ''] = match;\n return { sign, integer, delimiter, fraction, exponent };\n }\n\n private static toDecimalString = (number: number) => {\n if (!number.toString().includes('e')) {\n return number.toString();\n }\n const destructed = this.destructString(number.toExponential());\n if (destructed === null) {\n return '';\n }\n const { sign = '', integer, fraction, exponent } = destructed;\n const intExponent = parseInt(exponent || '0');\n if (intExponent > 0) {\n return [sign, integer, fraction, '0'.repeat(intExponent - fraction.length)].join('');\n }\n return [sign, '0.', ' 0'.repeat(-intExponent - 1), integer, fraction].join('');\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,9 +2,13 @@ import { Nullable } from '../../typings/utility-types';
|
|
|
2
2
|
import { DecimalOptions } from './CurrencyInputHelper';
|
|
3
3
|
import { CursorMap } from './CursorHelper';
|
|
4
4
|
export interface DecimalFormattingOptions {
|
|
5
|
+
/** Устанавливает минимальное количество отображаемых знаков после запятой. */
|
|
5
6
|
fractionDigits?: Nullable<number>;
|
|
7
|
+
/** Убирает лишние нули после запятой. */
|
|
6
8
|
hideTrailingZeros?: boolean;
|
|
9
|
+
/** Устанавливает разделители для тысячных разрядов. */
|
|
7
10
|
thousandsDelimiter?: string;
|
|
11
|
+
/** Устанавливает знак минуса. */
|
|
8
12
|
minusSign?: string;
|
|
9
13
|
}
|
|
10
14
|
type DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;
|
|
@@ -26,11 +26,14 @@ export var CurrencyInputDataTids = {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* `CurrencyInput` — поле для денежных сумм (и других числовых значений).
|
|
30
30
|
* Принимает любые свойства `Input`.
|
|
31
31
|
*
|
|
32
|
+
* Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.
|
|
33
|
+
* Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.
|
|
34
|
+
*
|
|
32
35
|
* Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
|
|
33
|
-
*
|
|
36
|
+
*
|
|
34
37
|
* Если `fractionDigits=15`, то в целой части допускается **0**.
|
|
35
38
|
*/
|
|
36
39
|
export var CurrencyInput = rootNode(_class = (_CurrencyInput = /*#__PURE__*/function (_React$PureComponent) {
|