@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","PropTypes","warning","debounce","globalObject","isNonNullable","isNullable","isIE11","Input","CommonWrapper","rootNode","createPropsGetter","isInstanceOf","FocusControlWrapper","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInputDataTids","root","CurrencyInput","_class","_CurrencyInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","_extends","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","_objectWithoutPropertiesLoose","_excluded","createElement","onBlurWhenDisabled","resetFocus","align","formatted","onBlur","handleBlur","onFocus","handleFocus","onMouseUp","handleMouseUp","onKeyDown","handleKeyDown","onValueChange","handleValueChange","onPaste","handlePaste","onCopy","handleCopy","onCut","handleCut","onMouseEnter","onMouseLeave","onMouseOver","ref","refInput","placeholder","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","persist","selection","getSelection","target","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","_this$input","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","_event$target","selectionStart","selectionEnd","selectionDirection","valueLength","element","_inheritsLoose","_proto","prototype","componentDidMount","_this$props","maxLength","undefined","componentDidUpdate","prevProps","prevState","_this$getProps","isValidNumber","isNumeric","Number","_this$state$selection","setSelectionRange","render","rootNodeRef","setRootNode","format","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","width","oneOfType","func","isRequired","inputMode","_input$selectionStart","_input$selectionEnd","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"sources":["CurrencyInput.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n InputProps,\n {\n /** Значение */\n value?: Nullable<number>;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n /** Кол-во цифр после запятой */\n fractionDigits?: Nullable<number>;\n /** Отрицательные значения */\n signed?: boolean;\n /**\n * Допустимое кол-во цифр целой части.\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\n */\n integerDigits?: Nullable<number>;\n /** Вызывается при изменении `value` */\n onValueChange: (value: Nullable<number>) => void;\n /** onSubmit */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\nexport const CurrencyInputDataTids = {\n root: 'CurrencyInput__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>\n>;\n\n/**\n * Поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n * <br/>\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n public static displayName = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');\n },\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n private getProps = createPropsGetter(CurrencyInput.defaultProps);\n\n public state: CurrencyInputState = {\n ...this.getState(this.getProps().value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n const { maxLength, integerDigits } = this.props;\n const fractionDigits = this.getProps().fractionDigits;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n if (\n (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (isNonNullable(prevProps.value) && isNullable(value)) {\n this.setState({ formatted: '' });\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <Input\n data-tid={CurrencyInputDataTids.root}\n {...rest}\n align={this.getProps().align}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n aria-label={this.props['aria-label']}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : getPlaceholder(props)}\n />\n </FocusControlWrapper>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Comma: {\n this.inputValue(selection.start, selection.end, ',');\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (!node || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.getProps().fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (isNonNullable(delta) && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLength = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLength,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLength,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private resetFocus = () => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n });\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!isInstanceOf(input, globalObject.HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart ?? 0,\n end: input.selectionEnd ?? 0,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nfunction isValidNumber(value: unknown): boolean {\n return !isNaN(Number(value));\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","PropTypes","warning","debounce","globalObject","isNonNullable","isNullable","isIE11","Input","CommonWrapper","rootNode","createPropsGetter","isInstanceOf","FocusControlWrapper","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInputDataTids","root","CurrencyInput","_class","_CurrencyInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","_extends","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","_objectWithoutPropertiesLoose","_excluded","createElement","onBlurWhenDisabled","resetFocus","align","formatted","onBlur","handleBlur","onFocus","handleFocus","onMouseUp","handleMouseUp","onKeyDown","handleKeyDown","onValueChange","handleValueChange","onPaste","handlePaste","onCopy","handleCopy","onCut","handleCut","onMouseEnter","onMouseLeave","onMouseOver","ref","refInput","placeholder","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","persist","selection","getSelection","target","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","_this$input","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","_event$target","selectionStart","selectionEnd","selectionDirection","valueLength","element","_inheritsLoose","_proto","prototype","componentDidMount","_this$props","maxLength","undefined","componentDidUpdate","prevProps","prevState","_this$getProps","isValidNumber","isNumeric","Number","_this$state$selection","setSelectionRange","render","rootNodeRef","setRootNode","format","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","width","oneOfType","func","isRequired","inputMode","_input$selectionStart","_input$selectionEnd","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"sources":["CurrencyInput.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n InputProps,\n {\n /** Задает значение инпута. */\n value?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Разрешает отрицательные значения. */\n signed?: boolean;\n\n /** Задает допустимое количество цифр целой части. Если передан **0**, или fractionDigits=15, то и в целой части допускается только **0**. */\n integerDigits?: Nullable<number>;\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange: (value: Nullable<number>) => void;\n\n /** Задает функцию, которая вызывается при отправке формы. */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\nexport const CurrencyInputDataTids = {\n root: 'CurrencyInput__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>\n>;\n\n/**\n * `CurrencyInput` — поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.\n * Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n *\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n public static displayName = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');\n },\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n private getProps = createPropsGetter(CurrencyInput.defaultProps);\n\n public state: CurrencyInputState = {\n ...this.getState(this.getProps().value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n const { maxLength, integerDigits } = this.props;\n const fractionDigits = this.getProps().fractionDigits;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n if (\n (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (isNonNullable(prevProps.value) && isNullable(value)) {\n this.setState({ formatted: '' });\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <Input\n data-tid={CurrencyInputDataTids.root}\n {...rest}\n align={this.getProps().align}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n aria-label={this.props['aria-label']}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : getPlaceholder(props)}\n />\n </FocusControlWrapper>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Comma: {\n this.inputValue(selection.start, selection.end, ',');\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (!node || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.getProps().fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (isNonNullable(delta) && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLength = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLength,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLength,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private resetFocus = () => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n });\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!isInstanceOf(input, globalObject.HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart ?? 0,\n end: input.selectionEnd ?? 0,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nfunction isValidNumber(value: unknown): boolean {\n return !isNaN(Number(value));\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,22 +5,19 @@ import { Nullable, Override } from '../../typings/utility-types';
|
|
|
5
5
|
import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
|
|
6
6
|
import { Selection } from './SelectionHelper';
|
|
7
7
|
export interface CurrencyInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<InputProps, {
|
|
8
|
-
/**
|
|
8
|
+
/** Задает значение инпута. */
|
|
9
9
|
value?: Nullable<number>;
|
|
10
|
-
/**
|
|
10
|
+
/** Убирает лишние нули после запятой. */
|
|
11
11
|
hideTrailingZeros?: boolean;
|
|
12
|
-
/**
|
|
12
|
+
/** Устанавливает минимальное количество отображаемых знаков после запятой. */
|
|
13
13
|
fractionDigits?: Nullable<number>;
|
|
14
|
-
/**
|
|
14
|
+
/** Разрешает отрицательные значения. */
|
|
15
15
|
signed?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Допустимое кол-во цифр целой части.
|
|
18
|
-
* Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.
|
|
19
|
-
*/
|
|
16
|
+
/** Задает допустимое количество цифр целой части. Если передан **0**, или fractionDigits=15, то и в целой части допускается только **0**. */
|
|
20
17
|
integerDigits?: Nullable<number>;
|
|
21
|
-
/**
|
|
18
|
+
/** Задает функцию, которая вызывается при изменении `value`. */
|
|
22
19
|
onValueChange: (value: Nullable<number>) => void;
|
|
23
|
-
/**
|
|
20
|
+
/** Задает функцию, которая вызывается при отправке формы. */
|
|
24
21
|
onSubmit?: () => void;
|
|
25
22
|
}> {
|
|
26
23
|
}
|
|
@@ -34,11 +31,14 @@ export declare const CurrencyInputDataTids: {
|
|
|
34
31
|
};
|
|
35
32
|
type DefaultProps = Required<Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>>;
|
|
36
33
|
/**
|
|
37
|
-
*
|
|
34
|
+
* `CurrencyInput` — поле для денежных сумм (и других числовых значений).
|
|
38
35
|
* Принимает любые свойства `Input`.
|
|
39
36
|
*
|
|
37
|
+
* Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.
|
|
38
|
+
* Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.
|
|
39
|
+
*
|
|
40
40
|
* Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
|
|
41
|
-
*
|
|
41
|
+
*
|
|
42
42
|
* Если `fractionDigits=15`, то в целой части допускается **0**.
|
|
43
43
|
*/
|
|
44
44
|
export declare class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
### Базовый пример
|
|
1
2
|
```jsx harmony
|
|
2
3
|
const [value, setValue] = React.useState();
|
|
3
4
|
|
|
4
5
|
<CurrencyInput value={value} fractionDigits={3} onValueChange={setValue} />
|
|
5
6
|
```
|
|
6
7
|
|
|
8
|
+
### Очистка значения
|
|
7
9
|
Очистить значение в `CurrencyInput` можно с помощью `null` или `undefined`
|
|
8
10
|
```jsx harmony
|
|
9
11
|
import { Button, Group } from '@skbkontur/react-ui';
|
|
@@ -17,7 +19,7 @@ const [value, setValue] = React.useState();
|
|
|
17
19
|
</Group>
|
|
18
20
|
```
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
### fractionDigits={15}
|
|
21
23
|
|
|
22
24
|
```jsx harmony
|
|
23
25
|
const [value, setValue] = React.useState();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CurrencyHelper","CursorHelper","CurrencyInputHelper","moveCursor","value","selection","step","start","end","calculatePosition","getInfo","cursorMap","extendSelection","info","normalizeSelection","safeInsert","input","options","length","extracted","extractValid","insert","prefix","substring","suffix","combined","isValidString","raw","toRawPosition","info2","formattedPosition","toFormattedPosition","formatted","position"],"sources":["CurrencyInputHelper.tsx"],"sourcesContent":["import { Nullable } from '../../typings/utility-types';\n\nimport { Selection } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CursorHelper } from './CursorHelper';\n\nexport interface DecimalOptions {\n integerDigits?: Nullable<number>;\n fractionDigits?: Nullable<number>;\n unsigned?: boolean;\n}\n\nexport class CurrencyInputHelper {\n public static moveCursor(value: string, selection: Selection, step: number): number {\n if (selection.start === selection.end) {\n return CursorHelper.calculatePosition(CurrencyHelper.getInfo(value).cursorMap, selection.start, step);\n } else if (step < 0) {\n return selection.start;\n }\n\n return selection.end;\n }\n\n public static extendSelection(value: string, selection: Selection, step: number) {\n const info = CurrencyHelper.getInfo(value);\n return CursorHelper.extendSelection(info.cursorMap, selection, step);\n }\n\n public static normalizeSelection(value: string, selection: Selection): Selection {\n const info = CurrencyHelper.getInfo(value);\n return CursorHelper.normalizeSelection(info.cursorMap, selection);\n }\n\n public static safeInsert(value: string, start: number, end: number, input: string, options: DecimalOptions) {\n if (input && start === 0 && end === value.length) {\n const extracted = CurrencyHelper.extractValid(input, options);\n if (!extracted) {\n return null;\n }\n return CurrencyInputHelper.insert(value, start, end, extracted);\n }\n\n const prefix = value.substring(0, start);\n const suffix = value.substring(end);\n\n const combined = prefix + input + suffix;\n if (CurrencyHelper.isValidString(combined, options)) {\n return CurrencyInputHelper.insert(value, start, end, input);\n }\n return null;\n }\n\n public static insert(value: string, start: number, end: number, input: string) {\n const prefix = value.substring(0, start);\n const suffix = value.substring(end);\n\n const info = CurrencyHelper.getInfo(value);\n const raw = CursorHelper.toRawPosition(info.cursorMap, start);\n const info2 = CurrencyHelper.getInfo(prefix + input + suffix);\n const formattedPosition = CursorHelper.toFormattedPosition(info2.cursorMap, raw + input.length);\n\n return { value: info2.formatted, position: formattedPosition };\n }\n}\n"],"mappings":";;;AAGA,SAASA,cAAc,QAAQ,kBAAkB;AACjD,SAASC,YAAY,QAAQ,gBAAgB
|
|
1
|
+
{"version":3,"names":["CurrencyHelper","CursorHelper","CurrencyInputHelper","moveCursor","value","selection","step","start","end","calculatePosition","getInfo","cursorMap","extendSelection","info","normalizeSelection","safeInsert","input","options","length","extracted","extractValid","insert","prefix","substring","suffix","combined","isValidString","raw","toRawPosition","info2","formattedPosition","toFormattedPosition","formatted","position"],"sources":["CurrencyInputHelper.tsx"],"sourcesContent":["import { Nullable } from '../../typings/utility-types';\n\nimport { Selection } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CursorHelper } from './CursorHelper';\n\nexport interface DecimalOptions {\n /** Задает допустимое количество цифр целой части. Если передан 0, или fractionDigits=15, то и в целой части допускается только 0. */\n integerDigits?: Nullable<number>;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Определяет, является ли число беззнаковым. */\n unsigned?: boolean;\n}\n\nexport class CurrencyInputHelper {\n public static moveCursor(value: string, selection: Selection, step: number): number {\n if (selection.start === selection.end) {\n return CursorHelper.calculatePosition(CurrencyHelper.getInfo(value).cursorMap, selection.start, step);\n } else if (step < 0) {\n return selection.start;\n }\n\n return selection.end;\n }\n\n public static extendSelection(value: string, selection: Selection, step: number) {\n const info = CurrencyHelper.getInfo(value);\n return CursorHelper.extendSelection(info.cursorMap, selection, step);\n }\n\n public static normalizeSelection(value: string, selection: Selection): Selection {\n const info = CurrencyHelper.getInfo(value);\n return CursorHelper.normalizeSelection(info.cursorMap, selection);\n }\n\n public static safeInsert(value: string, start: number, end: number, input: string, options: DecimalOptions) {\n if (input && start === 0 && end === value.length) {\n const extracted = CurrencyHelper.extractValid(input, options);\n if (!extracted) {\n return null;\n }\n return CurrencyInputHelper.insert(value, start, end, extracted);\n }\n\n const prefix = value.substring(0, start);\n const suffix = value.substring(end);\n\n const combined = prefix + input + suffix;\n if (CurrencyHelper.isValidString(combined, options)) {\n return CurrencyInputHelper.insert(value, start, end, input);\n }\n return null;\n }\n\n public static insert(value: string, start: number, end: number, input: string) {\n const prefix = value.substring(0, start);\n const suffix = value.substring(end);\n\n const info = CurrencyHelper.getInfo(value);\n const raw = CursorHelper.toRawPosition(info.cursorMap, start);\n const info2 = CurrencyHelper.getInfo(prefix + input + suffix);\n const formattedPosition = CursorHelper.toFormattedPosition(info2.cursorMap, raw + input.length);\n\n return { value: info2.formatted, position: formattedPosition };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Nullable } from '../../typings/utility-types';
|
|
2
2
|
import { Selection } from './SelectionHelper';
|
|
3
3
|
export interface DecimalOptions {
|
|
4
|
+
/** Задает допустимое количество цифр целой части. Если передан 0, или fractionDigits=15, то и в целой части допускается только 0. */
|
|
4
5
|
integerDigits?: Nullable<number>;
|
|
6
|
+
/** Устанавливает минимальное количество отображаемых знаков после запятой. */
|
|
5
7
|
fractionDigits?: Nullable<number>;
|
|
8
|
+
/** Определяет, является ли число беззнаковым. */
|
|
6
9
|
unsigned?: boolean;
|
|
7
10
|
}
|
|
8
11
|
export declare class CurrencyInputHelper {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as CurrencyInputStories from './CurrencyInput.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={CurrencyInputStories} />
|
|
6
|
+
|
|
7
|
+
# CurrencyInput
|
|
8
|
+
|
|
9
|
+
[Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/currency/)
|
|
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} />
|
|
@@ -8,6 +8,10 @@ var FRACTION_DIGITS_DEFAULT = 2;
|
|
|
8
8
|
export var CurrencyLabelDataTids = {
|
|
9
9
|
root: 'CurrencyLabel__root'
|
|
10
10
|
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).
|
|
14
|
+
*/
|
|
11
15
|
export var CurrencyLabel = function CurrencyLabel(_ref) {
|
|
12
16
|
var id = _ref.id,
|
|
13
17
|
value = _ref.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","MAX_SAFE_DIGITS","CurrencyHelper","CommonWrapper","FRACTION_DIGITS_DEFAULT","CurrencyLabelDataTids","root","CurrencyLabel","_ref","id","value","_ref$fractionDigits","fractionDigits","currencySymbol","_ref$hideTrailingZero","hideTrailingZeros","rest","_objectWithoutPropertiesLoose","_excluded","createElement","format","String","fromCharCode","__KONTUR_REACT_UI__","displayName","propTypes","_ref2","_ref2$fractionDigits","Error","_ref3","destructString","fraction","length","Number","isInteger"],"sources":["CurrencyLabel.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\n\nexport interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n
|
|
1
|
+
{"version":3,"names":["React","MAX_SAFE_DIGITS","CurrencyHelper","CommonWrapper","FRACTION_DIGITS_DEFAULT","CurrencyLabelDataTids","root","CurrencyLabel","_ref","id","value","_ref$fractionDigits","fractionDigits","currencySymbol","_ref$hideTrailingZero","hideTrailingZeros","rest","_objectWithoutPropertiesLoose","_excluded","createElement","format","String","fromCharCode","__KONTUR_REACT_UI__","displayName","propTypes","_ref2","_ref2$fractionDigits","Error","_ref3","destructString","fraction","length","Number","isInteger"],"sources":["CurrencyLabel.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\n\nexport interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает минимальное количество отображаемых знаков после запятой.\n * @default 2 */\n fractionDigits?: number;\n\n /** Устанавливает значение. */\n value: number;\n\n /** Задает символ валюты. */\n currencySymbol?: React.ReactNode;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n}\n\nconst FRACTION_DIGITS_DEFAULT = 2;\n\nexport const CurrencyLabelDataTids = {\n root: 'CurrencyLabel__root',\n} as const;\n\n/**\n * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).\n */\nexport const CurrencyLabel = ({\n id,\n value,\n fractionDigits = FRACTION_DIGITS_DEFAULT,\n currencySymbol,\n hideTrailingZeros = false,\n ...rest\n}: CurrencyLabelProps): JSX.Element => {\n return (\n <CommonWrapper {...rest}>\n <span id={id} data-tid={CurrencyLabelDataTids.root}>\n {CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros })}\n {currencySymbol && String.fromCharCode(0xa0) /* */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n};\n\nCurrencyLabel.__KONTUR_REACT_UI__ = 'CurrencyLabel';\nCurrencyLabel.displayName = 'CurrencyLabel';\n\nCurrencyLabel.propTypes = {\n fractionDigits: ({ fractionDigits = FRACTION_DIGITS_DEFAULT, value }: CurrencyLabelProps) => {\n if (fractionDigits > MAX_SAFE_DIGITS) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n const { fraction } = CurrencyHelper.destructString(String(value)) || { fraction: '' };\n if (fraction.length > fractionDigits) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n }\n\n if (!Number.isInteger(fractionDigits)) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }\n\n return null;\n },\n};\n"],"mappings":"6LAAA,OAAOA,KAAK,MAA0B,OAAO;;AAE7C,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SAASC,cAAc,QAAQ,iCAAiC;AAChE,SAASC,aAAa,QAAqB,8BAA8B;;;;;;;;;;;;;;;;;AAiBzE,IAAMC,uBAAuB,GAAG,CAAC;;AAEjC,OAAO,IAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;;;;;;;AAOa,KANrCC,EAAE,GAAAD,IAAA,CAAFC,EAAE,CACFC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAAC,mBAAA,GAAAH,IAAA,CACLI,cAAc,CAAdA,cAAc,GAAAD,mBAAA,cAAGP,uBAAuB,GAAAO,mBAAA,CACxCE,cAAc,GAAAL,IAAA,CAAdK,cAAc,CAAAC,qBAAA,GAAAN,IAAA,CACdO,iBAAiB,CAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CACtBE,IAAI,GAAAC,6BAAA,CAAAT,IAAA,EAAAU,SAAA;EAEP;IACElB,KAAA,CAAAmB,aAAA,CAAChB,aAAa,EAAKa,IAAI;IACrBhB,KAAA,CAAAmB,aAAA,WAAMV,EAAE,EAAEA,EAAG,EAAC,YAAUJ,qBAAqB,CAACC,IAAK;IAChDJ,cAAc,CAACkB,MAAM,CAACV,KAAK,EAAE,EAAEE,cAAc,EAAdA,cAAc,EAAEG,iBAAiB,EAAjBA,iBAAiB,CAAC,CAAC,CAAC;IACnEF,cAAc,IAAIQ,MAAM,CAACC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5CT;IACG;IACO,CAAC;;AAEpB,CAAC;;AAEDN,aAAa,CAACgB,mBAAmB,GAAG,eAAe;AACnDhB,aAAa,CAACiB,WAAW,GAAG,eAAe;;AAE3CjB,aAAa,CAACkB,SAAS,GAAG;EACxBb,cAAc,EAAE,SAAAA,eAAAc,KAAA,EAA6E,KAAAC,oBAAA,GAAAD,KAAA,CAA1Ed,cAAc,CAAdA,eAAc,GAAAe,oBAAA,cAAGvB,uBAAuB,GAAAuB,oBAAA,CAAEjB,KAAK,GAAAgB,KAAA,CAALhB,KAAK;IAChE,IAAIE,eAAc,GAAGX,eAAe,EAAE;MACpC,OAAO,IAAI2B,KAAK;QACd,oDAAkD3B,eAAe;;MAEnE,CAAC;IACH;;IAEA,IAAA4B,KAAA,GAAqB3B,cAAc,CAAC4B,cAAc,CAACT,MAAM,CAACX,KAAK,CAAC,CAAC,IAAI,EAAEqB,QAAQ,EAAE,EAAE,CAAC,CAAC,CAA7EA,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAChB,IAAIA,QAAQ,CAACC,MAAM,GAAGpB,eAAc,EAAE;MACpC,OAAO,IAAIgB,KAAK;QACd;;MAEF,CAAC;IACH;;IAEA,IAAI,CAACK,MAAM,CAACC,SAAS,CAACtB,eAAc,CAAC,EAAE;MACrC,OAAO,IAAIgB,KAAK;;MAEhB,CAAC;IACH;;IAEA,OAAO,IAAI;EACb;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import React, { HTMLAttributes } from 'react';
|
|
2
2
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
3
3
|
export interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
6
|
-
* @default 2
|
|
7
|
-
*/
|
|
4
|
+
/** Устанавливает минимальное количество отображаемых знаков после запятой.
|
|
5
|
+
* @default 2 */
|
|
8
6
|
fractionDigits?: number;
|
|
7
|
+
/** Устанавливает значение. */
|
|
9
8
|
value: number;
|
|
9
|
+
/** Задает символ валюты. */
|
|
10
10
|
currencySymbol?: React.ReactNode;
|
|
11
|
-
/**
|
|
11
|
+
/** Убирает лишние нули после запятой. */
|
|
12
12
|
hideTrailingZeros?: boolean;
|
|
13
13
|
}
|
|
14
14
|
export declare const CurrencyLabelDataTids: {
|
|
15
15
|
readonly root: "CurrencyLabel__root";
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).
|
|
19
|
+
*/
|
|
17
20
|
export declare const CurrencyLabel: {
|
|
18
21
|
({ id, value, fractionDigits, currencySymbol, hideTrailingZeros, ...rest }: CurrencyLabelProps): JSX.Element;
|
|
19
22
|
__KONTUR_REACT_UI__: string;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
To render rubles
|
|
1
|
+
### To render rubles
|
|
2
2
|
|
|
3
3
|
```jsx
|
|
4
4
|
<CurrencyLabel value={12356.1} currencySymbol={'₽'} />
|
|
5
5
|
```
|
|
6
6
|
|
|
7
|
-
...or dollars
|
|
7
|
+
### ...or dollars
|
|
8
8
|
|
|
9
9
|
```jsx
|
|
10
10
|
<CurrencyLabel value={12356.1} currencySymbol={'$'} />
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
...or nothing
|
|
13
|
+
### ...or nothing
|
|
14
14
|
|
|
15
15
|
```jsx
|
|
16
16
|
<CurrencyLabel value={12356.1} />
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Count of fraction digits can be changed
|
|
19
|
+
### Count of fraction digits can be changed
|
|
20
20
|
|
|
21
21
|
```jsx
|
|
22
22
|
<CurrencyLabel value={3562001.1} fractionDigits={3} currencySymbol={'₽'} />
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Can hide trailing zeros
|
|
25
|
+
### Can hide trailing zeros
|
|
26
26
|
|
|
27
27
|
```jsx
|
|
28
28
|
<CurrencyLabel value={356.167} fractionDigits={5} hideTrailingZeros />
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as CurrencyLabelStories from './CurrencyLabel.docs.stories.tsx';
|
|
2
|
+
import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
|
|
3
|
+
import { Meta } from '../../../.storybook/Meta';
|
|
4
|
+
|
|
5
|
+
<Meta of={CurrencyLabelStories} />
|
|
6
|
+
|
|
7
|
+
# CurrencyLabel
|
|
8
|
+
|
|
9
|
+
<Description />
|
|
10
|
+
|
|
11
|
+
## Базовый пример
|
|
12
|
+
|
|
13
|
+
<Primary />
|
|
14
|
+
|
|
15
|
+
## Пропы
|
|
16
|
+
|
|
17
|
+
<details>
|
|
18
|
+
<summary>Открыть таблицу с пропами</summary>
|
|
19
|
+
<ArgTypes />
|
|
20
|
+
</details>
|
|
21
|
+
|
|
22
|
+
## Примеры использования
|
|
23
|
+
|
|
24
|
+
<Stories title="" includePrimary={false} />
|
|
@@ -24,6 +24,10 @@ import { InternalDateMediator } from "../helpers/InternalDateMediator";
|
|
|
24
24
|
export var DateInputDataTids = {
|
|
25
25
|
icon: 'DateInput__icon'
|
|
26
26
|
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.
|
|
30
|
+
*/
|
|
27
31
|
export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), rootNode(_class = _dec(_class = (_DateInput = /*#__PURE__*/function (_React$Component) {
|
|
28
32
|
function DateInput(props) {
|
|
29
33
|
var _this;
|
|
@@ -392,7 +396,10 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
|
|
|
392
396
|
onMouseDragEnd: this.handleMouseDragEnd,
|
|
393
397
|
value: this.iDateMediator.getInternalString(),
|
|
394
398
|
inputMode: 'numeric',
|
|
395
|
-
takeContentWidth: true
|
|
399
|
+
takeContentWidth: true,
|
|
400
|
+
"aria-describedby": this.props['aria-describedby'],
|
|
401
|
+
"aria-label": this.props['aria-label'],
|
|
402
|
+
"aria-labelledby": this.props['aria-labelledby']
|
|
396
403
|
}, /*#__PURE__*/React.createElement("span", {
|
|
397
404
|
className: cx(styles.value(), (_cx2 = {}, _cx2[styles.valueVisible()] = showValue, _cx2))
|
|
398
405
|
}, /*#__PURE__*/React.createElement(DateFragmentsView, {
|