@skbkontur/react-ui 0.0.0-7feb61cdde → 0.0.0-80c5917afc
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 +94 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +5 -0
- package/cjs/components/Autocomplete/Autocomplete.js +18 -4
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.d.ts +1 -1
- package/cjs/components/Button/Button.js +7 -2
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +6 -4
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/getInnerLinkTheme.js +2 -3
- package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
- package/cjs/components/Calendar/Calendar.styles.js +1 -2
- package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.js +1 -1
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Calendar/DayCellView.styles.d.ts +1 -1
- package/cjs/components/Calendar/DayCellView.styles.js +4 -4
- package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +10 -0
- package/cjs/components/Checkbox/Checkbox.js +70 -15
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.md +18 -0
- package/cjs/components/Checkbox/Checkbox.mixins.d.ts +2 -0
- package/cjs/components/Checkbox/Checkbox.mixins.js +35 -0
- package/cjs/components/Checkbox/Checkbox.mixins.js.map +1 -0
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +6 -0
- package/cjs/components/Checkbox/Checkbox.styles.js +95 -34
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +5 -3
- package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
- package/cjs/components/CurrencyInput/CurrencyHelper.js +21 -6
- package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +3 -0
- package/cjs/components/DateInput/DateInput.js +11 -3
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/Dropdown/getDropdownTheme.js +3 -1
- package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +4 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +28 -0
- package/cjs/components/DropdownMenu/getDropdownMenuTheme.js +5 -1
- package/cjs/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.js +3 -2
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
- package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.js +6 -4
- package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +1 -5
- package/cjs/components/Input/Input.js +4 -5
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.js +3 -2
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +1 -1
- package/cjs/components/Kebab/Kebab.js +6 -1
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +28 -0
- package/cjs/components/Link/Link.js +4 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.d.ts +1 -2
- package/cjs/components/Link/Link.mixins.js +5 -16
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.d.ts +2 -0
- package/cjs/components/Link/Link.styles.js +58 -38
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +1 -1
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +1 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Radio/Radio.styles.js +6 -2
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -2
- package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +7 -5
- package/cjs/components/Select/Select.js +15 -6
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.js +3 -2
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/selectTheme.js +4 -1
- package/cjs/components/Select/selectTheme.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +1 -0
- package/cjs/components/Tabs/Tab.js +15 -1
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.styles.d.ts +9 -3
- package/cjs/components/Tabs/Tab.styles.js +106 -68
- package/cjs/components/Tabs/Tab.styles.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +8 -2
- package/cjs/components/Tabs/Tabs.js +15 -1
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Tabs/Tabs.md +32 -0
- package/cjs/components/Tabs/Tabs.styles.d.ts +3 -1
- package/cjs/components/Tabs/Tabs.styles.js +23 -7
- package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/components/Tabs/TabsContext.d.ts +2 -1
- package/cjs/components/Tabs/TabsContext.js +2 -0
- package/cjs/components/Tabs/TabsContext.js.map +1 -1
- package/cjs/components/Tabs/helpers.d.ts +6 -0
- package/cjs/components/Tabs/helpers.js +30 -0
- package/cjs/components/Tabs/helpers.js.map +1 -0
- package/cjs/components/Textarea/Textarea.styles.js +2 -2
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.js +2 -2
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +11 -1
- package/cjs/components/Toggle/Toggle.js +102 -2
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.md +16 -2
- package/cjs/components/Toggle/Toggle.mixins.d.ts +7 -0
- package/cjs/components/Toggle/Toggle.mixins.js +90 -0
- package/cjs/components/Toggle/Toggle.mixins.js.map +1 -0
- package/cjs/components/Toggle/Toggle.styles.d.ts +21 -1
- package/cjs/components/Toggle/Toggle.styles.js +172 -56
- package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
- package/cjs/components/TokenInput/TokenInput.js +8 -2
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +26 -35
- package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
- package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.d.ts +7 -0
- package/cjs/components/TokenInput/TokenInputMenu.js +9 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js +8 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.md +28 -0
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js +2 -1
- package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +10 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js +11 -3
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -11
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +1 -1
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -0
- package/cjs/internal/DateSelect/DateSelect.styles.js +15 -3
- package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
- package/cjs/internal/DropdownContainer/DropdownContainer.js +6 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -4
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +7 -5
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +16 -4
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.d.ts +13 -4
- package/cjs/internal/InternalMenu/InternalMenu.js +15 -5
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
- package/cjs/internal/InternalMenu/InternalMenu.styles.js +13 -7
- package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
- package/cjs/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
- package/cjs/internal/InternalMenu/isIconPaddingEnabled.js +9 -0
- package/cjs/internal/InternalMenu/isIconPaddingEnabled.js.map +1 -0
- package/cjs/internal/Menu/Menu.d.ts +42 -8
- package/cjs/internal/Menu/Menu.js +272 -78
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.d.ts +6 -1
- package/cjs/internal/Menu/Menu.styles.js +42 -8
- package/cjs/internal/Menu/Menu.styles.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -2
- package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +7 -2
- package/cjs/internal/Popup/Popup.js +13 -3
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +29 -4
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +114 -17
- package/cjs/internal/themes/DefaultTheme.js +244 -68
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +19 -3
- package/cjs/internal/themes/Theme2022.js +33 -13
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/internal/themes/Theme2022Dark.d.ts +0 -4
- package/cjs/internal/themes/Theme2022Dark.js +3 -14
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
- package/cjs/typings/html.d.ts +0 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +13 -3
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +5 -0
- package/components/Button/Button/Button.js +2 -0
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -1
- package/components/Button/Button.styles/Button.styles.js +2 -2
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +2 -3
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -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/DayCellView/DayCellView.js +1 -1
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js +2 -2
- package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
- package/components/Calendar/DayCellView.styles.d.ts +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +56 -8
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +10 -0
- package/components/Checkbox/Checkbox.md +18 -0
- package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js +17 -0
- package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js.map +1 -0
- package/components/Checkbox/Checkbox.mixins/package.json +6 -0
- package/components/Checkbox/Checkbox.mixins.d.ts +2 -0
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +39 -25
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +6 -0
- package/components/ComboBox/ComboBox.md +5 -3
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +32 -4
- package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
- package/components/DateInput/DateInput/DateInput.js +5 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +3 -0
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +3 -1
- package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -0
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/components/DropdownMenu/DropdownMenu.md +28 -0
- package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js +5 -1
- package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js.map +1 -1
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +1 -1
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -1
- package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +6 -2
- package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
- package/components/Input/Input/Input.js +3 -1
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +1 -5
- package/components/Input/Input.styles/Input.styles.js +2 -2
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js +4 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +1 -1
- package/components/Kebab/Kebab.md +28 -0
- package/components/Link/Link/Link.js +4 -4
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins/Link.mixins.js +2 -5
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.mixins.d.ts +1 -2
- package/components/Link/Link.styles/Link.styles.js +29 -21
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +2 -0
- package/components/Modal/ModalFooter/ModalFooter.js +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Radio/Radio.styles/Radio.styles.js +2 -2
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +3 -2
- package/components/Select/Select/Select.js +15 -7
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +7 -5
- package/components/Select/Select.styles/Select.styles.js +1 -1
- package/components/Select/Select.styles/Select.styles.js.map +1 -1
- package/components/Select/selectTheme/selectTheme.js +3 -1
- package/components/Select/selectTheme/selectTheme.js.map +1 -1
- package/components/Tabs/Tab/Tab.js +3 -3
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +1 -0
- package/components/Tabs/Tab.styles/Tab.styles.js +52 -23
- package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
- package/components/Tabs/Tab.styles.d.ts +9 -3
- package/components/Tabs/Tabs/Tabs.js +11 -3
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +8 -2
- package/components/Tabs/Tabs.md +32 -0
- package/components/Tabs/Tabs.styles/Tabs.styles.js +15 -4
- package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
- package/components/Tabs/Tabs.styles.d.ts +3 -1
- package/components/Tabs/TabsContext/TabsContext.js +1 -0
- package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/components/Tabs/TabsContext.d.ts +2 -1
- package/components/Tabs/helpers/helpers.js +25 -0
- package/components/Tabs/helpers/helpers.js.map +1 -0
- package/components/Tabs/helpers/package.json +6 -0
- package/components/Tabs/helpers.d.ts +6 -0
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Toast/ToastView.styles/ToastView.styles.js +1 -1
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +112 -9
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +11 -1
- package/components/Toggle/Toggle.md +16 -2
- package/components/Toggle/Toggle.mixins/Toggle.mixins.js +35 -0
- package/components/Toggle/Toggle.mixins/Toggle.mixins.js.map +1 -0
- package/components/Toggle/Toggle.mixins/package.json +6 -0
- package/components/Toggle/Toggle.mixins.d.ts +7 -0
- package/components/Toggle/Toggle.styles/Toggle.styles.js +85 -31
- package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
- package/components/Toggle/Toggle.styles.d.ts +21 -1
- package/components/TokenInput/TokenInput/TokenInput.js +9 -3
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -0
- package/components/TokenInput/TokenInput.md +26 -35
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -0
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.d.ts +7 -0
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +7 -2
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
- package/components/TooltipMenu/TooltipMenu.md +28 -0
- package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -0
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +10 -3
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +4 -0
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +23 -20
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +2 -1
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +5 -2
- package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles.d.ts +3 -0
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +2 -0
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +5 -4
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -4
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +20 -8
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -6
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.d.ts +13 -4
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +10 -7
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
- package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js +6 -0
- package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js.map +1 -0
- package/internal/InternalMenu/isIconPaddingEnabled/package.json +6 -0
- package/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
- package/internal/Menu/Menu/Menu.js +197 -42
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.d.ts +42 -8
- package/internal/Menu/Menu.styles/Menu.styles.js +20 -5
- package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
- package/internal/Menu/Menu.styles.d.ts +6 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -0
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.d.ts +2 -2
- package/internal/Popup/Popup/Popup.js +9 -3
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +7 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +27 -5
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +4 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +320 -88
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +114 -17
- package/internal/themes/Theme2022/Theme2022.js +59 -44
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +19 -3
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +1 -18
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
- package/internal/themes/Theme2022Dark.d.ts +0 -4
- package/package.json +3 -3
- package/typings/html.d.ts +0 -1
|
@@ -112,8 +112,110 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
|
|
|
112
112
|
});
|
|
113
113
|
};
|
|
114
114
|
|
|
115
|
+
_proto.getContainerSizeClassName = function getContainerSizeClassName() {
|
|
116
|
+
switch (this.getProps().size) {
|
|
117
|
+
case 'large':
|
|
118
|
+
return styles.containerLarge(this.theme);
|
|
119
|
+
|
|
120
|
+
case 'medium':
|
|
121
|
+
return styles.containerMedium(this.theme);
|
|
122
|
+
|
|
123
|
+
case 'small':
|
|
124
|
+
default:
|
|
125
|
+
return styles.containerSmall(this.theme);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
_proto.getHandleSizeClassName = function getHandleSizeClassName() {
|
|
130
|
+
switch (this.getProps().size) {
|
|
131
|
+
case 'large':
|
|
132
|
+
return styles.handleLarge(this.theme);
|
|
133
|
+
|
|
134
|
+
case 'medium':
|
|
135
|
+
return styles.handleMedium(this.theme);
|
|
136
|
+
|
|
137
|
+
case 'small':
|
|
138
|
+
default:
|
|
139
|
+
return styles.handleSmall(this.theme);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
_proto.getButtonSizeClassName = function getButtonSizeClassName() {
|
|
144
|
+
switch (this.getProps().size) {
|
|
145
|
+
case 'large':
|
|
146
|
+
return styles.buttonLarge(this.theme);
|
|
147
|
+
|
|
148
|
+
case 'medium':
|
|
149
|
+
return styles.buttonMedium(this.theme);
|
|
150
|
+
|
|
151
|
+
case 'small':
|
|
152
|
+
default:
|
|
153
|
+
return styles.buttonSmall(this.theme);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
_proto.getRootSizeClassName = function getRootSizeClassName() {
|
|
158
|
+
switch (this.getProps().size) {
|
|
159
|
+
case 'large':
|
|
160
|
+
return styles.rootLarge(this.theme);
|
|
161
|
+
|
|
162
|
+
case 'medium':
|
|
163
|
+
return styles.rootMedium(this.theme);
|
|
164
|
+
|
|
165
|
+
case 'small':
|
|
166
|
+
default:
|
|
167
|
+
return styles.rootSmall(this.theme);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
_proto.getInputSizeClassName = function getInputSizeClassName() {
|
|
172
|
+
switch (this.getProps().size) {
|
|
173
|
+
case 'large':
|
|
174
|
+
return styles.inputLarge(this.theme);
|
|
175
|
+
|
|
176
|
+
case 'medium':
|
|
177
|
+
return styles.inputMedium(this.theme);
|
|
178
|
+
|
|
179
|
+
case 'small':
|
|
180
|
+
default:
|
|
181
|
+
return styles.inputSmall(this.theme);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
_proto.getActiveHandleSizeClassName = function getActiveHandleSizeClassName() {
|
|
186
|
+
if (isTheme2022(this.theme)) {
|
|
187
|
+
return '';
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
switch (this.getProps().size) {
|
|
191
|
+
case 'large':
|
|
192
|
+
return styles.activeHandleLarge(this.theme);
|
|
193
|
+
|
|
194
|
+
case 'medium':
|
|
195
|
+
return styles.activeHandleMedium(this.theme);
|
|
196
|
+
|
|
197
|
+
case 'small':
|
|
198
|
+
default:
|
|
199
|
+
return styles.activeHandleSmall(this.theme);
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
_proto.getCaptionSizeClassName = function getCaptionSizeClassName() {
|
|
204
|
+
switch (this.getProps().size) {
|
|
205
|
+
case 'large':
|
|
206
|
+
return styles.captionLarge(this.theme);
|
|
207
|
+
|
|
208
|
+
case 'medium':
|
|
209
|
+
return styles.captionMedium(this.theme);
|
|
210
|
+
|
|
211
|
+
case 'small':
|
|
212
|
+
default:
|
|
213
|
+
return styles.captionSmall(this.theme);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
|
|
115
217
|
_proto.renderMain = function renderMain() {
|
|
116
|
-
var _cx, _cx2, _cx4, _cx5, _cx6;
|
|
218
|
+
var _cx, _cx2, _cx4, _cx5, _cx6, _cx7;
|
|
117
219
|
|
|
118
220
|
var _this$props = this.props,
|
|
119
221
|
children = _this$props.children,
|
|
@@ -130,14 +232,14 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
|
|
|
130
232
|
|
|
131
233
|
var disabled = this.getProps().disabled || loading;
|
|
132
234
|
var checked = this.isUncontrolled() ? this.state.checked : this.props.checked;
|
|
133
|
-
var containerClassNames = cx(
|
|
134
|
-
var labelClassNames = cx(
|
|
235
|
+
var containerClassNames = cx(this.getContainerSizeClassName(), (_cx = {}, _cx[styles.container(this.theme)] = true, _cx[styles.containerDisabled(this.theme)] = !!disabled, _cx[globalClasses.container] = true, _cx[globalClasses.containerDisabled] = !!disabled, _cx[globalClasses.containerLoading] = loading, _cx));
|
|
236
|
+
var labelClassNames = cx(this.getRootSizeClassName(), this.getActiveHandleSizeClassName(), (_cx2 = {}, _cx2[styles.root(this.theme)] = true, _cx2[styles.rootLeft()] = captionPosition === 'left', _cx2[styles.disabled()] = !!disabled, _cx2[globalClasses.disabled] = !!disabled, _cx2[styles.disableAnimation()] = disableAnimations, _cx2));
|
|
135
237
|
var caption = null;
|
|
136
238
|
|
|
137
239
|
if (children) {
|
|
138
240
|
var _cx3;
|
|
139
241
|
|
|
140
|
-
var captionClass = cx(
|
|
242
|
+
var captionClass = cx(this.getCaptionSizeClassName(), (_cx3 = {}, _cx3[styles.caption(this.theme)] = true, _cx3[styles.captionLeft(this.theme)] = captionPosition === 'left', _cx3[styles.disabledCaption(this.theme)] = !!disabled, _cx3));
|
|
141
243
|
caption = /*#__PURE__*/React.createElement("span", {
|
|
142
244
|
className: captionClass
|
|
143
245
|
}, children);
|
|
@@ -149,12 +251,12 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
|
|
|
149
251
|
"data-tid": ToggleDataTids.root,
|
|
150
252
|
className: labelClassNames
|
|
151
253
|
}, /*#__PURE__*/React.createElement("div", {
|
|
152
|
-
className: cx(
|
|
254
|
+
className: cx(this.getButtonSizeClassName(), (_cx4 = {}, _cx4[styles.button(this.theme)] = true, _cx4[styles.buttonRight()] = captionPosition === 'left', _cx4[styles.isWarning(this.theme)] = !!warning, _cx4[styles.isError(this.theme)] = !!error, _cx4[styles.focused(this.theme)] = !disabled && !!this.state.focusByTab, _cx4))
|
|
153
255
|
}, /*#__PURE__*/React.createElement("input", {
|
|
154
256
|
type: "checkbox",
|
|
155
257
|
checked: checked,
|
|
156
258
|
onChange: this.handleChange,
|
|
157
|
-
className: cx(
|
|
259
|
+
className: cx(this.getInputSizeClassName(), isTheme2022(this.theme) && styles.input2022(this.theme), (_cx5 = {}, _cx5[styles.input(this.theme)] = true, _cx5)),
|
|
158
260
|
onFocus: this.handleFocus,
|
|
159
261
|
onBlur: this.handleBlur,
|
|
160
262
|
ref: this.inputRef,
|
|
@@ -169,13 +271,13 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
|
|
|
169
271
|
boxShadow: "inset 0 0 0 1px " + color
|
|
170
272
|
} : undefined
|
|
171
273
|
}, !isTheme2022(this.theme) && /*#__PURE__*/React.createElement("div", {
|
|
172
|
-
className: cx(styles.activeBackground(), globalClasses.background, (
|
|
274
|
+
className: cx(styles.activeBackground(), globalClasses.background, (_cx6 = {}, _cx6[styles.activeBackgroundLoading(this.theme)] = loading, _cx6[styles.disabledBackground(this.theme)] = disabled, _cx6)),
|
|
173
275
|
style: checked && color && !disabled ? {
|
|
174
276
|
backgroundColor: color,
|
|
175
277
|
boxShadow: "inset 0 0 0 1px " + color
|
|
176
278
|
} : undefined
|
|
177
279
|
})), /*#__PURE__*/React.createElement("div", {
|
|
178
|
-
className: cx(
|
|
280
|
+
className: cx(this.getHandleSizeClassName(), globalClasses.handle, (_cx7 = {}, _cx7[styles.handle(this.theme)] = true, _cx7[styles.handleDisabled(this.theme)] = disabled, _cx7))
|
|
179
281
|
})), caption));
|
|
180
282
|
};
|
|
181
283
|
|
|
@@ -202,5 +304,6 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
|
|
|
202
304
|
disabled: false,
|
|
203
305
|
loading: false,
|
|
204
306
|
captionPosition: 'right',
|
|
205
|
-
disableAnimations: isTestEnv
|
|
307
|
+
disableAnimations: isTestEnv,
|
|
308
|
+
size: 'small'
|
|
206
309
|
}, _temp)) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Toggle.tsx"],"names":["React","PropTypes","warning","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","isTheme2022","styles","globalClasses","colorWarningShown","ToggleDataTids","root","Toggle","props","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","handleBlur","onBlur","state","defaultChecked","componentDidMount","autoFocus","render","theme","renderMain","children","error","color","id","ariaDescribedby","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","activeHandle","rootLeft","disableAnimation","caption","captionClass","captionLeft","disabledCaption","setRootNode","button","buttonRight","isWarning","isError","focused","input2022","backgroundColor","boxShadow","undefined","activeBackground","background","activeBackgroundLoading","disabledBackground","handle","handleDisabled","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nlet colorWarningShown = false;\n\nexport interface ToggleProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.\n */\n color?: React.CSSProperties['color'];\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations'>>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n color: (props: ToggleProps) => {\n if (props.color && !colorWarningShown) {\n warning(false, `[Toggle]: prop 'color' is deprecated. Please, use theme variable 'toggleBgChecked' instead. `);\n colorWarningShown = true;\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { children, warning, error, color, id, 'aria-describedby': ariaDescribedby } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(styles.container(this.theme), {\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(styles.root(this.theme), {\n [styles.activeHandle(this.theme)]: !isTheme2022(this.theme),\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(styles.caption(this.theme), {\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(styles.button(this.theme), {\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(styles.input(this.theme), isTheme2022(this.theme) && styles.input2022(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-describedby={ariaDescribedby}\n />\n <div\n className={containerClassNames}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n >\n {!isTheme2022(this.theme) && (\n <div\n className={cx(styles.activeBackground(), globalClasses.background, {\n [styles.activeBackgroundLoading(this.theme)]: loading,\n [styles.disabledBackground(this.theme)]: disabled,\n })}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n />\n )}\n </div>\n <div\n className={cx(styles.handle(this.theme), globalClasses.handle, {\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({\n focusByTab: false,\n });\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Toggle.tsx"],"names":["React","PropTypes","warning","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","isTheme2022","styles","globalClasses","colorWarningShown","ToggleDataTids","root","Toggle","props","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","handleBlur","onBlur","state","defaultChecked","componentDidMount","autoFocus","render","theme","renderMain","getContainerSizeClassName","size","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getActiveHandleSizeClassName","activeHandleLarge","activeHandleMedium","activeHandleSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","children","error","color","id","ariaDescribedby","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","captionClass","captionLeft","disabledCaption","setRootNode","button","buttonRight","isWarning","isError","focused","input2022","backgroundColor","boxShadow","undefined","activeBackground","background","activeBackgroundLoading","disabledBackground","handle","handleDisabled","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport type ToggleSize = 'small' | 'medium' | 'large';\n\nlet colorWarningShown = false;\n\nexport interface ToggleProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: ToggleSize;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.\n */\n color?: React.CSSProperties['color'];\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n color: (props: ToggleProps) => {\n if (props.color && !colorWarningShown) {\n warning(false, `[Toggle]: prop 'color' is deprecated. Please, use theme variable 'toggleBgChecked' instead. `);\n colorWarningShown = true;\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getActiveHandleSizeClassName() {\n if (isTheme2022(this.theme)) {\n return '';\n }\n switch (this.getProps().size) {\n case 'large':\n return styles.activeHandleLarge(this.theme);\n case 'medium':\n return styles.activeHandleMedium(this.theme);\n case 'small':\n default:\n return styles.activeHandleSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const { children, warning, error, color, id, 'aria-describedby': ariaDescribedby } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), this.getActiveHandleSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), isTheme2022(this.theme) && styles.input2022(this.theme), {\n [styles.input(this.theme)]: true,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-describedby={ariaDescribedby}\n />\n <div\n className={containerClassNames}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n >\n {!isTheme2022(this.theme) && (\n <div\n className={cx(styles.activeBackground(), globalClasses.background, {\n [styles.activeBackgroundLoading(this.theme)]: loading,\n [styles.disabledBackground(this.theme)]: disabled,\n })}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n />\n )}\n </div>\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({\n focusByTab: false,\n });\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { AriaAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
4
|
+
export declare type ToggleSize = 'small' | 'medium' | 'large';
|
|
4
5
|
export interface ToggleProps extends CommonProps {
|
|
5
6
|
children?: React.ReactNode;
|
|
6
7
|
/**
|
|
@@ -47,6 +48,8 @@ export interface ToggleProps extends CommonProps {
|
|
|
47
48
|
* Если true, выставляет фокус на `тогле` после загрузки страницы.
|
|
48
49
|
*/
|
|
49
50
|
autoFocus?: boolean;
|
|
51
|
+
/** Размер */
|
|
52
|
+
size?: ToggleSize;
|
|
50
53
|
/**
|
|
51
54
|
* Атрибут для указания id элемента(-ов), описывающих его
|
|
52
55
|
*/
|
|
@@ -79,7 +82,7 @@ export interface ToggleState {
|
|
|
79
82
|
export declare const ToggleDataTids: {
|
|
80
83
|
readonly root: "Toggle__root";
|
|
81
84
|
};
|
|
82
|
-
declare type DefaultProps = Required<Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations'>>;
|
|
85
|
+
declare type DefaultProps = Required<Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>>;
|
|
83
86
|
/**
|
|
84
87
|
* _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.
|
|
85
88
|
*/
|
|
@@ -107,6 +110,13 @@ export declare class Toggle extends React.Component<ToggleProps, ToggleState> {
|
|
|
107
110
|
*/
|
|
108
111
|
focus: () => void;
|
|
109
112
|
render(): JSX.Element;
|
|
113
|
+
private getContainerSizeClassName;
|
|
114
|
+
private getHandleSizeClassName;
|
|
115
|
+
private getButtonSizeClassName;
|
|
116
|
+
private getRootSizeClassName;
|
|
117
|
+
private getInputSizeClassName;
|
|
118
|
+
private getActiveHandleSizeClassName;
|
|
119
|
+
private getCaptionSizeClassName;
|
|
110
120
|
private renderMain;
|
|
111
121
|
private inputRef;
|
|
112
122
|
private handleChange;
|
|
@@ -68,8 +68,23 @@ import { Gapped } from '@skbkontur/react-ui';
|
|
|
68
68
|
</Gapped>
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
У тоглов есть 3 стандартных размера.
|
|
72
|
+
|
|
73
|
+
```jsx harmony
|
|
74
|
+
<Gapped vertical>
|
|
75
|
+
<Toggle size="small">
|
|
76
|
+
Маленький
|
|
77
|
+
</Toggle>
|
|
78
|
+
<Toggle size="medium">
|
|
79
|
+
Средний
|
|
80
|
+
</Toggle>
|
|
81
|
+
<Toggle size="large">
|
|
82
|
+
Большой
|
|
83
|
+
</Toggle>
|
|
84
|
+
</Gapped>
|
|
85
|
+
```
|
|
72
86
|
|
|
87
|
+
Тогл с кастомным действием при получении и потере фокуса.
|
|
73
88
|
|
|
74
89
|
```jsx harmony
|
|
75
90
|
import { Toast } from '@skbkontur/react-ui';
|
|
@@ -82,7 +97,6 @@ import { Toast } from '@skbkontur/react-ui';
|
|
|
82
97
|
</Toggle>
|
|
83
98
|
```
|
|
84
99
|
|
|
85
|
-
|
|
86
100
|
Тогл с кастомным действием при переключении.
|
|
87
101
|
|
|
88
102
|
```jsx harmony
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
|
+
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
4
|
+
|
|
5
|
+
import { css } from "../../../lib/theming/Emotion";
|
|
6
|
+
import { isChrome } from "../../../lib/client";
|
|
7
|
+
import { globalClasses } from "../Toggle.styles";
|
|
8
|
+
export var toggleSizeMixin = function toggleSizeMixin(fontSize, toggleHeight, toggleWidth) {
|
|
9
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n line-height: ", ";\n font-size: ", ";\n\n &::before {\n width: ", ";\n }\n "])), toggleHeight, fontSize, toggleWidth);
|
|
10
|
+
};
|
|
11
|
+
export var buttonSizeMixin = function buttonSizeMixin(labGrotesqueBaselineCompensation, fontSize, toggleHeight, toggleWidth, toggleBorderRadius, toggleButtonOffsetY) {
|
|
12
|
+
var labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);
|
|
13
|
+
var buttonFontSize = parseInt(fontSize);
|
|
14
|
+
var baselineCompensation = buttonFontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;
|
|
15
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n height: ", ";\n width: ", ";\n flex: 1 0 ", ";\n\n border-radius: ", ";\n line-height: ", ";\n\n margin-top: calc(", " + ", "px);\n "])), toggleHeight, toggleWidth, toggleWidth, toggleBorderRadius, toggleHeight, toggleButtonOffsetY, baselineCompensation);
|
|
16
|
+
};
|
|
17
|
+
export var captionSizeMixin = function captionSizeMixin(fontSize, toggleHeight) {
|
|
18
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n line-height: ", ";\n font-size: ", ";\n "])), toggleHeight, fontSize);
|
|
19
|
+
};
|
|
20
|
+
export var handleMixin = function handleMixin(toggleHandleSize, toggleHandleBorderRadius) {
|
|
21
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n border-radius: ", ";\n height: ", ";\n width: ", ";\n "])), toggleHandleBorderRadius, toggleHandleSize, toggleHandleSize);
|
|
22
|
+
};
|
|
23
|
+
export var containerSizeMixin = function containerSizeMixin(toggleBorderRadius) {
|
|
24
|
+
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n border-radius: ", ";\n "])), toggleBorderRadius);
|
|
25
|
+
};
|
|
26
|
+
export var inputSizeMixin = function inputSizeMixin(toggleHeight, toggleWidth) {
|
|
27
|
+
var handleWidthWithBorders = toggleHeight;
|
|
28
|
+
var height = parseInt(toggleHeight);
|
|
29
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n &:checked ~ .", " .", " {\n border-radius: ", "px 0 0 ", "px;\n }\n &:checked ~ .", " {\n transform: translateX(", ") translateX(-", ");\n }\n "])), globalClasses.containerDisabled, globalClasses.background, height * 0.5, height * 0.5, globalClasses.handle, toggleWidth, handleWidthWithBorders);
|
|
30
|
+
};
|
|
31
|
+
export var activeHandleSizeMixin = function activeHandleSizeMixin(toggleHandleSize, toggleBorderWidth, toggleHandleActiveWidthIncrement, toggleWidth) {
|
|
32
|
+
var handleWidthWithBorders = toggleHandleSize;
|
|
33
|
+
var handleActiveWidth = "calc(" + handleWidthWithBorders + " - 2 * " + toggleBorderWidth + " + " + toggleHandleActiveWidthIncrement + ")";
|
|
34
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ") translateX(-4px);\n }\n "])), globalClasses.disabled, globalClasses.handle, handleActiveWidth, globalClasses.disabled, globalClasses.handle, toggleWidth, handleWidthWithBorders);
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Toggle.mixins.ts"],"names":["css","isChrome","globalClasses","toggleSizeMixin","fontSize","toggleHeight","toggleWidth","buttonSizeMixin","labGrotesqueBaselineCompensation","toggleBorderRadius","toggleButtonOffsetY","labGrotesqueCompenstation","parseInt","buttonFontSize","baselineCompensation","captionSizeMixin","handleMixin","toggleHandleSize","toggleHandleBorderRadius","containerSizeMixin","inputSizeMixin","handleWidthWithBorders","height","containerDisabled","background","handle","activeHandleSizeMixin","toggleBorderWidth","toggleHandleActiveWidthIncrement","handleActiveWidth","disabled"],"mappings":"gOAAA,SAASA,GAAT,QAAoB,2BAApB;AACA,SAASC,QAAT,QAAyB,kBAAzB;;AAEA,SAASC,aAAT,QAA8B,iBAA9B;;AAEA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD,EAAmBC,YAAnB,EAAyCC,WAAzC,EAAiE;AAC9F,SAAON,GAAP;AACiBK,EAAAA,YADjB;AAEeD,EAAAA,QAFf;;;AAKaE,EAAAA,WALb;;;AAQD,CATM;;AAWP,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;AAC7BC,gCAD6B;AAE7BJ,QAF6B;AAG7BC,YAH6B;AAI7BC,WAJ6B;AAK7BG,kBAL6B;AAM7BC,mBAN6B;AAO1B;AACH,MAAMC,yBAAyB,GAAGC,QAAQ,CAACJ,gCAAD,CAA1C;AACA,MAAMK,cAAc,GAAGD,QAAQ,CAACR,QAAD,CAA/B;AACA,MAAMU,oBAAoB,GAAGD,cAAc,IAAI,EAAlB,IAAwBZ,QAAxB,GAAmC,CAACU,yBAApC,GAAgE,CAA7F;AACA,SAAOX,GAAP;AACYK,EAAAA,YADZ;AAEWC,EAAAA,WAFX;AAGcA,EAAAA,WAHd;;AAKmBG,EAAAA,kBALnB;AAMiBJ,EAAAA,YANjB;;AAQqBK,EAAAA,mBARrB,EAQ8CI,oBAR9C;;AAUD,CArBM;;AAuBP,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACX,QAAD,EAAmBC,YAAnB,EAA4C;AAC1E,SAAOL,GAAP;AACiBK,EAAAA,YADjB;AAEeD,EAAAA,QAFf;;AAID,CALM;;AAOP,OAAO,IAAMY,WAAW,GAAG,SAAdA,WAAc,CAACC,gBAAD,EAA2BC,wBAA3B,EAAgE;AACzF,SAAOlB,GAAP;AACmBkB,EAAAA,wBADnB;AAEYD,EAAAA,gBAFZ;AAGWA,EAAAA,gBAHX;;AAKD,CANM;;AAQP,OAAO,IAAME,kBAAkB,GAAG,SAArBA,kBAAqB,CAACV,kBAAD,EAAgC;AAChE,SAAOT,GAAP;AACmBS,EAAAA,kBADnB;;AAGD,CAJM;;AAMP,OAAO,IAAMW,cAAc,GAAG,SAAjBA,cAAiB,CAACf,YAAD,EAAuBC,WAAvB,EAA+C;AAC3E,MAAMe,sBAAsB,GAAGhB,YAA/B;AACA,MAAMiB,MAAM,GAAGV,QAAQ,CAACP,YAAD,CAAvB;AACA,SAAOL,GAAP;AACiBE,EAAAA,aAAa,CAACqB,iBAD/B,EACqDrB,aAAa,CAACsB,UADnE;AAEqBF,EAAAA,MAAM,GAAG,GAF9B,EAE2CA,MAAM,GAAG,GAFpD;;AAIiBpB,EAAAA,aAAa,CAACuB,MAJ/B;AAK4BnB,EAAAA,WAL5B,EAKwDe,sBALxD;;;AAQD,CAXM;;AAaP,OAAO,IAAMK,qBAAqB,GAAG,SAAxBA,qBAAwB;AACnCT,gBADmC;AAEnCU,iBAFmC;AAGnCC,gCAHmC;AAInCtB,WAJmC;AAKhC;AACH,MAAMe,sBAAsB,GAAGJ,gBAA/B;AACA,MAAMY,iBAAiB,aAAWR,sBAAX,eAA2CM,iBAA3C,WAAkEC,gCAAlE,MAAvB;AACA,SAAO5B,GAAP;AACkBE,EAAAA,aAAa,CAAC4B,QADhC,EAC8C5B,aAAa,CAACuB,MAD5D;AAEaI,EAAAA,iBAFb;;AAIkB3B,EAAAA,aAAa,CAAC4B,QAJhC,EAI8D5B,aAAa,CAACuB,MAJ5E;AAK4BnB,EAAAA,WAL5B,EAKwDe,sBALxD;;;AAQD,CAhBM","sourcesContent":["import { css } from '../../lib/theming/Emotion';\nimport { isChrome } from '../../lib/client';\n\nimport { globalClasses } from './Toggle.styles';\n\nexport const toggleSizeMixin = (fontSize: string, toggleHeight: string, toggleWidth: string) => {\n return css`\n line-height: ${toggleHeight};\n font-size: ${fontSize};\n\n &::before {\n width: ${toggleWidth};\n }\n `;\n};\n\nexport const buttonSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n toggleHeight: string,\n toggleWidth: string,\n toggleBorderRadius: string,\n toggleButtonOffsetY: string,\n) => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const buttonFontSize = parseInt(fontSize);\n const baselineCompensation = buttonFontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;\n return css`\n height: ${toggleHeight};\n width: ${toggleWidth};\n flex: 1 0 ${toggleWidth};\n\n border-radius: ${toggleBorderRadius};\n line-height: ${toggleHeight};\n\n margin-top: calc(${toggleButtonOffsetY} + ${baselineCompensation}px);\n `;\n};\n\nexport const captionSizeMixin = (fontSize: string, toggleHeight: string) => {\n return css`\n line-height: ${toggleHeight};\n font-size: ${fontSize};\n `;\n};\n\nexport const handleMixin = (toggleHandleSize: string, toggleHandleBorderRadius: string) => {\n return css`\n border-radius: ${toggleHandleBorderRadius};\n height: ${toggleHandleSize};\n width: ${toggleHandleSize};\n `;\n};\n\nexport const containerSizeMixin = (toggleBorderRadius: string) => {\n return css`\n border-radius: ${toggleBorderRadius};\n `;\n};\n\nexport const inputSizeMixin = (toggleHeight: string, toggleWidth: string) => {\n const handleWidthWithBorders = toggleHeight;\n const height = parseInt(toggleHeight);\n return css`\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n border-radius: ${height * 0.5}px 0 0 ${height * 0.5}px;\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${toggleWidth}) translateX(-${handleWidthWithBorders});\n }\n `;\n};\n\nexport const activeHandleSizeMixin = (\n toggleHandleSize: string,\n toggleBorderWidth: string,\n toggleHandleActiveWidthIncrement: string,\n toggleWidth: string,\n) => {\n const handleWidthWithBorders = toggleHandleSize;\n const handleActiveWidth = `calc(${handleWidthWithBorders} - 2 * ${toggleBorderWidth} + ${toggleHandleActiveWidthIncrement})`;\n return css`\n &:active:not(.${globalClasses.disabled}) .${globalClasses.handle} {\n width: ${handleActiveWidth};\n }\n &:active:not(.${globalClasses.disabled}) input:checked ~ .${globalClasses.handle} {\n transform: translateX(${toggleWidth}) translateX(-${handleWidthWithBorders}) translateX(-4px);\n }\n `;\n};\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const toggleSizeMixin: (fontSize: string, toggleHeight: string, toggleWidth: string) => string;
|
|
2
|
+
export declare const buttonSizeMixin: (labGrotesqueBaselineCompensation: string, fontSize: string, toggleHeight: string, toggleWidth: string, toggleBorderRadius: string, toggleButtonOffsetY: string) => string;
|
|
3
|
+
export declare const captionSizeMixin: (fontSize: string, toggleHeight: string) => string;
|
|
4
|
+
export declare const handleMixin: (toggleHandleSize: string, toggleHandleBorderRadius: string) => string;
|
|
5
|
+
export declare const containerSizeMixin: (toggleBorderRadius: string) => string;
|
|
6
|
+
export declare const inputSizeMixin: (toggleHeight: string, toggleWidth: string) => string;
|
|
7
|
+
export declare const activeHandleSizeMixin: (toggleHandleSize: string, toggleBorderWidth: string, toggleHandleActiveWidthIncrement: string, toggleWidth: string) => string;
|