@skbkontur/react-ui 2.17.4 → 2.17.5
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 +13 -0
- package/cjs/components/Select/Select.js +6 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.d.ts +1 -0
- package/cjs/components/Select/Select.styles.js +11 -5
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/selectTheme.js +6 -1
- package/cjs/components/Select/selectTheme.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +5 -0
- package/cjs/internal/themes/DefaultTheme.js +16 -1
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/Upgrades.d.ts +2 -0
- package/cjs/lib/Upgrades.js +14 -0
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +3 -3
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/components/Select/Select/Select.js +2 -2
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.styles/Select.styles.js +21 -8
- package/components/Select/Select.styles/Select.styles.js.map +1 -1
- package/components/Select/Select.styles.d.ts +1 -0
- package/components/Select/selectTheme/selectTheme.js +5 -1
- package/components/Select/selectTheme/selectTheme.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +2 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +26 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +5 -0
- package/lib/Upgrades/Upgrades.js +13 -0
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/Upgrades.d.ts +2 -0
- package/lib/theming/Emotion/Emotion.js +3 -3
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.17.5](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@2.17.4...@skbkontur/react-ui@2.17.5) (2021-11-03)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **Select:** add vars for disabled state ([#2611](https://github.com/skbkontur/retail-ui/issues/2611)) ([76a30b7](https://github.com/skbkontur/retail-ui/commit/76a30b7ba3ec59e421b14685a6993c961a8f6175)), closes [#2610](https://github.com/skbkontur/retail-ui/issues/2610)
|
|
12
|
+
* **ThemePlayground:** computed vars are visible in the ThemeEditor ([0068f1b](https://github.com/skbkontur/retail-ui/commit/0068f1bc3a6e7f4f6d08f766c308a948cd43deea))
|
|
13
|
+
* **Upgrades:** abillity to customize classNames prefix ([#2608](https://github.com/skbkontur/retail-ui/issues/2608)) ([849c13e](https://github.com/skbkontur/retail-ui/commit/849c13ea284968425d91294e0b515a01d98d2acb)), closes [#2561](https://github.com/skbkontur/retail-ui/issues/2561)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
6
19
|
## [2.17.4](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@2.17.3...@skbkontur/react-ui@2.17.4) (2021-09-29)
|
|
7
20
|
|
|
8
21
|
|
|
@@ -456,6 +456,11 @@ Select = (_dec = (0, _decorators.locale)('Select', _locale.SelectLocaleHelper),
|
|
|
456
456
|
|
|
457
457
|
|
|
458
458
|
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
459
464
|
|
|
460
465
|
|
|
461
466
|
|
|
@@ -598,7 +603,7 @@ Select = (_dec = (0, _decorators.locale)('Select', _locale.SelectLocaleHelper),
|
|
|
598
603
|
buttonElement;
|
|
599
604
|
};return _this;}var _proto = Select.prototype;_proto.componentDidUpdate = function componentDidUpdate(_prevProps, prevState) {if (!prevState.opened && this.state.opened) {window.addEventListener('popstate', this.close);}if (prevState.opened && !this.state.opened) {window.removeEventListener('popstate', this.close);}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: (0, _selectTheme.getSelectTheme)(theme, _this2.props) }, _this2.renderMain());});} /**
|
|
600
605
|
* @public
|
|
601
|
-
*/;_proto.renderMain = function renderMain() {var _this$renderLabel = this.renderLabel(),label = _this$renderLabel.label,isPlaceholder = _this$renderLabel.isPlaceholder;var buttonParams = { opened: this.state.opened, label: label, isPlaceholder: isPlaceholder, onClick: this.toggle, onKeyDown: this.handleKey };var style = { width: this.props.width, maxWidth: this.props.maxWidth || undefined };var button = this.getButton(buttonParams);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: this.state.opened }, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.root(this.theme), style: style }, button, !this.props.disabled && this.state.opened && this.renderMenu())));};_proto.renderLabel = function renderLabel() {var value = this.getValue();var item = this.getItemByValue(value);if (item != null || value != null) {return { label: this.getProps().renderValue(value, item), isPlaceholder: false };}return { label: /*#__PURE__*/_react.default.createElement("span", null, this.props.placeholder || this.locale.placeholder), isPlaceholder: true };};_proto.renderDefaultButton = function renderDefaultButton(params) {var _cn;if (this.props.diadocLinkIcon) {(0, _warning.default)(false, "diadocLinkIcon has been deprecated");return this.renderLinkButton(params);}var buttonProps = (0, _extends2.default)({}, (0, _filterProps.filterProps)(this.props, PASS_BUTTON_PROPS), { align: 'left', disabled: this.props.disabled, width: '100%', onClick: params.onClick, onKeyDown: params.onKeyDown, active: params.opened });if (this.props._icon) {Object.assign(buttonProps, { icon: this.props._icon, _noRightPadding: true });}var labelProps = { className: (0, _classnames.default)((_cn = {}, _cn[_Select.jsStyles.label()] = this.props.use !== 'link', _cn[_Select.jsStyles.placeholder(this.theme)] = params.isPlaceholder, _cn[_Select.jsStyles.customUsePlaceholder()] = params.isPlaceholder && this.props.use !== 'default', _cn)), style: { paddingRight: this.getLabelPaddingRight() } };var useIsCustom = this.props.use !== 'default';return /*#__PURE__*/_react.default.createElement(_Button.Button, buttonProps, /*#__PURE__*/_react.default.createElement("span", labelProps, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.labelText() }, params.label)), /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.arrowWrap(), style: { right: this.getLegacyArrowShift() } }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)(_Select.jsStyles.arrow(this.theme),
|
|
606
|
+
*/;_proto.renderMain = function renderMain() {var _this$renderLabel = this.renderLabel(),label = _this$renderLabel.label,isPlaceholder = _this$renderLabel.isPlaceholder;var buttonParams = { opened: this.state.opened, label: label, isPlaceholder: isPlaceholder, onClick: this.toggle, onKeyDown: this.handleKey };var style = { width: this.props.width, maxWidth: this.props.maxWidth || undefined };var button = this.getButton(buttonParams);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: this.state.opened }, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.root(this.theme), style: style }, button, !this.props.disabled && this.state.opened && this.renderMenu())));};_proto.renderLabel = function renderLabel() {var value = this.getValue();var item = this.getItemByValue(value);if (item != null || value != null) {return { label: this.getProps().renderValue(value, item), isPlaceholder: false };}return { label: /*#__PURE__*/_react.default.createElement("span", null, this.props.placeholder || this.locale.placeholder), isPlaceholder: true };};_proto.renderDefaultButton = function renderDefaultButton(params) {var _cn, _cn2;if (this.props.diadocLinkIcon) {(0, _warning.default)(false, "diadocLinkIcon has been deprecated");return this.renderLinkButton(params);}var buttonProps = (0, _extends2.default)({}, (0, _filterProps.filterProps)(this.props, PASS_BUTTON_PROPS), { align: 'left', disabled: this.props.disabled, width: '100%', onClick: params.onClick, onKeyDown: params.onKeyDown, active: params.opened });if (this.props._icon) {Object.assign(buttonProps, { icon: this.props._icon, _noRightPadding: true });}var labelProps = { className: (0, _classnames.default)((_cn = {}, _cn[_Select.jsStyles.label()] = this.props.use !== 'link', _cn[_Select.jsStyles.placeholder(this.theme)] = params.isPlaceholder, _cn[_Select.jsStyles.customUsePlaceholder()] = params.isPlaceholder && this.props.use !== 'default', _cn)), style: { paddingRight: this.getLabelPaddingRight() } };var useIsCustom = this.props.use !== 'default';return /*#__PURE__*/_react.default.createElement(_Button.Button, buttonProps, /*#__PURE__*/_react.default.createElement("span", labelProps, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.labelText() }, params.label)), /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.arrowWrap(), style: { right: this.getLegacyArrowShift() } }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)(_Select.jsStyles.arrow(this.theme), (_cn2 = {}, _cn2[_Select.jsStyles.arrowDisabled(this.theme)] = this.props.disabled, _cn2[_Select.jsStyles.customUseArrow()] = useIsCustom, _cn2)) })));};_proto.getLabelPaddingRight = function getLabelPaddingRight() {var _this3 = this;var getArrowPadding = function getArrowPadding() {switch (_this3.props.size) {case 'large':return _this3.theme.selectPaddingArrowLarge;case 'medium':return _this3.theme.selectPaddingArrowMedium;case 'small':default:return _this3.theme.selectPaddingArrowSmall;}};var ARROW_WIDTH = 8;var arrowLeftPadding = parseFloat(getArrowPadding()) || 0;return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();};_proto.getLegacyArrowShift = function getLegacyArrowShift() {var _this4 = this;var getSelectPadding = function getSelectPadding() {switch (_this4.props.size) {case 'large':return _this4.theme.selectPaddingXLarge;case 'medium':return _this4.theme.selectPaddingXMedium;case 'small':default:return _this4.theme.selectPaddingXSmall;}};var selectPadding = parseFloat(getSelectPadding()) || 0;return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);};_proto.renderLinkButton = function renderLinkButton(params) {var linkProps = { disabled: params.disabled, icon: this.props.diadocLinkIcon, _button: true, _buttonOpened: params.opened, onClick: params.onClick, onKeyDown: params.onKeyDown };return /*#__PURE__*/_react.default.createElement(_Link.Link, linkProps, params.label);};_proto.renderMenu = function renderMenu() {var _this5 = this;var search = this.props.search ? /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.search() }, /*#__PURE__*/_react.default.createElement(_Input.Input, { ref: this.focusInput, onValueChange: this.handleSearch, width: "100%" })) : null;var value = this.getValue();return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { getParent: this.dropdownContainerGetParent, offsetY: -1, align: this.props.menuAlign, disablePortal: this.props.disablePortal }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { ref: this.refMenu, width: this.props.menuWidth, onItemClick: this.close, maxHeight: this.props.maxMenuHeight }, search, this.mapItems(function (iValue, item, i, comment) {if ((0, _utils.isFunction)(item)) {var element = item();if ( /*#__PURE__*/_react.default.isValidElement(element)) {return /*#__PURE__*/_react.default.cloneElement(element, { key: i });}return null;}if ( /*#__PURE__*/_react.default.isValidElement(item)) {return /*#__PURE__*/_react.default.cloneElement(item, { key: i });}return /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { key: i, state: _this5.getProps().areValuesEqual(iValue, value) ? 'selected' : null, onClick: _this5.select.bind(_this5, iValue), comment: comment }, _this5.getProps().renderItem(iValue, item));})));};_proto.select = function select(value) {this.focus();this.setState({ opened: false, value: value });if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {this.props.onValueChange(value);}};_proto.getValue = function getValue() {if (this.props.value !== undefined) {return this.props.value;}return this.state.value;};_proto.mapItems = function mapItems(fn) {var items = this.props.items;if (!items) {return [];}var pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();var result = [];var index = 0;for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {var entry = _step.value;var _normalizeEntry = normalizeEntry(entry),_value = _normalizeEntry[0],_item = _normalizeEntry[1],_comment = _normalizeEntry[2];if (!pattern || this.getProps().filterItem(_value, _item, pattern)) {result.push(fn(_value, _item, index, _comment));++index;}}return result;};_proto.getItemByValue = function getItemByValue(value) {if (value === null || value === undefined) {return null;}var items = this.props.items || [];for (var _iterator2 = _createForOfIteratorHelperLoose(items), _step2; !(_step2 = _iterator2()).done;) {var entry = _step2.value;var _normalizeEntry2 = normalizeEntry(entry),itemValue = _normalizeEntry2[0],_item2 = _normalizeEntry2[1];if (this.getProps().areValuesEqual(itemValue, value)) {return _item2;}}return null;};return Select;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Select', _class2.propTypes = { areValuesEqual: _propTypes.default.func, defaultValue: _propTypes.default.any, disablePortal: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, filterItem: _propTypes.default.func, items: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]), maxMenuHeight: _propTypes.default.number, maxWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), placeholder: _propTypes.default.node, renderItem: _propTypes.default.func, renderValue: _propTypes.default.func, search: _propTypes.default.bool, value: _propTypes.default.any, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, onKeyDown: _propTypes.default.func }, _class2.defaultProps = { renderValue: renderValue, renderItem: renderItem, areValuesEqual: areValuesEqual, filterItem: filterItem, use: 'default' }, _class2.Item = _Item.Item, _class2.SEP = function () {return /*#__PURE__*/_react.default.createElement(_MenuSeparator.MenuSeparator, null);}, _class2.static = function (element) {(0, _invariant.default)( /*#__PURE__*/_react.default.isValidElement(element) || typeof element === 'function', 'Select.static(element) expects element to be a valid react element.');return element;}, _temp)) || _class);exports.Select = Select;
|
|
602
607
|
function renderValue(value, item) {
|
|
603
608
|
return item;
|
|
604
609
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Select.tsx"],"names":["PASS_BUTTON_PROPS","disabled","error","use","size","warning","onMouseEnter","onMouseLeave","onMouseOver","Select","SelectLocaleHelper","state","opened","value","props","defaultValue","searchPattern","theme","locale","menu","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","dropdownContainerGetParent","ReactDOM","findDOMNode","focusInput","input","setTimeout","refMenu","toggle","handleKey","e","preventDefault","up","down","enter","onKeyDown","handleSearch","buttonRef","element","getButton","buttonParams","button","_renderButton","renderDefaultButton","React","Children","only","isValidElement","cloneElement","ref","onFocus","onBlur","componentDidUpdate","_prevProps","prevState","window","addEventListener","removeEventListener","render","renderMain","renderLabel","label","isPlaceholder","onClick","style","width","maxWidth","undefined","jsStyles","root","renderMenu","getValue","item","getItemByValue","renderValue","placeholder","params","diadocLinkIcon","renderLinkButton","buttonProps","align","active","_icon","Object","assign","icon","_noRightPadding","labelProps","className","customUsePlaceholder","paddingRight","getLabelPaddingRight","useIsCustom","labelText","arrowWrap","right","getLegacyArrowShift","arrow","customUseArrow","getArrowPadding","selectPaddingArrowLarge","selectPaddingArrowMedium","selectPaddingArrowSmall","ARROW_WIDTH","arrowLeftPadding","parseFloat","getSelectPadding","selectPaddingXLarge","selectPaddingXMedium","selectPaddingXSmall","selectPadding","linkProps","_button","_buttonOpened","search","menuAlign","disablePortal","menuWidth","maxMenuHeight","mapItems","iValue","i","comment","key","areValuesEqual","select","bind","renderItem","onValueChange","fn","items","pattern","toLowerCase","result","index","entry","normalizeEntry","filterItem","push","itemValue","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","func","any","bool","oneOfType","array","object","number","string","node","Item","SEP","static","value1","value2","Array","isArray","toString","indexOf"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactDOM from 'react-dom';\r\nimport invariant from 'invariant';\r\nimport warning from 'warning';\r\nimport cn from 'classnames';\r\n\r\nimport {\r\n isKeyArrowDown,\r\n isKeyArrowUp,\r\n isKeyArrowVertical,\r\n isKeyEnter,\r\n isKeyEscape,\r\n isKeySpace,\r\n} from '../../lib/events/keyboard/identifiers';\r\nimport { locale } from '../../lib/locale/decorators';\r\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\r\nimport { Button, ButtonProps, ButtonSize, ButtonUse } from '../Button';\r\nimport { DropdownContainer } from '../../internal/DropdownContainer';\r\nimport { filterProps } from '../../lib/filterProps';\r\nimport { Input } from '../Input';\r\nimport { Link } from '../Link';\r\nimport { Menu } from '../../internal/Menu';\r\nimport { MenuItem } from '../MenuItem';\r\nimport { MenuSeparator } from '../MenuSeparator';\r\nimport { RenderLayer } from '../../internal/RenderLayer';\r\nimport { createPropsGetter } from '../../lib/createPropsGetter';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { isFunction } from '../../lib/utils';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\n\r\nimport { Item } from './Item';\r\nimport { SelectLocale, SelectLocaleHelper } from './locale';\r\nimport { jsStyles } from './Select.styles';\r\nimport { getSelectTheme } from './selectTheme';\r\n\r\nexport interface ButtonParams {\r\n disabled?: boolean;\r\n label: React.ReactNode;\r\n onClick: () => void;\r\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\r\n opened: boolean;\r\n isPlaceholder: boolean;\r\n}\r\n\r\nconst PASS_BUTTON_PROPS = {\r\n disabled: true,\r\n error: true,\r\n use: true,\r\n size: true,\r\n warning: true,\r\n\r\n onMouseEnter: true,\r\n onMouseLeave: true,\r\n onMouseOver: true,\r\n};\r\n\r\nexport interface SelectProps<TValue, TItem> extends CommonProps {\r\n /** @ignore */\r\n _icon?: React.ReactElement<any>;\r\n /** @ignore */\r\n _renderButton?: (params: ButtonParams) => React.ReactNode;\r\n defaultValue?: TValue;\r\n /** @deprecated @ignore */\r\n diadocLinkIcon?: React.ReactElement<any>;\r\n /**\r\n * Отключает использование портала\r\n */\r\n disablePortal?: boolean;\r\n disabled?: boolean;\r\n /**\r\n * Визуально показать наличие ошибки.\r\n */\r\n error?: boolean;\r\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\r\n /**\r\n * Набор значений. Поддерживаются любые перечисляемые типы, в том числе\r\n * `Array`, `Map`, `Immutable.Map`.\r\n *\r\n * Элементы воспринимаются следующим образом: если элемент — это массив, то\r\n * первый элемент является значением, второй — отображается в списке,\r\n * а третий – комментарий;\r\n * если элемент не является массивом, то он используется и для отображения,\r\n * и для значения.\r\n *\r\n * Для вставки разделителя можно использовать `Select.SEP`.\r\n *\r\n * Вставить невыделяемый элемент со своей разметкой можно так:\r\n * ```\r\n * <Select ...\r\n * items={[Select.static(() => <div>My Element</div>)]}\r\n * />\r\n * ```\r\n *\r\n * Чтобы добавить стандартный отступ для статического элемента:\r\n * ```\r\n * <Select.Item>My Element</Select.Item>\r\n * ```\r\n */\r\n items?: Array<[TValue, TItem, React.ReactNode?] | TItem | React.ReactElement | (() => React.ReactElement)>;\r\n maxMenuHeight?: number;\r\n maxWidth?: React.CSSProperties['maxWidth'];\r\n menuAlign?: 'left' | 'right';\r\n menuWidth?: React.CSSProperties['width'];\r\n onValueChange?: (value: TValue) => void;\r\n onClose?: () => void;\r\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n onOpen?: () => void;\r\n placeholder?: React.ReactNode;\r\n /**\r\n * Функция для отрисовки элемента в выпадающем списке. Аргументы — *value*,\r\n * *item*.\r\n */\r\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для отрисовки выбранного элемента. Аргументы — *value*, *item*.\r\n */\r\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для сравнения `value` с элементом из `items`\r\n */\r\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\r\n /**\r\n * Показывать строку поиска в списке.\r\n */\r\n search?: boolean;\r\n value?: TValue;\r\n width?: number | string;\r\n warning?: boolean;\r\n use?: ButtonUse;\r\n size?: ButtonSize;\r\n onFocus?: React.FocusEventHandler<HTMLElement>;\r\n onBlur?: React.FocusEventHandler<HTMLElement>;\r\n}\r\n\r\nexport interface SelectState<TValue> {\r\n opened: boolean;\r\n searchPattern: string;\r\n value: Nullable<TValue>;\r\n}\r\n\r\ninterface FocusableReactElement extends React.ReactElement<any> {\r\n focus: (event?: any) => void;\r\n}\r\n\r\n@locale('Select', SelectLocaleHelper)\r\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\r\n public static __KONTUR_REACT_UI__ = 'Select';\r\n\r\n public static propTypes = {\r\n areValuesEqual: PropTypes.func,\r\n defaultValue: PropTypes.any,\r\n disablePortal: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n error: PropTypes.bool,\r\n filterItem: PropTypes.func,\r\n items: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\r\n maxMenuHeight: PropTypes.number,\r\n maxWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n placeholder: PropTypes.node,\r\n renderItem: PropTypes.func,\r\n renderValue: PropTypes.func,\r\n search: PropTypes.bool,\r\n value: PropTypes.any,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n onValueChange: PropTypes.func,\r\n onMouseEnter: PropTypes.func,\r\n onMouseLeave: PropTypes.func,\r\n onMouseOver: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n };\r\n\r\n public static defaultProps = {\r\n renderValue,\r\n renderItem,\r\n areValuesEqual,\r\n filterItem,\r\n use: 'default',\r\n };\r\n\r\n public static Item = Item;\r\n public static SEP = () => <MenuSeparator />;\r\n\r\n public static static = (element: React.ReactElement | (() => React.ReactElement)) => {\r\n invariant(\r\n React.isValidElement(element) || typeof element === 'function',\r\n 'Select.static(element) expects element to be a valid react element.',\r\n );\r\n return element;\r\n };\r\n\r\n public state: SelectState<TValue> = {\r\n opened: false,\r\n value: this.props.defaultValue,\r\n searchPattern: '',\r\n };\r\n\r\n private theme!: Theme;\r\n private readonly locale!: SelectLocale;\r\n private menu: Nullable<Menu>;\r\n private buttonElement: FocusableReactElement | null = null;\r\n private getProps = createPropsGetter(Select.defaultProps);\r\n\r\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\r\n if (!prevState.opened && this.state.opened) {\r\n window.addEventListener('popstate', this.close);\r\n }\r\n if (prevState.opened && !this.state.opened) {\r\n window.removeEventListener('popstate', this.close);\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return (\r\n <ThemeContext.Provider value={getSelectTheme(theme, this.props)}>{this.renderMain()}</ThemeContext.Provider>\r\n );\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public open = () => {\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n\r\n if (this.props.onOpen) {\r\n this.props.onOpen();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public close = () => {\r\n if (this.state.opened) {\r\n this.setState({ opened: false, searchPattern: '' });\r\n\r\n if (this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public focus = () => {\r\n if (this.buttonElement && this.buttonElement.focus) {\r\n this.buttonElement.focus();\r\n }\r\n };\r\n\r\n private renderMain() {\r\n const { label, isPlaceholder } = this.renderLabel();\r\n\r\n const buttonParams: ButtonParams = {\r\n opened: this.state.opened,\r\n label,\r\n isPlaceholder,\r\n onClick: this.toggle,\r\n onKeyDown: this.handleKey,\r\n };\r\n\r\n const style = {\r\n width: this.props.width,\r\n maxWidth: this.props.maxWidth || undefined,\r\n };\r\n\r\n const button = this.getButton(buttonParams);\r\n\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active={this.state.opened}>\r\n <span className={jsStyles.root(this.theme)} style={style}>\r\n {button}\r\n {!this.props.disabled && this.state.opened && this.renderMenu()}\r\n </span>\r\n </RenderLayer>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n private renderLabel() {\r\n const value = this.getValue();\r\n const item = this.getItemByValue(value);\r\n\r\n if (item != null || value != null) {\r\n return {\r\n label: this.getProps().renderValue(value, item),\r\n isPlaceholder: false,\r\n };\r\n }\r\n\r\n return {\r\n label: <span>{this.props.placeholder || this.locale.placeholder}</span>,\r\n isPlaceholder: true,\r\n };\r\n }\r\n\r\n private renderDefaultButton(params: ButtonParams) {\r\n if (this.props.diadocLinkIcon) {\r\n warning(false, `diadocLinkIcon has been deprecated`);\r\n return this.renderLinkButton(params);\r\n }\r\n\r\n const buttonProps: ButtonProps = {\r\n ...filterProps(this.props, PASS_BUTTON_PROPS),\r\n align: 'left' as React.CSSProperties['textAlign'],\r\n disabled: this.props.disabled,\r\n width: '100%',\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n active: params.opened,\r\n };\r\n\r\n if (this.props._icon) {\r\n Object.assign(buttonProps, {\r\n icon: this.props._icon,\r\n _noRightPadding: true,\r\n });\r\n }\r\n\r\n const labelProps = {\r\n className: cn({\r\n [jsStyles.label()]: this.props.use !== 'link',\r\n [jsStyles.placeholder(this.theme)]: params.isPlaceholder,\r\n [jsStyles.customUsePlaceholder()]: params.isPlaceholder && this.props.use !== 'default',\r\n }),\r\n style: {\r\n paddingRight: this.getLabelPaddingRight(),\r\n },\r\n };\r\n\r\n const useIsCustom = this.props.use !== 'default';\r\n\r\n return (\r\n <Button {...buttonProps}>\r\n <span {...labelProps}>\r\n <span className={jsStyles.labelText()}>{params.label}</span>\r\n </span>\r\n <div className={jsStyles.arrowWrap()} style={{ right: this.getLegacyArrowShift() }}>\r\n <div className={cn(jsStyles.arrow(this.theme), useIsCustom && jsStyles.customUseArrow())} />\r\n </div>\r\n </Button>\r\n );\r\n }\r\n\r\n private getLabelPaddingRight(): number {\r\n const getArrowPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingArrowLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingArrowMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingArrowSmall;\r\n }\r\n };\r\n const ARROW_WIDTH = 8;\r\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\r\n\r\n return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();\r\n }\r\n\r\n private getLegacyArrowShift(): number {\r\n const getSelectPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingXLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingXMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingXSmall;\r\n }\r\n };\r\n const selectPadding = parseFloat(getSelectPadding()) || 0;\r\n return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);\r\n }\r\n\r\n private renderLinkButton(params: ButtonParams): React.ReactNode {\r\n const linkProps = {\r\n disabled: params.disabled,\r\n icon: this.props.diadocLinkIcon,\r\n _button: true,\r\n _buttonOpened: params.opened,\r\n\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n };\r\n\r\n return <Link {...linkProps}>{params.label}</Link>;\r\n }\r\n\r\n private renderMenu(): React.ReactNode {\r\n const search = this.props.search ? (\r\n <div className={jsStyles.search()}>\r\n <Input ref={this.focusInput} onValueChange={this.handleSearch} width=\"100%\" />\r\n </div>\r\n ) : null;\r\n\r\n const value = this.getValue();\r\n\r\n return (\r\n <DropdownContainer\r\n getParent={this.dropdownContainerGetParent}\r\n offsetY={-1}\r\n align={this.props.menuAlign}\r\n disablePortal={this.props.disablePortal}\r\n >\r\n <Menu\r\n ref={this.refMenu}\r\n width={this.props.menuWidth}\r\n onItemClick={this.close}\r\n maxHeight={this.props.maxMenuHeight}\r\n >\r\n {search}\r\n {this.mapItems(\r\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\r\n if (isFunction(item)) {\r\n const element = item();\r\n\r\n if (React.isValidElement(element)) {\r\n return React.cloneElement(element, { key: i });\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (React.isValidElement(item)) {\r\n return React.cloneElement(item, { key: i });\r\n }\r\n\r\n return (\r\n <MenuItem\r\n key={i}\r\n state={this.getProps().areValuesEqual(iValue, value) ? 'selected' : null}\r\n onClick={this.select.bind(this, iValue)}\r\n comment={comment}\r\n >\r\n {this.getProps().renderItem(iValue, item)}\r\n </MenuItem>\r\n );\r\n },\r\n )}\r\n </Menu>\r\n </DropdownContainer>\r\n );\r\n }\r\n\r\n private dropdownContainerGetParent = () => {\r\n return ReactDOM.findDOMNode(this);\r\n };\r\n\r\n private focusInput = (input: Input) => {\r\n // fix cases when an Input is rendered in portal\r\n setTimeout(() => input?.focus(), 0);\r\n };\r\n\r\n private refMenu = (menu: Menu) => {\r\n this.menu = menu;\r\n };\r\n\r\n private toggle = () => {\r\n if (this.state.opened) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!this.state.opened) {\r\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\r\n e.preventDefault();\r\n this.open();\r\n }\r\n } else {\r\n switch (true) {\r\n case isKeyEscape(e):\r\n this.focus();\r\n this.close();\r\n break;\r\n case isKeyArrowUp(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.up();\r\n }\r\n break;\r\n case isKeyArrowDown(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.down();\r\n }\r\n break;\r\n case isKeyEnter(e):\r\n e.preventDefault(); // To prevent form submission.\r\n if (this.menu) {\r\n this.menu.enter(e);\r\n }\r\n break;\r\n }\r\n }\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(e);\r\n }\r\n };\r\n\r\n private handleSearch = (value: string) => {\r\n this.setState({ searchPattern: value });\r\n };\r\n\r\n private select(value: TValue) {\r\n this.focus();\r\n this.setState({ opened: false, value });\r\n\r\n if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {\r\n this.props.onValueChange(value);\r\n }\r\n }\r\n\r\n private getValue() {\r\n if (this.props.value !== undefined) {\r\n return this.props.value;\r\n }\r\n return this.state.value;\r\n }\r\n\r\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\r\n const { items } = this.props;\r\n if (!items) {\r\n return [];\r\n }\r\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\r\n\r\n const result: React.ReactNodeArray = [];\r\n let index = 0;\r\n for (const entry of items) {\r\n const [value, item, comment] = normalizeEntry(entry as TItem);\r\n\r\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\r\n result.push(fn(value, item, index, comment));\r\n ++index;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getItemByValue(value?: Nullable<TValue>) {\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n\r\n const items = this.props.items || [];\r\n\r\n for (const entry of items) {\r\n const [itemValue, item] = normalizeEntry(entry);\r\n\r\n if (this.getProps().areValuesEqual(itemValue, value)) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private buttonRef = (element: FocusableReactElement | null) => {\r\n this.buttonElement = element;\r\n };\r\n\r\n private getButton = (buttonParams: ButtonParams) => {\r\n const button = this.props._renderButton\r\n ? this.props._renderButton(buttonParams)\r\n : this.renderDefaultButton(buttonParams);\r\n\r\n const buttonElement = React.Children.only(button);\r\n\r\n return React.isValidElement(buttonElement)\r\n ? React.cloneElement(buttonElement as React.ReactElement, {\r\n ref: this.buttonRef,\r\n onFocus: this.props.onFocus,\r\n onBlur: this.props.onBlur,\r\n })\r\n : buttonElement;\r\n };\r\n}\r\n\r\nfunction renderValue(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction renderItem(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction areValuesEqual(value1: any, value2: any) {\r\n return value1 === value2;\r\n}\r\n\r\nfunction normalizeEntry(entry: any) {\r\n if (Array.isArray(entry)) {\r\n return entry;\r\n } else {\r\n return [entry, entry, undefined];\r\n }\r\n}\r\n\r\nfunction filterItem(value: any, item: any, pattern: string) {\r\n if (item === Select.SEP) {\r\n return false;\r\n }\r\n if (React.isValidElement(item) || (isFunction(item) && React.isValidElement((item = item())))) {\r\n item = reactGetTextContent(item);\r\n }\r\n if (typeof item === 'number') {\r\n item = item.toString(10);\r\n }\r\n if (typeof item !== 'string') {\r\n return false;\r\n }\r\n return item.toLowerCase().indexOf(pattern) !== -1;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["Select.tsx"],"names":["PASS_BUTTON_PROPS","disabled","error","use","size","warning","onMouseEnter","onMouseLeave","onMouseOver","Select","SelectLocaleHelper","state","opened","value","props","defaultValue","searchPattern","theme","locale","menu","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","dropdownContainerGetParent","ReactDOM","findDOMNode","focusInput","input","setTimeout","refMenu","toggle","handleKey","e","preventDefault","up","down","enter","onKeyDown","handleSearch","buttonRef","element","getButton","buttonParams","button","_renderButton","renderDefaultButton","React","Children","only","isValidElement","cloneElement","ref","onFocus","onBlur","componentDidUpdate","_prevProps","prevState","window","addEventListener","removeEventListener","render","renderMain","renderLabel","label","isPlaceholder","onClick","style","width","maxWidth","undefined","jsStyles","root","renderMenu","getValue","item","getItemByValue","renderValue","placeholder","params","diadocLinkIcon","renderLinkButton","buttonProps","align","active","_icon","Object","assign","icon","_noRightPadding","labelProps","className","customUsePlaceholder","paddingRight","getLabelPaddingRight","useIsCustom","labelText","arrowWrap","right","getLegacyArrowShift","arrow","arrowDisabled","customUseArrow","getArrowPadding","selectPaddingArrowLarge","selectPaddingArrowMedium","selectPaddingArrowSmall","ARROW_WIDTH","arrowLeftPadding","parseFloat","getSelectPadding","selectPaddingXLarge","selectPaddingXMedium","selectPaddingXSmall","selectPadding","linkProps","_button","_buttonOpened","search","menuAlign","disablePortal","menuWidth","maxMenuHeight","mapItems","iValue","i","comment","key","areValuesEqual","select","bind","renderItem","onValueChange","fn","items","pattern","toLowerCase","result","index","entry","normalizeEntry","filterItem","push","itemValue","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","func","any","bool","oneOfType","array","object","number","string","node","Item","SEP","static","value1","value2","Array","isArray","toString","indexOf"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactDOM from 'react-dom';\r\nimport invariant from 'invariant';\r\nimport warning from 'warning';\r\nimport cn from 'classnames';\r\n\r\nimport {\r\n isKeyArrowDown,\r\n isKeyArrowUp,\r\n isKeyArrowVertical,\r\n isKeyEnter,\r\n isKeyEscape,\r\n isKeySpace,\r\n} from '../../lib/events/keyboard/identifiers';\r\nimport { locale } from '../../lib/locale/decorators';\r\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\r\nimport { Button, ButtonProps, ButtonSize, ButtonUse } from '../Button';\r\nimport { DropdownContainer } from '../../internal/DropdownContainer';\r\nimport { filterProps } from '../../lib/filterProps';\r\nimport { Input } from '../Input';\r\nimport { Link } from '../Link';\r\nimport { Menu } from '../../internal/Menu';\r\nimport { MenuItem } from '../MenuItem';\r\nimport { MenuSeparator } from '../MenuSeparator';\r\nimport { RenderLayer } from '../../internal/RenderLayer';\r\nimport { createPropsGetter } from '../../lib/createPropsGetter';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { isFunction } from '../../lib/utils';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\n\r\nimport { Item } from './Item';\r\nimport { SelectLocale, SelectLocaleHelper } from './locale';\r\nimport { jsStyles } from './Select.styles';\r\nimport { getSelectTheme } from './selectTheme';\r\n\r\nexport interface ButtonParams {\r\n disabled?: boolean;\r\n label: React.ReactNode;\r\n onClick: () => void;\r\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\r\n opened: boolean;\r\n isPlaceholder: boolean;\r\n}\r\n\r\nconst PASS_BUTTON_PROPS = {\r\n disabled: true,\r\n error: true,\r\n use: true,\r\n size: true,\r\n warning: true,\r\n\r\n onMouseEnter: true,\r\n onMouseLeave: true,\r\n onMouseOver: true,\r\n};\r\n\r\nexport interface SelectProps<TValue, TItem> extends CommonProps {\r\n /** @ignore */\r\n _icon?: React.ReactElement<any>;\r\n /** @ignore */\r\n _renderButton?: (params: ButtonParams) => React.ReactNode;\r\n defaultValue?: TValue;\r\n /** @deprecated @ignore */\r\n diadocLinkIcon?: React.ReactElement<any>;\r\n /**\r\n * Отключает использование портала\r\n */\r\n disablePortal?: boolean;\r\n disabled?: boolean;\r\n /**\r\n * Визуально показать наличие ошибки.\r\n */\r\n error?: boolean;\r\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\r\n /**\r\n * Набор значений. Поддерживаются любые перечисляемые типы, в том числе\r\n * `Array`, `Map`, `Immutable.Map`.\r\n *\r\n * Элементы воспринимаются следующим образом: если элемент — это массив, то\r\n * первый элемент является значением, второй — отображается в списке,\r\n * а третий – комментарий;\r\n * если элемент не является массивом, то он используется и для отображения,\r\n * и для значения.\r\n *\r\n * Для вставки разделителя можно использовать `Select.SEP`.\r\n *\r\n * Вставить невыделяемый элемент со своей разметкой можно так:\r\n * ```\r\n * <Select ...\r\n * items={[Select.static(() => <div>My Element</div>)]}\r\n * />\r\n * ```\r\n *\r\n * Чтобы добавить стандартный отступ для статического элемента:\r\n * ```\r\n * <Select.Item>My Element</Select.Item>\r\n * ```\r\n */\r\n items?: Array<[TValue, TItem, React.ReactNode?] | TItem | React.ReactElement | (() => React.ReactElement)>;\r\n maxMenuHeight?: number;\r\n maxWidth?: React.CSSProperties['maxWidth'];\r\n menuAlign?: 'left' | 'right';\r\n menuWidth?: React.CSSProperties['width'];\r\n onValueChange?: (value: TValue) => void;\r\n onClose?: () => void;\r\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n onOpen?: () => void;\r\n placeholder?: React.ReactNode;\r\n /**\r\n * Функция для отрисовки элемента в выпадающем списке. Аргументы — *value*,\r\n * *item*.\r\n */\r\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для отрисовки выбранного элемента. Аргументы — *value*, *item*.\r\n */\r\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для сравнения `value` с элементом из `items`\r\n */\r\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\r\n /**\r\n * Показывать строку поиска в списке.\r\n */\r\n search?: boolean;\r\n value?: TValue;\r\n width?: number | string;\r\n warning?: boolean;\r\n use?: ButtonUse;\r\n size?: ButtonSize;\r\n onFocus?: React.FocusEventHandler<HTMLElement>;\r\n onBlur?: React.FocusEventHandler<HTMLElement>;\r\n}\r\n\r\nexport interface SelectState<TValue> {\r\n opened: boolean;\r\n searchPattern: string;\r\n value: Nullable<TValue>;\r\n}\r\n\r\ninterface FocusableReactElement extends React.ReactElement<any> {\r\n focus: (event?: any) => void;\r\n}\r\n\r\n@locale('Select', SelectLocaleHelper)\r\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\r\n public static __KONTUR_REACT_UI__ = 'Select';\r\n\r\n public static propTypes = {\r\n areValuesEqual: PropTypes.func,\r\n defaultValue: PropTypes.any,\r\n disablePortal: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n error: PropTypes.bool,\r\n filterItem: PropTypes.func,\r\n items: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\r\n maxMenuHeight: PropTypes.number,\r\n maxWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n placeholder: PropTypes.node,\r\n renderItem: PropTypes.func,\r\n renderValue: PropTypes.func,\r\n search: PropTypes.bool,\r\n value: PropTypes.any,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n onValueChange: PropTypes.func,\r\n onMouseEnter: PropTypes.func,\r\n onMouseLeave: PropTypes.func,\r\n onMouseOver: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n };\r\n\r\n public static defaultProps = {\r\n renderValue,\r\n renderItem,\r\n areValuesEqual,\r\n filterItem,\r\n use: 'default',\r\n };\r\n\r\n public static Item = Item;\r\n public static SEP = () => <MenuSeparator />;\r\n\r\n public static static = (element: React.ReactElement | (() => React.ReactElement)) => {\r\n invariant(\r\n React.isValidElement(element) || typeof element === 'function',\r\n 'Select.static(element) expects element to be a valid react element.',\r\n );\r\n return element;\r\n };\r\n\r\n public state: SelectState<TValue> = {\r\n opened: false,\r\n value: this.props.defaultValue,\r\n searchPattern: '',\r\n };\r\n\r\n private theme!: Theme;\r\n private readonly locale!: SelectLocale;\r\n private menu: Nullable<Menu>;\r\n private buttonElement: FocusableReactElement | null = null;\r\n private getProps = createPropsGetter(Select.defaultProps);\r\n\r\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\r\n if (!prevState.opened && this.state.opened) {\r\n window.addEventListener('popstate', this.close);\r\n }\r\n if (prevState.opened && !this.state.opened) {\r\n window.removeEventListener('popstate', this.close);\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return (\r\n <ThemeContext.Provider value={getSelectTheme(theme, this.props)}>{this.renderMain()}</ThemeContext.Provider>\r\n );\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public open = () => {\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n\r\n if (this.props.onOpen) {\r\n this.props.onOpen();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public close = () => {\r\n if (this.state.opened) {\r\n this.setState({ opened: false, searchPattern: '' });\r\n\r\n if (this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public focus = () => {\r\n if (this.buttonElement && this.buttonElement.focus) {\r\n this.buttonElement.focus();\r\n }\r\n };\r\n\r\n private renderMain() {\r\n const { label, isPlaceholder } = this.renderLabel();\r\n\r\n const buttonParams: ButtonParams = {\r\n opened: this.state.opened,\r\n label,\r\n isPlaceholder,\r\n onClick: this.toggle,\r\n onKeyDown: this.handleKey,\r\n };\r\n\r\n const style = {\r\n width: this.props.width,\r\n maxWidth: this.props.maxWidth || undefined,\r\n };\r\n\r\n const button = this.getButton(buttonParams);\r\n\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active={this.state.opened}>\r\n <span className={jsStyles.root(this.theme)} style={style}>\r\n {button}\r\n {!this.props.disabled && this.state.opened && this.renderMenu()}\r\n </span>\r\n </RenderLayer>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n private renderLabel() {\r\n const value = this.getValue();\r\n const item = this.getItemByValue(value);\r\n\r\n if (item != null || value != null) {\r\n return {\r\n label: this.getProps().renderValue(value, item),\r\n isPlaceholder: false,\r\n };\r\n }\r\n\r\n return {\r\n label: <span>{this.props.placeholder || this.locale.placeholder}</span>,\r\n isPlaceholder: true,\r\n };\r\n }\r\n\r\n private renderDefaultButton(params: ButtonParams) {\r\n if (this.props.diadocLinkIcon) {\r\n warning(false, `diadocLinkIcon has been deprecated`);\r\n return this.renderLinkButton(params);\r\n }\r\n\r\n const buttonProps: ButtonProps = {\r\n ...filterProps(this.props, PASS_BUTTON_PROPS),\r\n align: 'left' as React.CSSProperties['textAlign'],\r\n disabled: this.props.disabled,\r\n width: '100%',\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n active: params.opened,\r\n };\r\n\r\n if (this.props._icon) {\r\n Object.assign(buttonProps, {\r\n icon: this.props._icon,\r\n _noRightPadding: true,\r\n });\r\n }\r\n\r\n const labelProps = {\r\n className: cn({\r\n [jsStyles.label()]: this.props.use !== 'link',\r\n [jsStyles.placeholder(this.theme)]: params.isPlaceholder,\r\n [jsStyles.customUsePlaceholder()]: params.isPlaceholder && this.props.use !== 'default',\r\n }),\r\n style: {\r\n paddingRight: this.getLabelPaddingRight(),\r\n },\r\n };\r\n\r\n const useIsCustom = this.props.use !== 'default';\r\n\r\n return (\r\n <Button {...buttonProps}>\r\n <span {...labelProps}>\r\n <span className={jsStyles.labelText()}>{params.label}</span>\r\n </span>\r\n <div className={jsStyles.arrowWrap()} style={{ right: this.getLegacyArrowShift() }}>\r\n <div\r\n className={cn(jsStyles.arrow(this.theme), {\r\n [jsStyles.arrowDisabled(this.theme)]: this.props.disabled,\r\n [jsStyles.customUseArrow()]: useIsCustom,\r\n })}\r\n />\r\n </div>\r\n </Button>\r\n );\r\n }\r\n\r\n private getLabelPaddingRight(): number {\r\n const getArrowPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingArrowLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingArrowMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingArrowSmall;\r\n }\r\n };\r\n const ARROW_WIDTH = 8;\r\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\r\n\r\n return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();\r\n }\r\n\r\n private getLegacyArrowShift(): number {\r\n const getSelectPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingXLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingXMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingXSmall;\r\n }\r\n };\r\n const selectPadding = parseFloat(getSelectPadding()) || 0;\r\n return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);\r\n }\r\n\r\n private renderLinkButton(params: ButtonParams): React.ReactNode {\r\n const linkProps = {\r\n disabled: params.disabled,\r\n icon: this.props.diadocLinkIcon,\r\n _button: true,\r\n _buttonOpened: params.opened,\r\n\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n };\r\n\r\n return <Link {...linkProps}>{params.label}</Link>;\r\n }\r\n\r\n private renderMenu(): React.ReactNode {\r\n const search = this.props.search ? (\r\n <div className={jsStyles.search()}>\r\n <Input ref={this.focusInput} onValueChange={this.handleSearch} width=\"100%\" />\r\n </div>\r\n ) : null;\r\n\r\n const value = this.getValue();\r\n\r\n return (\r\n <DropdownContainer\r\n getParent={this.dropdownContainerGetParent}\r\n offsetY={-1}\r\n align={this.props.menuAlign}\r\n disablePortal={this.props.disablePortal}\r\n >\r\n <Menu\r\n ref={this.refMenu}\r\n width={this.props.menuWidth}\r\n onItemClick={this.close}\r\n maxHeight={this.props.maxMenuHeight}\r\n >\r\n {search}\r\n {this.mapItems(\r\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\r\n if (isFunction(item)) {\r\n const element = item();\r\n\r\n if (React.isValidElement(element)) {\r\n return React.cloneElement(element, { key: i });\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (React.isValidElement(item)) {\r\n return React.cloneElement(item, { key: i });\r\n }\r\n\r\n return (\r\n <MenuItem\r\n key={i}\r\n state={this.getProps().areValuesEqual(iValue, value) ? 'selected' : null}\r\n onClick={this.select.bind(this, iValue)}\r\n comment={comment}\r\n >\r\n {this.getProps().renderItem(iValue, item)}\r\n </MenuItem>\r\n );\r\n },\r\n )}\r\n </Menu>\r\n </DropdownContainer>\r\n );\r\n }\r\n\r\n private dropdownContainerGetParent = () => {\r\n return ReactDOM.findDOMNode(this);\r\n };\r\n\r\n private focusInput = (input: Input) => {\r\n // fix cases when an Input is rendered in portal\r\n setTimeout(() => input?.focus(), 0);\r\n };\r\n\r\n private refMenu = (menu: Menu) => {\r\n this.menu = menu;\r\n };\r\n\r\n private toggle = () => {\r\n if (this.state.opened) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!this.state.opened) {\r\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\r\n e.preventDefault();\r\n this.open();\r\n }\r\n } else {\r\n switch (true) {\r\n case isKeyEscape(e):\r\n this.focus();\r\n this.close();\r\n break;\r\n case isKeyArrowUp(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.up();\r\n }\r\n break;\r\n case isKeyArrowDown(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.down();\r\n }\r\n break;\r\n case isKeyEnter(e):\r\n e.preventDefault(); // To prevent form submission.\r\n if (this.menu) {\r\n this.menu.enter(e);\r\n }\r\n break;\r\n }\r\n }\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(e);\r\n }\r\n };\r\n\r\n private handleSearch = (value: string) => {\r\n this.setState({ searchPattern: value });\r\n };\r\n\r\n private select(value: TValue) {\r\n this.focus();\r\n this.setState({ opened: false, value });\r\n\r\n if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {\r\n this.props.onValueChange(value);\r\n }\r\n }\r\n\r\n private getValue() {\r\n if (this.props.value !== undefined) {\r\n return this.props.value;\r\n }\r\n return this.state.value;\r\n }\r\n\r\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\r\n const { items } = this.props;\r\n if (!items) {\r\n return [];\r\n }\r\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\r\n\r\n const result: React.ReactNodeArray = [];\r\n let index = 0;\r\n for (const entry of items) {\r\n const [value, item, comment] = normalizeEntry(entry as TItem);\r\n\r\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\r\n result.push(fn(value, item, index, comment));\r\n ++index;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getItemByValue(value?: Nullable<TValue>) {\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n\r\n const items = this.props.items || [];\r\n\r\n for (const entry of items) {\r\n const [itemValue, item] = normalizeEntry(entry);\r\n\r\n if (this.getProps().areValuesEqual(itemValue, value)) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private buttonRef = (element: FocusableReactElement | null) => {\r\n this.buttonElement = element;\r\n };\r\n\r\n private getButton = (buttonParams: ButtonParams) => {\r\n const button = this.props._renderButton\r\n ? this.props._renderButton(buttonParams)\r\n : this.renderDefaultButton(buttonParams);\r\n\r\n const buttonElement = React.Children.only(button);\r\n\r\n return React.isValidElement(buttonElement)\r\n ? React.cloneElement(buttonElement as React.ReactElement, {\r\n ref: this.buttonRef,\r\n onFocus: this.props.onFocus,\r\n onBlur: this.props.onBlur,\r\n })\r\n : buttonElement;\r\n };\r\n}\r\n\r\nfunction renderValue(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction renderItem(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction areValuesEqual(value1: any, value2: any) {\r\n return value1 === value2;\r\n}\r\n\r\nfunction normalizeEntry(entry: any) {\r\n if (Array.isArray(entry)) {\r\n return entry;\r\n } else {\r\n return [entry, entry, undefined];\r\n }\r\n}\r\n\r\nfunction filterItem(value: any, item: any, pattern: string) {\r\n if (item === Select.SEP) {\r\n return false;\r\n }\r\n if (React.isValidElement(item) || (isFunction(item) && React.isValidElement((item = item())))) {\r\n item = reactGetTextContent(item);\r\n }\r\n if (typeof item === 'number') {\r\n item = item.toString(10);\r\n }\r\n if (typeof item !== 'string') {\r\n return false;\r\n }\r\n return item.toLowerCase().indexOf(pattern) !== -1;\r\n}\r\n"]}
|
|
@@ -4,6 +4,7 @@ export declare const jsStyles: {
|
|
|
4
4
|
customUsePlaceholder(): string;
|
|
5
5
|
arrow(t: Readonly<typeof import("../../internal/themes/DefaultTheme").DefaultTheme>): string;
|
|
6
6
|
arrowWrap(): string;
|
|
7
|
+
arrowDisabled(t: Readonly<typeof import("../../internal/themes/DefaultTheme").DefaultTheme>): string;
|
|
7
8
|
customUseArrow(): string;
|
|
8
9
|
label(): string;
|
|
9
10
|
labelText(): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.jsStyles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");function
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.jsStyles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");function _templateObject10() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n margin: 1px 4px 4px;\n "]);_templateObject10 = function _templateObject10() {return data;};return data;}function _templateObject9() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: top;\n white-space: nowrap;\n "]);_templateObject9 = function _templateObject9() {return data;};return data;}function _templateObject8() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n box-sizing: border-box;\n display: inline-block;\n max-width: 100%;\n width: auto;\n position: relative;\n "]);_templateObject8 = function _templateObject8() {return data;};return data;}function _templateObject7() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n border-top-color: inherit;\n color: inherit;\n opacity: 0.7;\n "]);_templateObject7 = function _templateObject7() {return data;};return data;}function _templateObject6() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n border-top-color: ", ";\n "]);_templateObject6 = function _templateObject6() {return data;};return data;}function _templateObject5() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n\n &::before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n "]);_templateObject5 = function _templateObject5() {return data;};return data;}function _templateObject4() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n border: 4px solid transparent;\n border-bottom-width: 0;\n border-top-color: ", ";\n\n display: inline-block;\n margin-bottom: 3px;\n vertical-align: middle;\n "]);_templateObject4 = function _templateObject4() {return data;};return data;}function _templateObject3() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n color: inherit;\n opacity: 0.7;\n "]);_templateObject3 = function _templateObject3() {return data;};return data;}function _templateObject2() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n text-overflow: ellipsis;\n "]);_templateObject2 = function _templateObject2() {return data;};return data;}function _templateObject() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n position: relative;\n "]);_templateObject = function _templateObject() {return data;};return data;}
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
var styles = {
|
|
@@ -49,10 +49,16 @@ var styles = {
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
arrowDisabled: function arrowDisabled(t) {
|
|
55
|
+
return (0, _Emotion.css)(_templateObject6(),
|
|
56
|
+
t.selectMenuArrowColorDisabled);
|
|
57
|
+
|
|
52
58
|
},
|
|
53
59
|
|
|
54
60
|
customUseArrow: function customUseArrow() {
|
|
55
|
-
return (0, _Emotion.css)(
|
|
61
|
+
return (0, _Emotion.css)(_templateObject7());
|
|
56
62
|
|
|
57
63
|
|
|
58
64
|
|
|
@@ -60,7 +66,7 @@ var styles = {
|
|
|
60
66
|
},
|
|
61
67
|
|
|
62
68
|
label: function label() {
|
|
63
|
-
return (0, _Emotion.css)(
|
|
69
|
+
return (0, _Emotion.css)(_templateObject8());
|
|
64
70
|
|
|
65
71
|
|
|
66
72
|
|
|
@@ -70,7 +76,7 @@ var styles = {
|
|
|
70
76
|
},
|
|
71
77
|
|
|
72
78
|
labelText: function labelText() {
|
|
73
|
-
return (0, _Emotion.css)(
|
|
79
|
+
return (0, _Emotion.css)(_templateObject9());
|
|
74
80
|
|
|
75
81
|
|
|
76
82
|
|
|
@@ -81,7 +87,7 @@ var styles = {
|
|
|
81
87
|
},
|
|
82
88
|
|
|
83
89
|
search: function search() {
|
|
84
|
-
return (0, _Emotion.css)(
|
|
90
|
+
return (0, _Emotion.css)(_templateObject10());
|
|
85
91
|
|
|
86
92
|
|
|
87
93
|
} };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Select.styles.ts"],"names":["styles","root","t","css","placeholder","selectPlaceholderColor","customUsePlaceholder","arrow","selectMenuArrowColor","arrowWrap","customUseArrow","label","labelText","search","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;;;;AAID,GANY;;AAQbC,EAAAA,WARa,uBAQDF,CARC,EAQS;AACpB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACG,sBADb;;;AAID,GAbY;;AAebC,EAAAA,oBAfa,kCAeU;AACrB,eAAOH,YAAP;;;;AAID,GApBY;;AAsBbI,EAAAA,KAtBa,iBAsBPL,CAtBO,EAsBG;AACd,eAAOC,YAAP;;;AAGsBD,IAAAA,CAAC,CAACM,oBAHxB;;;;;;AASD,GAhCY;;AAkCbC,EAAAA,SAlCa,uBAkCD;AACV,eAAON,YAAP;;;;;;;;;;;;;AAaD,GAhDY;;AAkDbO,EAAAA,
|
|
1
|
+
{"version":3,"sources":["Select.styles.ts"],"names":["styles","root","t","css","placeholder","selectPlaceholderColor","customUsePlaceholder","arrow","selectMenuArrowColor","arrowWrap","arrowDisabled","selectMenuArrowColorDisabled","customUseArrow","label","labelText","search","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;;;;AAID,GANY;;AAQbC,EAAAA,WARa,uBAQDF,CARC,EAQS;AACpB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACG,sBADb;;;AAID,GAbY;;AAebC,EAAAA,oBAfa,kCAeU;AACrB,eAAOH,YAAP;;;;AAID,GApBY;;AAsBbI,EAAAA,KAtBa,iBAsBPL,CAtBO,EAsBG;AACd,eAAOC,YAAP;;;AAGsBD,IAAAA,CAAC,CAACM,oBAHxB;;;;;;AASD,GAhCY;;AAkCbC,EAAAA,SAlCa,uBAkCD;AACV,eAAON,YAAP;;;;;;;;;;;;;AAaD,GAhDY;;AAkDbO,EAAAA,aAlDa,yBAkDCR,CAlDD,EAkDW;AACtB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACS,4BADxB;;AAGD,GAtDY;;AAwDbC,EAAAA,cAxDa,4BAwDI;AACf,eAAOT,YAAP;;;;;AAKD,GA9DY;;AAgEbU,EAAAA,KAhEa,mBAgEL;AACN,eAAOV,YAAP;;;;;;;AAOD,GAxEY;;AA0EbW,EAAAA,SA1Ea,uBA0ED;AACV,eAAOX,YAAP;;;;;;;;AAQD,GAnFY;;AAqFbY,EAAAA,MArFa,oBAqFJ;AACP,eAAOZ,YAAP;;;AAGD,GAzFY,EAAf;;;AA4FO,IAAMa,QAAQ,GAAG,2BAAahB,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nconst styles = {\r\n root(t: Theme) {\r\n return css`\r\n display: inline-block;\r\n position: relative;\r\n `;\r\n },\r\n\r\n placeholder(t: Theme) {\r\n return css`\r\n color: ${t.selectPlaceholderColor};\r\n text-overflow: ellipsis;\r\n `;\r\n },\r\n\r\n customUsePlaceholder() {\r\n return css`\r\n color: inherit;\r\n opacity: 0.7;\r\n `;\r\n },\r\n\r\n arrow(t: Theme) {\r\n return css`\r\n border: 4px solid transparent;\r\n border-bottom-width: 0;\r\n border-top-color: ${t.selectMenuArrowColor};\r\n\r\n display: inline-block;\r\n margin-bottom: 3px;\r\n vertical-align: middle;\r\n `;\r\n },\r\n\r\n arrowWrap() {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n\r\n &::before {\r\n content: '';\r\n display: inline-block;\r\n height: 100%;\r\n vertical-align: middle;\r\n }\r\n `;\r\n },\r\n\r\n arrowDisabled(t: Theme) {\r\n return css`\r\n border-top-color: ${t.selectMenuArrowColorDisabled};\r\n `;\r\n },\r\n\r\n customUseArrow() {\r\n return css`\r\n border-top-color: inherit;\r\n color: inherit;\r\n opacity: 0.7;\r\n `;\r\n },\r\n\r\n label() {\r\n return css`\r\n box-sizing: border-box;\r\n display: inline-block;\r\n max-width: 100%;\r\n width: auto;\r\n position: relative;\r\n `;\r\n },\r\n\r\n labelText() {\r\n return css`\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n vertical-align: top;\r\n white-space: nowrap;\r\n `;\r\n },\r\n\r\n search() {\r\n return css`\r\n margin: 1px 4px 4px;\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
|
|
@@ -31,7 +31,12 @@ var getSelectTheme = function getSelectTheme(theme, props) {
|
|
|
31
31
|
btnPaddingYLarge: theme.selectPaddingYLarge,
|
|
32
32
|
btnIconGapLarge: theme.selectIconGapLarge,
|
|
33
33
|
btnIconSizeLarge: theme.selectIconSizeLarge,
|
|
34
|
-
btnBorderRadiusLarge: theme.selectBorderRadiusLarge
|
|
34
|
+
btnBorderRadiusLarge: theme.selectBorderRadiusLarge,
|
|
35
|
+
|
|
36
|
+
btnDisabledBg: theme.selectBgDisabled,
|
|
37
|
+
btnDisabledBorderColor: theme.selectBorderColorDisabled,
|
|
38
|
+
btnDisabledShadowColor: theme.selectShadowColorDisabled,
|
|
39
|
+
btnDisabledTextColor: theme.selectTextColorDisabled },
|
|
35
40
|
|
|
36
41
|
theme);
|
|
37
42
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["selectTheme.ts"],"names":["getSelectTheme","theme","props","ThemeFactory","create","btnBorderWidth","selectBorderWidth","btnOutlineWidth","selectOutlineWidth","btnLineHeightSmall","selectLineHeightSmall","btnFontSizeSmall","selectFontSizeSmall","btnPaddingXSmall","_icon","selectPaddingXSmall","btnPaddingYSmall","selectPaddingYSmall","btnIconGapSmall","selectIconGapSmall","btnIconSizeSmall","selectIconSizeSmall","btnBorderRadiusSmall","selectBorderRadiusSmall","btnLineHeightMedium","selectLineHeightMedium","btnFontSizeMedium","selectFontSizeMedium","btnPaddingXMedium","selectPaddingXMedium","btnPaddingYMedium","selectPaddingYMedium","btnIconGapMedium","selectIconGapMedium","btnIconSizeMedium","selectIconSizeMedium","btnBorderRadiusMedium","selectBorderRadiusMedium","btnLineHeightLarge","selectLineHeightLarge","btnFontSizeLarge","selectFontSizeLarge","btnPaddingXLarge","selectPaddingXLarge","btnPaddingYLarge","selectPaddingYLarge","btnIconGapLarge","selectIconGapLarge","btnIconSizeLarge","selectIconSizeLarge","btnBorderRadiusLarge","selectBorderRadiusLarge"],"mappings":"uEAAA;;;;;AAKO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAeC,KAAf,EAAuD;AACnF,SAAOC,2BAAaC,MAAb;AACL;AACEC,IAAAA,cAAc,EAAEJ,KAAK,CAACK,iBADxB;AAEEC,IAAAA,eAAe,EAAEN,KAAK,CAACO,kBAFzB;;AAIEC,IAAAA,kBAAkB,EAAER,KAAK,CAACS,qBAJ5B;AAKEC,IAAAA,gBAAgB,EAAEV,KAAK,CAACW,mBAL1B;AAMEC,IAAAA,gBAAgB,EAAEX,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACY,gBAApB,GAAuCZ,KAAK,CAACc,mBANjE;AAOEC,IAAAA,gBAAgB,EAAEf,KAAK,CAACgB,mBAP1B;AAQEC,IAAAA,eAAe,EAAEjB,KAAK,CAACkB,kBARzB;AASEC,IAAAA,gBAAgB,EAAEnB,KAAK,CAACoB,mBAT1B;AAUEC,IAAAA,oBAAoB,EAAErB,KAAK,CAACsB,uBAV9B;;AAYEC,IAAAA,mBAAmB,EAAEvB,KAAK,CAACwB,sBAZ7B;AAaEC,IAAAA,iBAAiB,EAAEzB,KAAK,CAAC0B,oBAb3B;AAcEC,IAAAA,iBAAiB,EAAE1B,KAAK,CAACY,KAAN,GAAcb,KAAK,CAAC2B,iBAApB,GAAwC3B,KAAK,CAAC4B,oBAdnE;AAeEC,IAAAA,iBAAiB,EAAE7B,KAAK,CAAC8B,oBAf3B;AAgBEC,IAAAA,gBAAgB,EAAE/B,KAAK,CAACgC,mBAhB1B;AAiBEC,IAAAA,iBAAiB,EAAEjC,KAAK,CAACkC,oBAjB3B;AAkBEC,IAAAA,qBAAqB,EAAEnC,KAAK,CAACoC,wBAlB/B;;AAoBEC,IAAAA,kBAAkB,EAAErC,KAAK,CAACsC,qBApB5B;AAqBEC,IAAAA,gBAAgB,EAAEvC,KAAK,CAACwC,mBArB1B;AAsBEC,IAAAA,gBAAgB,EAAExC,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACyC,gBAApB,GAAuCzC,KAAK,CAAC0C,mBAtBjE;AAuBEC,IAAAA,gBAAgB,EAAE3C,KAAK,CAAC4C,mBAvB1B;AAwBEC,IAAAA,eAAe,EAAE7C,KAAK,CAAC8C,kBAxBzB;AAyBEC,IAAAA,gBAAgB,EAAE/C,KAAK,CAACgD,mBAzB1B;AA0BEC,IAAAA,oBAAoB,EAAEjD,KAAK,CAACkD,uBA1B9B,EADK;;
|
|
1
|
+
{"version":3,"sources":["selectTheme.ts"],"names":["getSelectTheme","theme","props","ThemeFactory","create","btnBorderWidth","selectBorderWidth","btnOutlineWidth","selectOutlineWidth","btnLineHeightSmall","selectLineHeightSmall","btnFontSizeSmall","selectFontSizeSmall","btnPaddingXSmall","_icon","selectPaddingXSmall","btnPaddingYSmall","selectPaddingYSmall","btnIconGapSmall","selectIconGapSmall","btnIconSizeSmall","selectIconSizeSmall","btnBorderRadiusSmall","selectBorderRadiusSmall","btnLineHeightMedium","selectLineHeightMedium","btnFontSizeMedium","selectFontSizeMedium","btnPaddingXMedium","selectPaddingXMedium","btnPaddingYMedium","selectPaddingYMedium","btnIconGapMedium","selectIconGapMedium","btnIconSizeMedium","selectIconSizeMedium","btnBorderRadiusMedium","selectBorderRadiusMedium","btnLineHeightLarge","selectLineHeightLarge","btnFontSizeLarge","selectFontSizeLarge","btnPaddingXLarge","selectPaddingXLarge","btnPaddingYLarge","selectPaddingYLarge","btnIconGapLarge","selectIconGapLarge","btnIconSizeLarge","selectIconSizeLarge","btnBorderRadiusLarge","selectBorderRadiusLarge","btnDisabledBg","selectBgDisabled","btnDisabledBorderColor","selectBorderColorDisabled","btnDisabledShadowColor","selectShadowColorDisabled","btnDisabledTextColor","selectTextColorDisabled"],"mappings":"uEAAA;;;;;AAKO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAeC,KAAf,EAAuD;AACnF,SAAOC,2BAAaC,MAAb;AACL;AACEC,IAAAA,cAAc,EAAEJ,KAAK,CAACK,iBADxB;AAEEC,IAAAA,eAAe,EAAEN,KAAK,CAACO,kBAFzB;;AAIEC,IAAAA,kBAAkB,EAAER,KAAK,CAACS,qBAJ5B;AAKEC,IAAAA,gBAAgB,EAAEV,KAAK,CAACW,mBAL1B;AAMEC,IAAAA,gBAAgB,EAAEX,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACY,gBAApB,GAAuCZ,KAAK,CAACc,mBANjE;AAOEC,IAAAA,gBAAgB,EAAEf,KAAK,CAACgB,mBAP1B;AAQEC,IAAAA,eAAe,EAAEjB,KAAK,CAACkB,kBARzB;AASEC,IAAAA,gBAAgB,EAAEnB,KAAK,CAACoB,mBAT1B;AAUEC,IAAAA,oBAAoB,EAAErB,KAAK,CAACsB,uBAV9B;;AAYEC,IAAAA,mBAAmB,EAAEvB,KAAK,CAACwB,sBAZ7B;AAaEC,IAAAA,iBAAiB,EAAEzB,KAAK,CAAC0B,oBAb3B;AAcEC,IAAAA,iBAAiB,EAAE1B,KAAK,CAACY,KAAN,GAAcb,KAAK,CAAC2B,iBAApB,GAAwC3B,KAAK,CAAC4B,oBAdnE;AAeEC,IAAAA,iBAAiB,EAAE7B,KAAK,CAAC8B,oBAf3B;AAgBEC,IAAAA,gBAAgB,EAAE/B,KAAK,CAACgC,mBAhB1B;AAiBEC,IAAAA,iBAAiB,EAAEjC,KAAK,CAACkC,oBAjB3B;AAkBEC,IAAAA,qBAAqB,EAAEnC,KAAK,CAACoC,wBAlB/B;;AAoBEC,IAAAA,kBAAkB,EAAErC,KAAK,CAACsC,qBApB5B;AAqBEC,IAAAA,gBAAgB,EAAEvC,KAAK,CAACwC,mBArB1B;AAsBEC,IAAAA,gBAAgB,EAAExC,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACyC,gBAApB,GAAuCzC,KAAK,CAAC0C,mBAtBjE;AAuBEC,IAAAA,gBAAgB,EAAE3C,KAAK,CAAC4C,mBAvB1B;AAwBEC,IAAAA,eAAe,EAAE7C,KAAK,CAAC8C,kBAxBzB;AAyBEC,IAAAA,gBAAgB,EAAE/C,KAAK,CAACgD,mBAzB1B;AA0BEC,IAAAA,oBAAoB,EAAEjD,KAAK,CAACkD,uBA1B9B;;AA4BEC,IAAAA,aAAa,EAAEnD,KAAK,CAACoD,gBA5BvB;AA6BEC,IAAAA,sBAAsB,EAAErD,KAAK,CAACsD,yBA7BhC;AA8BEC,IAAAA,sBAAsB,EAAEvD,KAAK,CAACwD,yBA9BhC;AA+BEC,IAAAA,oBAAoB,EAAEzD,KAAK,CAAC0D,uBA/B9B,EADK;;AAkCL1D,EAAAA,KAlCK,CAAP;;AAoCD,CArCM,C","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nimport { SelectProps } from './Select';\r\n\r\nexport const getSelectTheme = (theme: Theme, props: SelectProps<any, any>): Theme => {\r\n return ThemeFactory.create(\r\n {\r\n btnBorderWidth: theme.selectBorderWidth,\r\n btnOutlineWidth: theme.selectOutlineWidth,\r\n\r\n btnLineHeightSmall: theme.selectLineHeightSmall,\r\n btnFontSizeSmall: theme.selectFontSizeSmall,\r\n btnPaddingXSmall: props._icon ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,\r\n btnPaddingYSmall: theme.selectPaddingYSmall,\r\n btnIconGapSmall: theme.selectIconGapSmall,\r\n btnIconSizeSmall: theme.selectIconSizeSmall,\r\n btnBorderRadiusSmall: theme.selectBorderRadiusSmall,\r\n\r\n btnLineHeightMedium: theme.selectLineHeightMedium,\r\n btnFontSizeMedium: theme.selectFontSizeMedium,\r\n btnPaddingXMedium: props._icon ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,\r\n btnPaddingYMedium: theme.selectPaddingYMedium,\r\n btnIconGapMedium: theme.selectIconGapMedium,\r\n btnIconSizeMedium: theme.selectIconSizeMedium,\r\n btnBorderRadiusMedium: theme.selectBorderRadiusMedium,\r\n\r\n btnLineHeightLarge: theme.selectLineHeightLarge,\r\n btnFontSizeLarge: theme.selectFontSizeLarge,\r\n btnPaddingXLarge: props._icon ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,\r\n btnPaddingYLarge: theme.selectPaddingYLarge,\r\n btnIconGapLarge: theme.selectIconGapLarge,\r\n btnIconSizeLarge: theme.selectIconSizeLarge,\r\n btnBorderRadiusLarge: theme.selectBorderRadiusLarge,\r\n\r\n btnDisabledBg: theme.selectBgDisabled,\r\n btnDisabledBorderColor: theme.selectBorderColorDisabled,\r\n btnDisabledShadowColor: theme.selectShadowColorDisabled,\r\n btnDisabledTextColor: theme.selectTextColorDisabled,\r\n },\r\n theme,\r\n );\r\n};\r\n"]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var _client = require("../../lib/client");
|
|
4
4
|
|
|
5
5
|
var _utils = require("../../lib/utils");
|
|
6
|
+
var _Upgrades = require("../../lib/Upgrades");
|
|
6
7
|
|
|
7
8
|
var _RenderInnerContainer = require("./RenderInnerContainer");var
|
|
8
9
|
|
|
@@ -43,7 +44,7 @@ RenderContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
|
|
|
43
44
|
createContainer = function createContainer() {
|
|
44
45
|
if (_client.canUseDOM) {
|
|
45
46
|
var domContainer = document.createElement('div');
|
|
46
|
-
domContainer.setAttribute('class',
|
|
47
|
+
domContainer.setAttribute('class', _Upgrades.Upgrade.getSpecificityClassName());
|
|
47
48
|
domContainer.setAttribute('data-rendered-container-id', "" + this.rootId);
|
|
48
49
|
this.domContainer = domContainer;
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RenderContainer.tsx"],"names":["RenderContainer","props","domContainer","rootId","getRootId","isBrowser","children","mountContainer","UNSAFE_componentWillReceiveProps","nextProps","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","canUseDOM","document","createElement","setAttribute","parentNode","body","appendChild","window","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","React","Component","__KONTUR_REACT_UI__"],"mappings":"6UAAA;;AAEA;;AAEA;;AAEA,8D;;;AAGaA,e;;;;;;;;AAQX,2BAAYC,KAAZ,EAAyC;AACvC,wCAAMA,KAAN,UADuC,MAJjCC,YAIiC,GAJK,IAIL,OAFxBC,MAEwB,GAFPH,eAAe,CAACI,SAAhB,EAEO;;AAGvC,QAAIC,qBAAaJ,KAAK,CAACK,QAAvB,EAAiC;AAC/B,YAAKC,cAAL;AACD,KALsC;AAMxC,G;;AAEMC,EAAAA,gC,GAAP,0CAAwCC,SAAxC,EAAyF;AACvF,QAAI,CAAC,KAAKR,KAAL,CAAWK,QAAZ,IAAwBG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKC,cAAL;AACD;AACD,QAAI,KAAKN,KAAL,CAAWK,QAAX,IAAuB,CAACG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKI,gBAAL;AACD;AACF,G;;AAEMC,EAAAA,oB,GAAP,gCAA8B;AAC5B,SAAKC,gBAAL;AACD,G;;AAEMC,EAAAA,M,GAAP,kBAAgB;AACd,wBAAO,6BAAC,0CAAD,6BAA0B,KAAKZ,KAA/B,IAAsC,YAAY,EAAE,KAAKC,YAAzD,EAAuE,MAAM,EAAE,KAAKC,MAApF,IAAP;AACD,G;;AAEOW,EAAAA,e,GAAR,2BAA0B;AACxB,QAAIC,iBAAJ,EAAe;AACb,UAAMb,YAAY,GAAGc,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAArB;AACAf,MAAAA,YAAY,CAACgB,YAAb,CAA0B,OAA1B,
|
|
1
|
+
{"version":3,"sources":["RenderContainer.tsx"],"names":["RenderContainer","props","domContainer","rootId","getRootId","isBrowser","children","mountContainer","UNSAFE_componentWillReceiveProps","nextProps","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","canUseDOM","document","createElement","setAttribute","Upgrade","getSpecificityClassName","parentNode","body","appendChild","window","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","React","Component","__KONTUR_REACT_UI__"],"mappings":"6UAAA;;AAEA;;AAEA;AACA;;AAEA,8D;;;AAGaA,e;;;;;;;;AAQX,2BAAYC,KAAZ,EAAyC;AACvC,wCAAMA,KAAN,UADuC,MAJjCC,YAIiC,GAJK,IAIL,OAFxBC,MAEwB,GAFPH,eAAe,CAACI,SAAhB,EAEO;;AAGvC,QAAIC,qBAAaJ,KAAK,CAACK,QAAvB,EAAiC;AAC/B,YAAKC,cAAL;AACD,KALsC;AAMxC,G;;AAEMC,EAAAA,gC,GAAP,0CAAwCC,SAAxC,EAAyF;AACvF,QAAI,CAAC,KAAKR,KAAL,CAAWK,QAAZ,IAAwBG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKC,cAAL;AACD;AACD,QAAI,KAAKN,KAAL,CAAWK,QAAX,IAAuB,CAACG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKI,gBAAL;AACD;AACF,G;;AAEMC,EAAAA,oB,GAAP,gCAA8B;AAC5B,SAAKC,gBAAL;AACD,G;;AAEMC,EAAAA,M,GAAP,kBAAgB;AACd,wBAAO,6BAAC,0CAAD,6BAA0B,KAAKZ,KAA/B,IAAsC,YAAY,EAAE,KAAKC,YAAzD,EAAuE,MAAM,EAAE,KAAKC,MAApF,IAAP;AACD,G;;AAEOW,EAAAA,e,GAAR,2BAA0B;AACxB,QAAIC,iBAAJ,EAAe;AACb,UAAMb,YAAY,GAAGc,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAArB;AACAf,MAAAA,YAAY,CAACgB,YAAb,CAA0B,OAA1B,EAAmCC,kBAAQC,uBAAR,EAAnC;AACAlB,MAAAA,YAAY,CAACgB,YAAb,CAA0B,4BAA1B,OAA2D,KAAKf,MAAhE;AACA,WAAKD,YAAL,GAAoBA,YAApB;AACD;AACF,G;;AAEOK,EAAAA,c,GAAR,0BAAyB;AACvB,QAAI,CAAC,KAAKL,YAAV,EAAwB;AACtB,WAAKY,eAAL;AACD;AACD,QAAI,KAAKZ,YAAL,IAAqB,KAAKA,YAAL,CAAkBmB,UAAlB,KAAiCL,QAAQ,CAACM,IAAnE,EAAyE;AACvEN,MAAAA,QAAQ,CAACM,IAAT,CAAcC,WAAd,CAA0B,KAAKrB,YAA/B;AACA,UAAIsB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBC,kBAApB,CAAuC,KAAKvB,MAA5C,EAAoD,IAApD;AACD;AACF;AACF,G;;AAEOS,EAAAA,gB,GAAR,4BAA2B;AACzB,QAAI,KAAKV,YAAT,EAAuB;AACrB,WAAKQ,gBAAL;AACA,WAAKR,YAAL,GAAoB,IAApB;AACD;AACF,G;;AAEOQ,EAAAA,gB,GAAR,4BAA2B;AACzB,QAAI,KAAKR,YAAL,IAAqB,KAAKA,YAAL,CAAkBmB,UAA3C,EAAuD;AACrD,WAAKnB,YAAL,CAAkBmB,UAAlB,CAA6BM,WAA7B,CAAyC,KAAKzB,YAA9C;;AAEA,UAAIsB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBG,qBAApB,CAA0C,KAAKzB,MAA/C;AACD;AACF;AACF,G,0BArEkC0B,eAAMC,S,4CAA9B9B,e,CACG+B,mB,GAAsB,iB,CADzB/B,e,CAGII,S,GAAY,oBAAM,yBAAN,E","sourcesContent":["import React from 'react';\r\n\r\nimport { canUseDOM, isBrowser } from '../../lib/client';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { getRandomID } from '../../lib/utils';\r\nimport { Upgrade } from '../../lib/Upgrades';\r\n\r\nimport { RenderInnerContainer } from './RenderInnerContainer';\r\nimport { RenderContainerProps } from './RenderContainerTypes';\r\n\r\nexport class RenderContainer extends React.Component<RenderContainerProps> {\r\n public static __KONTUR_REACT_UI__ = 'RenderContainer';\r\n\r\n private static getRootId = () => getRandomID();\r\n private domContainer: Nullable<HTMLElement> = null;\r\n\r\n private readonly rootId: string = RenderContainer.getRootId();\r\n\r\n constructor(props: RenderContainerProps) {\r\n super(props);\r\n\r\n if (isBrowser && props.children) {\r\n this.mountContainer();\r\n }\r\n }\r\n\r\n public UNSAFE_componentWillReceiveProps(nextProps: Readonly<RenderContainerProps>): void {\r\n if (!this.props.children && nextProps.children) {\r\n this.mountContainer();\r\n }\r\n if (this.props.children && !nextProps.children) {\r\n this.unmountContainer();\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.destroyContainer();\r\n }\r\n\r\n public render() {\r\n return <RenderInnerContainer {...this.props} domContainer={this.domContainer} rootId={this.rootId} />;\r\n }\r\n\r\n private createContainer() {\r\n if (canUseDOM) {\r\n const domContainer = document.createElement('div');\r\n domContainer.setAttribute('class', Upgrade.getSpecificityClassName());\r\n domContainer.setAttribute('data-rendered-container-id', `${this.rootId}`);\r\n this.domContainer = domContainer;\r\n }\r\n }\r\n\r\n private mountContainer() {\r\n if (!this.domContainer) {\r\n this.createContainer();\r\n }\r\n if (this.domContainer && this.domContainer.parentNode !== document.body) {\r\n document.body.appendChild(this.domContainer);\r\n if (window.ReactTesting) {\r\n window.ReactTesting.addRenderContainer(this.rootId, this);\r\n }\r\n }\r\n }\r\n\r\n private destroyContainer() {\r\n if (this.domContainer) {\r\n this.unmountContainer();\r\n this.domContainer = null;\r\n }\r\n }\r\n\r\n private unmountContainer() {\r\n if (this.domContainer && this.domContainer.parentNode) {\r\n this.domContainer.parentNode.removeChild(this.domContainer);\r\n\r\n if (window.ReactTesting) {\r\n window.ReactTesting.removeRenderContainer(this.rootId);\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -17,6 +17,6 @@ export interface VariableDependencies {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const COMPONENT_DESCRIPTIONS: DescriptionsType;
|
|
19
19
|
export declare const COMPONENT_DESCRIPTIONS_BY_VARIABLE: VariableNameToComponentsMap;
|
|
20
|
-
export declare const ALL_USED_VARIABLES: ("black" | "blue" | "gray" | "green" | "red" | "white" | "yellow" | "prototype" | "fontFamilyCompensationBaseline" | "brandXLight" | "brandLight" | "brand" | "brandDark" | "brandXDark" | "grayXxLight" | "grayXLight" | "grayLight" | "grayDark" | "blueXxLight" | "blueLight" | "blueDark" | "blueXDark" | "greenXxLight" | "greenDark" | "redXxLight" | "redDark" | "yellowXxLight" | "yellowDark" | "bgDefault" | "bgDisabled" | "errorMain" | "errorSecondary" | "errorText" | "warningMain" | "warningSecondary" | "warningText" | "borderColorFocusLight" | "borderColorGrayDark" | "borderColorGrayLight" | "placeholderColor" | "outlineColorFocus" | "placeholderColorLight" | "blinkColor" | "controlBorderWidth" | "controlOutlineWidth" | "controlLineHeightSmall" | "controlLineHeightMedium" | "controlLineHeightLarge" | "controlPaddingYSmall" | "controlPaddingYMedium" | "controlPaddingYLarge" | "textColorDefault" | "textColorInvert" | "textColorDisabled" | "fontSizeSmall" | "fontSizeMedium" | "fontSizeLarge" | "specificityLevel" | "bgActive" | "borderColorFocus" | "borderColorError" | "borderColorWarning" | "controlHeightSmall" | "controlHeightMedium" | "controlHeightLarge" | "linkColor" | "linkActiveColor" | "linkHoverTextDecoration" | "linkSuccessColor" | "linkSuccessHoverColor" | "linkSuccessActiveColor" | "linkDangerColor" | "linkDangerHoverColor" | "linkDangerActiveColor" | "linkIconMarginRight" | "linkHoverColor" | "linkDisabledColor" | "linkButtonLineHeight" | "linkButtonPaddingX" | "tokenDisabledBg" | "tokenTextColorDisabled" | "tokenFontSize" | "tokenMarginY" | "tokenMarginX" | "tokenLineHeight" | "tokenPaddingY" | "tokenPaddingX" | "tokenMarginBeforeIcon" | "tokenRemoveIconSize" | "tokenRemoveIconPaddingY" | "tokenRemoveIconPaddingX" | "tokenRemoveIconGap" | "tokenRemoveIconBoxSizing" | "tokenBorderRadius" | "tokenBorderWidth" | "tokenBorderColorDisabled" | "tokenDefaultIdle" | "tokenDefaultActive" | "tokenGrayIdle" | "tokenGrayActive" | "tokenBlueIdle" | "tokenBlueActive" | "tokenGreenIdle" | "tokenGreenActive" | "tokenYellowIdle" | "tokenYellowActive" | "tokenRedIdle" | "tokenRedActive" | "tokenWhite" | "tokenBlack" | "tokenBorderColorWarning" | "tokenBorderColorError" | "tokenOutlineWidth" | "tokenLegacyTextShift" | "tokenPaddingYDisabled" | "tokenPaddingXDisabled" | "tokenMarginYDisabled" | "tokenMarginXDisabled" | "tokenShadowDisabled" | "tokenInputBorderColor" | "tokenInputBorderColorFocus" | "tokenInputBorderColorError" | "tokenInputBorderColorWarning" | "tokenInputBorderTopColor" | "tokenInputPlaceholderColor" | "tokenInputPlaceholderColorLight" | "tokenInputDisabledBg" | "tokenInputDisabledBorderColor" | "tokenInputBorderWidth" | "tokenInputOutlineWidth" | "tokenInputBg" | "tokenInputShadow" | "tokenInputTextColor" | "tokenInputTextColorDisabled" | "tokenInputPaddingY" | "tokenInputPaddingX" | "tokenInputFontSize" | "tokenInputLineHeight" | "tokenInputInputPaddingLeft" | "tokenInputInputPaddingRight" | "loaderBg" | "loaderOpacity" | "btnWrapPadding" | "btnHeightShift" | "btnLinkBorderRadius" | "btnFocusShadowWidth" | "btnFocusBorder" | "btnDisabledTextColor" | "btnDisabledBorderColor" | "btnCheckedBg" | "btnCheckedDisabledBg" | "btnCheckedDisabledColor" | "btnCheckedHoverBorderColor" | "btnCheckedTextColor" | "btnCheckedDisabledBorderColor" | "btnCheckedShadow" | "btnCheckedShadowColorArrow" | "btnCheckedShadowArrow" | "btnCheckedShadowArrowLeft" | "btnCheckedDisabledShadow" | "btnCheckedDisabledShadowArrow" | "btnArrowBorderRadius" | "btnSmallBorderRadius" | "btnBorderRadius" | "btnBorderRadiusSmall" | "btnBorderRadiusMedium" | "btnBorderRadiusLarge" | "btnBorderWidth" | "btnOutlineWidth" | "btnPaddingXSmall" | "btnPaddingXMedium" | "btnPaddingXLarge" | "btnIconGapSmall" | "btnIconGapMedium" | "btnIconGapLarge" | "btnIconSizeSmall" | "btnIconSizeMedium" | "btnIconSizeLarge" | "btnDefaultBg" | "btnDefaultBgStart" | "btnDefaultBgEnd" | "btnSmallArrowLength" | "btnSmallArrowRight" | "btnSmallArrowLeft" | "btnSmallArrowBorderRadius" | "btnMediumArrowTop" | "btnMediumArrowLength" | "btnMediumArrowLeft" | "btnMediumArrowLeftLoadingLeft" | "btnMediumArrowTransform" | "btnDeprecatedSizeMediumFontSize" | "btnDeprecatedSizeMediumPaddingShift" | "btnLargeArrowTop" | "btnLargeArrowLength" | "btnLargeArrowLeft" | "btnLargeArrowRight" | "btnLargeArrowTransform" | "btnLargeArrowBg" | "btnDefaultBgArrowStart" | "btnDefaultBgArrowEnd" | "btnDefaultCheckedShadowArrow" | "btnDefaultCheckedBorder" | "btnDefaultTextColor" | "btnDefaultHoverBg" | "btnDefaultHoverBorderColor" | "btnDefaultActiveBorderColor" | "btnDefaultBorder" | "btnDefaultShadow" | "btnDefaultShadowArrow" | "btnDefaultShadowArrowLeft" | "btnDefaultHoverBgStart" | "btnDefaultHoverBgEnd" | "btnDefaultHoverShadow" | "btnDefaultHoverShadowArrow" | "btnDefaultHoverShadowArrowLeft" | "btnDefaultActiveBg" | "btnDefaultActiveShadow" | "btnDefaultActiveShadowArrow" | "btnDefaultActiveShadowArrowLeft" | "btnSuccessBg" | "btnSuccessHoverBg" | "btnSuccessHoverBorderColor" | "btnSuccessDisabledBg" | "btnSuccessBorder" | "btnSuccessBgStart" | "btnSuccessBgEnd" | "btnSuccessBgArrowStart" | "btnSuccessBgArrowEnd" | "btnSuccessTextColor" | "btnSuccessShadow" | "btnSuccessShadowArrow" | "btnSuccessShadowArrowLeft" | "btnSuccessHoverBgStart" | "btnSuccessHoverBgEnd" | "btnSuccessHoverShadow" | "btnSuccessHoverShadowArrow" | "btnSuccessHoverShadowArrowLeft" | "btnSuccessActiveBg" | "btnSuccessActiveShadow" | "btnSuccessActiveShadowArrow" | "btnSuccessActiveShadowArrowLeft" | "btnPrimaryBg" | "btnPrimaryHoverBg" | "btnPrimaryHoverBorderColor" | "btnPrimaryDisabledBg" | "btnPrimaryBorder" | "btnPrimaryBgStart" | "btnPrimaryBgEnd" | "btnPrimaryBgArrowStart" | "btnPrimaryBgArrowEnd" | "btnPrimaryTextColor" | "btnPrimaryShadow" | "btnPrimaryShadowArrow" | "btnPrimaryShadowArrowLeft" | "btnPrimaryHoverBgStart" | "btnPrimaryHoverBgEnd" | "btnPrimaryHoverShadow" | "btnPrimaryHoverShadowArrow" | "btnPrimaryHoverShadowArrowLeft" | "btnPrimaryActiveBg" | "btnPrimaryActiveShadow" | "btnPrimaryActiveShadowArrow" | "btnPrimaryActiveShadowArrowLeft" | "btnDangerBg" | "btnDangerHoverBg" | "btnDangerHoverBorderColor" | "btnDangerDisabledBg" | "btnDangerBorder" | "btnDangerBgStart" | "btnDangerBgEnd" | "btnDangerBgArrowStart" | "btnDangerBgArrowEnd" | "btnDangerTextColor" | "btnDangerShadow" | "btnDangerShadowArrow" | "btnDangerShadowArrowLeft" | "btnDangerHoverBgStart" | "btnDangerHoverBgEnd" | "btnDangerHoverShadow" | "btnDangerHoverShadowArrow" | "btnDangerHoverShadowArrowLeft" | "btnDangerActiveBg" | "btnDangerActiveShadow" | "btnDangerActiveShadowArrow" | "btnDangerActiveShadowArrowLeft" | "btnPayBg" | "btnPayHoverBg" | "btnPayHoverBorderColor" | "btnPayDisabledBg" | "btnPayBorder" | "btnPayBgStart" | "btnPayBgEnd" | "btnPayBgArrowStart" | "btnPayBgArrowEnd" | "btnPayShadow" | "btnPayTextColor" | "btnPayShadowArrow" | "btnPayShadowArrowLeft" | "btnPayHoverBgStart" | "btnPayHoverBgEnd" | "btnPayHoverShadow" | "btnPayHoverShadowArrow" | "btnPayHoverShadowArrowLeft" | "btnPayActiveBg" | "btnPayActiveShadow" | "btnPayActiveShadowArrow" | "btnPayActiveShadowArrowLeft" | "btnDeprecatedSizeMediumPaddingShiftIe" | "btnSmallArrowTop" | "btnSmallArrowLeftLoadingDelay" | "btnSmallArrowBg" | "btnMediumArrowRight" | "btnMediumArrowBg" | "btnMediumArrowLeftLoadingDelay" | "btnLargeArrowLeftLoadingDelay" | "btnMenuArrowColor" | "btnFontSizeSmall" | "btnFontSizeMedium" | "btnFontSizeLarge" | "btnLineHeightSmall" | "btnLineHeightMedium" | "btnLineHeightLarge" | "btnPaddingYSmall" | "btnPaddingYMedium" | "btnPaddingYLarge" | "btnDisabledBg" | "btnDisabledShadowColor" | "btnDisabledShadow" | "btnDisabledShadowArrow" | "btnTextColorDefault" | "btnBorderColorWarning" | "btnBorderColorError" | "btnHeightSmall" | "btnHeightMedium" | "btnHeightLarge" | "btnLinkColor" | "btnLinkHoverColor" | "btnLinkHoverTextDecoration" | "btnLinkActiveColor" | "btnLinkIconMarginRight" | "btnErrorSecondary" | "btnOutlineColorFocus" | "btnBorderColorFocus" | "btnLinkDisabledColor" | "sltPlaceholderColor" | "selectPlaceholderColor" | "selectBorderWidth" | "selectOutlineWidth" | "selectLineHeightSmall" | "selectFontSizeSmall" | "selectPaddingXSmall" | "selectPaddingYSmall" | "selectBorderRadiusSmall" | "selectIconGapSmall" | "selectPaddingArrowSmall" | "selectLineHeightMedium" | "selectFontSizeMedium" | "selectPaddingXMedium" | "selectPaddingYMedium" | "selectBorderRadiusMedium" | "selectIconGapMedium" | "selectPaddingArrowMedium" | "selectLineHeightLarge" | "selectFontSizeLarge" | "selectPaddingXLarge" | "selectPaddingYLarge" | "selectBorderRadiusLarge" | "selectIconGapLarge" | "selectPaddingArrowLarge" | "selectMenuArrowColor" | "selectIconSizeSmall" | "selectIconSizeMedium" | "selectIconSizeLarge" | "tooltipPaddingY" | "tooltipPaddingX" | "tooltipCloseBtnPadding" | "tooltipCloseBtnColor" | "tooltipCloseBtnHoverColor" | "tooltipBorder" | "tooltipBorderRadius" | "tooltipPinOffset" | "tooltipPinOffsetX" | "tooltipPinOffsetY" | "tooltipMargin" | "tooltipPinSize" | "tooltipMenuPinOffset" | "tooltipMenuMargin" | "tooltipMenuPinSize" | "kebabPinOffset" | "kebabPinSize" | "kebabMargin" | "kebabBackground" | "kebabBackgroundHover" | "kebabBorderRadius" | "kebabBorder" | "modalBackBg" | "modalBackOpacity" | "modalCloseButtonColor" | "modalCloseButtonDisabledColor" | "modalCloseButtonHoverColor" | "modalCloseButtonPadding" | "modalCloseButtonLegacyShift" | "modalCloseButtonBottomPadding" | "modalCloseButtonClickArea" | "modalCloseIconSize" | "modalCloseLegacyGap" | "modalCloseWrapperLegacyGap" | "modalFixedHeaderBg" | "modalFixedHeaderShadow" | "modalFixedFooterShadow" | "modalFooterBg" | "modalAdaptiveThreshold" | "modalPaddingTop" | "modalPaddingLeft" | "modalPaddingRight" | "modalHeaderFontSize" | "modalHeaderLineHeight" | "modalHeaderPaddingBottom" | "modalHeaderPaddingTop" | "modalFixedHeaderPaddingBottom" | "modalBodyPaddingBottom" | "modalFooterPaddingTop" | "modalFooterPaddingBottom" | "modalPaddingBottom" | "modalFooterPanelPaddingTop" | "modalFooterPanelPaddingBottom" | "sidePageFooterPanelBg" | "sidePageBackingBg" | "sidePageBackingBgOpacity" | "sidePageCloseButtonColor" | "sidePageCloseButtonHoverColor" | "sidePageContainerShadow" | "sidePagePaddingLeft" | "sidePagePaddingRight" | "sidePagePaddingTop" | "sidePagePaddingBottom" | "sidePageFooterPaddingTop" | "sidePageFooterPaddingBottom" | "sidePageBgDefault" | "sidePageBorderColor" | "sidePageHeaderFontSize" | "sidePageHeaderLineHeight" | "sidePageHeaderPaddingBottom" | "sidePageHeaderPaddingTop" | "sidePageHeaderFixedFontSize" | "sidePageHeaderFixedLineHeight" | "sidePageHeaderFixedPaddingY" | "sidePageHeaderStickyOffset" | "sidePageCloseButtonPadding" | "sidePageCloseButtonLegacyPaddingLeft" | "sidePageFooterPanelPaddingTop" | "sidePageFooterPanelPaddingBottom" | "sidePageCloseIconSize" | "sidePageCloseButtonClickAreaX" | "dateInputIconColor" | "dateInputMaskColor" | "dateInputComponentSelectedBgColor" | "calendarCellBg" | "calendarCellHoverColor" | "calendarCellActiveHoverColor" | "calendarCellWeekendColor" | "calendarCellTodayBorder" | "calendarCellSelectedBgColor" | "calendarCellSelectedFontColor" | "calendarCellSize" | "calendarMonthHeaderStickedBgColor" | "calendarMonthTitleBorderBottomColor" | "calendarCellHoverBgColor" | "calendarPaddingX" | "calendarMonthTitleLineHeight" | "calendarMonthTitlePaddingTop" | "calendarMonthTitlePaddingBottom" | "calendarMonthTitleMarginX" | "calendarMonthTitleMarginBottom" | "calendarWrapperHeight" | "calendarMonthMarginBottom" | "calendarMaxMonthsToAppendOnScroll" | "dateSelectLineHeight" | "dateSelectFontSize" | "dateSelectFontWeight" | "dateSelectMenuItemBgSelected" | "dateSelectTextColorDisabled" | "dateSelectTextColorDefault" | "dateSelectLinkColor" | "dateSelectPopupBoxShadow" | "dateSelectTextColorInvert" | "datePickerOpenBtnColor" | "pickerBg" | "pickerShadow" | "pickerTodayWrapperBgColor" | "pickerTodayWrapperBorderTop" | "pickerTodayWrapperHoverBgColor" | "pickerTodayWrapperFontSize" | "pickerTodayWrapperLineHeight" | "pickerTodayWrapperPaddingTop" | "pickerTodayWrapperPaddingBottom" | "dateSelectMenuBg" | "dateSelectMenuItemBgActive" | "dateSelectMenuItemBgDisabled" | "dateSelectMenuItemFontActive" | "dateSelectMenuItemFontSelected" | "dateSelectMenuItemFontDisabled" | "pagingFontSize" | "pagingForwardIconSize" | "pagingForwardIconMarginTop" | "pagingPageLinkPaddingX" | "pagingPageLinkPaddingY" | "pagingPageLinkLegacyPaddingY" | "pagingPageLinkMinWidth" | "pagingPageForwardLinkMarginTop" | "pagingPageForwardLinkMarginLeft" | "pagingPageForwardLinkPaddingRight" | "pagingLineHeight" | "pagingDotsColor" | "pagingDotsPadding" | "pagingPageLinkActiveBg" | "pagingPageLinkActiveColor" | "pagingPageLinkHoverBg" | "pagingPageLinkHintColor" | "pagingPageLinkHintFontSize" | "pagingPageLinkHintLineHeight" | "pagingPageLinkBorderRadius" | "pagingPageLinkMargin" | "pagingForwardLinkColor" | "pagingForwardLinkDisabledColor" | "hintColor" | "hintFontSize" | "hintLineHeight" | "hintMaxWidth" | "hintPaddingY" | "hintPaddingX" | "hintTextAlign" | "hintBorder" | "hintBorderRadius" | "hintPinOffset" | "hintMargin" | "toastFontSize" | "toastLineHeight" | "toastPaddingY" | "toastPaddingX" | "toastBorderRadius" | "toastBorder" | "toastTop" | "toastBg" | "toastColor" | "toastLinkColor" | "toastClosePadding" | "toastCloseColor" | "toastCloseHoverColor" | "toastCloseSize" | "tbBg" | "tbShadow" | "tdDividerBg" | "logoColor" | "logoHoverColor" | "dropdownMenuSelectedBg" | "dropdownMenuHoverBg" | "menuBgDefault" | "menuBorder" | "menuShadow" | "menuPaddingY" | "menuItemSelectedBg" | "menuItemHoverBg" | "menuItemIconWidth" | "menuItemIconGap" | "menuItemIconLegacyMargin" | "menuItemIconLegacyShift" | "menuItemPaddingForIcon" | "menuItemLineHeight" | "menuItemFontSize" | "menuItemPaddingX" | "menuItemPaddingY" | "menuItemLegacyPaddingX" | "menuItemLegacyPaddingY" | "menuItemHoverColor" | "menuItemDisabledColor" | "menuItemLinkColor" | "menuItemCommentColor" | "menuItemCommentColorHover" | "menuHeaderColor" | "menuHeaderLineHeight" | "menuHeaderFontSize" | "menuHeaderPaddingX" | "menuHeaderPaddingTop" | "menuHeaderPaddingBottom" | "menuHeaderLegacyPaddingRight" | "menuSeparatorBorderColor" | "menuSeparatorMarginY" | "menuSeparatorBorderWidth" | "toggleHandleActiveWidthIncrement" | "toggleHandleBorderRadius" | "toggleHeight" | "toggleWidth" | "toggleBorderRadius" | "toggleBg" | "toggleBgDisabled" | "toggleBgHover" | "toggleBgChecked" | "toggleBorderWidth" | "toggleOutlineWidth" | "toggleBorderColor" | "toggleBgFocus" | "toggleBgActive" | "toggleBgError" | "toggleBgWarning" | "toggleFocusShadowColor" | "toggleCaptionGap" | "popupBorder" | "popupBorderRadius" | "popupBorderColor" | "popupDropShadow" | "popupBoxShadow" | "popupTextColor" | "popupBackground" | "popupPinOffset" | "popupPinOffsetX" | "popupPinOffsetY" | "popupMargin" | "popupPinSize" | "inputTextColor" | "inputTextColorDisabled" | "inputShadow" | "inputBg" | "inputIconColor" | "inputColor" | "inputWidth" | "inputFontSizeSmall" | "inputFontSizeMedium" | "inputFontSizeLarge" | "inputLineHeightSmall" | "inputLineHeightMedium" | "inputLineHeightLarge" | "inputHeightSmall" | "inputHeightMedium" | "inputHeightLarge" | "inputPaddingYSmall" | "inputPaddingYMedium" | "inputPaddingYLarge" | "inputPaddingXSmall" | "inputPaddingXMedium" | "inputPaddingXLarge" | "inputIconGapSmall" | "inputIconGapMedium" | "inputIconGapLarge" | "inputIconSizeSmall" | "inputIconSizeMedium" | "inputIconSizeLarge" | "inputFocusShadow" | "inputDisabledBg" | "inputDisabledBorderColor" | "inputFocusOutline" | "inputBorderWidth" | "inputOutlineWidth" | "inputBorderRadiusSmall" | "inputBorderRadiusMedium" | "inputBorderRadiusLarge" | "inputBorderColor" | "inputBorderColorFocus" | "inputBorderColorError" | "inputBorderColorWarning" | "inputBorderTopColor" | "inputPlaceholderColor" | "inputPlaceholderColorLight" | "inputBlinkColor" | "chbFontSize" | "chbLineHeight" | "chbBoxSize" | "chbPaddingX" | "chbPaddingY" | "chbBgStart" | "chbBgEnd" | "chbTextColorDefault" | "chbTextColorDisabled" | "chbIndeterminateBg" | "chbShadow" | "chbShadowDisabled" | "chbBorder" | "chbShadowHover" | "chbCheckedColor" | "chbOutlineColorFocus" | "chbBorderColorWarning" | "chbBorderColorError" | "chbCheckedHoverShadow" | "chbBorderRadius" | "chbShadowWidth" | "chbCheckedShadow" | "chbBorderColorFocus" | "chbBg" | "chbHoverBg" | "chbActiveBg" | "chbCheckedBg" | "chbBgDisabled" | "chbBoxIndeterminateBg" | "chbCheckedHoverBg" | "chbCheckedActiveBg" | "chbCheckedActiveShadow" | "chbShadowActive" | "checkboxBorderWidthCompensation" | "checkboxFontSize" | "checkboxLineHeight" | "checkboxBoxSize" | "checkboxLabelGap" | "checkboxPaddingY" | "checkboxBgStart" | "checkboxBgEnd" | "checkboxTextColorDefault" | "checkboxTextColorDisabled" | "checkboxIndeterminateBg" | "checkboxShadowDisabled" | "checkboxBorder" | "checkboxBorderWidth" | "checkboxShadow" | "checkboxShadowHover" | "checkboxCheckedColor" | "checkboxOutlineColorFocus" | "checkboxBorderColorWarning" | "checkboxBorderColorError" | "checkboxCheckedHoverShadow" | "checkboxBorderRadius" | "checkboxOutlineWidth" | "checkboxCheckedShadow" | "checkboxCheckedActiveShadow" | "checkboxBorderColorFocus" | "checkboxBg" | "checkboxHoverBg" | "checkboxActiveBg" | "checkboxCheckedBg" | "checkboxBgDisabled" | "checkboxBoxIndeterminateBg" | "checkboxCheckedHoverBg" | "checkboxCheckedActiveBg" | "checkboxShadowActive" | "textareaBg" | "textareaColor" | "textareaTextColorDisabled" | "textareaPlaceholderColorLight" | "textareaPlaceholderColor" | "textareaShadow" | "textareaFontSize" | "textareaLineHeight" | "textareaBorderRadius" | "textareaBorderWidth" | "textareaOutlineWidth" | "textareaHeight" | "textareaMinHeight" | "textareaWidth" | "textareaPaddingX" | "textareaPaddingY" | "textareaBorderColor" | "textareaBorderTopColor" | "textareaBorderColorFocus" | "textareaBorderColorWarning" | "textareaBorderColorError" | "textareaDisabledBg" | "textareaDisabledBorderColor" | "textareaCounterColor" | "textareaCounterBg" | "textareaCounterErrorColor" | "textareaCounterHelpIconColor" | "radioBulletSize" | "radioOutlineWidth" | "radioSize" | "radioSizeAfter" | "radioFontSize" | "radioLineHeight" | "radioLabelGap" | "radioPaddingY" | "radioVerticalAlign" | "radioBgImage" | "radioHoverBg" | "radioActiveBg" | "radioBorderWidth" | "radioBorderColor" | "radioBoxShadow" | "radioBorder" | "radioBorderColorFocus" | "radioBorderColorWarning" | "radioBorderColorError" | "radioHoverShadow" | "radioActiveShadow" | "radioFocusShadow" | "radioCheckedBgColor" | "radioCheckedBorderColor" | "radioCheckedBulletColor" | "radioCheckedHoverBgColor" | "radioDisabledShadow" | "radioLabelDisplay" | "radioBorderWidthCompensation" | "radioMarginY" | "radioGroupLegacyItemGap" | "tabFontSize" | "tabPaddingX" | "tabsMarginX" | "tabPaddingY" | "tabLineHeight" | "tabBorderWidth" | "tabOutlineWidth" | "tabTextColorDefault" | "tabColorFocus" | "tabColorError" | "tabColorWarning" | "tabColorSuccess" | "tabColorPrimary" | "tabColorHover" | "tabColorHoverError" | "tabColorHoverWarning" | "tabColorHoverSuccess" | "tabColorHoverPrimary" | "spinnerBgColor" | "spinnerColor" | "spinnerDimmedColor" | "spinnerCaptionColor" | "spinnerFontSizeSmall" | "spinnerFontSizeMedium" | "spinnerFontSizeLarge" | "spinnerLineHeightSmall" | "spinnerLineHeightMedium" | "spinnerLineHeightLarge" | "spinnerCaptionGapSmall" | "spinnerCaptionGapMedium" | "spinnerCaptionGapLarge" | "spinnerOldBgColor" | "spinnerOldColor" | "spinnerOldDimmedColor" | "spinnerOldCaptionColor" | "spinnerOldFontSizeSmall" | "spinnerOldFontSizeMedium" | "spinnerOldFontSizeLarge" | "spinnerOldLineHeightSmall" | "spinnerOldLineHeightMedium" | "spinnerOldLineHeightLarge" | "spinnerOldCaptionGapSmall" | "spinnerOldCaptionGapMedium" | "spinnerOldCaptionGapLarge" | "switcherOutlineWidth" | "switcherLabelFontSizeSmall" | "switcherLabelFontSizeMedium" | "switcherLabelFontSizeLarge" | "switcherLabelLineHeightSmall" | "switcherLabelLineHeightMedium" | "switcherLabelLineHeightLarge" | "switcherLabelGapSmall" | "switcherLabelGapMedium" | "switcherLabelGapLarge" | "switcherButtonPaddingXSmall" | "switcherButtonPaddingXMedium" | "switcherButtonPaddingXLarge" | "switcherButtonPaddingYSmall" | "switcherButtonPaddingYMedium" | "switcherButtonPaddingYLarge" | "switcherButtonLineHeightSmall" | "switcherButtonLineHeightMedium" | "switcherButtonLineHeightLarge" | "switcherButtonFontSizeSmall" | "switcherButtonFontSizeMedium" | "switcherButtonFontSizeLarge" | "switcherButtonBorderRadiusSmall" | "switcherButtonBorderRadiusMedium" | "switcherButtonBorderRadiusLarge" | "switcherButtonBorderWidth" | "switcherButtonDisabledBorderColor" | "switcherButtonCheckedDisabledShadow")[];
|
|
20
|
+
export declare const ALL_USED_VARIABLES: ("black" | "blue" | "gray" | "green" | "red" | "white" | "yellow" | "prototype" | "fontFamilyCompensationBaseline" | "brandXLight" | "brandLight" | "brand" | "brandDark" | "brandXDark" | "grayXxLight" | "grayXLight" | "grayLight" | "grayDark" | "blueXxLight" | "blueLight" | "blueDark" | "blueXDark" | "greenXxLight" | "greenDark" | "redXxLight" | "redDark" | "yellowXxLight" | "yellowDark" | "bgDefault" | "bgDisabled" | "errorMain" | "errorSecondary" | "errorText" | "warningMain" | "warningSecondary" | "warningText" | "borderColorFocusLight" | "borderColorGrayDark" | "borderColorGrayLight" | "placeholderColor" | "outlineColorFocus" | "placeholderColorLight" | "blinkColor" | "controlBorderWidth" | "controlOutlineWidth" | "controlLineHeightSmall" | "controlLineHeightMedium" | "controlLineHeightLarge" | "controlPaddingYSmall" | "controlPaddingYMedium" | "controlPaddingYLarge" | "textColorDefault" | "textColorInvert" | "textColorDisabled" | "fontSizeSmall" | "fontSizeMedium" | "fontSizeLarge" | "specificityLevel" | "bgActive" | "borderColorFocus" | "borderColorError" | "borderColorWarning" | "controlHeightSmall" | "controlHeightMedium" | "controlHeightLarge" | "linkColor" | "linkActiveColor" | "linkHoverTextDecoration" | "linkSuccessColor" | "linkSuccessHoverColor" | "linkSuccessActiveColor" | "linkDangerColor" | "linkDangerHoverColor" | "linkDangerActiveColor" | "linkIconMarginRight" | "linkHoverColor" | "linkDisabledColor" | "linkButtonLineHeight" | "linkButtonPaddingX" | "tokenDisabledBg" | "tokenTextColorDisabled" | "tokenFontSize" | "tokenMarginY" | "tokenMarginX" | "tokenLineHeight" | "tokenPaddingY" | "tokenPaddingX" | "tokenMarginBeforeIcon" | "tokenRemoveIconSize" | "tokenRemoveIconPaddingY" | "tokenRemoveIconPaddingX" | "tokenRemoveIconGap" | "tokenRemoveIconBoxSizing" | "tokenBorderRadius" | "tokenBorderWidth" | "tokenBorderColorDisabled" | "tokenDefaultIdle" | "tokenDefaultActive" | "tokenGrayIdle" | "tokenGrayActive" | "tokenBlueIdle" | "tokenBlueActive" | "tokenGreenIdle" | "tokenGreenActive" | "tokenYellowIdle" | "tokenYellowActive" | "tokenRedIdle" | "tokenRedActive" | "tokenWhite" | "tokenBlack" | "tokenBorderColorWarning" | "tokenBorderColorError" | "tokenOutlineWidth" | "tokenLegacyTextShift" | "tokenPaddingYDisabled" | "tokenPaddingXDisabled" | "tokenMarginYDisabled" | "tokenMarginXDisabled" | "tokenShadowDisabled" | "tokenInputBorderColor" | "tokenInputBorderColorFocus" | "tokenInputBorderColorError" | "tokenInputBorderColorWarning" | "tokenInputBorderTopColor" | "tokenInputPlaceholderColor" | "tokenInputPlaceholderColorLight" | "tokenInputDisabledBg" | "tokenInputDisabledBorderColor" | "tokenInputBorderWidth" | "tokenInputOutlineWidth" | "tokenInputBg" | "tokenInputShadow" | "tokenInputTextColor" | "tokenInputTextColorDisabled" | "tokenInputPaddingY" | "tokenInputPaddingX" | "tokenInputFontSize" | "tokenInputLineHeight" | "tokenInputInputPaddingLeft" | "tokenInputInputPaddingRight" | "loaderBg" | "loaderOpacity" | "btnWrapPadding" | "btnHeightShift" | "btnLinkBorderRadius" | "btnFocusShadowWidth" | "btnFocusBorder" | "btnDisabledTextColor" | "btnDisabledBorderColor" | "btnCheckedBg" | "btnCheckedDisabledBg" | "btnCheckedDisabledColor" | "btnCheckedHoverBorderColor" | "btnCheckedTextColor" | "btnCheckedDisabledBorderColor" | "btnCheckedShadow" | "btnCheckedShadowColorArrow" | "btnCheckedShadowArrow" | "btnCheckedShadowArrowLeft" | "btnCheckedDisabledShadow" | "btnCheckedDisabledShadowArrow" | "btnArrowBorderRadius" | "btnSmallBorderRadius" | "btnBorderRadius" | "btnBorderRadiusSmall" | "btnBorderRadiusMedium" | "btnBorderRadiusLarge" | "btnBorderWidth" | "btnOutlineWidth" | "btnPaddingXSmall" | "btnPaddingXMedium" | "btnPaddingXLarge" | "btnIconGapSmall" | "btnIconGapMedium" | "btnIconGapLarge" | "btnIconSizeSmall" | "btnIconSizeMedium" | "btnIconSizeLarge" | "btnDefaultBg" | "btnDefaultBgStart" | "btnDefaultBgEnd" | "btnSmallArrowLength" | "btnSmallArrowRight" | "btnSmallArrowLeft" | "btnSmallArrowBorderRadius" | "btnMediumArrowTop" | "btnMediumArrowLength" | "btnMediumArrowLeft" | "btnMediumArrowLeftLoadingLeft" | "btnMediumArrowTransform" | "btnDeprecatedSizeMediumFontSize" | "btnDeprecatedSizeMediumPaddingShift" | "btnLargeArrowTop" | "btnLargeArrowLength" | "btnLargeArrowLeft" | "btnLargeArrowRight" | "btnLargeArrowTransform" | "btnLargeArrowBg" | "btnDefaultBgArrowStart" | "btnDefaultBgArrowEnd" | "btnDefaultCheckedShadowArrow" | "btnDefaultCheckedBorder" | "btnDefaultTextColor" | "btnDefaultHoverBg" | "btnDefaultHoverBorderColor" | "btnDefaultActiveBorderColor" | "btnDefaultBorder" | "btnDefaultShadow" | "btnDefaultShadowArrow" | "btnDefaultShadowArrowLeft" | "btnDefaultHoverBgStart" | "btnDefaultHoverBgEnd" | "btnDefaultHoverShadow" | "btnDefaultHoverShadowArrow" | "btnDefaultHoverShadowArrowLeft" | "btnDefaultActiveBg" | "btnDefaultActiveShadow" | "btnDefaultActiveShadowArrow" | "btnDefaultActiveShadowArrowLeft" | "btnSuccessBg" | "btnSuccessHoverBg" | "btnSuccessHoverBorderColor" | "btnSuccessDisabledBg" | "btnSuccessBorder" | "btnSuccessBgStart" | "btnSuccessBgEnd" | "btnSuccessBgArrowStart" | "btnSuccessBgArrowEnd" | "btnSuccessTextColor" | "btnSuccessShadow" | "btnSuccessShadowArrow" | "btnSuccessShadowArrowLeft" | "btnSuccessHoverBgStart" | "btnSuccessHoverBgEnd" | "btnSuccessHoverShadow" | "btnSuccessHoverShadowArrow" | "btnSuccessHoverShadowArrowLeft" | "btnSuccessActiveBg" | "btnSuccessActiveShadow" | "btnSuccessActiveShadowArrow" | "btnSuccessActiveShadowArrowLeft" | "btnPrimaryBg" | "btnPrimaryHoverBg" | "btnPrimaryHoverBorderColor" | "btnPrimaryDisabledBg" | "btnPrimaryBorder" | "btnPrimaryBgStart" | "btnPrimaryBgEnd" | "btnPrimaryBgArrowStart" | "btnPrimaryBgArrowEnd" | "btnPrimaryTextColor" | "btnPrimaryShadow" | "btnPrimaryShadowArrow" | "btnPrimaryShadowArrowLeft" | "btnPrimaryHoverBgStart" | "btnPrimaryHoverBgEnd" | "btnPrimaryHoverShadow" | "btnPrimaryHoverShadowArrow" | "btnPrimaryHoverShadowArrowLeft" | "btnPrimaryActiveBg" | "btnPrimaryActiveShadow" | "btnPrimaryActiveShadowArrow" | "btnPrimaryActiveShadowArrowLeft" | "btnDangerBg" | "btnDangerHoverBg" | "btnDangerHoverBorderColor" | "btnDangerDisabledBg" | "btnDangerBorder" | "btnDangerBgStart" | "btnDangerBgEnd" | "btnDangerBgArrowStart" | "btnDangerBgArrowEnd" | "btnDangerTextColor" | "btnDangerShadow" | "btnDangerShadowArrow" | "btnDangerShadowArrowLeft" | "btnDangerHoverBgStart" | "btnDangerHoverBgEnd" | "btnDangerHoverShadow" | "btnDangerHoverShadowArrow" | "btnDangerHoverShadowArrowLeft" | "btnDangerActiveBg" | "btnDangerActiveShadow" | "btnDangerActiveShadowArrow" | "btnDangerActiveShadowArrowLeft" | "btnPayBg" | "btnPayHoverBg" | "btnPayHoverBorderColor" | "btnPayDisabledBg" | "btnPayBorder" | "btnPayBgStart" | "btnPayBgEnd" | "btnPayBgArrowStart" | "btnPayBgArrowEnd" | "btnPayShadow" | "btnPayTextColor" | "btnPayShadowArrow" | "btnPayShadowArrowLeft" | "btnPayHoverBgStart" | "btnPayHoverBgEnd" | "btnPayHoverShadow" | "btnPayHoverShadowArrow" | "btnPayHoverShadowArrowLeft" | "btnPayActiveBg" | "btnPayActiveShadow" | "btnPayActiveShadowArrow" | "btnPayActiveShadowArrowLeft" | "btnDeprecatedSizeMediumPaddingShiftIe" | "btnSmallArrowTop" | "btnSmallArrowLeftLoadingDelay" | "btnSmallArrowBg" | "btnMediumArrowRight" | "btnMediumArrowBg" | "btnMediumArrowLeftLoadingDelay" | "btnLargeArrowLeftLoadingDelay" | "btnMenuArrowColor" | "btnFontSizeSmall" | "btnFontSizeMedium" | "btnFontSizeLarge" | "btnLineHeightSmall" | "btnLineHeightMedium" | "btnLineHeightLarge" | "btnPaddingYSmall" | "btnPaddingYMedium" | "btnPaddingYLarge" | "btnDisabledBg" | "btnDisabledShadowColor" | "btnDisabledShadow" | "btnDisabledShadowArrow" | "btnTextColorDefault" | "btnBorderColorWarning" | "btnBorderColorError" | "btnHeightSmall" | "btnHeightMedium" | "btnHeightLarge" | "btnLinkColor" | "btnLinkHoverColor" | "btnLinkHoverTextDecoration" | "btnLinkActiveColor" | "btnLinkIconMarginRight" | "btnErrorSecondary" | "btnOutlineColorFocus" | "btnBorderColorFocus" | "btnLinkDisabledColor" | "sltPlaceholderColor" | "selectPlaceholderColor" | "selectBorderWidth" | "selectOutlineWidth" | "selectLineHeightSmall" | "selectFontSizeSmall" | "selectPaddingXSmall" | "selectPaddingYSmall" | "selectBorderRadiusSmall" | "selectIconGapSmall" | "selectPaddingArrowSmall" | "selectLineHeightMedium" | "selectFontSizeMedium" | "selectPaddingXMedium" | "selectPaddingYMedium" | "selectBorderRadiusMedium" | "selectIconGapMedium" | "selectPaddingArrowMedium" | "selectLineHeightLarge" | "selectFontSizeLarge" | "selectPaddingXLarge" | "selectPaddingYLarge" | "selectBorderRadiusLarge" | "selectIconGapLarge" | "selectPaddingArrowLarge" | "selectMenuArrowColor" | "selectMenuArrowColorDisabled" | "selectIconSizeSmall" | "selectIconSizeMedium" | "selectIconSizeLarge" | "selectTextColorDisabled" | "selectBgDisabled" | "selectBorderColorDisabled" | "selectShadowColorDisabled" | "tooltipPaddingY" | "tooltipPaddingX" | "tooltipCloseBtnPadding" | "tooltipCloseBtnColor" | "tooltipCloseBtnHoverColor" | "tooltipBorder" | "tooltipBorderRadius" | "tooltipPinOffset" | "tooltipPinOffsetX" | "tooltipPinOffsetY" | "tooltipMargin" | "tooltipPinSize" | "tooltipMenuPinOffset" | "tooltipMenuMargin" | "tooltipMenuPinSize" | "kebabPinOffset" | "kebabPinSize" | "kebabMargin" | "kebabBackground" | "kebabBackgroundHover" | "kebabBorderRadius" | "kebabBorder" | "modalBackBg" | "modalBackOpacity" | "modalCloseButtonColor" | "modalCloseButtonDisabledColor" | "modalCloseButtonHoverColor" | "modalCloseButtonPadding" | "modalCloseButtonLegacyShift" | "modalCloseButtonBottomPadding" | "modalCloseButtonClickArea" | "modalCloseIconSize" | "modalCloseLegacyGap" | "modalCloseWrapperLegacyGap" | "modalFixedHeaderBg" | "modalFixedHeaderShadow" | "modalFixedFooterShadow" | "modalFooterBg" | "modalAdaptiveThreshold" | "modalPaddingTop" | "modalPaddingLeft" | "modalPaddingRight" | "modalHeaderFontSize" | "modalHeaderLineHeight" | "modalHeaderPaddingBottom" | "modalHeaderPaddingTop" | "modalFixedHeaderPaddingBottom" | "modalBodyPaddingBottom" | "modalFooterPaddingTop" | "modalFooterPaddingBottom" | "modalPaddingBottom" | "modalFooterPanelPaddingTop" | "modalFooterPanelPaddingBottom" | "sidePageFooterPanelBg" | "sidePageBackingBg" | "sidePageBackingBgOpacity" | "sidePageCloseButtonColor" | "sidePageCloseButtonHoverColor" | "sidePageContainerShadow" | "sidePagePaddingLeft" | "sidePagePaddingRight" | "sidePagePaddingTop" | "sidePagePaddingBottom" | "sidePageFooterPaddingTop" | "sidePageFooterPaddingBottom" | "sidePageBgDefault" | "sidePageBorderColor" | "sidePageHeaderFontSize" | "sidePageHeaderLineHeight" | "sidePageHeaderPaddingBottom" | "sidePageHeaderPaddingTop" | "sidePageHeaderFixedFontSize" | "sidePageHeaderFixedLineHeight" | "sidePageHeaderFixedPaddingY" | "sidePageHeaderStickyOffset" | "sidePageCloseButtonPadding" | "sidePageCloseButtonLegacyPaddingLeft" | "sidePageFooterPanelPaddingTop" | "sidePageFooterPanelPaddingBottom" | "sidePageCloseIconSize" | "sidePageCloseButtonClickAreaX" | "dateInputIconColor" | "dateInputMaskColor" | "dateInputComponentSelectedBgColor" | "calendarCellBg" | "calendarCellHoverColor" | "calendarCellActiveHoverColor" | "calendarCellWeekendColor" | "calendarCellTodayBorder" | "calendarCellSelectedBgColor" | "calendarCellSelectedFontColor" | "calendarCellSize" | "calendarMonthHeaderStickedBgColor" | "calendarMonthTitleBorderBottomColor" | "calendarCellHoverBgColor" | "calendarPaddingX" | "calendarMonthTitleLineHeight" | "calendarMonthTitlePaddingTop" | "calendarMonthTitlePaddingBottom" | "calendarMonthTitleMarginX" | "calendarMonthTitleMarginBottom" | "calendarWrapperHeight" | "calendarMonthMarginBottom" | "calendarMaxMonthsToAppendOnScroll" | "dateSelectLineHeight" | "dateSelectFontSize" | "dateSelectFontWeight" | "dateSelectMenuItemBgSelected" | "dateSelectTextColorDisabled" | "dateSelectTextColorDefault" | "dateSelectLinkColor" | "dateSelectPopupBoxShadow" | "dateSelectTextColorInvert" | "datePickerOpenBtnColor" | "pickerBg" | "pickerShadow" | "pickerTodayWrapperBgColor" | "pickerTodayWrapperBorderTop" | "pickerTodayWrapperHoverBgColor" | "pickerTodayWrapperFontSize" | "pickerTodayWrapperLineHeight" | "pickerTodayWrapperPaddingTop" | "pickerTodayWrapperPaddingBottom" | "dateSelectMenuBg" | "dateSelectMenuItemBgActive" | "dateSelectMenuItemBgDisabled" | "dateSelectMenuItemFontActive" | "dateSelectMenuItemFontSelected" | "dateSelectMenuItemFontDisabled" | "pagingFontSize" | "pagingForwardIconSize" | "pagingForwardIconMarginTop" | "pagingPageLinkPaddingX" | "pagingPageLinkPaddingY" | "pagingPageLinkLegacyPaddingY" | "pagingPageLinkMinWidth" | "pagingPageForwardLinkMarginTop" | "pagingPageForwardLinkMarginLeft" | "pagingPageForwardLinkPaddingRight" | "pagingLineHeight" | "pagingDotsColor" | "pagingDotsPadding" | "pagingPageLinkActiveBg" | "pagingPageLinkActiveColor" | "pagingPageLinkHoverBg" | "pagingPageLinkHintColor" | "pagingPageLinkHintFontSize" | "pagingPageLinkHintLineHeight" | "pagingPageLinkBorderRadius" | "pagingPageLinkMargin" | "pagingForwardLinkColor" | "pagingForwardLinkDisabledColor" | "hintColor" | "hintFontSize" | "hintLineHeight" | "hintMaxWidth" | "hintPaddingY" | "hintPaddingX" | "hintTextAlign" | "hintBorder" | "hintBorderRadius" | "hintPinOffset" | "hintMargin" | "toastFontSize" | "toastLineHeight" | "toastPaddingY" | "toastPaddingX" | "toastBorderRadius" | "toastBorder" | "toastTop" | "toastBg" | "toastColor" | "toastLinkColor" | "toastClosePadding" | "toastCloseColor" | "toastCloseHoverColor" | "toastCloseSize" | "tbBg" | "tbShadow" | "tdDividerBg" | "logoColor" | "logoHoverColor" | "dropdownMenuSelectedBg" | "dropdownMenuHoverBg" | "menuBgDefault" | "menuBorder" | "menuShadow" | "menuPaddingY" | "menuItemSelectedBg" | "menuItemHoverBg" | "menuItemIconWidth" | "menuItemIconGap" | "menuItemIconLegacyMargin" | "menuItemIconLegacyShift" | "menuItemPaddingForIcon" | "menuItemLineHeight" | "menuItemFontSize" | "menuItemPaddingX" | "menuItemPaddingY" | "menuItemLegacyPaddingX" | "menuItemLegacyPaddingY" | "menuItemHoverColor" | "menuItemDisabledColor" | "menuItemLinkColor" | "menuItemCommentColor" | "menuItemCommentColorHover" | "menuHeaderColor" | "menuHeaderLineHeight" | "menuHeaderFontSize" | "menuHeaderPaddingX" | "menuHeaderPaddingTop" | "menuHeaderPaddingBottom" | "menuHeaderLegacyPaddingRight" | "menuSeparatorBorderColor" | "menuSeparatorMarginY" | "menuSeparatorBorderWidth" | "toggleHandleActiveWidthIncrement" | "toggleHandleBorderRadius" | "toggleHeight" | "toggleWidth" | "toggleBorderRadius" | "toggleBg" | "toggleBgDisabled" | "toggleBgHover" | "toggleBgChecked" | "toggleBorderWidth" | "toggleOutlineWidth" | "toggleBorderColor" | "toggleBgFocus" | "toggleBgActive" | "toggleBgError" | "toggleBgWarning" | "toggleFocusShadowColor" | "toggleCaptionGap" | "popupBorder" | "popupBorderRadius" | "popupBorderColor" | "popupDropShadow" | "popupBoxShadow" | "popupTextColor" | "popupBackground" | "popupPinOffset" | "popupPinOffsetX" | "popupPinOffsetY" | "popupMargin" | "popupPinSize" | "inputTextColor" | "inputTextColorDisabled" | "inputShadow" | "inputBg" | "inputIconColor" | "inputColor" | "inputWidth" | "inputFontSizeSmall" | "inputFontSizeMedium" | "inputFontSizeLarge" | "inputLineHeightSmall" | "inputLineHeightMedium" | "inputLineHeightLarge" | "inputHeightSmall" | "inputHeightMedium" | "inputHeightLarge" | "inputPaddingYSmall" | "inputPaddingYMedium" | "inputPaddingYLarge" | "inputPaddingXSmall" | "inputPaddingXMedium" | "inputPaddingXLarge" | "inputIconGapSmall" | "inputIconGapMedium" | "inputIconGapLarge" | "inputIconSizeSmall" | "inputIconSizeMedium" | "inputIconSizeLarge" | "inputFocusShadow" | "inputDisabledBg" | "inputDisabledBorderColor" | "inputFocusOutline" | "inputBorderWidth" | "inputOutlineWidth" | "inputBorderRadiusSmall" | "inputBorderRadiusMedium" | "inputBorderRadiusLarge" | "inputBorderColor" | "inputBorderColorFocus" | "inputBorderColorError" | "inputBorderColorWarning" | "inputBorderTopColor" | "inputPlaceholderColor" | "inputPlaceholderColorLight" | "inputBlinkColor" | "chbFontSize" | "chbLineHeight" | "chbBoxSize" | "chbPaddingX" | "chbPaddingY" | "chbBgStart" | "chbBgEnd" | "chbTextColorDefault" | "chbTextColorDisabled" | "chbIndeterminateBg" | "chbShadow" | "chbShadowDisabled" | "chbBorder" | "chbShadowHover" | "chbCheckedColor" | "chbOutlineColorFocus" | "chbBorderColorWarning" | "chbBorderColorError" | "chbCheckedHoverShadow" | "chbBorderRadius" | "chbShadowWidth" | "chbCheckedShadow" | "chbBorderColorFocus" | "chbBg" | "chbHoverBg" | "chbActiveBg" | "chbCheckedBg" | "chbBgDisabled" | "chbBoxIndeterminateBg" | "chbCheckedHoverBg" | "chbCheckedActiveBg" | "chbCheckedActiveShadow" | "chbShadowActive" | "checkboxBorderWidthCompensation" | "checkboxFontSize" | "checkboxLineHeight" | "checkboxBoxSize" | "checkboxLabelGap" | "checkboxPaddingY" | "checkboxBgStart" | "checkboxBgEnd" | "checkboxTextColorDefault" | "checkboxTextColorDisabled" | "checkboxIndeterminateBg" | "checkboxShadowDisabled" | "checkboxBorder" | "checkboxBorderWidth" | "checkboxShadow" | "checkboxShadowHover" | "checkboxCheckedColor" | "checkboxOutlineColorFocus" | "checkboxBorderColorWarning" | "checkboxBorderColorError" | "checkboxCheckedHoverShadow" | "checkboxBorderRadius" | "checkboxOutlineWidth" | "checkboxCheckedShadow" | "checkboxCheckedActiveShadow" | "checkboxBorderColorFocus" | "checkboxBg" | "checkboxHoverBg" | "checkboxActiveBg" | "checkboxCheckedBg" | "checkboxBgDisabled" | "checkboxBoxIndeterminateBg" | "checkboxCheckedHoverBg" | "checkboxCheckedActiveBg" | "checkboxShadowActive" | "textareaBg" | "textareaColor" | "textareaTextColorDisabled" | "textareaPlaceholderColorLight" | "textareaPlaceholderColor" | "textareaShadow" | "textareaFontSize" | "textareaLineHeight" | "textareaBorderRadius" | "textareaBorderWidth" | "textareaOutlineWidth" | "textareaHeight" | "textareaMinHeight" | "textareaWidth" | "textareaPaddingX" | "textareaPaddingY" | "textareaBorderColor" | "textareaBorderTopColor" | "textareaBorderColorFocus" | "textareaBorderColorWarning" | "textareaBorderColorError" | "textareaDisabledBg" | "textareaDisabledBorderColor" | "textareaCounterColor" | "textareaCounterBg" | "textareaCounterErrorColor" | "textareaCounterHelpIconColor" | "radioBulletSize" | "radioOutlineWidth" | "radioSize" | "radioSizeAfter" | "radioFontSize" | "radioLineHeight" | "radioLabelGap" | "radioPaddingY" | "radioVerticalAlign" | "radioBgImage" | "radioHoverBg" | "radioActiveBg" | "radioBorderWidth" | "radioBorderColor" | "radioBoxShadow" | "radioBorder" | "radioBorderColorFocus" | "radioBorderColorWarning" | "radioBorderColorError" | "radioHoverShadow" | "radioActiveShadow" | "radioFocusShadow" | "radioCheckedBgColor" | "radioCheckedBorderColor" | "radioCheckedBulletColor" | "radioCheckedHoverBgColor" | "radioDisabledShadow" | "radioLabelDisplay" | "radioBorderWidthCompensation" | "radioMarginY" | "radioGroupLegacyItemGap" | "tabFontSize" | "tabPaddingX" | "tabsMarginX" | "tabPaddingY" | "tabLineHeight" | "tabBorderWidth" | "tabOutlineWidth" | "tabTextColorDefault" | "tabColorFocus" | "tabColorError" | "tabColorWarning" | "tabColorSuccess" | "tabColorPrimary" | "tabColorHover" | "tabColorHoverError" | "tabColorHoverWarning" | "tabColorHoverSuccess" | "tabColorHoverPrimary" | "spinnerBgColor" | "spinnerColor" | "spinnerDimmedColor" | "spinnerCaptionColor" | "spinnerFontSizeSmall" | "spinnerFontSizeMedium" | "spinnerFontSizeLarge" | "spinnerLineHeightSmall" | "spinnerLineHeightMedium" | "spinnerLineHeightLarge" | "spinnerCaptionGapSmall" | "spinnerCaptionGapMedium" | "spinnerCaptionGapLarge" | "spinnerOldBgColor" | "spinnerOldColor" | "spinnerOldDimmedColor" | "spinnerOldCaptionColor" | "spinnerOldFontSizeSmall" | "spinnerOldFontSizeMedium" | "spinnerOldFontSizeLarge" | "spinnerOldLineHeightSmall" | "spinnerOldLineHeightMedium" | "spinnerOldLineHeightLarge" | "spinnerOldCaptionGapSmall" | "spinnerOldCaptionGapMedium" | "spinnerOldCaptionGapLarge" | "switcherOutlineWidth" | "switcherLabelFontSizeSmall" | "switcherLabelFontSizeMedium" | "switcherLabelFontSizeLarge" | "switcherLabelLineHeightSmall" | "switcherLabelLineHeightMedium" | "switcherLabelLineHeightLarge" | "switcherLabelGapSmall" | "switcherLabelGapMedium" | "switcherLabelGapLarge" | "switcherButtonPaddingXSmall" | "switcherButtonPaddingXMedium" | "switcherButtonPaddingXLarge" | "switcherButtonPaddingYSmall" | "switcherButtonPaddingYMedium" | "switcherButtonPaddingYLarge" | "switcherButtonLineHeightSmall" | "switcherButtonLineHeightMedium" | "switcherButtonLineHeightLarge" | "switcherButtonFontSizeSmall" | "switcherButtonFontSizeMedium" | "switcherButtonFontSizeLarge" | "switcherButtonBorderRadiusSmall" | "switcherButtonBorderRadiusMedium" | "switcherButtonBorderRadiusLarge" | "switcherButtonBorderWidth" | "switcherButtonDisabledBorderColor" | "switcherButtonCheckedDisabledShadow")[];
|
|
21
21
|
export declare const CALLS_COUNT: number;
|
|
22
22
|
export declare const EXECUTION_TIME: number;
|
|
@@ -368,9 +368,14 @@ export declare class DefaultTheme {
|
|
|
368
368
|
static get selectIconGapLarge(): string;
|
|
369
369
|
static selectPaddingArrowLarge: string;
|
|
370
370
|
static get selectMenuArrowColor(): string;
|
|
371
|
+
static get selectMenuArrowColorDisabled(): string;
|
|
371
372
|
static get selectIconSizeSmall(): string;
|
|
372
373
|
static get selectIconSizeMedium(): string;
|
|
373
374
|
static get selectIconSizeLarge(): string;
|
|
375
|
+
static get selectTextColorDisabled(): string;
|
|
376
|
+
static get selectBgDisabled(): string;
|
|
377
|
+
static get selectBorderColorDisabled(): string;
|
|
378
|
+
static get selectShadowColorDisabled(): string;
|
|
374
379
|
static tooltipPaddingY: string;
|
|
375
380
|
static tooltipPaddingX: string;
|
|
376
381
|
static tooltipCloseBtnPadding: string;
|