@skbkontur/react-ui 0.0.0-95a1dbe516 → 0.0.0-9ab4f802f3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +120 -0
- package/README.md +41 -13
- package/cjs/components/Autocomplete/Autocomplete.js +12 -6
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/Autocomplete.md +76 -3
- package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
- package/cjs/components/Autocomplete/Autocomplete.styles.js +7 -1
- package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
- package/cjs/components/Button/Button.js +2 -2
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +38 -11
- package/cjs/components/Calendar/Calendar.d.ts +28 -5
- package/cjs/components/Calendar/Calendar.js +80 -36
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/Calendar.md +82 -1
- package/cjs/components/Calendar/Calendar.styles.js +1 -1
- package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
- package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
- package/cjs/components/Calendar/CalendarContext.js +16 -0
- package/cjs/components/Calendar/CalendarContext.js.map +1 -0
- package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
- package/cjs/components/Calendar/CalendarDateShape.js +13 -3
- package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
- package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
- package/cjs/components/Calendar/CalendarDay.js +79 -0
- package/cjs/components/Calendar/CalendarDay.js.map +1 -0
- package/cjs/components/Calendar/CalendarDay.md +70 -0
- package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
- package/cjs/components/Calendar/CalendarUtils.js +4 -6
- package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.d.ts +4 -12
- package/cjs/components/Calendar/DayCellView.js +20 -42
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
- package/cjs/components/Calendar/DayCellView.styles.js +37 -43
- package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/components/Calendar/Month.d.ts +0 -10
- package/cjs/components/Calendar/Month.js +36 -88
- package/cjs/components/Calendar/Month.js.map +1 -1
- package/cjs/components/Calendar/MonthView.d.ts +3 -2
- package/cjs/components/Calendar/MonthView.js +47 -37
- package/cjs/components/Calendar/MonthView.js.map +1 -1
- package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
- package/cjs/components/Calendar/MonthView.styles.js +45 -7
- package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
- package/cjs/components/Calendar/MonthViewModel.js +24 -6
- package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
- package/cjs/components/Calendar/config.js +12 -6
- package/cjs/components/Calendar/config.js.map +1 -1
- package/cjs/components/Calendar/index.d.ts +1 -0
- package/cjs/components/Calendar/index.js +2 -1
- package/cjs/components/Calendar/index.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +1 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js +1 -1
- package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +1 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
- package/cjs/components/DatePicker/DatePicker.js +72 -45
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.md +29 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
- package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
- package/cjs/components/DatePicker/MobilePicker.js +118 -0
- package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
- package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
- package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
- package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
- package/cjs/components/DatePicker/Picker.js +1 -1
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
- package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
- package/cjs/components/Dropdown/Dropdown.js +1 -1
- package/cjs/components/Dropdown/Dropdown.js.map +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 +39 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
- package/cjs/components/FileUploader/FileUploader.js +32 -9
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +29 -0
- package/cjs/components/FxInput/FxInput.js +1 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Group/Group.js +1 -1
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +4 -3
- package/cjs/components/Hint/Hint.js +9 -8
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.js +1 -1
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +1 -1
- package/cjs/components/Input/Input.styles.js +3 -2
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
- package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
- package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
- package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/cjs/components/Kebab/Kebab.js +6 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +3 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.js +1 -1
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.js +2 -2
- package/cjs/components/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/MiniModal/MiniModal.js +1 -1
- package/cjs/components/MiniModal/MiniModal.js.map +1 -1
- package/cjs/components/Modal/Modal.js +1 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +1 -1
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Paging/Paging.js +8 -3
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.js +1 -1
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js +10 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.js +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.js +6 -3
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +1 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.js +1 -1
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/SidePage/SidePageContainer.js +1 -1
- package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.js +1 -1
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.js +1 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +1 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Switcher/Switcher.js +1 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +1 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tab.js +2 -2
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tabs.js +1 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.js +1 -1
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toast/Toast.js +1 -1
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/ToastView.js +1 -1
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toggle/Toggle.js +1 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.js +2 -1
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.js +1 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js +2 -2
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +10 -5
- package/cjs/components/Tooltip/Tooltip.js +59 -20
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js +4 -4
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/hooks/useDrop.d.ts +1 -1
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js +2 -2
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
- package/cjs/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -0
- package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.js → utils/getCommonVisualStateDataAttributes.js} +3 -4
- package/cjs/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -0
- package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
- package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.js → utils/getVisualStateDataAttributes.js} +3 -3
- package/cjs/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js +1 -0
- package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -3
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
- package/cjs/internal/DateSelect/DateSelect.js +51 -4
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
- package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
- package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
- package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
- package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
- package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
- package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
- package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +1 -1
- package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +2 -2
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +2 -2
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopup.js +7 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
- package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/cjs/internal/NativeDateInput/utils.js +3 -2
- package/cjs/internal/NativeDateInput/utils.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +15 -4
- package/cjs/internal/Popup/Popup.js +67 -4
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +3 -0
- package/cjs/internal/RenderContainer/RenderContainer.js +34 -24
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -4
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/RenderLayer/RenderLayer.js +5 -1
- package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +1 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.js +2 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
- package/cjs/internal/ZIndex/ZIndex.js +41 -3
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/DarkTheme.d.ts +2 -0
- package/cjs/internal/themes/DarkTheme.js +6 -1
- package/cjs/internal/themes/DarkTheme.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
- package/cjs/internal/themes/DefaultTheme.js +32 -4
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/date/InternalDate.d.ts +2 -0
- package/cjs/lib/date/InternalDate.js +8 -1
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
- package/cjs/lib/date/InternalDateTransformer.js +23 -0
- package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +2 -1
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/comparison.d.ts +6 -0
- package/cjs/lib/date/comparison.js +44 -0
- package/cjs/lib/date/comparison.js.map +1 -0
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +4 -2
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/locale/constants.d.ts +3 -0
- package/cjs/lib/locale/constants.js +6 -2
- package/cjs/lib/locale/constants.js.map +1 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +1 -0
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Emotion.d.ts +7 -1
- package/cjs/lib/theming/Emotion.js +6 -3
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.d.ts +0 -2
- package/cjs/lib/theming/ThemeContext.js +1 -3
- package/cjs/lib/theming/ThemeContext.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.md +3 -1
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
- package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
- package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
- package/cjs/lib/widgets/StylesContainer.d.ts +13 -0
- package/cjs/lib/widgets/StylesContainer.js +70 -0
- package/cjs/lib/widgets/StylesContainer.js.map +1 -0
- package/cjs/lib/widgets/index.d.ts +1 -0
- package/cjs/lib/widgets/index.js +1 -0
- package/cjs/lib/widgets/index.js.map +1 -0
- package/components/Autocomplete/Autocomplete/Autocomplete.js +11 -5
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.md +76 -3
- package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +4 -1
- package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -1
- package/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
- package/components/Button/Button/Button.js +3 -3
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.md +38 -11
- package/components/Calendar/Calendar/Calendar.js +83 -66
- package/components/Calendar/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.d.ts +28 -5
- package/components/Calendar/Calendar.md +82 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
- package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
- package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
- package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
- package/components/Calendar/CalendarContext/package.json +6 -0
- package/components/Calendar/CalendarContext.d.ts +12 -0
- package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
- package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
- package/components/Calendar/CalendarDateShape.d.ts +4 -2
- package/components/Calendar/CalendarDay/CalendarDay.js +64 -0
- package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
- package/components/Calendar/CalendarDay/package.json +6 -0
- package/components/Calendar/CalendarDay.d.ts +12 -0
- package/components/Calendar/CalendarDay.md +70 -0
- package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
- package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
- package/components/Calendar/CalendarUtils.d.ts +2 -1
- package/components/Calendar/DayCellView/DayCellView.js +33 -46
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Calendar/DayCellView.d.ts +4 -12
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -14
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/components/Calendar/DayCellView.styles.d.ts +2 -5
- package/components/Calendar/Month/Month.js +50 -84
- package/components/Calendar/Month/Month.js.map +1 -1
- package/components/Calendar/Month.d.ts +0 -10
- package/components/Calendar/MonthView/MonthView.js +50 -45
- package/components/Calendar/MonthView/MonthView.js.map +1 -1
- package/components/Calendar/MonthView.d.ts +3 -2
- package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
- package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
- package/components/Calendar/MonthView.styles.d.ts +3 -0
- package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
- package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
- package/components/Calendar/config/config.js +6 -4
- package/components/Calendar/config/config.js.map +1 -1
- package/components/Calendar/index/index.js +2 -1
- package/components/Calendar/index/index.js.map +1 -1
- package/components/Calendar/index.d.ts +1 -0
- package/components/Checkbox/Checkbox/Checkbox.js +2 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js +2 -2
- package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +2 -2
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +62 -41
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +4 -1
- package/components/DatePicker/DatePicker.md +29 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
- package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
- package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
- package/components/DatePicker/MobilePicker/package.json +6 -0
- package/components/DatePicker/MobilePicker.d.ts +10 -0
- package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
- package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
- package/components/DatePicker/MobilePicker.styles/package.json +6 -0
- package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
- package/components/DatePicker/Picker/Picker.js +3 -3
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
- package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
- package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
- package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
- package/components/Dropdown/Dropdown/Dropdown.js +3 -3
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -3
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.md +39 -0
- package/components/FileUploader/FileUploader/FileUploader.js +30 -8
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +2 -0
- package/components/FileUploader/FileUploader.md +29 -0
- package/components/FxInput/FxInput/FxInput.js +2 -2
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/Group/Group/Group.js +2 -2
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Hint/Hint/Hint.js +53 -48
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +4 -3
- package/components/Input/Input/Input.js +3 -3
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.styles/Input.styles.js +2 -2
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +1 -1
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
- package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js +7 -4
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link/Link.js +6 -3
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Loader/Loader/Loader.js +2 -2
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/MenuItem/MenuItem/MenuItem.js +3 -3
- package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
- package/components/MiniModal/MiniModal/MiniModal.js +2 -2
- package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
- package/components/Modal/Modal/Modal.js +3 -3
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/ModalBody/ModalBody.js +3 -3
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Paging/Paging/Paging.js +10 -6
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -2
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +2 -2
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/RadioGroup/RadioGroup/RadioGroup.js +8 -4
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +2 -2
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/Select/Select/Select.js +6 -5
- package/components/Select/Select/Select.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +2 -2
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageBody/SidePageBody.js +2 -2
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageContainer/SidePageContainer.js +2 -2
- package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js +2 -2
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +2 -2
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/Spinner/Spinner/Spinner.js +2 -2
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js +3 -3
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Tabs/Indicator/Indicator.js +2 -2
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +3 -3
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js +2 -2
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +2 -2
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Toast/Toast/Toast.js +3 -3
- package/components/Toast/Toast/Toast.js.map +1 -1
- package/components/Toast/ToastView/ToastView.js +2 -2
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +2 -2
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Token/Token/Token.js +6 -3
- package/components/Token/Token/Token.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +2 -2
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +3 -3
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +67 -46
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +10 -5
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +3 -3
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/hooks/useDrop.d.ts +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/utils/extractCommonProps/extractCommonProps.js.map +1 -0
- package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/package.json +1 -1
- package/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
- package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/getCommonVisualStateDataAttributes.js +1 -5
- package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
- package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/package.json +1 -1
- package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/getVisualStateDataAttributes.js +3 -3
- package/internal/CommonWrapper/utils/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
- package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/package.json +1 -1
- package/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
- package/internal/CommonWrapper/utils/tryGetBoolean/package.json +6 -0
- package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js +3 -0
- package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js.map +1 -0
- package/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -3
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +5 -3
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +59 -6
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.d.ts +2 -0
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
- package/internal/DateSelect/locale/locales/en/en.js +2 -1
- package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
- package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
- package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
- package/internal/DateSelect/locale/types.d.ts +1 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +3 -3
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -2
- package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +3 -3
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +3 -3
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +4 -3
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +4 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
- package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
- package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
- package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
- package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
- package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -2
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/NativeDateInput/utils/utils.js +2 -1
- package/internal/NativeDateInput/utils/utils.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +53 -10
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +15 -4
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +19 -12
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +3 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -5
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderLayer/RenderLayer/RenderLayer.js +2 -2
- package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/ThemePlayground/Playground/Playground.js +2 -2
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +10 -7
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +3 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +2 -2
- package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +7 -3
- package/internal/themes/DarkTheme/DarkTheme.js +2 -0
- package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/internal/themes/DarkTheme.d.ts +2 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +18 -0
- package/lib/date/InternalDate/InternalDate.js +7 -1
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDate.d.ts +2 -0
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
- package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
- package/lib/date/InternalDateTransformer.d.ts +3 -0
- package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/comparison/comparison.js +45 -0
- package/lib/date/comparison/comparison.js.map +1 -0
- package/lib/date/comparison/package.json +6 -0
- package/lib/date/comparison.d.ts +6 -0
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/locale/constants/constants.js +4 -1
- package/lib/locale/constants/constants.js.map +1 -1
- package/lib/locale/constants.d.ts +3 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +2 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +12 -3
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/Emotion.d.ts +7 -1
- package/lib/theming/ThemeContext/ThemeContext.js +0 -2
- package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeContext.d.ts +0 -2
- package/lib/theming/ThemeContext.md +3 -1
- package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
- package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
- package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
- package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
- package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
- package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
- package/lib/widgets/StylesContainer/StylesContainer.js +65 -0
- package/lib/widgets/StylesContainer/StylesContainer.js.map +1 -0
- package/lib/widgets/StylesContainer/package.json +6 -0
- package/lib/widgets/StylesContainer.d.ts +13 -0
- package/lib/widgets/index/index.js +1 -0
- package/lib/widgets/index/index.js.map +1 -0
- package/lib/widgets/index/package.json +6 -0
- package/lib/widgets/index.d.ts +1 -0
- package/lib/widgets/package.json +6 -0
- package/package.json +3 -2
- package/cjs/internal/CommonWrapper/extractCommonProps.js.map +0 -1
- package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +0 -1
- package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +0 -1
- package/cjs/lib/theming/StyleContainer.d.ts +0 -4
- package/cjs/lib/theming/StyleContainer.js +0 -21
- package/cjs/lib/theming/StyleContainer.js.map +0 -1
- package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +0 -1
- package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +0 -1
- package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +0 -1
- package/lib/theming/StyleContainer/StyleContainer.js +0 -21
- package/lib/theming/StyleContainer/StyleContainer.js.map +0 -1
- package/lib/theming/StyleContainer/package.json +0 -6
- package/lib/theming/StyleContainer.d.ts +0 -4
- /package/cjs/internal/CommonWrapper/{extractCommonProps.js → utils/extractCommonProps.js} +0 -0
- /package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
- /package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/extractCommonProps.js +0 -0
- /package/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Input.tsx"],"names":["invariant","React","warning","globalObject","isEdge","isIE11","isKeyBackspace","isKeyDelete","someKeys","needsPolyfillPlaceholder","InternalMaskedInput","CommonWrapper","rootNode","createPropsGetter","isTheme2022","isFunction","FocusControlWrapper","EmotionConsumer","ThemeConsumer","InputLayout","PolyfillPlaceholder","getStyles","inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","getProps","defaultProps","state","blinking","focused","selectAllId","input","selectAll","setSelectionRange","value","length","delaySelectAll","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","cancelBlink","callback","blinkTimeout","clearTimeout","setState","getInput","inputProps","props","element","cloneElement","mask","canBeUsedWithMask","renderMaskedInput","createElement","renderMain","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","leftIcon","rightIcon","borderless","align","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","ariaControls","ariaLabel","rest","styles","emotion","labelProps","className","cx","theme","getSizeClassName","focus","hovering","blink","focusFallback","warningFallback","errorFallback","style","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","resetFocus","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","event","fieldIsEmpty","target","e","isDeleteKey","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, ClassAttributes, HTMLAttributes, ReactElement } from 'react';\nimport warning from 'warning';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { InternalMaskedInput } from '../../internal/InternalMaskedInput';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isFunction } from '../../lib/utils';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\n\nimport { InputElement, InputElementProps } from './Input.typings';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\nimport { getStyles } from './Input.styles';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\n/**\n * @deprecated use SizeProp\n */\nexport type InputSize = SizeProp;\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /**\n * Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url`\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n mask?: Nullable<string>;\n /**\n * Символ маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /**\n * Показывать символы маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: SizeProp;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает акцентным цветом.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n /**\n * Элемент заменяет нативный input.\n * Должен иметь пропы `InputElementProps` и тип `InputElement`\n * */\n element?: ReactElement<InputElementProps>;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n public static displayName = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private emotion!: Emotion;\n private blinkTimeout: SafeTimer;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n globalObject.setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private getInput = (inputProps: InputElementProps & ClassAttributes<HTMLInputElement>) => {\n if (this.props.element) {\n return React.cloneElement(this.props.element, inputProps);\n }\n\n return this.props.mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, this.props.mask)\n : React.createElement('input', inputProps);\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n element,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const styles = getStyles(this.emotion);\n const labelProps = {\n className: this.emotion.cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps: InputElementProps & ClassAttributes<HTMLInputElement> = {\n ...rest,\n className: this.emotion.cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input = (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>{this.getInput(inputProps)}</FocusControlWrapper>\n );\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={this.emotion.cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(inputProps: React.InputHTMLAttributes<HTMLInputElement>, mask: string) {\n return (\n <InternalMaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = isFunction(icon) ? icon() : icon;\n const styles = getStyles(this.emotion);\n return (\n <span\n className={this.emotion.cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n const styles = getStyles(this.emotion);\n placeholder = (\n <div\n className={this.emotion.cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return this.emotion.cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return this.emotion.cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return this.emotion.cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | InternalMaskedInput | InputElement | null) => {\n if (element instanceof InternalMaskedInput || (element && 'input' in element)) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private resetFocus = () => this.setState({ focused: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n const styles = getStyles(this.emotion);\n return (\n <span className={this.emotion.cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n const styles = getStyles(this.emotion);\n return (\n <span className={this.emotion.cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Input.tsx"],"names":["invariant","React","warning","globalObject","isEdge","isIE11","isKeyBackspace","isKeyDelete","someKeys","needsPolyfillPlaceholder","InternalMaskedInput","CommonWrapper","rootNode","createPropsGetter","isTheme2022","isFunction","FocusControlWrapper","EmotionConsumer","ThemeContext","InputLayout","PolyfillPlaceholder","getStyles","inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","getProps","defaultProps","state","blinking","focused","selectAllId","input","selectAll","setSelectionRange","value","length","delaySelectAll","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","cancelBlink","callback","blinkTimeout","clearTimeout","setState","getInput","inputProps","props","element","cloneElement","mask","canBeUsedWithMask","renderMaskedInput","createElement","renderMain","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","leftIcon","rightIcon","borderless","align","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","ariaControls","ariaLabel","rest","styles","emotion","labelProps","className","cx","theme","getSizeClassName","focus","hovering","blink","focusFallback","warningFallback","errorFallback","style","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","resetFocus","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","event","fieldIsEmpty","target","e","isDeleteKey","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, ClassAttributes, HTMLAttributes, ReactElement } from 'react';\nimport warning from 'warning';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { InternalMaskedInput } from '../../internal/InternalMaskedInput';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isFunction } from '../../lib/utils';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { InputElement, InputElementProps } from './Input.typings';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\nimport { getStyles } from './Input.styles';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\n/**\n * @deprecated use SizeProp\n */\nexport type InputSize = SizeProp;\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /**\n * Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url`\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n mask?: Nullable<string>;\n /**\n * Символ маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /**\n * Показывать символы маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: SizeProp;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает акцентным цветом.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n /**\n * Элемент заменяет нативный input.\n * Должен иметь пропы `InputElementProps` и тип `InputElement`\n * */\n element?: ReactElement<InputElementProps>;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n public static displayName = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private emotion!: Emotion;\n private blinkTimeout: SafeTimer;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n globalObject.setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private getInput = (inputProps: InputElementProps & ClassAttributes<HTMLInputElement>) => {\n if (this.props.element) {\n return React.cloneElement(this.props.element, inputProps);\n }\n\n return this.props.mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, this.props.mask)\n : React.createElement('input', inputProps);\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n element,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const styles = getStyles(this.emotion);\n const labelProps = {\n className: this.emotion.cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps: InputElementProps & ClassAttributes<HTMLInputElement> = {\n ...rest,\n className: this.emotion.cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input = (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>{this.getInput(inputProps)}</FocusControlWrapper>\n );\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={this.emotion.cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(inputProps: React.InputHTMLAttributes<HTMLInputElement>, mask: string) {\n return (\n <InternalMaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = isFunction(icon) ? icon() : icon;\n const styles = getStyles(this.emotion);\n return (\n <span\n className={this.emotion.cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled(this.theme)]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n const styles = getStyles(this.emotion);\n placeholder = (\n <div\n className={this.emotion.cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return this.emotion.cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return this.emotion.cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return this.emotion.cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | InternalMaskedInput | InputElement | null) => {\n if (element instanceof InternalMaskedInput || (element && 'input' in element)) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private resetFocus = () => this.setState({ focused: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n const styles = getStyles(this.emotion);\n return (\n <span className={this.emotion.cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n const styles = getStyles(this.emotion);\n return (\n <span className={this.emotion.cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n}\n"]}
|
|
@@ -112,8 +112,8 @@ export var getStyles = function getStyles(emotion) {
|
|
|
112
112
|
iconFocus: function iconFocus(t) {
|
|
113
113
|
return emotion.css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.inputFocusedIconColor);
|
|
114
114
|
},
|
|
115
|
-
iconDisabled: function iconDisabled() {
|
|
116
|
-
return emotion.css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteralLoose(["\n cursor: default;\n "])));
|
|
115
|
+
iconDisabled: function iconDisabled(t) {
|
|
116
|
+
return emotion.css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteralLoose(["\n cursor: default;\n color: ", ";\n "])), t.inputIconColorDisabled);
|
|
117
117
|
},
|
|
118
118
|
leftIconSmall: function leftIconSmall(t) {
|
|
119
119
|
return emotion.css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteralLoose(["\n min-width: ", ";\n padding-right: ", ";\n "])), t.inputIconSizeSmall, t.inputIconGapSmall);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Input.styles.ts"],"names":["memoizeStyle","shift","resetText","shouldCompensateFontFamily","fontFamilyCompensation","Boolean","parseInt","getStyles","emotion","wrapper","css","root","t","inputBackgroundClip","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","transitionDuration","transitionTimingFunction","inputShadow","inputColor","inputWidth","hovering","inputBorderColorHover","borderless","useDefaultColor","inputIconColor","focus","inputFocusedBg","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputColorScheme","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","keyframes","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","fontFamilyCompensationBaseline","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","prefix","prefixDisabled","suffix","suffixDisabled","sideContainer","rightContainer","icon","iconFocus","inputFocusedIconColor","iconDisabled","leftIconSmall","inputIconSizeSmall","inputIconGapSmall","rightIconSmall","leftIconMedium","inputIconSizeMedium","inputIconGapMedium","rightIconMedium","leftIconLarge","inputIconSizeLarge","inputIconGapLarge","rightIconLarge","hideBlinkingCursor"],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nconst shouldCompensateFontFamily = (fontFamilyCompensation: string): boolean =>\n Boolean(parseInt(fontFamilyCompensation));\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n wrapper() {\n return emotion.css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return emotion.css`\n ${resetText(emotion)};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return emotion.css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return emotion.css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n useDefaultColor(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return emotion.css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return emotion.css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return emotion.css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return emotion.css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return emotion.css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return emotion.css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = emotion.keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return emotion.css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-2' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '2' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n prefix(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n prefixDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n suffix(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n suffixDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n sideContainer() {\n return emotion.css`\n align-items: center;\n display: flex;\n flex-shrink: 0;\n height: 100%;\n\n &::before {\n content: '\\\\a0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n rightContainer() {\n return emotion.css`\n justify-self: flex-end;\n margin: 0 0 0 auto;\n padding-left: 0;\n `;\n },\n\n icon() {\n return emotion.css`\n flex-shrink: 0;\n cursor: text;\n z-index: 2;\n text-align: center;\n box-sizing: content-box !important; // fix possible \"reset.css\" problem\n `;\n },\n\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n\n iconDisabled() {\n return emotion.css`\n cursor: default;\n `;\n },\n\n leftIconSmall(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeSmall};\n padding-right: ${t.inputIconGapSmall};\n `;\n },\n\n rightIconSmall(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeSmall};\n padding-left: ${t.inputIconGapSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeMedium};\n padding-right: ${t.inputIconGapMedium};\n `;\n },\n\n rightIconMedium(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeMedium};\n padding-left: ${t.inputIconGapMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeLarge};\n padding-right: ${t.inputIconGapLarge};\n `;\n },\n\n rightIconLarge(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeLarge};\n padding-left: ${t.inputIconGapLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return emotion.css`\n caret-color: transparent;\n `;\n },\n });\n"]}
|
|
1
|
+
{"version":3,"sources":["Input.styles.ts"],"names":["memoizeStyle","shift","resetText","shouldCompensateFontFamily","fontFamilyCompensation","Boolean","parseInt","getStyles","emotion","wrapper","css","root","t","inputBackgroundClip","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","transitionDuration","transitionTimingFunction","inputShadow","inputColor","inputWidth","hovering","inputBorderColorHover","borderless","useDefaultColor","inputIconColor","focus","inputFocusedBg","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputColorScheme","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","keyframes","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","fontFamilyCompensationBaseline","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","prefix","prefixDisabled","suffix","suffixDisabled","sideContainer","rightContainer","icon","iconFocus","inputFocusedIconColor","iconDisabled","inputIconColorDisabled","leftIconSmall","inputIconSizeSmall","inputIconGapSmall","rightIconSmall","leftIconMedium","inputIconSizeMedium","inputIconGapMedium","rightIconMedium","leftIconLarge","inputIconSizeLarge","inputIconGapLarge","rightIconLarge","hideBlinkingCursor"],"mappings":";;AAEA,SAASA,YAAT,QAA6B,2BAA7B;;AAEA,SAASC,KAAT,QAAsB,qCAAtB;AACA,SAASC,SAAT,QAA0B,yBAA1B;;AAEA,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACC,sBAAD;AACjCC,IAAAA,OAAO,CAACC,QAAQ,CAACF,sBAAD,CAAT,CAD0B,GAAnC;;AAGA,OAAO,IAAMG,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD;AACvBR,IAAAA,YAAY,CAAC;AACXS,MAAAA,OADW,qBACD;AACR,eAAOD,OAAO,CAACE,GAAf;;;;;;;;;;;;;;;;;AAiBD,OAnBU;;AAqBXC,MAAAA,IArBW,gBAqBNC,CArBM,EAqBI;AACb,eAAOJ,OAAO,CAACE,GAAf;AACIR,QAAAA,SAAS,CAACM,OAAD,CADb;;;AAIqBI,QAAAA,CAAC,CAACC,mBAJvB;AAKsBD,QAAAA,CAAC,CAACE,OALxB;AAMYF,QAAAA,CAAC,CAACG,gBANd,EAMwCH,CAAC,CAACI,gBAN1C;AAOsBJ,QAAAA,CAAC,CAACK,mBAPxB;AAQ6BL,QAAAA,CAAC,CAACM,kBAR/B,EAQqDN,CAAC,CAACO,wBARvD;AASgBP,QAAAA,CAAC,CAACQ,WATlB;;AAWWR,QAAAA,CAAC,CAACS,UAXb;;;;;AAgBWT,QAAAA,CAAC,CAACU,UAhBb;;;;;;AAsBD,OA5CU;;AA8CXC,MAAAA,QA9CW,oBA8CFX,CA9CE,EA8CQ;AACjB,eAAOJ,OAAO,CAACE,GAAf;;AAEoBE,QAAAA,CAAC,CAACY,qBAFtB;;;AAKD,OApDU;;AAsDXC,MAAAA,UAtDW,wBAsDE;AACX,eAAOjB,OAAO,CAACE,GAAf;;;;;AAKD,OA5DU;;AA8DXgB,MAAAA,eA9DW,2BA8DKd,CA9DL,EA8De;AACxB,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAACe,cADb;;AAGD,OAlEU;;AAoEXC,MAAAA,KApEW,iBAoELhB,CApEK,EAoEK;AACd,eAAOJ,OAAO,CAACE,GAAf;AACsBE,QAAAA,CAAC,CAACiB,cADxB;AAEkBjB,QAAAA,CAAC,CAACkB,qBAFpB;AAGgBlB,QAAAA,CAAC,CAACmB,gBAHlB;;;;AAOD,OA5EU;;AA8EXC,MAAAA,aA9EW,yBA8EGpB,CA9EH,EA8Ea;AACtB,eAAOJ,OAAO,CAACE,GAAf;;AAEaE,QAAAA,CAAC,CAACqB,iBAFf,EAE0CrB,CAAC,CAACsB,iBAF5C;;AAID,OAnFU;;AAqFXC,MAAAA,WArFW,uBAqFCvB,CArFD,EAqFW;AACpB,eAAOJ,OAAO,CAACE,GAAf;;AAEWE,QAAAA,CAAC,CAACwB,qBAFb;;;;;;;;;;;;;AAeD,OArGU;;AAuGXC,MAAAA,gBAvGW,4BAuGMzB,CAvGN,EAuGgB;AACzB,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAAC0B,0BADb;;AAGD,OA3GU;;AA6GXC,MAAAA,mBA7GW,+BA6GS3B,CA7GT,EA6GmB;AAC5B,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAAC4B,6BADb;;AAGD,OAjHU;;AAmHXC,MAAAA,KAnHW,iBAmHL7B,CAnHK,EAmHK;AACd,eAAOJ,OAAO,CAACE,GAAf;;;;AAIWE,QAAAA,CAAC,CAAC8B,cAJb;;;;;;;;;AAakB9B,QAAAA,CAAC,CAAC+B,gBAbpB;;;;;;;;;;;;AAyBa/B,QAAAA,CAAC,CAACwB,qBAzBf;;;AA4BaxB,QAAAA,CAAC,CAACwB,qBA5Bf;;;AA+BaxB,QAAAA,CAAC,CAACwB,qBA/Bf;;;AAkCD,OAtJU;;AAwJXQ,MAAAA,UAxJW,sBAwJAhC,CAxJA,EAwJU;AACnB,eAAOJ,OAAO,CAACE,GAAf;;AAEaE,QAAAA,CAAC,CAAC0B,0BAFf;;;AAKa1B,QAAAA,CAAC,CAAC0B,0BALf;;;AAQa1B,QAAAA,CAAC,CAAC0B,0BARf;;;AAWD,OApKU;;AAsKXO,MAAAA,aAtKW,yBAsKGjC,CAtKH,EAsKa;AACtB,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAACkC,sBADb;;AAG6BlC,QAAAA,CAAC,CAACkC,sBAH/B;;;AAM+BlC,QAAAA,CAAC,CAAC4B,6BANjC;;;AAS+B5B,QAAAA,CAAC,CAAC4B,6BATjC;;;AAY+B5B,QAAAA,CAAC,CAAC4B,6BAZjC;;;AAeD,OAtLU;;AAwLXO,MAAAA,OAxLW,mBAwLHnC,CAxLG,EAwLO;AAChB,eAAOJ,OAAO,CAACE,GAAf;AACkBE,QAAAA,CAAC,CAACoC,uBADpB;AAEsBpC,QAAAA,CAAC,CAACqB,iBAFxB,EAE6CrB,CAAC,CAACoC,uBAF/C;;;AAKD,OA9LU;;AAgMXC,MAAAA,eAhMW,2BAgMKrC,CAhML,EAgMe;AACxB,eAAOJ,OAAO,CAACE,GAAf;;AAEaE,QAAAA,CAAC,CAACG,gBAFf,EAEyCH,CAAC,CAACoC,uBAF3C;;AAID,OArMU;;AAuMXE,MAAAA,KAvMW,iBAuMLtC,CAvMK,EAuMK;AACd,eAAOJ,OAAO,CAACE,GAAf;AACkBE,QAAAA,CAAC,CAACuC,qBADpB;AAEsBvC,QAAAA,CAAC,CAACqB,iBAFxB,EAE6CrB,CAAC,CAACuC,qBAF/C;;;AAKD,OA7MU;;AA+MXC,MAAAA,aA/MW,yBA+MGxC,CA/MH,EA+Ma;AACtB,eAAOJ,OAAO,CAACE,GAAf;;AAEaE,QAAAA,CAAC,CAACG,gBAFf,EAEyCH,CAAC,CAACuC,qBAF3C;;AAID,OApNU;;AAsNXE,MAAAA,QAtNW,oBAsNFzC,CAtNE,EAsNQ;AACjB,eAAOJ,OAAO,CAACE,GAAf;AACsBE,QAAAA,CAAC,CAAC0C,eADxB;AAEkB1C,QAAAA,CAAC,CAAC2C,wBAFpB;;;AAKD,OA5NU;;AA8NXC,MAAAA,KA9NW,iBA8NL5C,CA9NK,EA8NK;AACd,YAAM6C,cAAc,GAAGjD,OAAO,CAACkD,SAAX;;AAEA9C,QAAAA,CAAC,CAAC+C,eAFF,CAApB;;;AAKA,eAAOnD,OAAO,CAACE,GAAf;AACe+C,QAAAA,cADf;;AAGD,OAvOU;;AAyOXG,MAAAA,SAzOW,qBAyODhD,CAzOC,EAyOS;AAClB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAACiD,kBADjB;AAEiBjD,QAAAA,CAAC,CAACkD,oBAFnB;AAGiBlD,QAAAA,CAAC,CAACmD,kBAHnB;AAIoBnD,QAAAA,CAAC,CAACmD,kBAJtB;AAKkBnD,QAAAA,CAAC,CAACoD,kBALpB;AAMmBpD,QAAAA,CAAC,CAACoD,kBANrB;AAOYpD,QAAAA,CAAC,CAACqD,gBAPd;AAQmBrD,QAAAA,CAAC,CAACsD,sBARrB;;AAUD,OApPU;;AAsPXC,MAAAA,iBAtPW,6BAsPOvD,CAtPP,EAsPiB;AAC1B,eAAOJ,OAAO,CAACE,GAAf;AACiBT,QAAAA,KAAK;AAClBW,QAAAA,CAAC,CAACmD,kBADgB;AAElB5D,QAAAA,0BAA0B,CAACS,CAAC,CAACwD,8BAAH,CAA1B,GAA+D,IAA/D,GAAsE,GAFpD,CADtB;;AAKoBnE,QAAAA,KAAK;AACrBW,QAAAA,CAAC,CAACmD,kBADmB;AAErB5D,QAAAA,0BAA0B,CAACS,CAAC,CAACwD,8BAAH,CAA1B,GAA+D,GAA/D,GAAqE,GAFhD,CALzB;;AASkBxD,QAAAA,CAAC,CAACoD,kBATpB;AAUmBpD,QAAAA,CAAC,CAACoD,kBAVrB;;;AAaD,OApQU;;AAsQXK,MAAAA,UAtQW,sBAsQAzD,CAtQA,EAsQU;AACnB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAAC0D,mBADjB;AAEiB1D,QAAAA,CAAC,CAAC2D,qBAFnB;AAGiB3D,QAAAA,CAAC,CAAC4D,mBAHnB;AAIoB5D,QAAAA,CAAC,CAAC4D,mBAJtB;AAKkB5D,QAAAA,CAAC,CAAC6D,mBALpB;AAMmB7D,QAAAA,CAAC,CAAC6D,mBANrB;AAOY7D,QAAAA,CAAC,CAAC8D,iBAPd;AAQmB9D,QAAAA,CAAC,CAAC+D,uBARrB;;AAUD,OAjRU;;AAmRXC,MAAAA,kBAnRW,8BAmRQhE,CAnRR,EAmRkB;AAC3B,eAAOJ,OAAO,CAACE,GAAf;AACiBT,QAAAA,KAAK;AAClBW,QAAAA,CAAC,CAAC4D,mBADgB;AAElBrE,QAAAA,0BAA0B,CAACS,CAAC,CAACwD,8BAAH,CAA1B,GAA+D,IAA/D,GAAsE,GAFpD,CADtB;;AAKoBnE,QAAAA,KAAK;AACrBW,QAAAA,CAAC,CAAC4D,mBADmB;AAErBrE,QAAAA,0BAA0B,CAACS,CAAC,CAACwD,8BAAH,CAA1B,GAA+D,GAA/D,GAAqE,GAFhD,CALzB;;AASkBxD,QAAAA,CAAC,CAAC6D,mBATpB;AAUmB7D,QAAAA,CAAC,CAAC6D,mBAVrB;;;AAaD,OAjSU;;AAmSXI,MAAAA,SAnSW,qBAmSDjE,CAnSC,EAmSS;AAClB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAACkE,kBADjB;AAEiBlE,QAAAA,CAAC,CAACmE,oBAFnB;AAGYnE,QAAAA,CAAC,CAACoE,gBAHd;AAIiB/E,QAAAA,KAAK;AAClBW,QAAAA,CAAC,CAACqE,kBADgB;AAElB9E,QAAAA,0BAA0B,CAACS,CAAC,CAACwD,8BAAH,CAA1B,GAA+D,IAA/D,GAAsE,GAFpD,CAJtB;;AAQoBnE,QAAAA,KAAK;AACrBW,QAAAA,CAAC,CAACqE,kBADmB;AAErB9E,QAAAA,0BAA0B,CAACS,CAAC,CAACwD,8BAAH,CAA1B,GAA+D,GAA/D,GAAqE,GAFhD,CARzB;;AAYkBxD,QAAAA,CAAC,CAACsE,kBAZpB;AAamBtE,QAAAA,CAAC,CAACsE,kBAbrB;AAcmBtE,QAAAA,CAAC,CAACuE,sBAdrB;;AAgBD,OApTU;;AAsTXC,MAAAA,iBAtTW,6BAsTOxE,CAtTP,EAsTiB;AAC1B,eAAOJ,OAAO,CAACE,GAAf;AACiBT,QAAAA,KAAK;AAClBW,QAAAA,CAAC,CAACqE,kBADgB;AAElB9E,QAAAA,0BAA0B,CAACS,CAAC,CAACwD,8BAAH,CAA1B,GAA+D,IAA/D,GAAsE,GAFpD,CADtB;;AAKoBnE,QAAAA,KAAK;AACrBW,QAAAA,CAAC,CAACqE,kBADmB;AAErB9E,QAAAA,0BAA0B,CAACS,CAAC,CAACwD,8BAAH,CAA1B,GAA+D,GAA/D,GAAqE,GAFhD,CALzB;;AASkBxD,QAAAA,CAAC,CAACsE,kBATpB;AAUmBtE,QAAAA,CAAC,CAACsE,kBAVrB;;;AAaD,OApUU;;AAsUXG,MAAAA,MAtUW,kBAsUJzE,CAtUI,EAsUM;AACf,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAACwB,qBADb;;AAGD,OA1UU;;AA4UXkD,MAAAA,cA5UW,0BA4UI1E,CA5UJ,EA4Uc;AACvB,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAAC4B,6BADb;;AAGD,OAhVU;;AAkVX+C,MAAAA,MAlVW,kBAkVJ3E,CAlVI,EAkVM;AACf,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAACwB,qBADb;;AAGD,OAtVU;;AAwVXoD,MAAAA,cAxVW,0BAwVI5E,CAxVJ,EAwVc;AACvB,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAAC4B,6BADb;;AAGD,OA5VU;;AA8VXiD,MAAAA,aA9VW,2BA8VK;AACd,eAAOjF,OAAO,CAACE,GAAf;;;;;;;;;;;;AAYD,OA3WU;;AA6WXgF,MAAAA,cA7WW,4BA6WM;AACf,eAAOlF,OAAO,CAACE,GAAf;;;;;AAKD,OAnXU;;AAqXXiF,MAAAA,IArXW,kBAqXJ;AACL,eAAOnF,OAAO,CAACE,GAAf;;;;;;;AAOD,OA7XU;;AA+XXkF,MAAAA,SA/XW,qBA+XDhF,CA/XC,EA+XS;AAClB,eAAOJ,OAAO,CAACE,GAAf;AACWE,QAAAA,CAAC,CAACiF,qBADb;;AAGD,OAnYU;;AAqYbC,MAAAA,YArYa,wBAqYAlF,CArYA,EAqYU;AACnB,eAAOJ,OAAO,CAACE,GAAf;;AAEWE,QAAAA,CAAC,CAACmF,sBAFb;;AAID,OA1YU;;AA4YXC,MAAAA,aA5YW,yBA4YGpF,CA5YH,EA4Ya;AACtB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAACqF,kBADjB;AAEmBrF,QAAAA,CAAC,CAACsF,iBAFrB;;AAID,OAjZU;;AAmZXC,MAAAA,cAnZW,0BAmZIvF,CAnZJ,EAmZc;AACvB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAACqF,kBADjB;AAEkBrF,QAAAA,CAAC,CAACsF,iBAFpB;;AAID,OAxZU;;AA0ZXE,MAAAA,cA1ZW,0BA0ZIxF,CA1ZJ,EA0Zc;AACvB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAACyF,mBADjB;AAEmBzF,QAAAA,CAAC,CAAC0F,kBAFrB;;AAID,OA/ZU;;AAiaXC,MAAAA,eAjaW,2BAiaK3F,CAjaL,EAiae;AACxB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAACyF,mBADjB;AAEkBzF,QAAAA,CAAC,CAAC0F,kBAFpB;;AAID,OAtaU;;AAwaXE,MAAAA,aAxaW,yBAwaG5F,CAxaH,EAwaa;AACtB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAAC6F,kBADjB;AAEmB7F,QAAAA,CAAC,CAAC8F,iBAFrB;;AAID,OA7aU;;AA+aXC,MAAAA,cA/aW,0BA+aI/F,CA/aJ,EA+ac;AACvB,eAAOJ,OAAO,CAACE,GAAf;AACeE,QAAAA,CAAC,CAAC6F,kBADjB;AAEkB7F,QAAAA,CAAC,CAAC8F,iBAFpB;;AAID,OApbU;;AAsbXE,MAAAA,kBAtbW,gCAsbU;AACnB,eAAOpG,OAAO,CAACE,GAAf;;;AAGD,OA1bU,EAAD,CADW,GAAlB","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nconst shouldCompensateFontFamily = (fontFamilyCompensation: string): boolean =>\n Boolean(parseInt(fontFamilyCompensation));\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n wrapper() {\n return emotion.css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return emotion.css`\n ${resetText(emotion)};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return emotion.css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return emotion.css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n useDefaultColor(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return emotion.css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return emotion.css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return emotion.css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return emotion.css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return emotion.css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return emotion.css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = emotion.keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return emotion.css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-2' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '2' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n prefix(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n prefixDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n suffix(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n suffixDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n sideContainer() {\n return emotion.css`\n align-items: center;\n display: flex;\n flex-shrink: 0;\n height: 100%;\n\n &::before {\n content: '\\\\a0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n rightContainer() {\n return emotion.css`\n justify-self: flex-end;\n margin: 0 0 0 auto;\n padding-left: 0;\n `;\n },\n\n icon() {\n return emotion.css`\n flex-shrink: 0;\n cursor: text;\n z-index: 2;\n text-align: center;\n box-sizing: content-box !important; // fix possible \"reset.css\" problem\n `;\n },\n\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n\n iconDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n color: ${t.inputIconColorDisabled};\n `;\n },\n\n leftIconSmall(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeSmall};\n padding-right: ${t.inputIconGapSmall};\n `;\n },\n\n rightIconSmall(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeSmall};\n padding-left: ${t.inputIconGapSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeMedium};\n padding-right: ${t.inputIconGapMedium};\n `;\n },\n\n rightIconMedium(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeMedium};\n padding-left: ${t.inputIconGapMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeLarge};\n padding-right: ${t.inputIconGapLarge};\n `;\n },\n\n rightIconLarge(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeLarge};\n padding-left: ${t.inputIconGapLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return emotion.css`\n caret-color: transparent;\n `;\n },\n });\n"]}
|
|
@@ -34,7 +34,7 @@ export declare const getStyles: (emotion: Emotion) => {
|
|
|
34
34
|
rightContainer(): string;
|
|
35
35
|
icon(): string;
|
|
36
36
|
iconFocus(t: Theme): string;
|
|
37
|
-
iconDisabled(): string;
|
|
37
|
+
iconDisabled(t: Theme): string;
|
|
38
38
|
leftIconSmall(t: Theme): string;
|
|
39
39
|
rightIconSmall(t: Theme): string;
|
|
40
40
|
leftIconMedium(t: Theme): string;
|
|
@@ -22,8 +22,8 @@ export var getStylesLayout = function getStylesLayout(emotion) {
|
|
|
22
22
|
iconFocus: function iconFocus(t) {
|
|
23
23
|
return emotion.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.inputFocusedIconColor);
|
|
24
24
|
},
|
|
25
|
-
iconDisabled: function iconDisabled() {
|
|
26
|
-
return emotion.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n cursor: default;\n "])));
|
|
25
|
+
iconDisabled: function iconDisabled(t) {
|
|
26
|
+
return emotion.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n cursor: default;\n color: ", ";\n "])), t.inputIconColorDisabled);
|
|
27
27
|
},
|
|
28
28
|
text: function text(t) {
|
|
29
29
|
return emotion.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.inputPlaceholderColor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InputLayout.styles.ts"],"names":["ZERO_WIDTH_SPACE_CSS","memoizeStyle","getStyles","getStylesLayout","emotion","root","t","input","css","aside","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":";;AAEA,SAASA,oBAAT,QAAqC,oBAArC;AACA,SAASC,YAAT,QAA6B,8BAA7B;;AAEA,SAASC,SAAT,QAA0B,iBAA1B;;AAEA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,OAAD;AAC7BH,IAAAA,YAAY,CAAC;AACXI,MAAAA,IADW,gBACNC,CADM,EACI;AACb,eAAOJ,SAAS,CAACE,OAAD,CAAT,CAAmBC,IAAnB,CAAwBC,CAAxB,CAAP;AACD,OAHU;AAIXC,MAAAA,KAJW,mBAIH;AACN,eAAOH,OAAO,CAACI,GAAf;;;;;;;AAOD,OAZU;AAaXC,MAAAA,KAbW,mBAaH;AACN,eAAOL,OAAO,CAACI,GAAf;;;;;;AAMgBR,QAAAA,oBANhB;;;AASD,OAvBU;AAwBXU,MAAAA,IAxBW,gBAwBNJ,CAxBM,EAwBI;AACb,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACK,cADb;;AAGD,OA5BU;AA6BXC,MAAAA,SA7BW,qBA6BDN,CA7BC,EA6BS;AAClB,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACO,qBADb;;AAGD,OAjCU;AAkCXC,MAAAA,YAlCW,
|
|
1
|
+
{"version":3,"sources":["InputLayout.styles.ts"],"names":["ZERO_WIDTH_SPACE_CSS","memoizeStyle","getStyles","getStylesLayout","emotion","root","t","input","css","aside","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","inputIconColorDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":";;AAEA,SAASA,oBAAT,QAAqC,oBAArC;AACA,SAASC,YAAT,QAA6B,8BAA7B;;AAEA,SAASC,SAAT,QAA0B,iBAA1B;;AAEA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,OAAD;AAC7BH,IAAAA,YAAY,CAAC;AACXI,MAAAA,IADW,gBACNC,CADM,EACI;AACb,eAAOJ,SAAS,CAACE,OAAD,CAAT,CAAmBC,IAAnB,CAAwBC,CAAxB,CAAP;AACD,OAHU;AAIXC,MAAAA,KAJW,mBAIH;AACN,eAAOH,OAAO,CAACI,GAAf;;;;;;;AAOD,OAZU;AAaXC,MAAAA,KAbW,mBAaH;AACN,eAAOL,OAAO,CAACI,GAAf;;;;;;AAMgBR,QAAAA,oBANhB;;;AASD,OAvBU;AAwBXU,MAAAA,IAxBW,gBAwBNJ,CAxBM,EAwBI;AACb,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACK,cADb;;AAGD,OA5BU;AA6BXC,MAAAA,SA7BW,qBA6BDN,CA7BC,EA6BS;AAClB,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACO,qBADb;;AAGD,OAjCU;AAkCXC,MAAAA,YAlCW,wBAkCER,CAlCF,EAkCY;AACrB,eAAOF,OAAO,CAACI,GAAf;;AAEWF,QAAAA,CAAC,CAACS,sBAFb;;AAID,OAvCU;AAwCXC,MAAAA,IAxCW,gBAwCNV,CAxCM,EAwCI;AACb,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACW,qBADb;;AAGD,OA5CU;AA6CXC,MAAAA,YA7CW,wBA6CEZ,CA7CF,EA6CY;AACrB,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACa,6BADb;;AAGD,OAjDU,EAAD,CADiB,GAAxB","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { ZERO_WIDTH_SPACE_CSS } from '../../../lib/chars';\nimport { memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { getStyles } from '../Input.styles';\n\nexport const getStylesLayout = (emotion: Emotion) =>\n memoizeStyle({\n root(t: Theme) {\n return getStyles(emotion).root(t);\n },\n input() {\n return emotion.css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return emotion.css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '${ZERO_WIDTH_SPACE_CSS}';\n }\n `;\n },\n icon(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n color: ${t.inputIconColorDisabled};\n `;\n },\n text(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n });\n"]}
|
|
@@ -6,7 +6,7 @@ export declare const getStylesLayout: (emotion: Emotion) => {
|
|
|
6
6
|
aside(): string;
|
|
7
7
|
icon(t: Theme): string;
|
|
8
8
|
iconFocus(t: Theme): string;
|
|
9
|
-
iconDisabled(): string;
|
|
9
|
+
iconDisabled(t: Theme): string;
|
|
10
10
|
text(t: Theme): string;
|
|
11
11
|
textDisabled(t: Theme): string;
|
|
12
12
|
};
|
|
@@ -51,6 +51,6 @@ export var InputLayoutAsideIcon = function InputLayoutAsideIcon(_ref) {
|
|
|
51
51
|
var stylesLayout = getStylesLayout(emotion);
|
|
52
52
|
return _icon && /*#__PURE__*/React.createElement("span", {
|
|
53
53
|
style: style,
|
|
54
|
-
className: emotion.cx(stylesLayout.aside(), stylesLayout.icon(theme), focused && stylesLayout.iconFocus(theme), disabled && stylesLayout.iconDisabled())
|
|
54
|
+
className: emotion.cx(stylesLayout.aside(), stylesLayout.icon(theme), focused && stylesLayout.iconFocus(theme), disabled && stylesLayout.iconDisabled(theme))
|
|
55
55
|
}, _icon);
|
|
56
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["React","isElement","isKonturIcon","useEmotion","useTheme","InputLayoutContext","getStylesLayout","InputLayoutAsideIcon","icon","side","emotion","theme","useContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","stylesLayout","cx","aside","iconFocus","iconDisabled"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAEA,SAASC,YAAT,QAA6B,oBAA7B;;AAEA,SAASC,UAAT,QAA2B,8BAA3B;;AAEA,SAASC,QAAT,QAAyB,+BAAzB;;AAEA,SAASC,kBAAT,QAAmC,sBAAnC;AACA,SAASC,eAAT,QAAgC,sBAAhC;;;;;;;AAOA,OAAO,IAAMC,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,OAAO,GAAGP,UAAU,EAA1B;AACA,MAAMQ,KAAK,GAAGP,QAAQ,EAAtB;AACA,0BAAoCJ,KAAK,CAACY,UAAN,CAAiBP,kBAAjB,CAApC,CAAQQ,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAA+B,GAAG;AACtCC,IAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACQ,kBAAP,CADuB;AAEtCC,IAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACU,mBAAP,CAFsB;AAGtCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACY,kBAAP,CAHuB,EAAxC;;AAKA,MAAMC,IAA8B,GAAG;AACrCP,IAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACc,iBAAP,CADsB;AAErCL,IAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACe,kBAAP,CAFqB;AAGrCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACgB,iBAAP,CAHsB,EAAvC;;;AAMA,MAAIC,KAAK,GAAGpB,IAAI,YAAYqB,QAAhB,GAA2BrB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAIP,SAAS,CAACO,IAAD,CAAT,IAAmBN,YAAY,CAACM,IAAD,CAAnC,EAA2C;AACzCoB,IAAAA,KAAK,gBAAG5B,KAAK,CAAC8B,YAAN,CAAmBtB,IAAnB,EAAyB,EAAEO,IAAI,sBAAEP,IAAI,CAACuB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAIvB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpBuB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED,MAAMoB,YAAY,GAAG7B,eAAe,CAACI,OAAD,CAApC;;AAEA;AACEkB,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAEtB,OAAO,CAAC0B,EAAR;AACTD,MAAAA,YAAY,CAACE,KAAb,EADS;AAETF,MAAAA,YAAY,CAAC3B,IAAb,CAAkBG,KAAlB,CAFS;AAGTE,MAAAA,OAAO,IAAIsB,YAAY,CAACG,SAAb,CAAuB3B,KAAvB,CAHF;AAITG,MAAAA,QAAQ,IAAIqB,YAAY,CAACI,YAAb,
|
|
1
|
+
{"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["React","isElement","isKonturIcon","useEmotion","useTheme","InputLayoutContext","getStylesLayout","InputLayoutAsideIcon","icon","side","emotion","theme","useContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","stylesLayout","cx","aside","iconFocus","iconDisabled"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,UAA1B;;AAEA,SAASC,YAAT,QAA6B,oBAA7B;;AAEA,SAASC,UAAT,QAA2B,8BAA3B;;AAEA,SAASC,QAAT,QAAyB,+BAAzB;;AAEA,SAASC,kBAAT,QAAmC,sBAAnC;AACA,SAASC,eAAT,QAAgC,sBAAhC;;;;;;;AAOA,OAAO,IAAMC,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,OAAO,GAAGP,UAAU,EAA1B;AACA,MAAMQ,KAAK,GAAGP,QAAQ,EAAtB;AACA,0BAAoCJ,KAAK,CAACY,UAAN,CAAiBP,kBAAjB,CAApC,CAAQQ,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAA+B,GAAG;AACtCC,IAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACQ,kBAAP,CADuB;AAEtCC,IAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACU,mBAAP,CAFsB;AAGtCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACY,kBAAP,CAHuB,EAAxC;;AAKA,MAAMC,IAA8B,GAAG;AACrCP,IAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACc,iBAAP,CADsB;AAErCL,IAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACe,kBAAP,CAFqB;AAGrCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACgB,iBAAP,CAHsB,EAAvC;;;AAMA,MAAIC,KAAK,GAAGpB,IAAI,YAAYqB,QAAhB,GAA2BrB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAIP,SAAS,CAACO,IAAD,CAAT,IAAmBN,YAAY,CAACM,IAAD,CAAnC,EAA2C;AACzCoB,IAAAA,KAAK,gBAAG5B,KAAK,CAAC8B,YAAN,CAAmBtB,IAAnB,EAAyB,EAAEO,IAAI,sBAAEP,IAAI,CAACuB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAIvB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpBuB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED,MAAMoB,YAAY,GAAG7B,eAAe,CAACI,OAAD,CAApC;;AAEA;AACEkB,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAEtB,OAAO,CAAC0B,EAAR;AACTD,MAAAA,YAAY,CAACE,KAAb,EADS;AAETF,MAAAA,YAAY,CAAC3B,IAAb,CAAkBG,KAAlB,CAFS;AAGTE,MAAAA,OAAO,IAAIsB,YAAY,CAACG,SAAb,CAAuB3B,KAAvB,CAHF;AAITG,MAAAA,QAAQ,IAAIqB,YAAY,CAACI,YAAb,CAA0B5B,KAA1B,CAJH,CAFb;;;AASGiB,IAAAA,KATH,CAFJ;;;;AAeD,CA/CM","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps } from '../Input';\nimport { useEmotion } from '../../../lib/theming/Emotion';\nimport { SizeProp } from '../../../lib/types/props';\nimport { useTheme } from '../../../lib/theming/useTheme';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { getStylesLayout } from './InputLayout.styles';\n\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const emotion = useEmotion();\n const theme = useTheme();\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n const stylesLayout = getStylesLayout(emotion);\n\n return (\n _icon && (\n <span\n style={style}\n className={emotion.cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(theme),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}
|
|
@@ -21,7 +21,8 @@ import { rootNode } from "../../../lib/rootNode";
|
|
|
21
21
|
import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
22
22
|
import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
|
|
23
23
|
import { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from "../../../lib/featureFlagsContext";
|
|
24
|
-
import {
|
|
24
|
+
import { getVisualStateDataAttributes } from "../../../internal/CommonWrapper/utils/getVisualStateDataAttributes";
|
|
25
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
25
26
|
import { getStyles } from "../Kebab.styles";
|
|
26
27
|
import { KebabIcon } from "../KebabIcon";
|
|
27
28
|
export var KebabDataTids = {
|
|
@@ -134,9 +135,9 @@ export var Kebab = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
|
|
|
134
135
|
|
|
135
136
|
return /*#__PURE__*/React.createElement(EmotionConsumer, null, function (emotion) {
|
|
136
137
|
_this2.emotion = emotion;
|
|
137
|
-
return /*#__PURE__*/React.createElement(
|
|
138
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
138
139
|
_this2.theme = theme;
|
|
139
|
-
return /*#__PURE__*/React.createElement(
|
|
140
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
|
|
140
141
|
value: ThemeFactory.create({
|
|
141
142
|
popupPinOffset: theme.kebabPinOffset,
|
|
142
143
|
popupMargin: theme.kebabMargin,
|
|
@@ -163,7 +164,9 @@ export var Kebab = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
|
|
|
163
164
|
var hasPin = !getFullReactUIFlagsContext(flags).kebabHintRemovePin || !isTheme2022(_this3.theme);
|
|
164
165
|
return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
|
|
165
166
|
rootNodeRef: _this3.setRootNode
|
|
166
|
-
}, _this3.props
|
|
167
|
+
}, _this3.props, getVisualStateDataAttributes({
|
|
168
|
+
disabled: disabled
|
|
169
|
+
})), /*#__PURE__*/React.createElement(PopupMenu, {
|
|
167
170
|
popupHasPin: hasPin,
|
|
168
171
|
preventIconsOffset: _this3.props.preventIconsOffset,
|
|
169
172
|
positions: positions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Kebab.tsx"],"names":["React","PropTypes","isElement","globalObject","isKonturIcon","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","MenuKebabIcon","isTestEnv","ThemeFactory","CommonWrapper","EmotionConsumer","rootNode","createPropsGetter","isTheme2022","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","ThemeConsumer","ThemeProvider","getStyles","KebabIcon","KebabDataTids","caption","Kebab","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","styles","emotion","handleFocus","handleBlur","cx","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","isTabPressed","componentDidMount","addListener","componentWillUnmount","render","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","flags","hasPin","kebabHintRemovePin","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","displayName","propTypes","node","bool","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { ThemeConsumer, ThemeProvider } from '../../lib/theming/ThemeContext';\n\nimport { getStyles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: SizeProp;\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n public static displayName = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private emotion!: Emotion;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeProvider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeProvider>\n );\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n const hasPin = !getFullReactUIFlagsContext(flags).kebabHintRemovePin || !isTheme2022(this.theme);\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin={hasPin}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n const styles = getStyles(this.emotion);\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={this.emotion.cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n isTheme2022(this.theme) && styles.kebab2022(),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {isTheme2022(this.theme) ? this.renderIcon2022() : this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <MenuKebabIcon /> } = this.getProps();\n const styles = getStyles(this.emotion);\n return (\n <div\n className={this.emotion.cx({\n [styles.icon(this.theme)]: true,\n [styles.iconsmall(this.theme)]: size === 'small',\n [styles.iconmedium(this.theme)]: size === 'medium',\n [styles.iconlarge(this.theme)]: size === 'large',\n })}\n >\n {icon}\n </div>\n );\n }\n\n private renderIcon2022() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["Kebab.tsx"],"names":["React","PropTypes","isElement","globalObject","isKonturIcon","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","MenuKebabIcon","isTestEnv","ThemeFactory","CommonWrapper","EmotionConsumer","rootNode","createPropsGetter","isTheme2022","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","getVisualStateDataAttributes","ThemeContext","getStyles","KebabIcon","KebabDataTids","caption","Kebab","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","styles","emotion","handleFocus","handleBlur","cx","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","isTabPressed","componentDidMount","addListener","componentWillUnmount","render","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","flags","hasPin","kebabHintRemovePin","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","displayName","propTypes","node","bool","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { isElement } from 'react-is';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { isKonturIcon } from '../../lib/utils';\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps, PopupMenuProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { getStyles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n disabled?: boolean;\n size?: SizeProp;\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const KebabDataTids = {\n caption: 'Kebab__caption',\n} as const;\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<KebabProps, 'onOpen' | 'onClose' | 'positions' | 'size' | 'disableAnimations'>>;\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n public static displayName = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps: DefaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Kebab.defaultProps);\n\n public state: KebabState = {\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private emotion!: Emotion;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n menuScrollContainerContentWrapperPaddingY: theme.menuLegacyPaddingY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n const hasPin = !getFullReactUIFlagsContext(flags).kebabHintRemovePin || !isTheme2022(this.theme);\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...this.props}\n {...getVisualStateDataAttributes({ disabled })}\n >\n <PopupMenu\n popupHasPin={hasPin}\n preventIconsOffset={this.props.preventIconsOffset}\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n onOpen={onOpen}\n onClose={onClose}\n popupMenuId={this.props.popupMenuId}\n aria-label={this.props['aria-label']}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled, size } = this.getProps();\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n const styles = getStyles(this.emotion);\n\n return (\n <span\n role=\"button\"\n data-tid={KebabDataTids.caption}\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={this.emotion.cx(\n styles.kebab(this.theme),\n size === 'small' && styles.kebabSmall(this.theme),\n size === 'medium' && styles.kebabMedium(this.theme),\n size === 'large' && styles.kebabLarge(this.theme),\n isTheme2022(this.theme) && styles.kebab2022(),\n captionProps.opened && styles.opened(this.theme),\n disabled && styles.disabled(),\n this.state.focusedByTab && styles.focused(this.theme),\n )}\n aria-describedby={this.props['aria-describedby']}\n >\n {isTheme2022(this.theme) ? this.renderIcon2022() : this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState({\n focusedByTab: !isOpened && restoreFocus,\n });\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n const { size, icon = <MenuKebabIcon /> } = this.getProps();\n const styles = getStyles(this.emotion);\n return (\n <div\n className={this.emotion.cx({\n [styles.icon(this.theme)]: true,\n [styles.iconsmall(this.theme)]: size === 'small',\n [styles.iconmedium(this.theme)]: size === 'medium',\n [styles.iconlarge(this.theme)]: size === 'large',\n })}\n >\n {icon}\n </div>\n );\n }\n\n private renderIcon2022() {\n const { size, icon = <KebabIcon /> } = this.getProps();\n\n if (isElement(icon) && isKonturIcon(icon)) {\n const sizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.kebabIconSizeSmall),\n medium: parseInt(this.theme.kebabIconSizeMedium),\n large: parseInt(this.theme.kebabIconSizeLarge),\n };\n\n return React.cloneElement(icon, {\n size: icon.props.size ?? sizes[size],\n color: icon.props.color ?? this.theme.kebabIconColor,\n });\n }\n\n return icon;\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
|