@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Kebab.tsx"],"names":["KebabDataTids","caption","Kebab","rootNode","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","styles","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","keyListener","isTabPressed","componentDidMount","LayoutEvents","addListener","componentWillUnmount","render","ThemeFactory","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","renderMain","positions","disableAnimations","onOpen","onClose","setRootNode","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","React","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","propTypes","isTestEnv","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';\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 { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ButtonSize } from '../Button';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId'> {\n disabled?: boolean;\n size?: 'small' | 'medium' | 'large';\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\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 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 <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 },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\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 >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\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\n return (\n <span\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={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 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 return (\n <div\n className={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<ButtonSize, 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":["KebabDataTids","caption","Kebab","rootNode","getProps","defaultProps","state","focusedByTab","anchor","listener","remove","undefined","renderCaption","captionProps","disabled","size","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","styles","kebab","theme","kebabSmall","kebabMedium","kebabLarge","kebab2022","opened","focused","props","renderIcon2022","renderIcon","e","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","requestAnimationFrame","keyListener","isTabPressed","componentDidMount","LayoutEvents","addListener","componentWillUnmount","render","ThemeFactory","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","menuScrollContainerContentWrapperPaddingY","menuLegacyPaddingY","renderMain","positions","disableAnimations","onOpen","onClose","setRootNode","preventIconsOffset","menuMaxHeight","popupMenuId","children","icon","iconsmall","iconmedium","iconlarge","sizes","small","parseInt","kebabIconSizeSmall","medium","kebabIconSizeMedium","large","kebabIconSizeLarge","React","cloneElement","color","kebabIconColor","Component","__KONTUR_REACT_UI__","propTypes","isTestEnv","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';\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 { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ButtonSize } from '../Button';\n\nimport { styles } from './Kebab.styles';\nimport { KebabIcon } from './KebabIcon';\n\nexport interface KebabProps\n extends CommonProps,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'> {\n disabled?: boolean;\n size?: 'small' | 'medium' | 'large';\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\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 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 <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\n private renderMain() {\n const { disabled } = this.props;\n const { positions, disableAnimations, onOpen, onClose } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\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 >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\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\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={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 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 return (\n <div\n className={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<ButtonSize, 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"]}
|
|
@@ -160,6 +160,34 @@ let Card = ({ title }) => (
|
|
|
160
160
|
<Card title="С кастомным действием" />
|
|
161
161
|
```
|
|
162
162
|
|
|
163
|
+
С иконками и включенным по-умолчанию автоматическим выравниванием текста.
|
|
164
|
+
|
|
165
|
+
```jsx harmony
|
|
166
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator, Kebab } from '@skbkontur/react-ui';
|
|
167
|
+
import OkIcon from '@skbkontur/react-icons/Ok';
|
|
168
|
+
|
|
169
|
+
<Kebab>
|
|
170
|
+
<MenuHeader>MenuHeader</MenuHeader>
|
|
171
|
+
<MenuItem icon={<OkIcon />}>MenuItem1</MenuItem>
|
|
172
|
+
<MenuItem icon={<OkIcon />}>MenuItem2</MenuItem>
|
|
173
|
+
<MenuItem>MenuItem3</MenuItem>
|
|
174
|
+
</Kebab>;
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
С иконками и отключенным автоматическим выравниванием текста.
|
|
178
|
+
|
|
179
|
+
```jsx harmony
|
|
180
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator, Kebab } from '@skbkontur/react-ui';
|
|
181
|
+
import OkIcon from '@skbkontur/react-icons/Ok';
|
|
182
|
+
|
|
183
|
+
<Kebab preventIconsOffset>
|
|
184
|
+
<MenuHeader>MenuHeader</MenuHeader>
|
|
185
|
+
<MenuItem icon={<OkIcon />}>MenuItem1</MenuItem>
|
|
186
|
+
<MenuItem icon={<OkIcon />}>MenuItem2</MenuItem>
|
|
187
|
+
<MenuItem>MenuItem3</MenuItem>
|
|
188
|
+
</Kebab>
|
|
189
|
+
```
|
|
190
|
+
|
|
163
191
|
Отключенное кебаб-меню.
|
|
164
192
|
|
|
165
193
|
```jsx harmony
|
|
@@ -170,13 +170,14 @@ Link = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
170
170
|
|
|
171
171
|
var linkProps = {
|
|
172
172
|
className: (0, _Emotion.cx)(
|
|
173
|
+
_Link.styles.useRoot(),
|
|
173
174
|
use === 'default' && _Link.styles.useDefault(_this.theme),
|
|
174
175
|
use === 'success' && _Link.styles.useSuccess(_this.theme),
|
|
175
176
|
use === 'danger' && _Link.styles.useDanger(_this.theme),
|
|
176
177
|
use === 'grayed' && _Link.styles.useGrayed(_this.theme),
|
|
177
178
|
!!_button && _Link.styles.button(_this.theme),
|
|
178
179
|
!!_buttonOpened && _Link.styles.buttonOpened(_this.theme),
|
|
179
|
-
_this.getLinkClassName(isFocused, Boolean(disabled || loading))),
|
|
180
|
+
_this.getLinkClassName(isFocused, Boolean(disabled || loading), _isTheme2022)),
|
|
180
181
|
|
|
181
182
|
href: href,
|
|
182
183
|
rel: rel,
|
|
@@ -227,7 +228,7 @@ Link = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
227
228
|
}
|
|
228
229
|
};return _this;}var _proto = Link.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = _this2.props.theme ? _ThemeFactory.ThemeFactory.create(_this2.props.theme, theme) : theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain);});};_proto.
|
|
229
230
|
|
|
230
|
-
getLinkClassName = function getLinkClassName(focused, disabled) {
|
|
231
|
+
getLinkClassName = function getLinkClassName(focused, disabled, _isTheme2022) {
|
|
231
232
|
var _this$getProps = this.getProps(),use = _this$getProps.use;
|
|
232
233
|
var isBorderBottom = parseInt(this.theme.linkLineBorderBottomWidth) > 0;
|
|
233
234
|
var isFocused = focused && !disabled;
|
|
@@ -242,6 +243,7 @@ Link = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
242
243
|
(0, _Emotion.cx)(
|
|
243
244
|
_Link.styles.lineRoot(),
|
|
244
245
|
disabled && _Link.styles.disabled(this.theme),
|
|
246
|
+
disabled && _isTheme2022 && (0, _ThemeHelpers.isDarkTheme)(this.theme) && _Link.styles.disabledDark22Theme(this.theme),
|
|
245
247
|
isFocused && use === 'default' && _Link.styles.lineFocus(this.theme),
|
|
246
248
|
isFocused && use === 'success' && _Link.styles.lineFocusSuccess(this.theme),
|
|
247
249
|
isFocused && use === 'danger' && _Link.styles.lineFocusDanger(this.theme),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Link.tsx"],"names":["LinkDataTids","root","Link","rootNode","getProps","defaultProps","state","focusedByTab","renderMain","props","disabled","href","icon","use","loading","_button","_buttonOpened","relOrigin","rel","Component","as","focused","rest","_isTheme2022","theme","iconElement","styles","arrow","isFocused","linkProps","className","useDefault","useSuccess","useDanger","useGrayed","button","buttonOpened","getLinkClassName","Boolean","onClick","handleClick","onFocus","handleFocus","onBlur","handleBlur","tabIndex","child","children","globalClasses","text","lineText","requestAnimationFrame","keyListener","isTabPressed","setState","event","preventDefault","render","ThemeFactory","create","setRootNode","isBorderBottom","parseInt","linkLineBorderBottomWidth","focus","useGrayedFocus","lineRoot","lineFocus","lineFocusSuccess","lineFocusDanger","lineFocusGrayed","React","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string","node","oneOf"],"mappings":"qdAAA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEO,IAAMA,YAAY,GAAG;AAC1BC,EAAAA,IAAI,EAAE,YADoB,EAArB,C;;;;;;AAOP;AACA;AACA,G;;AAEaC,I,OADZC,kB;;;;;;;;;;;;;;;;;;;AAoBSC,IAAAA,Q,GAAW,0CAAkBF,IAAI,CAACG,YAAvB,C;;AAEZC,IAAAA,K,GAAmB;AACxBC,MAAAA,YAAY,EAAE,KADU,E;;;;;;;;;;;;;;;;;;;;;AAsBlBC,IAAAA,U,GAAa,UAACC,KAAD,EAAyD;AAC5E;AACEC,MAAAA,QADF;;;;;;;;;;;AAYID,MAAAA,KAZJ,CACEC,QADF,CAEEC,IAFF,GAYIF,KAZJ,CAEEE,IAFF,CAGEC,IAHF,GAYIH,KAZJ,CAGEG,IAHF,CAIEC,GAJF,GAYIJ,KAZJ,CAIEI,GAJF,CAKEC,OALF,GAYIL,KAZJ,CAKEK,OALF,CAMEC,OANF,GAYIN,KAZJ,CAMEM,OANF,CAOEC,aAPF,GAYIP,KAZJ,CAOEO,aAPF,CAQOC,SARP,GAYIR,KAZJ,CAQES,GARF,CASMC,SATN,GAYIV,KAZJ,CASEW,EATF,kBAYIX,KAZJ,CAUEY,OAVF,CAUEA,OAVF,+BAUY,KAVZ,kBAWKC,IAXL,+CAYIb,KAZJ;AAaA,UAAMc,YAAY,GAAG,+BAAY,MAAKC,KAAjB,CAArB;;AAEA,UAAIC,WAAW,GAAG,IAAlB;AACA,UAAIb,IAAJ,EAAU;AACRa,QAAAA,WAAW;AACT,+CAAM,SAAS,EAAEC,aAAOd,IAAP,CAAY,MAAKY,KAAjB,CAAjB,IAA2CV,OAAO,gBAAG,6BAAC,gBAAD,IAAS,OAAO,EAAE,IAAlB,EAAwB,MAAM,MAA9B,EAA+B,MAAM,MAArC,GAAH,GAA8CF,IAAhG,CADF;;AAGD;;AAED,UAAIe,KAAK,GAAG,IAAZ;AACA,UAAIZ,OAAJ,EAAa;AACXY,QAAAA,KAAK,gBAAG,uCAAM,SAAS,EAAED,aAAOC,KAAP,EAAjB,GAAR;AACD;;AAED,UAAIT,GAAG,GAAGD,SAAV;AACA,UAAI,OAAOC,GAAP,KAAe,WAAf,IAA8BP,IAAlC,EAAwC;AACtCO,QAAAA,GAAG,iBAAc,2BAAeP,IAAf,IAAuB,aAAvB,GAAuC,EAArD,CAAH;AACD;;AAED,UAAMiB,SAAS,GAAG,CAAClB,QAAD,KAAc,MAAKJ,KAAL,CAAWC,YAAX,IAA2Bc,OAAzC,CAAlB;;AAEA,UAAMQ,SAAS,GAAG;AAChBC,QAAAA,SAAS,EAAE;AACTjB,QAAAA,GAAG,KAAK,SAAR,IAAqBa,aAAOK,UAAP,CAAkB,MAAKP,KAAvB,CADZ;AAETX,QAAAA,GAAG,KAAK,SAAR,IAAqBa,aAAOM,UAAP,CAAkB,MAAKR,KAAvB,CAFZ;AAGTX,QAAAA,GAAG,KAAK,QAAR,IAAoBa,aAAOO,SAAP,CAAiB,MAAKT,KAAtB,CAHX;AAITX,QAAAA,GAAG,KAAK,QAAR,IAAoBa,aAAOQ,SAAP,CAAiB,MAAKV,KAAtB,CAJX;AAKT,SAAC,CAACT,OAAF,IAAaW,aAAOS,MAAP,CAAc,MAAKX,KAAnB,CALJ;AAMT,SAAC,CAACR,aAAF,IAAmBU,aAAOU,YAAP,CAAoB,MAAKZ,KAAzB,CANV;AAOT,cAAKa,gBAAL,CAAsBT,SAAtB,EAAiCU,OAAO,CAAC5B,QAAQ,IAAII,OAAb,CAAxC,CAPS,CADK;;AAUhBH,QAAAA,IAAI,EAAJA,IAVgB;AAWhBO,QAAAA,GAAG,EAAHA,GAXgB;AAYhBqB,QAAAA,OAAO,EAAE,MAAKC,WAZE;AAahBC,QAAAA,OAAO,EAAE,MAAKC,WAbE;AAchBC,QAAAA,MAAM,EAAE,MAAKC,UAdG;AAehBC,QAAAA,QAAQ,EAAEnC,QAAQ,IAAII,OAAZ,GAAsB,CAAC,CAAvB,GAA2B,MAAKL,KAAL,CAAWoC,QAfhC,EAAlB;;;AAkBA,UAAIC,KAAK,GAAG,MAAKrC,KAAL,CAAWsC,QAAvB;AACA,UAAIxB,YAAJ,EAAkB;AAChBuB,QAAAA,KAAK,gBAAG,uCAAM,SAAS,EAAE,iBAAGE,oBAAcC,IAAjB,EAAuBvB,aAAOwB,QAAP,CAAgB,MAAK1B,KAArB,CAAvB,CAAjB,IAAuE,MAAKf,KAAL,CAAWsC,QAAlF,CAAR;AACD;;AAED;AACE,qCAAC,SAAD,2BAAW,YAAU/C,YAAY,CAACC,IAAlC,IAA4CqB,IAA5C,EAAsDO,SAAtD;AACGJ,QAAAA,WADH;AAEGqB,QAAAA,KAFH;AAGGnB,QAAAA,KAHH,CADF;;;AAOD,K;;AAEOe,IAAAA,W,GAAc,YAAM;AAC1B,UAAI,CAAC,MAAKjC,KAAL,CAAWC,QAAhB,EAA0B;AACxB;AACA;AACAyC,QAAAA,qBAAqB,CAAC,YAAM;AAC1B,cAAIC,yBAAYC,YAAhB,EAA8B;AAC5B,kBAAKC,QAAL,CAAc,EAAE/C,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJoB,CAArB;AAKD;AACF,K;;AAEOqC,IAAAA,U,GAAa,YAAM;AACzB,YAAKU,QAAL,CAAc,EAAE/C,YAAY,EAAE,KAAhB,EAAd;AACD,K;;AAEOiC,IAAAA,W,GAAc,UAACe,KAAD,EAAgD;AACpE,wBAAuC,MAAK9C,KAA5C,CAAQ8B,OAAR,eAAQA,OAAR,CAAiB7B,QAAjB,eAAiBA,QAAjB,CAA2BI,OAA3B,eAA2BA,OAA3B;AACA,UAAMH,IAAI,GAAG,MAAKP,QAAL,GAAgBO,IAA7B;AACA,UAAI,CAACA,IAAL,EAAW;AACT4C,QAAAA,KAAK,CAACC,cAAN;AACD;AACD,UAAIjB,OAAO,IAAI,CAAC7B,QAAZ,IAAwB,CAACI,OAA7B,EAAsC;AACpCyB,QAAAA,OAAO,CAACgB,KAAD,CAAP;AACD;AACF,K,kDA3GME,M,GAAP,kBAA6B,mBAC3B,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACjC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAa,MAAI,CAACf,KAAL,CAAWe,KAAX,GAAmBkC,2BAAaC,MAAb,CAAoB,MAAI,CAAClD,KAAL,CAAWe,KAA/B,EAA+CA,KAA/C,CAAnB,GAA2EA,KAAxF,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,MAAI,CAACoC,WAAjC,IAAkD,MAAI,CAACxD,QAAL,EAAlD,GACG,MAAI,CAACI,UADR,CADF,CAKD,CARH,CADF,CAYD,C;;AAgGO6B,EAAAA,gB,GAAR,0BAAyBhB,OAAzB,EAA2CX,QAA3C,EAAsE;AACpE,yBAAgB,KAAKN,QAAL,EAAhB,CAAQS,GAAR,kBAAQA,GAAR;AACA,QAAMgD,cAAc,GAAGC,QAAQ,CAAC,KAAKtC,KAAL,CAAWuC,yBAAZ,CAAR,GAAiD,CAAxE;AACA,QAAMnC,SAAS,GAAGP,OAAO,IAAI,CAACX,QAA9B;;AAEA,WAAO,CAACmD,cAAD;AACH;AACEnC,iBAAOzB,IAAP,CAAY,KAAKuB,KAAjB,CADF;AAEEI,IAAAA,SAAS,IAAIF,aAAOsC,KAAP,CAAa,KAAKxC,KAAlB,CAFf;AAGEd,IAAAA,QAAQ,IAAIgB,aAAOhB,QAAP,CAAgB,KAAKc,KAArB,CAHd;AAIEX,IAAAA,GAAG,KAAK,QAAR,IAAoBQ,OAApB,IAA+BK,aAAOuC,cAAP,CAAsB,KAAKzC,KAA3B,CAJjC,CADG;;AAOH;AACEE,iBAAOwC,QAAP,EADF;AAEExD,IAAAA,QAAQ,IAAIgB,aAAOhB,QAAP,CAAgB,KAAKc,KAArB,CAFd;AAGEI,IAAAA,SAAS,IAAIf,GAAG,KAAK,SAArB,IAAkCa,aAAOyC,SAAP,CAAiB,KAAK3C,KAAtB,CAHpC;AAIEI,IAAAA,SAAS,IAAIf,GAAG,KAAK,SAArB,IAAkCa,aAAO0C,gBAAP,CAAwB,KAAK5C,KAA7B,CAJpC;AAKEI,IAAAA,SAAS,IAAIf,GAAG,KAAK,QAArB,IAAiCa,aAAO2C,eAAP,CAAuB,KAAK7C,KAA5B,CALnC;AAMEI,IAAAA,SAAS,IAAIf,GAAG,KAAK,QAArB,IAAiCa,aAAO4C,eAAP,CAAuB,KAAK9C,KAA5B,CANnC,CAPJ;;AAeD,G,eA7JuB+C,eAAMpD,S,WAChBqD,mB,GAAsB,M,UAEtBC,S,GAAY,EACxB/D,QAAQ,EAAEgE,mBAAUC,IADI,EAGxBhE,IAAI,EAAE+D,mBAAUE,MAHQ,EAKxBhE,IAAI,EAAE8D,mBAAUG,IALQ,EAOxBhE,GAAG,EAAE6D,mBAAUI,KAAV,CAAgB,CAAC,SAAD,EAAY,SAAZ,EAAuB,QAAvB,EAAiC,QAAjC,CAAhB,CAPmB,E,UAUZzE,Y,GAA6B,EACzCM,IAAI,EAAE,EADmC,EAEzCE,GAAG,EAAE,SAFoC,EAGzCO,EAAE,EAAE,GAHqC,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { Spinner } from '../Spinner';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { globalClasses, styles } from './Link.styles';\n\nexport interface LinkProps\n extends CommonProps,\n Override<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n {\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * HTML-атрибут `href`.\n */\n href?: string;\n /**\n * Добавляет ссылке иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Тема ссылки.\n */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n /**\n * @ignore\n */\n _button?: boolean;\n /**\n * @ignore\n */\n _buttonOpened?: boolean;\n /**\n * HTML-атрибут `tabindex`.\n */\n tabIndex?: number;\n /**\n * Переводит ссылку в состояние загрузки.\n */\n loading?: boolean;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n /**\n * Компонент, используемый в качестве корневого узла.\n * @ignore\n */\n as?: React.ElementType | keyof React.ReactHTML;\n /**\n * @ignore\n */\n focused?: boolean;\n }\n > {}\n\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\nexport const LinkDataTids = {\n root: 'Link__root',\n} as const;\n\ntype DefaultProps = Required<Pick<LinkProps, 'href' | 'use' | 'as'>>;\ntype DefaultizedLinkProps = DefaultizedProps<LinkProps, DefaultProps>;\n\n/**\n * Элемент ссылки из HTML.\n */\n@rootNode\nexport class Link extends React.Component<LinkProps, LinkState> {\n public static __KONTUR_REACT_UI__ = 'Link';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n use: PropTypes.oneOf(['default', 'success', 'danger', 'grayed']),\n };\n\n public static defaultProps: DefaultProps = {\n href: '',\n use: 'default',\n as: 'a',\n };\n\n private getProps = createPropsGetter(Link.defaultProps);\n\n public state: LinkState = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<DefaultizedLinkProps>) => {\n const {\n disabled,\n href,\n icon,\n use,\n loading,\n _button,\n _buttonOpened,\n rel: relOrigin,\n as: Component,\n focused = false,\n ...rest\n } = props;\n const _isTheme2022 = isTheme2022(this.theme);\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <span className={styles.icon(this.theme)}>{loading ? <Spinner caption={null} dimmed inline /> : icon}</span>\n );\n }\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n let rel = relOrigin;\n if (typeof rel === 'undefined' && href) {\n rel = `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n\n const isFocused = !disabled && (this.state.focusedByTab || focused);\n\n const linkProps = {\n className: cx(\n use === 'default' && styles.useDefault(this.theme),\n use === 'success' && styles.useSuccess(this.theme),\n use === 'danger' && styles.useDanger(this.theme),\n use === 'grayed' && styles.useGrayed(this.theme),\n !!_button && styles.button(this.theme),\n !!_buttonOpened && styles.buttonOpened(this.theme),\n this.getLinkClassName(isFocused, Boolean(disabled || loading)),\n ),\n href,\n rel,\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: disabled || loading ? -1 : this.props.tabIndex,\n };\n\n let child = this.props.children;\n if (_isTheme2022) {\n child = <span className={cx(globalClasses.text, styles.lineText(this.theme))}>{this.props.children}</span>;\n }\n\n return (\n <Component data-tid={LinkDataTids.root} {...rest} {...linkProps}>\n {iconElement}\n {child}\n {arrow}\n </Component>\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 requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n const { onClick, disabled, loading } = this.props;\n const href = this.getProps().href;\n if (!href) {\n event.preventDefault();\n }\n if (onClick && !disabled && !loading) {\n onClick(event);\n }\n };\n\n private getLinkClassName(focused: boolean, disabled: boolean): string {\n const { use } = this.getProps();\n const isBorderBottom = parseInt(this.theme.linkLineBorderBottomWidth) > 0;\n const isFocused = focused && !disabled;\n\n return !isBorderBottom\n ? cx(\n styles.root(this.theme),\n isFocused && styles.focus(this.theme),\n disabled && styles.disabled(this.theme),\n use === 'grayed' && focused && styles.useGrayedFocus(this.theme),\n )\n : cx(\n styles.lineRoot(),\n disabled && styles.disabled(this.theme),\n isFocused && use === 'default' && styles.lineFocus(this.theme),\n isFocused && use === 'success' && styles.lineFocusSuccess(this.theme),\n isFocused && use === 'danger' && styles.lineFocusDanger(this.theme),\n isFocused && use === 'grayed' && styles.lineFocusGrayed(this.theme),\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Link.tsx"],"names":["LinkDataTids","root","Link","rootNode","getProps","defaultProps","state","focusedByTab","renderMain","props","disabled","href","icon","use","loading","_button","_buttonOpened","relOrigin","rel","Component","as","focused","rest","_isTheme2022","theme","iconElement","styles","arrow","isFocused","linkProps","className","useRoot","useDefault","useSuccess","useDanger","useGrayed","button","buttonOpened","getLinkClassName","Boolean","onClick","handleClick","onFocus","handleFocus","onBlur","handleBlur","tabIndex","child","children","globalClasses","text","lineText","requestAnimationFrame","keyListener","isTabPressed","setState","event","preventDefault","render","ThemeFactory","create","setRootNode","isBorderBottom","parseInt","linkLineBorderBottomWidth","focus","useGrayedFocus","lineRoot","disabledDark22Theme","lineFocus","lineFocusSuccess","lineFocusDanger","lineFocusGrayed","React","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string","node","oneOf"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { Spinner } from '../Spinner';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { isDarkTheme, isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { globalClasses, styles } from './Link.styles';\n\nexport interface LinkProps\n extends CommonProps,\n Override<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n {\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * HTML-атрибут `href`.\n */\n href?: string;\n /**\n * Добавляет ссылке иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Тема ссылки.\n */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n /**\n * @ignore\n */\n _button?: boolean;\n /**\n * @ignore\n */\n _buttonOpened?: boolean;\n /**\n * HTML-атрибут `tabindex`.\n */\n tabIndex?: number;\n /**\n * Переводит ссылку в состояние загрузки.\n */\n loading?: boolean;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n /**\n * Компонент, используемый в качестве корневого узла.\n * @ignore\n */\n as?: React.ElementType | keyof React.ReactHTML;\n /**\n * @ignore\n */\n focused?: boolean;\n }\n > {}\n\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\nexport const LinkDataTids = {\n root: 'Link__root',\n} as const;\n\ntype DefaultProps = Required<Pick<LinkProps, 'href' | 'use' | 'as'>>;\ntype DefaultizedLinkProps = DefaultizedProps<LinkProps, DefaultProps>;\n\n/**\n * Элемент ссылки из HTML.\n */\n@rootNode\nexport class Link extends React.Component<LinkProps, LinkState> {\n public static __KONTUR_REACT_UI__ = 'Link';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n use: PropTypes.oneOf(['default', 'success', 'danger', 'grayed']),\n };\n\n public static defaultProps: DefaultProps = {\n href: '',\n use: 'default',\n as: 'a',\n };\n\n private getProps = createPropsGetter(Link.defaultProps);\n\n public state: LinkState = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<DefaultizedLinkProps>) => {\n const {\n disabled,\n href,\n icon,\n use,\n loading,\n _button,\n _buttonOpened,\n rel: relOrigin,\n as: Component,\n focused = false,\n ...rest\n } = props;\n const _isTheme2022 = isTheme2022(this.theme);\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <span className={styles.icon(this.theme)}>{loading ? <Spinner caption={null} dimmed inline /> : icon}</span>\n );\n }\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n let rel = relOrigin;\n if (typeof rel === 'undefined' && href) {\n rel = `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n\n const isFocused = !disabled && (this.state.focusedByTab || focused);\n\n const linkProps = {\n className: cx(\n styles.useRoot(),\n use === 'default' && styles.useDefault(this.theme),\n use === 'success' && styles.useSuccess(this.theme),\n use === 'danger' && styles.useDanger(this.theme),\n use === 'grayed' && styles.useGrayed(this.theme),\n !!_button && styles.button(this.theme),\n !!_buttonOpened && styles.buttonOpened(this.theme),\n this.getLinkClassName(isFocused, Boolean(disabled || loading), _isTheme2022),\n ),\n href,\n rel,\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: disabled || loading ? -1 : this.props.tabIndex,\n };\n\n let child = this.props.children;\n if (_isTheme2022) {\n child = <span className={cx(globalClasses.text, styles.lineText(this.theme))}>{this.props.children}</span>;\n }\n\n return (\n <Component data-tid={LinkDataTids.root} {...rest} {...linkProps}>\n {iconElement}\n {child}\n {arrow}\n </Component>\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 requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n const { onClick, disabled, loading } = this.props;\n const href = this.getProps().href;\n if (!href) {\n event.preventDefault();\n }\n if (onClick && !disabled && !loading) {\n onClick(event);\n }\n };\n\n private getLinkClassName(focused: boolean, disabled: boolean, _isTheme2022: boolean): string {\n const { use } = this.getProps();\n const isBorderBottom = parseInt(this.theme.linkLineBorderBottomWidth) > 0;\n const isFocused = focused && !disabled;\n\n return !isBorderBottom\n ? cx(\n styles.root(this.theme),\n isFocused && styles.focus(this.theme),\n disabled && styles.disabled(this.theme),\n use === 'grayed' && focused && styles.useGrayedFocus(this.theme),\n )\n : cx(\n styles.lineRoot(),\n disabled && styles.disabled(this.theme),\n disabled && _isTheme2022 && isDarkTheme(this.theme) && styles.disabledDark22Theme(this.theme),\n isFocused && use === 'default' && styles.lineFocus(this.theme),\n isFocused && use === 'success' && styles.lineFocusSuccess(this.theme),\n isFocused && use === 'danger' && styles.lineFocusDanger(this.theme),\n isFocused && use === 'grayed' && styles.lineFocusGrayed(this.theme),\n );\n }\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export declare const linkMixin: (hoverTextDecoration: string) => string;
|
|
2
2
|
export declare const linkDisabledMixin: () => string;
|
|
3
3
|
export declare const linkUseColorsMixin: (mainColor: string, hoverColor: string, activeColor: string) => string;
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const linkUseLineColorsHoverMixin: (hoverColor: string, nestedSelector: string) => string;
|
|
4
|
+
export declare const linkUseLineHovered: (linkLineHoverBorderBottomStyle: string) => string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.
|
|
1
|
+
"use strict";exports.__esModule = true;exports.linkUseLineHovered = exports.linkUseColorsMixin = exports.linkMixin = exports.linkDisabledMixin = void 0;var linkMixin = function linkMixin(hoverTextDecoration) {
|
|
2
2
|
return "\n border-radius: 1px;\n outline: none;\n text-decoration: none;\n\n &:hover {\n text-decoration: " +
|
|
3
3
|
|
|
4
4
|
|
|
@@ -37,20 +37,9 @@ var linkUseColorsMixin = function linkUseColorsMixin(mainColor, hoverColor, acti
|
|
|
37
37
|
|
|
38
38
|
};exports.linkUseColorsMixin = linkUseColorsMixin;
|
|
39
39
|
|
|
40
|
-
var
|
|
41
|
-
return "\n border-bottom-
|
|
42
|
-
mainColor + ";\n\n &:active {\n border-bottom-color: " +
|
|
40
|
+
var linkUseLineHovered = function linkUseLineHovered(linkLineHoverBorderBottomStyle) {
|
|
41
|
+
return "\n animation: none !important;\n border-bottom-style: " +
|
|
43
42
|
|
|
43
|
+
linkLineHoverBorderBottomStyle + ";\n ";
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
};exports.linkUseLineColorsMixin = linkUseLineColorsMixin;
|
|
49
|
-
|
|
50
|
-
var linkUseLineColorsHoverMixin = function linkUseLineColorsHoverMixin(hoverColor, nestedSelector) {
|
|
51
|
-
return "\n &:hover " +
|
|
52
|
-
nestedSelector + " {\n border-bottom-color: " +
|
|
53
|
-
hoverColor + ";\n }\n ";
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
};exports.linkUseLineColorsHoverMixin = linkUseLineColorsHoverMixin;
|
|
45
|
+
};exports.linkUseLineHovered = linkUseLineHovered;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Link.mixins.ts"],"names":["linkMixin","hoverTextDecoration","linkDisabledMixin","linkUseColorsMixin","mainColor","hoverColor","activeColor","
|
|
1
|
+
{"version":3,"sources":["Link.mixins.ts"],"names":["linkMixin","hoverTextDecoration","linkDisabledMixin","linkUseColorsMixin","mainColor","hoverColor","activeColor","linkUseLineHovered","linkLineHoverBorderBottomStyle"],"mappings":"wJAAO,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,mBAAD,EAAiC;AACxD;;;;;;AAMuBA,EAAAA,mBANvB;;;AASD,CAVM,C;;AAYA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AACrC;;;;;;;;;;AAUD,CAXM,C;;AAaA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,SAAD,EAAoBC,UAApB,EAAwCC,WAAxC,EAAgE;AAChG;AACWF,EAAAA,SADX;;;AAIaC,EAAAA,UAJb;;;;AAQaC,EAAAA,WARb;;;AAWD,CAZM,C;;AAcA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,8BAAD,EAA4C;AAC5E;;AAEyBA,EAAAA,8BAFzB;;AAID,CALM,C","sourcesContent":["export const linkMixin = (hoverTextDecoration: string) => {\n return `\n border-radius: 1px;\n outline: none;\n text-decoration: none;\n\n &:hover {\n text-decoration: ${hoverTextDecoration};\n }\n `;\n};\n\nexport const linkDisabledMixin = () => {\n return `\n box-shadow: none;\n cursor: default;\n pointer-events: none;\n text-decoration: none;\n\n &:hover {\n text-decoration: none;\n }\n `;\n};\n\nexport const linkUseColorsMixin = (mainColor: string, hoverColor: string, activeColor: string) => {\n return `\n color: ${mainColor};\n\n &:hover {\n color: ${hoverColor};\n }\n\n &:active {\n color: ${activeColor};\n }\n `;\n};\n\nexport const linkUseLineHovered = (linkLineHoverBorderBottomStyle: string) => {\n return `\n animation: none !important;\n border-bottom-style: ${linkLineHoverBorderBottomStyle};\n `;\n};\n"]}
|
|
@@ -13,6 +13,7 @@ export declare const styles: {
|
|
|
13
13
|
button(t: Theme): string;
|
|
14
14
|
buttonOpened(t: Theme): string;
|
|
15
15
|
arrow(): string;
|
|
16
|
+
useRoot(): string;
|
|
16
17
|
useDefault(t: Theme): string;
|
|
17
18
|
useSuccess(t: Theme): string;
|
|
18
19
|
useDanger(t: Theme): string;
|
|
@@ -20,5 +21,6 @@ export declare const styles: {
|
|
|
20
21
|
useGrayedFocus(t: Theme): string;
|
|
21
22
|
focus(t: Theme): string;
|
|
22
23
|
disabled(t: Theme): string;
|
|
24
|
+
disabledDark22Theme(t: Theme): string;
|
|
23
25
|
icon(t: Theme): string;
|
|
24
26
|
};
|
|
@@ -1,28 +1,31 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = exports.globalClasses = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var _Link = require("./Link.mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;
|
|
4
|
+
var _Link = require("./Link.mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21;
|
|
5
5
|
|
|
6
|
+
var globalClasses = (0, _Emotion.prefix)('link')({
|
|
7
|
+
text: 'text' });exports.globalClasses = globalClasses;
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var line = (0, _Emotion.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n 0% {\n border-bottom-color: inherit;\n }\n 100% {\n border-bottom-color: transparent;\n }\n"])));
|
|
6
11
|
|
|
7
12
|
|
|
8
13
|
|
|
9
14
|
|
|
10
15
|
|
|
11
16
|
|
|
12
|
-
var globalClasses = (0, _Emotion.prefix)('link')({
|
|
13
|
-
text: 'text' });exports.globalClasses = globalClasses;
|
|
14
17
|
|
|
15
18
|
|
|
16
19
|
var styles = (0, _Emotion.memoizeStyle)({
|
|
17
20
|
root: function root(t) {
|
|
18
|
-
return (0, _Emotion.css)(
|
|
21
|
+
return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n position: relative;\n "])),
|
|
19
22
|
(0, _Link.linkMixin)(t.linkHoverTextDecoration));
|
|
20
23
|
|
|
21
24
|
|
|
22
25
|
},
|
|
23
26
|
|
|
24
27
|
lineRoot: function lineRoot() {
|
|
25
|
-
return (0, _Emotion.css)(
|
|
28
|
+
return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-radius: 1px;\n outline: none;\n text-decoration: none;\n "])));
|
|
26
29
|
|
|
27
30
|
|
|
28
31
|
|
|
@@ -30,51 +33,55 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
30
33
|
},
|
|
31
34
|
|
|
32
35
|
lineText: function lineText(t) {
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
var delay = parseFloat(t.linkLineBorderBottomOpacity) - 1;
|
|
37
|
+
return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-bottom-style: ", ";\n border-bottom-width: ", ";\n animation: ", " 1s linear !important; // override creevey\n animation-play-state: paused !important;\n animation-delay: ", "s !important;\n animation-fill-mode: forwards !important;\n "])),
|
|
35
38
|
t.linkLineBorderBottomStyle,
|
|
36
|
-
t.linkLineBorderBottomWidth
|
|
39
|
+
t.linkLineBorderBottomWidth,
|
|
40
|
+
line,
|
|
41
|
+
|
|
42
|
+
delay);
|
|
43
|
+
|
|
37
44
|
|
|
38
45
|
},
|
|
39
46
|
|
|
40
47
|
lineFocus: function lineFocus(t) {
|
|
41
|
-
return (0, _Emotion.css)(
|
|
48
|
+
return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n .", " {\n ", "\n }\n "])),
|
|
42
49
|
t.linkHoverColor,
|
|
43
50
|
globalClasses.text,
|
|
44
|
-
t.
|
|
51
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
45
52
|
|
|
46
53
|
|
|
47
54
|
},
|
|
48
55
|
|
|
49
56
|
lineFocusSuccess: function lineFocusSuccess(t) {
|
|
50
|
-
return (0, _Emotion.css)(
|
|
57
|
+
return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", " !important;\n .", " {\n ", "\n }\n "])),
|
|
51
58
|
t.linkSuccessHoverColor,
|
|
52
59
|
globalClasses.text,
|
|
53
|
-
t.
|
|
60
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
54
61
|
|
|
55
62
|
|
|
56
63
|
},
|
|
57
64
|
|
|
58
65
|
lineFocusDanger: function lineFocusDanger(t) {
|
|
59
|
-
return (0, _Emotion.css)(
|
|
66
|
+
return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", " !important;\n .", " {\n ", "\n }\n "])),
|
|
60
67
|
t.linkDangerHoverColor,
|
|
61
68
|
globalClasses.text,
|
|
62
|
-
t.
|
|
69
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
63
70
|
|
|
64
71
|
|
|
65
72
|
},
|
|
66
73
|
|
|
67
74
|
lineFocusGrayed: function lineFocusGrayed(t) {
|
|
68
|
-
return (0, _Emotion.css)(
|
|
75
|
+
return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", " !important;\n .", " {\n ", "\n }\n "])),
|
|
69
76
|
t.linkGrayedHoverColor,
|
|
70
77
|
globalClasses.text,
|
|
71
|
-
t.
|
|
78
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
72
79
|
|
|
73
80
|
|
|
74
81
|
},
|
|
75
82
|
|
|
76
83
|
button: function button(t) {
|
|
77
|
-
return (0, _Emotion.css)(
|
|
84
|
+
return (0, _Emotion.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n line-height: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "])),
|
|
78
85
|
|
|
79
86
|
t.linkButtonLineHeight,
|
|
80
87
|
t.linkButtonPaddingX,
|
|
@@ -83,13 +90,13 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
83
90
|
},
|
|
84
91
|
|
|
85
92
|
buttonOpened: function buttonOpened(t) {
|
|
86
|
-
return (0, _Emotion.css)(
|
|
93
|
+
return (0, _Emotion.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n "])),
|
|
87
94
|
t.btnDefaultActiveBg);
|
|
88
95
|
|
|
89
96
|
},
|
|
90
97
|
|
|
91
98
|
arrow: function arrow() {
|
|
92
|
-
return (0, _Emotion.css)(
|
|
99
|
+
return (0, _Emotion.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteralLoose2.default)(["\n border: 4px solid transparent;\n border-bottom-width: 0;\n border-top-color: #a0a0a0;\n display: inline-block;\n margin-bottom: 3px;\n margin-left: 3px;\n vertical-align: middle;\n "])));
|
|
93
100
|
|
|
94
101
|
|
|
95
102
|
|
|
@@ -100,76 +107,89 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
100
107
|
|
|
101
108
|
},
|
|
102
109
|
|
|
110
|
+
useRoot: function useRoot() {
|
|
111
|
+
return (0, _Emotion.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-bottom-color: currentColor;\n "])));
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
},
|
|
103
115
|
useDefault: function useDefault(t) {
|
|
104
|
-
return (0, _Emotion.css)(
|
|
116
|
+
return (0, _Emotion.css)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n .", " {\n :hover {\n ", "\n }\n }\n "])),
|
|
105
117
|
(0, _Link.linkUseColorsMixin)(t.linkColor, t.linkHoverColor, t.linkActiveColor),
|
|
106
|
-
(0, _Link.linkUseLineColorsHoverMixin)(t.linkLineHoverBorderBottomColor, "." + globalClasses.text),
|
|
107
118
|
globalClasses.text,
|
|
108
|
-
|
|
119
|
+
|
|
120
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
121
|
+
|
|
109
122
|
|
|
110
123
|
|
|
111
124
|
},
|
|
112
125
|
|
|
113
126
|
useSuccess: function useSuccess(t) {
|
|
114
|
-
return (0, _Emotion.css)(
|
|
127
|
+
return (0, _Emotion.css)(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n .", " {\n :hover {\n ", "\n }\n }\n "])),
|
|
115
128
|
(0, _Link.linkUseColorsMixin)(t.linkSuccessColor, t.linkSuccessHoverColor, t.linkSuccessActiveColor),
|
|
116
|
-
(0, _Link.linkUseLineColorsHoverMixin)(t.linkLineHoverBorderBottomColorSuccess, "." + globalClasses.text),
|
|
117
129
|
globalClasses.text,
|
|
118
|
-
|
|
130
|
+
|
|
131
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
132
|
+
|
|
119
133
|
|
|
120
134
|
|
|
121
135
|
},
|
|
122
136
|
|
|
123
137
|
useDanger: function useDanger(t) {
|
|
124
|
-
return (0, _Emotion.css)(
|
|
138
|
+
return (0, _Emotion.css)(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n .", " {\n :hover {\n ", "\n }\n }\n "])),
|
|
125
139
|
(0, _Link.linkUseColorsMixin)(t.linkDangerColor, t.linkDangerHoverColor, t.linkDangerActiveColor),
|
|
126
|
-
(0, _Link.linkUseLineColorsHoverMixin)(t.linkLineHoverBorderBottomColorDanger, "." + globalClasses.text),
|
|
127
140
|
globalClasses.text,
|
|
128
|
-
|
|
141
|
+
|
|
142
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
143
|
+
|
|
129
144
|
|
|
130
145
|
|
|
131
146
|
},
|
|
132
147
|
|
|
133
148
|
useGrayed: function useGrayed(t) {
|
|
134
|
-
return (0, _Emotion.css)(
|
|
149
|
+
return (0, _Emotion.css)(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n .", " {\n :hover {\n ", "\n }\n }\n "])),
|
|
135
150
|
(0, _Link.linkUseColorsMixin)(t.linkGrayedColor, t.linkGrayedHoverColor, t.linkGrayedActiveColor),
|
|
136
|
-
(0, _Link.linkUseLineColorsHoverMixin)(t.linkLineHoverBorderBottomColorGrayed, "." + globalClasses.text),
|
|
137
151
|
globalClasses.text,
|
|
138
|
-
|
|
152
|
+
|
|
153
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
154
|
+
|
|
139
155
|
|
|
140
156
|
|
|
141
157
|
},
|
|
142
158
|
|
|
143
159
|
useGrayedFocus: function useGrayedFocus(t) {
|
|
144
|
-
return (0, _Emotion.css)(
|
|
160
|
+
return (0, _Emotion.css)(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
|
|
145
161
|
t.linkDisabledColor);
|
|
146
162
|
|
|
147
163
|
},
|
|
148
164
|
|
|
149
165
|
focus: function focus(t) {
|
|
150
|
-
return (0, _Emotion.css)(
|
|
166
|
+
return (0, _Emotion.css)(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteralLoose2.default)(["\n text-decoration: ", ";\n "])),
|
|
151
167
|
t.linkHoverTextDecoration);
|
|
152
168
|
|
|
153
169
|
},
|
|
154
170
|
|
|
155
171
|
disabled: function disabled(t) {
|
|
156
|
-
return (0, _Emotion.css)(
|
|
172
|
+
return (0, _Emotion.css)(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n\n color: ", " !important; // override root color\n\n &:hover {\n color: ", ";\n }\n "])),
|
|
157
173
|
(0, _Link.linkDisabledMixin)(),
|
|
158
174
|
|
|
159
175
|
t.linkDisabledColor,
|
|
160
176
|
|
|
161
|
-
globalClasses.text,
|
|
162
|
-
t.linkDisabledColor,
|
|
163
177
|
|
|
178
|
+
t.linkDisabledColor);
|
|
164
179
|
|
|
165
180
|
|
|
166
|
-
|
|
181
|
+
},
|
|
182
|
+
|
|
183
|
+
disabledDark22Theme: function disabledDark22Theme(t) {
|
|
184
|
+
return (0, _Emotion.css)(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteralLoose2.default)(["\n .", " {\n ", "\n }\n "])),
|
|
185
|
+
globalClasses.text,
|
|
186
|
+
(0, _Link.linkUseLineHovered)(t.linkLineHoverBorderBottomStyle));
|
|
167
187
|
|
|
168
188
|
|
|
169
189
|
},
|
|
170
190
|
|
|
171
191
|
icon: function icon(t) {
|
|
172
|
-
return (0, _Emotion.css)(
|
|
192
|
+
return (0, _Emotion.css)(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n margin-right: ", ";\n "])),
|
|
173
193
|
|
|
174
194
|
t.linkIconMarginRight);
|
|
175
195
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Link.styles.ts"],"names":["globalClasses","text","styles","root","t","css","linkHoverTextDecoration","lineRoot","lineText","
|
|
1
|
+
{"version":3,"sources":["Link.styles.ts"],"names":["globalClasses","text","line","keyframes","styles","root","t","css","linkHoverTextDecoration","lineRoot","lineText","delay","parseFloat","linkLineBorderBottomOpacity","linkLineBorderBottomStyle","linkLineBorderBottomWidth","lineFocus","linkHoverColor","linkLineHoverBorderBottomStyle","lineFocusSuccess","linkSuccessHoverColor","lineFocusDanger","linkDangerHoverColor","lineFocusGrayed","linkGrayedHoverColor","button","linkButtonLineHeight","linkButtonPaddingX","buttonOpened","btnDefaultActiveBg","arrow","useRoot","useDefault","linkColor","linkActiveColor","useSuccess","linkSuccessColor","linkSuccessActiveColor","useDanger","linkDangerColor","linkDangerActiveColor","useGrayed","linkGrayedColor","linkGrayedActiveColor","useGrayedFocus","linkDisabledColor","focus","disabled","disabledDark22Theme","icon","linkIconMarginRight"],"mappings":"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","sourcesContent":["import { css, keyframes, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { linkMixin, linkDisabledMixin, linkUseColorsMixin, linkUseLineHovered } from './Link.mixins';\n\nexport const globalClasses = prefix('link')({\n text: 'text',\n});\n\nconst line = keyframes`\n 0% {\n border-bottom-color: inherit;\n }\n 100% {\n border-bottom-color: transparent;\n }\n`;\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${linkMixin(t.linkHoverTextDecoration)};\n position: relative;\n `;\n },\n\n lineRoot() {\n return css`\n border-radius: 1px;\n outline: none;\n text-decoration: none;\n `;\n },\n\n lineText(t: Theme) {\n const delay = parseFloat(t.linkLineBorderBottomOpacity) - 1;\n return css`\n border-bottom-style: ${t.linkLineBorderBottomStyle};\n border-bottom-width: ${t.linkLineBorderBottomWidth};\n animation: ${line} 1s linear !important; // override creevey\n animation-play-state: paused !important;\n animation-delay: ${delay}s !important;\n animation-fill-mode: forwards !important;\n `;\n },\n\n lineFocus(t: Theme) {\n return css`\n color: ${t.linkHoverColor};\n .${globalClasses.text} {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n `;\n },\n\n lineFocusSuccess(t: Theme) {\n return css`\n color: ${t.linkSuccessHoverColor} !important;\n .${globalClasses.text} {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n `;\n },\n\n lineFocusDanger(t: Theme) {\n return css`\n color: ${t.linkDangerHoverColor} !important;\n .${globalClasses.text} {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n `;\n },\n\n lineFocusGrayed(t: Theme) {\n return css`\n color: ${t.linkGrayedHoverColor} !important;\n .${globalClasses.text} {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n `;\n },\n\n button(t: Theme) {\n return css`\n display: inline-block;\n line-height: ${t.linkButtonLineHeight};\n padding-left: ${t.linkButtonPaddingX};\n padding-right: ${t.linkButtonPaddingX};\n `;\n },\n\n buttonOpened(t: Theme) {\n return css`\n background: ${t.btnDefaultActiveBg};\n `;\n },\n\n arrow() {\n return css`\n border: 4px solid transparent;\n border-bottom-width: 0;\n border-top-color: #a0a0a0;\n display: inline-block;\n margin-bottom: 3px;\n margin-left: 3px;\n vertical-align: middle;\n `;\n },\n\n useRoot() {\n return css`\n border-bottom-color: currentColor;\n `;\n },\n useDefault(t: Theme) {\n return css`\n ${linkUseColorsMixin(t.linkColor, t.linkHoverColor, t.linkActiveColor)};\n .${globalClasses.text} {\n :hover {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n }\n `;\n },\n\n useSuccess(t: Theme) {\n return css`\n ${linkUseColorsMixin(t.linkSuccessColor, t.linkSuccessHoverColor, t.linkSuccessActiveColor)};\n .${globalClasses.text} {\n :hover {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n }\n `;\n },\n\n useDanger(t: Theme) {\n return css`\n ${linkUseColorsMixin(t.linkDangerColor, t.linkDangerHoverColor, t.linkDangerActiveColor)};\n .${globalClasses.text} {\n :hover {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n }\n `;\n },\n\n useGrayed(t: Theme) {\n return css`\n ${linkUseColorsMixin(t.linkGrayedColor, t.linkGrayedHoverColor, t.linkGrayedActiveColor)};\n .${globalClasses.text} {\n :hover {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n }\n `;\n },\n\n useGrayedFocus(t: Theme) {\n return css`\n color: ${t.linkDisabledColor};\n `;\n },\n\n focus(t: Theme) {\n return css`\n text-decoration: ${t.linkHoverTextDecoration};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n ${linkDisabledMixin()};\n\n color: ${t.linkDisabledColor} !important; // override root color\n\n &:hover {\n color: ${t.linkDisabledColor};\n }\n `;\n },\n\n disabledDark22Theme(t: Theme) {\n return css`\n .${globalClasses.text} {\n ${linkUseLineHovered(t.linkLineHoverBorderBottomStyle)}\n }\n `;\n },\n\n icon(t: Theme) {\n return css`\n display: inline-block;\n margin-right: ${t.linkIconMarginRight};\n `;\n },\n});\n"]}
|
|
@@ -63,7 +63,7 @@ function ModalFooter(props) {
|
|
|
63
63
|
|
|
64
64
|
var renderContent = function renderContent(fixed) {if (fixed === void 0) {fixed = false;}
|
|
65
65
|
return /*#__PURE__*/(
|
|
66
|
-
_react.default.createElement(
|
|
66
|
+
_react.default.createElement("div", null,
|
|
67
67
|
(panel || fixed) && /*#__PURE__*/_react.default.createElement(_ModalSeparator.ModalSeparator, { fixed: fixed }), /*#__PURE__*/
|
|
68
68
|
_react.default.createElement("div", {
|
|
69
69
|
"data-tid": ModalFooterDataTids.root,
|