@skbkontur/react-ui 4.6.0 → 4.7.0

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.
Files changed (155) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/ComboBox/ComboBox.d.ts +15 -0
  3. package/cjs/components/ComboBox/ComboBox.js +16 -0
  4. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  5. package/cjs/components/ComboBox/ComboBox.md +10 -1
  6. package/cjs/components/DropdownMenu/DropdownMenu.md +11 -9
  7. package/cjs/components/FileUploader/FileUploader.d.ts +9 -1
  8. package/cjs/components/FileUploader/FileUploader.js +67 -18
  9. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  10. package/cjs/components/FileUploader/FileUploader.mixins.d.ts +1 -0
  11. package/cjs/components/FileUploader/FileUploader.mixins.js +10 -0
  12. package/cjs/components/FileUploader/FileUploader.mixins.js.map +1 -0
  13. package/cjs/components/FileUploader/FileUploader.styles.d.ts +12 -1
  14. package/cjs/components/FileUploader/FileUploader.styles.js +119 -22
  15. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  16. package/cjs/components/Hint/Hint.d.ts +1 -0
  17. package/cjs/components/Hint/Hint.js +6 -2
  18. package/cjs/components/Hint/Hint.js.map +1 -1
  19. package/cjs/components/Paging/Paging.js +20 -15
  20. package/cjs/components/Paging/Paging.js.map +1 -1
  21. package/cjs/components/Paging/Paging.md +13 -0
  22. package/cjs/components/Paging/Paging.styles.d.ts +6 -2
  23. package/cjs/components/Paging/Paging.styles.js +40 -15
  24. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  25. package/cjs/components/Select/Select.js +5 -3
  26. package/cjs/components/Select/Select.js.map +1 -1
  27. package/cjs/components/SidePage/SidePage.d.ts +0 -1
  28. package/cjs/components/SidePage/SidePage.js +0 -2
  29. package/cjs/components/SidePage/SidePage.js.map +1 -1
  30. package/cjs/components/SidePage/SidePageBody.d.ts +0 -1
  31. package/cjs/components/SidePage/SidePageBody.js +6 -11
  32. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  33. package/cjs/components/Toggle/Toggle.js +2 -1
  34. package/cjs/components/Toggle/Toggle.js.map +1 -1
  35. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  36. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -1
  37. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  38. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
  39. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  40. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  41. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  42. package/cjs/internal/CustomComboBox/CustomComboBox.js +3 -1
  43. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  44. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -1
  45. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  46. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +2 -0
  47. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +2 -0
  48. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -1
  49. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +4 -1
  50. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  51. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -0
  52. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +46 -11
  53. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  54. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +7 -0
  55. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +54 -7
  56. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -1
  57. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -0
  58. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +15 -3
  59. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  60. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +3 -0
  61. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +19 -1
  62. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
  63. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -0
  64. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js +18 -0
  65. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -0
  66. package/cjs/internal/Popup/Popup.d.ts +5 -0
  67. package/cjs/internal/Popup/Popup.js +10 -2
  68. package/cjs/internal/Popup/Popup.js.map +1 -1
  69. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  70. package/cjs/internal/themes/DarkTheme.d.ts +1 -0
  71. package/cjs/internal/themes/DarkTheme.js +2 -1
  72. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  73. package/cjs/internal/themes/DefaultTheme.d.ts +16 -0
  74. package/cjs/internal/themes/DefaultTheme.js +41 -1
  75. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  76. package/cjs/lib/utils.d.ts +2 -3
  77. package/cjs/lib/utils.js +1 -2
  78. package/cjs/lib/utils.js.map +1 -1
  79. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  80. package/components/ComboBox/ComboBox.d.ts +15 -0
  81. package/components/ComboBox/ComboBox.md +10 -1
  82. package/components/DropdownMenu/DropdownMenu.md +11 -9
  83. package/components/FileUploader/FileUploader/FileUploader.js +56 -20
  84. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  85. package/components/FileUploader/FileUploader.d.ts +9 -1
  86. package/components/FileUploader/FileUploader.mixins/FileUploader.mixins.js +8 -0
  87. package/components/FileUploader/FileUploader.mixins/FileUploader.mixins.js.map +1 -0
  88. package/components/FileUploader/FileUploader.mixins/package.json +6 -0
  89. package/components/FileUploader/FileUploader.mixins.d.ts +1 -0
  90. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +51 -17
  91. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  92. package/components/FileUploader/FileUploader.styles.d.ts +12 -1
  93. package/components/Hint/Hint/Hint.js +13 -5
  94. package/components/Hint/Hint/Hint.js.map +1 -1
  95. package/components/Hint/Hint.d.ts +1 -0
  96. package/components/Paging/Paging/Paging.js +12 -9
  97. package/components/Paging/Paging/Paging.js.map +1 -1
  98. package/components/Paging/Paging.md +13 -0
  99. package/components/Paging/Paging.styles/Paging.styles.js +27 -15
  100. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  101. package/components/Paging/Paging.styles.d.ts +6 -2
  102. package/components/Select/Select/Select.js +5 -5
  103. package/components/Select/Select/Select.js.map +1 -1
  104. package/components/SidePage/SidePage/SidePage.js +0 -1
  105. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  106. package/components/SidePage/SidePage.d.ts +0 -1
  107. package/components/SidePage/SidePageBody/SidePageBody.js +1 -9
  108. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  109. package/components/SidePage/SidePageBody.d.ts +0 -1
  110. package/components/Toggle/Toggle/Toggle.js +2 -1
  111. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  112. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -1
  113. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  114. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  115. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +3 -1
  116. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  117. package/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
  118. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -0
  119. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  120. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  121. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +5 -1
  122. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  123. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -1
  124. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +2 -0
  125. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +7 -1
  126. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  127. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +38 -13
  128. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  129. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -0
  130. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +26 -5
  131. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -1
  132. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +7 -0
  133. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +13 -3
  134. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  135. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -0
  136. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +10 -1
  137. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -1
  138. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +3 -0
  139. package/internal/FileUploaderControl/hooks/useFileUploaderSize/package.json +6 -0
  140. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js +21 -0
  141. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -0
  142. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -0
  143. package/internal/Popup/Popup/Popup.js +5 -1
  144. package/internal/Popup/Popup/Popup.js.map +1 -1
  145. package/internal/Popup/Popup.d.ts +5 -0
  146. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  147. package/internal/themes/DarkTheme/DarkTheme.js +1 -0
  148. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  149. package/internal/themes/DarkTheme.d.ts +1 -0
  150. package/internal/themes/DefaultTheme/DefaultTheme.js +64 -0
  151. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  152. package/internal/themes/DefaultTheme.d.ts +16 -0
  153. package/lib/utils/utils.js.map +1 -1
  154. package/lib/utils.d.ts +2 -3
  155. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["Popup.tsx"],"names":["React","PropTypes","Transition","raf","warning","getDOMRect","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","getRootNode","rootNode","callChildRef","isInstanceWithAnchorElement","createPropsGetter","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","PopupDataTids","content","contentInner","popupPin","Popup","getProps","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","createRef","anchorElement","updateAnchorElement","instance","childDomNode","getAnchorElement","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","Math","floor","parseFloat","children","backgroundColor","theme","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","locationEquals","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","renderMain","renderMobile","renderChildren","mobileOnCloseRequest","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","originalRef","canGetAnchorNode","withoutMobile","renderContent","addEventListener","removeEventListener","maxWidth","hasShadow","disableAnimations","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","setRootNode","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultRootNode"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nconst DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin?: boolean;\n hasShadow?: boolean;\n disableAnimations?: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset?: number;\n positions: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport const PopupDataTids = {\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public anchorElement: Nullable<Element> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n ) : null;\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isElement(anchorElement);\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={canGetAnchorNode ? null : this.updateAnchorElement}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = Math.floor(getDOMRect(this.anchorElement).width);\n return this.anchorElement ? (anchorWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const width = this.getProps().width;\n\n return (\n <div className={styles.content(this.theme)} data-tid={PopupDataTids.content} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n data-tid={'Popup__root'}\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (element: Nullable<Element>) => {\n this.lastPopupElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(anchorElement && isElement(anchorElement), 'Anchor element is not defined or not instance of Element');\n\n if (!(anchorElement && isElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["Popup.tsx"],"names":["React","PropTypes","Transition","raf","warning","getDOMRect","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","getRootNode","rootNode","callChildRef","isInstanceWithAnchorElement","createPropsGetter","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","PopupDataTids","content","contentInner","popupPin","Popup","getProps","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","createRef","anchorElement","updateAnchorElement","instance","childDomNode","getAnchorElement","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","Math","floor","parseFloat","children","backgroundColor","theme","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","onPositionChange","locationEquals","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","renderMain","renderMobile","renderChildren","mobileOnCloseRequest","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","originalRef","canGetAnchorNode","withoutMobile","renderContent","addEventListener","removeEventListener","maxWidth","hasShadow","disableAnimations","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","setRootNode","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultRootNode"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends CommonProps, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin?: boolean;\n hasShadow?: boolean;\n disableAnimations?: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset?: number;\n positions: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport const PopupDataTids = {\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public anchorElement: Nullable<Element> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n ) : null;\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isElement(anchorElement);\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={canGetAnchorNode ? null : this.updateAnchorElement}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = Math.floor(getDOMRect(this.anchorElement).width);\n return this.anchorElement ? (anchorWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const width = this.getProps().width;\n\n return (\n <div className={styles.content(this.theme)} data-tid={PopupDataTids.content} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n data-tid={'Popup__root'}\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (element: Nullable<Element>) => {\n this.lastPopupElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location?.position);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(anchorElement && isElement(anchorElement), 'Anchor element is not defined or not instance of Element');\n\n if (!(anchorElement && isElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
@@ -6,6 +6,7 @@ import { CommonProps } from '../CommonWrapper';
6
6
  export declare const PopupPositions: readonly ["top left", "top center", "top right", "right top", "right middle", "right bottom", "bottom right", "bottom center", "bottom left", "left bottom", "left middle", "left top"];
7
7
  export declare const DefaultPosition: "top left";
8
8
  export declare type PopupPositionsType = typeof PopupPositions[number];
9
+ export declare const DUMMY_LOCATION: PopupLocation;
9
10
  export interface PopupHandlerProps {
10
11
  onMouseEnter?: (event: MouseEventType) => void;
11
12
  onMouseLeave?: (event: MouseEventType) => void;
@@ -48,6 +49,10 @@ export interface PopupProps extends CommonProps, PopupHandlerProps {
48
49
  tryPreserveFirstRenderedPosition?: boolean;
49
50
  withoutMobile?: boolean;
50
51
  mobileOnCloseRequest?: () => void;
52
+ /**
53
+ * Возвращает текущую позицию попапа
54
+ */
55
+ onPositionChange?: (pos: PopupPositionsType) => void;
51
56
  }
52
57
  interface PopupLocation {
53
58
  coordinates: {
@@ -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: ("prototype" | "black" | "blue" | "gray" | "green" | "red" | "white" | "yellow" | "fontFamilyCompensationBaseline" | "labGrotesqueBaselineCompensation" | "brandXLight" | "brandLight" | "brand" | "brandDark" | "brandXDark" | "grayXxLight" | "grayXLight" | "grayLight" | "grayDark" | "blueXxLight" | "blueLight" | "blueDark" | "blueXDark" | "greenXxLight" | "greenDark" | "redXxLight" | "redDark" | "yellowXxLight" | "yellowDark" | "bgDefault" | "bgSecondary" | "bgDisabled" | "errorMain" | "errorSecondary" | "errorText" | "warningMain" | "warningSecondary" | "warningText" | "borderColorFocusLight" | "borderColorGrayDark" | "borderColorGrayLight" | "borderColorDisabled" | "placeholderColor" | "outlineColorFocus" | "placeholderColorLight" | "blinkColor" | "controlBorderWidth" | "controlOutlineWidth" | "controlLineHeightSmall" | "controlLineHeightMedium" | "controlLineHeightLarge" | "controlPaddingYSmall" | "controlPaddingYMedium" | "controlPaddingYLarge" | "textColorDefault" | "textColorInvert" | "textColorDisabled" | "textColorDisabledContrast" | "fontSizeSmall" | "fontSizeMedium" | "fontSizeLarge" | "fontSizeMobile" | "lineHeightMobile" | "specificityLevel" | "fixedPanelShadow" | "bgActive" | "borderColorFocus" | "borderColorError" | "borderColorWarning" | "controlHeightSmall" | "controlHeightMedium" | "controlHeightLarge" | "mobileMediaQuery" | "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" | "tokenInputBorderRadius" | "tokenInputPlaceholderColor" | "tokenInputPlaceholderColorLight" | "tokenInputDisabledBg" | "tokenInputDisabledBorderColor" | "tokenInputBorderWidth" | "tokenInputOutlineWidth" | "tokenInputBg" | "tokenInputShadow" | "tokenInputTextColor" | "tokenInputTextColorDisabled" | "tokenInputPlaceholderColorDisabled" | "tokenInputPaddingY" | "tokenInputPaddingX" | "tokenInputFontSize" | "tokenInputLineHeight" | "tokenInputInputPaddingLeft" | "tokenInputInputPaddingRight" | "loaderBg" | "loaderOpacity" | "btnBackgroundClip" | "btnArrowBgImageActive" | "btnArrowBgImageChecked" | "btnLinkBorderRadius" | "btnFocusShadowWidth" | "btnDisabledBorderColor" | "btnCheckedBg" | "btnCheckedDisabledBg" | "btnCheckedDisabledColor" | "btnCheckedTextColor" | "btnCheckedDisabledBorderColor" | "btnCheckedShadow" | "btnCheckedDisabledShadow" | "btnBorderRadiusSmall" | "btnBorderRadiusMedium" | "btnBorderRadiusLarge" | "btnBorderWidth" | "btnInsetWidth" | "btnOutlineWidth" | "btnPaddingXSmall" | "btnPaddingXMedium" | "btnPaddingXLarge" | "btnIconGapSmall" | "btnIconGapMedium" | "btnIconGapLarge" | "btnIconSizeSmall" | "btnIconSizeMedium" | "btnIconSizeLarge" | "btnDefaultBg" | "btnDefaultBgStart" | "btnDefaultBgEnd" | "btnDefaultCheckedBorderColor" | "btnDefaultTextColor" | "btnDefaultHoverBg" | "btnDefaultHoverBgStart" | "btnDefaultHoverBgEnd" | "btnDefaultActiveBg" | "btnDefaultHoverBorderColor" | "btnDefaultHoverBorderBottomColor" | "btnDefaultActiveBorderColor" | "btnDefaultActiveBorderTopColor" | "btnDefaultBorderColor" | "btnDefaultBorderBottomColor" | "btnDefaultActiveShadow" | "btnSuccessBg" | "btnSuccessHoverBg" | "btnSuccessHoverBorderColor" | "btnSuccessHoverBorderBottomColor" | "btnSuccessBorderColor" | "btnSuccessBorderBottomColor" | "btnSuccessBgStart" | "btnSuccessBgEnd" | "btnSuccessTextColor" | "btnSuccessHoverBgStart" | "btnSuccessHoverBgEnd" | "btnSuccessActiveBg" | "btnSuccessActiveBorderColor" | "btnSuccessActiveBorderTopColor" | "btnSuccessActiveShadow" | "btnPrimaryBg" | "btnPrimaryHoverBg" | "btnPrimaryHoverBorderColor" | "btnPrimaryHoverBorderBottomColor" | "btnPrimaryBorderColor" | "btnPrimaryBorderBottomColor" | "btnPrimaryBgStart" | "btnPrimaryBgEnd" | "btnPrimaryTextColor" | "btnPrimaryHoverBgStart" | "btnPrimaryHoverBgEnd" | "btnPrimaryActiveBg" | "btnPrimaryActiveBorderColor" | "btnPrimaryActiveBorderTopColor" | "btnPrimaryActiveShadow" | "btnDangerBg" | "btnDangerHoverBg" | "btnDangerHoverBorderColor" | "btnDangerHoverBorderBottomColor" | "btnDangerBorderColor" | "btnDangerBorderBottomColor" | "btnDangerBgStart" | "btnDangerBgEnd" | "btnDangerTextColor" | "btnDangerHoverBgStart" | "btnDangerHoverBgEnd" | "btnDangerActiveBg" | "btnDangerActiveBorderColor" | "btnDangerActiveBorderTopColor" | "btnDangerActiveShadow" | "btnPayBg" | "btnPayHoverBg" | "btnPayHoverBorderColor" | "btnPayHoverBorderBottomColor" | "btnPayBorderColor" | "btnPayBorderBottomColor" | "btnPayBgStart" | "btnPayBgEnd" | "btnPayTextColor" | "btnPayHoverBgStart" | "btnPayHoverBgEnd" | "btnPayActiveBg" | "btnPayActiveBorderColor" | "btnPayActiveBorderTopColor" | "btnPayActiveShadow" | "btnMenuArrowColor" | "btnFontSizeSmall" | "btnFontSizeMedium" | "btnFontSizeLarge" | "btnLineHeightSmall" | "btnLineHeightMedium" | "btnLineHeightLarge" | "btnPaddingYSmall" | "btnPaddingYMedium" | "btnPaddingYLarge" | "btnDisabledBg" | "btnBorderColorWarning" | "btnBorderColorError" | "btnHeightSmall" | "btnHeightMedium" | "btnHeightLarge" | "btnLinkColor" | "btnLinkHoverColor" | "btnLinkActiveColor" | "btnLinkHoverTextDecoration" | "btnLinkIconMarginRight" | "btnErrorSecondary" | "btnWarningSecondary" | "btnOutlineColorFocus" | "btnInsetColor" | "btnBorderColorFocus" | "btnLinkDisabledColor" | "btnDisabledTextColor" | "selectDefaultBg" | "selectPlaceholderColor" | "selectBorderWidth" | "selectPlaceholderColorDisabled" | "selectOutlineWidth" | "selectLineHeightSmall" | "selectFontSizeSmall" | "selectPaddingXSmall" | "selectPaddingYSmall" | "selectBorderRadiusSmall" | "selectIconGapSmall" | "selectLineHeightMedium" | "selectFontSizeMedium" | "selectPaddingXMedium" | "selectPaddingYMedium" | "selectBorderRadiusMedium" | "selectIconGapMedium" | "selectLineHeightLarge" | "selectFontSizeLarge" | "selectPaddingXLarge" | "selectPaddingYLarge" | "selectBorderRadiusLarge" | "selectIconGapLarge" | "selectMenuArrowColor" | "selectMenuArrowColorDisabled" | "selectIconSizeSmall" | "selectIconSizeMedium" | "selectIconSizeLarge" | "selectRootWidthMobile" | "selectTextColorDisabled" | "selectBgDisabled" | "selectBorderColorDisabled" | "tooltipPaddingY" | "tooltipPaddingX" | "tooltipCloseBtnPadding" | "tooltipCloseBtnColor" | "tooltipCloseBtnHoverColor" | "tooltipTextColor" | "tooltipBorder" | "tooltipBorderRadius" | "tooltipPinOffset" | "tooltipPinOffsetX" | "tooltipPinOffsetY" | "tooltipMargin" | "tooltipPinSize" | "tooltipFontSize" | "tooltipLineHeight" | "tooltipMenuPinOffset" | "tooltipMenuMargin" | "tooltipMenuPinSize" | "kebabPinOffset" | "kebabPinSize" | "kebabMargin" | "kebabBackground" | "kebabBackgroundHover" | "kebabBorderRadius" | "kebabBorder" | "modalBackBg" | "modalBg" | "modalBackOpacity" | "modalCloseButtonColor" | "modalCloseButtonDisabledColor" | "modalCloseButtonHoverColor" | "modalCloseButtonPadding" | "modalCloseButtonLegacyShift" | "modalCloseButtonBottomPadding" | "modalCloseButtonClickArea" | "modalCloseIconSize" | "modalCloseLegacyGap" | "modalCloseWrapperLegacyGap" | "modalBorderRadius" | "modalFixedHeaderBg" | "modalFixedHeaderShadow" | "modalFixedHeaderBorder" | "modalFixedFooterBorder" | "modalFixedFooterShadow" | "modalFixedPanelShadow" | "modalFooterBg" | "modalAdaptiveThreshold" | "modalPaddingTop" | "modalPaddingLeft" | "modalPaddingRight" | "modalHeaderFontSize" | "modalHeaderTextColor" | "modalHeaderLineHeight" | "modalHeaderPaddingBottom" | "modalHeaderPaddingTop" | "modalFixedHeaderPaddingBottom" | "modalBodyTextColor" | "modalFooterTextColor" | "modalBodyPaddingBottom" | "modalFooterPaddingTop" | "modalFooterPaddingBottom" | "modalPaddingBottom" | "modalFooterPanelPaddingTop" | "modalFooterPanelPaddingBottom" | "mobileModalCloseButtonRightPadding" | "mobileModalCloseButtonTopPadding" | "mobileModalCloseButtonClickArea" | "mobileModalCloseIconSize" | "mobileModalHeaderFontSize" | "mobileModalHeaderLineHeight" | "mobileModalHeaderPadding" | "mobileModalBodyPadding" | "mobileModalBodyFontSize" | "mobileModalFooterPadding" | "mobileModalPaddingBottom" | "sidePageFooterPanelBg" | "sidePageBackingBg" | "sidePageBackingBgOpacity" | "sidePageCloseButtonColor" | "sidePageCloseButtonHoverColor" | "sidePageContainerShadow" | "mobileSidePagePaddingLeft" | "mobileSidePagePaddingRight" | "mobileSidePagePaddingTop" | "mobileSidePagePaddingBottom" | "mobileSidePageFooterPadding" | "sidePagePaddingLeft" | "sidePagePaddingRight" | "sidePagePaddingTop" | "sidePagePaddingBottom" | "sidePageFooterPaddingTop" | "sidePageFooterPaddingBottom" | "sidePageBgDefault" | "sidePageHeaderTextColor" | "sidePageBodyTextColor" | "sidePageFooterTextColor" | "sidePageHeaderFontSize" | "sidePageHeaderLineHeight" | "sidePageHeaderPaddingBottom" | "sidePageHeaderPaddingTop" | "sidePageHeaderFixedFontSize" | "sidePageHeaderFixedLineHeight" | "sidePageHeaderFixedPaddingY" | "sidePageHeaderStickyOffset" | "sidePageCloseButtonPadding" | "mobileSidePageCloseButtonPadding" | "sidePageCloseButtonLegacyPaddingLeft" | "sidePageFooterPanelPaddingTop" | "sidePageFooterPanelPaddingBottom" | "sidePageCloseIconSize" | "sidePageCloseButtonClickArea" | "mobileSidePageCloseButtonClickArea" | "sidePageFixedHeaderShadow" | "sidePageFixedFooterShadow" | "sidePageFixedPanelShadow" | "mobileSidePageHeaderFontSize" | "mobileSidePageHeaderLineHeight" | "mobileSidePageHeaderPaddingBottom" | "mobileSidePageHeaderPaddingTop" | "dateInputIconColor" | "dateInputMaskColor" | "dateInputComponentSelectedBgColor" | "calendarCellBg" | "calendarCellHoverColor" | "calendarCellActiveHoverColor" | "calendarCellWeekendColor" | "calendarCellTodayBorder" | "calendarCellSelectedBgColor" | "calendarCellSelectedFontColor" | "calendarCellSize" | "calendarCellLineHeight" | "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" | "pagingPageLinkBorderRadius" | "pagingPageLinkHintColor" | "pagingPageLinkHintFontSize" | "pagingPageLinkHintLineHeight" | "pagingPageLinkMargin" | "pagingForwardLinkColor" | "pagingForwardLinkDisabledColor" | "hintColor" | "mobileHintColor" | "hintFontSize" | "hintLineHeight" | "hintMaxWidth" | "hintPaddingY" | "hintPaddingX" | "hintTextAlign" | "hintBgColor" | "hintBorder" | "hintBorderRadius" | "hintPinOffset" | "hintMargin" | "toastFontSize" | "toastLineHeight" | "toastPaddingY" | "toastPaddingX" | "toastBorderRadius" | "toastBorder" | "toastTop" | "toastBg" | "toastColor" | "toastLinkColor" | "toastClosePadding" | "toastCloseColor" | "toastCloseHoverColor" | "toastCloseSize" | "dropdownMenuSelectedBg" | "dropdownMenuHoverBg" | "menuBgDefault" | "menuBorderRadius" | "menuBorder" | "menuShadow" | "menuPaddingY" | "menuPaddingX" | "menuItemTextColor" | "menuItemSelectedBg" | "menuItemHoverBg" | "menuItemIconWidth" | "menuItemIconGap" | "menuItemIconLegacyMargin" | "menuItemIconLegacyShift" | "menuItemPaddingForIcon" | "menuItemLineHeight" | "menuItemFontSize" | "menuItemPaddingX" | "menuItemPaddingY" | "menuItemBorderRadius" | "menuItemLegacyPaddingX" | "menuItemLegacyPaddingY" | "menuItemHoverColor" | "menuItemDisabledColor" | "menuItemLinkColor" | "menuItemCommentColor" | "menuItemCommentColorHover" | "menuItemPaddingMobile" | "menuHeaderColor" | "menuHeaderLineHeight" | "menuHeaderFontSize" | "menuHeaderPaddingX" | "menuHeaderPaddingTop" | "menuHeaderPaddingBottom" | "menuHeaderLegacyPaddingRight" | "menuSeparatorBorderColor" | "menuSeparatorMarginY" | "menuSeparatorBorderWidth" | "toggleFontSize" | "toggleLineHeight" | "toggleTextColor" | "toggleHandleActiveWidthIncrement" | "toggleHandleBorderRadius" | "toggleHeight" | "toggleWidth" | "toggleBorderRadius" | "toggleBg" | "toggleHandleBg" | "toggleCheckedBg" | "toggleDisabledHandleBg" | "toggleBaseBg" | "toggleBgDisabled" | "toggleBgDisabledChecked" | "toggleBgHover" | "toggleCheckedBgHover" | "toggleBgChecked" | "toggleBorderWidth" | "toggleOutlineWidth" | "toggleBorderColor" | "toggleBorderColorDisabled" | "toggleBorderColorDisabledChecked" | "toggleHandleSize" | "toggleHandleLeft" | "toggleHandleTop" | "toggleBgFocus" | "toggleBgActive" | "toggleShadowColorError" | "toggleShadowColorWarning" | "toggleFocusShadowColor" | "toggleCaptionGap" | "toggleButtonOffsetY" | "popupBorder" | "popupBorderRadius" | "popupBorderColor" | "popupDropShadow" | "popupBoxShadow" | "popupTextColor" | "popupBackground" | "popupPinOffset" | "popupPinOffsetX" | "popupPinOffsetY" | "popupMargin" | "popupPinSize" | "inputTextColor" | "inputShadow" | "inputBg" | "inputIconColor" | "inputFocusedIconColor" | "inputColor" | "inputWidth" | "inputTextColorDisabled" | "inputFontSizeSmall" | "inputFontSizeMedium" | "inputFontSizeLarge" | "inputLineHeightSmall" | "inputLineHeightMedium" | "inputLineHeightLarge" | "inputHeightSmall" | "inputHeightMedium" | "inputHeightLarge" | "inputPaddingYSmall" | "inputPaddingYMedium" | "inputPaddingYLarge" | "inputPaddingXSmall" | "inputPaddingXMedium" | "inputPaddingXLarge" | "inputIconGapSmall" | "inputIconGapMedium" | "inputIconGapLarge" | "inputIconSizeSmall" | "inputIconSizeMedium" | "inputIconSizeLarge" | "inputFocusShadow" | "inputFocusedBg" | "inputDisabledBg" | "inputDisabledBorderColor" | "inputFocusOutline" | "inputBorderWidth" | "inputOutlineWidth" | "inputBorderRadiusSmall" | "inputBorderRadiusMedium" | "inputBorderRadiusLarge" | "inputBorderColor" | "inputBorderColorFocus" | "inputBorderColorError" | "inputBorderColorWarning" | "inputBorderTopColor" | "inputPlaceholderColor" | "inputPlaceholderColorDisabled" | "inputPlaceholderColorLight" | "inputBlinkColor" | "checkboxFontSize" | "checkboxLineHeight" | "checkboxBoxSize" | "checkboxCaptionGap" | "checkboxPaddingY" | "checkboxBoxOffsetY" | "checkboxBgStart" | "checkboxBgEnd" | "checkboxTextColorDefault" | "checkboxTextColorDisabled" | "checkboxShadowDisabled" | "checkboxBorder" | "checkboxBorderWidth" | "checkboxShadow" | "checkboxShadowHover" | "checkboxCheckedColor" | "checkboxOutlineColorFocus" | "checkboxBorderColorWarning" | "checkboxBorderColorError" | "checkboxCheckedHoverShadow" | "checkboxBorderRadius" | "checkboxOutlineWidth" | "checkboxCheckedShadow" | "checkboxCheckedActiveShadow" | "checkboxBorderColorFocus" | "checkboxBg" | "checkboxHoverBg" | "checkboxActiveBg" | "checkboxCheckedBg" | "checkboxBgDisabled" | "checkboxCheckedHoverBg" | "checkboxCheckedActiveBg" | "checkboxShadowActive" | "textareaBg" | "textareaColor" | "textareaTextColorDisabled" | "textareaPlaceholderColorLight" | "textareaPlaceholderColor" | "textareaPlaceholderColorDisabled" | "textareaShadow" | "textareaFontSize" | "textareaLineHeight" | "textareaBorderRadius" | "textareaBorderWidth" | "textareaOutlineWidth" | "textareaMinHeight" | "textareaWidth" | "textareaPaddingX" | "textareaPaddingY" | "textareaBorderColor" | "textareaBorderTopColor" | "textareaBorderColorFocus" | "textareaBorderColorWarning" | "textareaBorderColorError" | "textareaDisabledBg" | "textareaDisabledBorderColor" | "textareaCounterColor" | "textareaCounterBg" | "textareaCounterErrorColor" | "textareaCounterHelpIconColor" | "radioBulletSize" | "radioOutlineWidth" | "radioTextColor" | "radioSize" | "radioSizeAfter" | "radioFontSize" | "radioLineHeight" | "radioCaptionGap" | "radioPaddingY" | "radioVerticalAlign" | "radioBgImage" | "radioBgColor" | "radioHoverBg" | "radioActiveBg" | "radioBorderWidth" | "radioBorderColor" | "radioBoxShadow" | "radioBorder" | "radioBorderColorFocus" | "radioBorderColorWarning" | "radioBorderColorError" | "radioHoverShadow" | "radioActiveShadow" | "radioFocusShadow" | "radioCheckedBgColor" | "radioCheckedBorderColor" | "radioCheckedBulletColor" | "radioCheckedHoverBgColor" | "radioDisabledBg" | "radioDisabledShadow" | "radioCaptionDisplay" | "radioBorderWidthCompensation" | "radioCircleOffsetY" | "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" | "switcherBorderRadius" | "switcherTextColor" | "switcherOutlineWidth" | "switcherCaptionFontSizeSmall" | "switcherCaptionFontSizeMedium" | "switcherCaptionFontSizeLarge" | "switcherCaptionLineHeightSmall" | "switcherCaptionLineHeightMedium" | "switcherCaptionLineHeightLarge" | "switcherCaptionGapSmall" | "switcherCaptionGapMedium" | "switcherCaptionGapLarge" | "switcherButtonPaddingXSmall" | "switcherButtonPaddingXMedium" | "switcherButtonPaddingXLarge" | "switcherButtonPaddingYSmall" | "switcherButtonPaddingYMedium" | "switcherButtonPaddingYLarge" | "switcherButtonLineHeightSmall" | "switcherButtonLineHeightMedium" | "switcherButtonLineHeightLarge" | "switcherButtonFontSizeSmall" | "switcherButtonFontSizeMedium" | "switcherButtonFontSizeLarge" | "switcherButtonBorderRadiusSmall" | "switcherButtonBorderRadiusMedium" | "switcherButtonBorderRadiusLarge" | "switcherButtonBorderWidth" | "switcherButtonDisabledBorderColor" | "switcherButtonCheckedDisabledShadow" | "mobilePopupTopPadding" | "mobilePopupHeaderPadding" | "mobilePopupHeaderBorderRadius" | "mobilePopupHeaderShadow" | "mobilePopupHeaderFontSize" | "mobilePopupHeaderLineHeight" | "mobilePopupHeaderFontWeight" | "mobilePopupHeaderChildPadding" | "scrollContainerScrollBarSize" | "scrollContainerScrollBarHoverSize" | "scrollContainerScrollBarColor" | "scrollContainerScrollBarInvertColor" | "passwordInputVisibilityIconColor" | "passwordInputVisibilityIconOpacity" | "passwordInputVisibilityIconHoverColor" | "passwordInputVisibilityIconHoverOpacity" | "globalLoaderColor" | "globalLoaderHeight" | "globalLoaderWidth" | "globalLoaderPosition" | "globalLoaderTop" | "globalLoaderLeft" | "globalLoaderBottom" | "globalLoaderRight" | "globalLoaderBackgroundColor" | "globalLoaderTransitionToSpinnerDuration" | "globalLoaderSpinnerAnimationDuration" | "globalLoaderSlowAnimationDuration" | "globalLoaderTransitionFromSpinnerDuration" | "fileUploaderWidth" | "fileUploaderBg" | "fileUploaderFontSize" | "fileUploaderLineHeight" | "fileUploaderTextColorDefault" | "fileUploaderPaddingX" | "fileUploaderPaddingY" | "fileUploaderBorderRadius" | "fileUploaderBorderColor" | "fileUploaderBorderWidth" | "fileUploaderBorderStyle" | "fileUploaderBorderColorFocus" | "fileUploaderLinkColor" | "fileUploaderIconSize" | "fileUploaderIconColor" | "fileUploaderIconHoverColor" | "fileUploaderBorderColorError" | "fileUploaderBorderColorWarning" | "fileUploaderDisabledBg" | "fileUploaderDisabledBorderColor" | "fileUploaderDisabledTextColor" | "fileUploaderDisabledLinkColor" | "fileUploaderDisabledIconColor" | "fileUploaderLinkHoverTextDecoration" | "fileUploaderHoveredBg")[];
20
+ export declare const ALL_USED_VARIABLES: ("black" | "blue" | "gray" | "green" | "red" | "white" | "yellow" | "prototype" | "fontFamilyCompensationBaseline" | "labGrotesqueBaselineCompensation" | "brandXLight" | "brandLight" | "brand" | "brandDark" | "brandXDark" | "grayXxLight" | "grayXLight" | "grayLight" | "grayDark" | "blueXxLight" | "blueLight" | "blueDark" | "blueXDark" | "greenXxLight" | "greenDark" | "redXxLight" | "redDark" | "yellowXxLight" | "yellowDark" | "bgDefault" | "bgSecondary" | "bgDisabled" | "errorMain" | "errorSecondary" | "errorText" | "warningMain" | "warningSecondary" | "warningText" | "borderColorFocusLight" | "borderColorGrayDark" | "borderColorGrayLight" | "borderColorDisabled" | "placeholderColor" | "outlineColorFocus" | "placeholderColorLight" | "blinkColor" | "controlBorderWidth" | "controlOutlineWidth" | "controlLineHeightSmall" | "controlLineHeightMedium" | "controlLineHeightLarge" | "controlPaddingYSmall" | "controlPaddingYMedium" | "controlPaddingYLarge" | "textColorDefault" | "textColorInvert" | "textColorDisabled" | "textColorDisabledContrast" | "fontSizeSmall" | "fontSizeMedium" | "fontSizeLarge" | "fontSizeMobile" | "lineHeightMobile" | "specificityLevel" | "fixedPanelShadow" | "bgActive" | "borderColorFocus" | "borderColorError" | "borderColorWarning" | "controlHeightSmall" | "controlHeightMedium" | "controlHeightLarge" | "mobileMediaQuery" | "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" | "tokenInputBorderRadius" | "tokenInputPlaceholderColor" | "tokenInputPlaceholderColorLight" | "tokenInputDisabledBg" | "tokenInputDisabledBorderColor" | "tokenInputBorderWidth" | "tokenInputOutlineWidth" | "tokenInputBg" | "tokenInputShadow" | "tokenInputTextColor" | "tokenInputTextColorDisabled" | "tokenInputPlaceholderColorDisabled" | "tokenInputPaddingY" | "tokenInputPaddingX" | "tokenInputFontSize" | "tokenInputLineHeight" | "tokenInputInputPaddingLeft" | "tokenInputInputPaddingRight" | "loaderBg" | "loaderOpacity" | "btnBackgroundClip" | "btnArrowBgImageActive" | "btnArrowBgImageChecked" | "btnLinkBorderRadius" | "btnFocusShadowWidth" | "btnDisabledBorderColor" | "btnCheckedBg" | "btnCheckedDisabledBg" | "btnCheckedDisabledColor" | "btnCheckedTextColor" | "btnCheckedDisabledBorderColor" | "btnCheckedShadow" | "btnCheckedDisabledShadow" | "btnBorderRadiusSmall" | "btnBorderRadiusMedium" | "btnBorderRadiusLarge" | "btnBorderWidth" | "btnInsetWidth" | "btnOutlineWidth" | "btnPaddingXSmall" | "btnPaddingXMedium" | "btnPaddingXLarge" | "btnIconGapSmall" | "btnIconGapMedium" | "btnIconGapLarge" | "btnIconSizeSmall" | "btnIconSizeMedium" | "btnIconSizeLarge" | "btnDefaultBg" | "btnDefaultBgStart" | "btnDefaultBgEnd" | "btnDefaultCheckedBorderColor" | "btnDefaultTextColor" | "btnDefaultHoverBg" | "btnDefaultHoverBgStart" | "btnDefaultHoverBgEnd" | "btnDefaultActiveBg" | "btnDefaultHoverBorderColor" | "btnDefaultHoverBorderBottomColor" | "btnDefaultActiveBorderColor" | "btnDefaultActiveBorderTopColor" | "btnDefaultBorderColor" | "btnDefaultBorderBottomColor" | "btnDefaultActiveShadow" | "btnSuccessBg" | "btnSuccessHoverBg" | "btnSuccessHoverBorderColor" | "btnSuccessHoverBorderBottomColor" | "btnSuccessBorderColor" | "btnSuccessBorderBottomColor" | "btnSuccessBgStart" | "btnSuccessBgEnd" | "btnSuccessTextColor" | "btnSuccessHoverBgStart" | "btnSuccessHoverBgEnd" | "btnSuccessActiveBg" | "btnSuccessActiveBorderColor" | "btnSuccessActiveBorderTopColor" | "btnSuccessActiveShadow" | "btnPrimaryBg" | "btnPrimaryHoverBg" | "btnPrimaryHoverBorderColor" | "btnPrimaryHoverBorderBottomColor" | "btnPrimaryBorderColor" | "btnPrimaryBorderBottomColor" | "btnPrimaryBgStart" | "btnPrimaryBgEnd" | "btnPrimaryTextColor" | "btnPrimaryHoverBgStart" | "btnPrimaryHoverBgEnd" | "btnPrimaryActiveBg" | "btnPrimaryActiveBorderColor" | "btnPrimaryActiveBorderTopColor" | "btnPrimaryActiveShadow" | "btnDangerBg" | "btnDangerHoverBg" | "btnDangerHoverBorderColor" | "btnDangerHoverBorderBottomColor" | "btnDangerBorderColor" | "btnDangerBorderBottomColor" | "btnDangerBgStart" | "btnDangerBgEnd" | "btnDangerTextColor" | "btnDangerHoverBgStart" | "btnDangerHoverBgEnd" | "btnDangerActiveBg" | "btnDangerActiveBorderColor" | "btnDangerActiveBorderTopColor" | "btnDangerActiveShadow" | "btnPayBg" | "btnPayHoverBg" | "btnPayHoverBorderColor" | "btnPayHoverBorderBottomColor" | "btnPayBorderColor" | "btnPayBorderBottomColor" | "btnPayBgStart" | "btnPayBgEnd" | "btnPayTextColor" | "btnPayHoverBgStart" | "btnPayHoverBgEnd" | "btnPayActiveBg" | "btnPayActiveBorderColor" | "btnPayActiveBorderTopColor" | "btnPayActiveShadow" | "btnMenuArrowColor" | "btnFontSizeSmall" | "btnFontSizeMedium" | "btnFontSizeLarge" | "btnLineHeightSmall" | "btnLineHeightMedium" | "btnLineHeightLarge" | "btnPaddingYSmall" | "btnPaddingYMedium" | "btnPaddingYLarge" | "btnDisabledBg" | "btnBorderColorWarning" | "btnBorderColorError" | "btnHeightSmall" | "btnHeightMedium" | "btnHeightLarge" | "btnLinkColor" | "btnLinkHoverColor" | "btnLinkActiveColor" | "btnLinkHoverTextDecoration" | "btnLinkIconMarginRight" | "btnErrorSecondary" | "btnWarningSecondary" | "btnOutlineColorFocus" | "btnInsetColor" | "btnBorderColorFocus" | "btnLinkDisabledColor" | "btnDisabledTextColor" | "selectDefaultBg" | "selectPlaceholderColor" | "selectBorderWidth" | "selectPlaceholderColorDisabled" | "selectOutlineWidth" | "selectLineHeightSmall" | "selectFontSizeSmall" | "selectPaddingXSmall" | "selectPaddingYSmall" | "selectBorderRadiusSmall" | "selectIconGapSmall" | "selectLineHeightMedium" | "selectFontSizeMedium" | "selectPaddingXMedium" | "selectPaddingYMedium" | "selectBorderRadiusMedium" | "selectIconGapMedium" | "selectLineHeightLarge" | "selectFontSizeLarge" | "selectPaddingXLarge" | "selectPaddingYLarge" | "selectBorderRadiusLarge" | "selectIconGapLarge" | "selectMenuArrowColor" | "selectMenuArrowColorDisabled" | "selectIconSizeSmall" | "selectIconSizeMedium" | "selectIconSizeLarge" | "selectRootWidthMobile" | "selectTextColorDisabled" | "selectBgDisabled" | "selectBorderColorDisabled" | "tooltipPaddingY" | "tooltipPaddingX" | "tooltipCloseBtnPadding" | "tooltipCloseBtnColor" | "tooltipCloseBtnHoverColor" | "tooltipTextColor" | "tooltipBorder" | "tooltipBorderRadius" | "tooltipPinOffset" | "tooltipPinOffsetX" | "tooltipPinOffsetY" | "tooltipMargin" | "tooltipPinSize" | "tooltipFontSize" | "tooltipLineHeight" | "tooltipMenuPinOffset" | "tooltipMenuMargin" | "tooltipMenuPinSize" | "kebabPinOffset" | "kebabPinSize" | "kebabMargin" | "kebabBackground" | "kebabBackgroundHover" | "kebabBorderRadius" | "kebabBorder" | "modalBackBg" | "modalBg" | "modalBackOpacity" | "modalCloseButtonColor" | "modalCloseButtonDisabledColor" | "modalCloseButtonHoverColor" | "modalCloseButtonPadding" | "modalCloseButtonLegacyShift" | "modalCloseButtonBottomPadding" | "modalCloseButtonClickArea" | "modalCloseIconSize" | "modalCloseLegacyGap" | "modalCloseWrapperLegacyGap" | "modalBorderRadius" | "modalFixedHeaderBg" | "modalFixedHeaderShadow" | "modalFixedHeaderBorder" | "modalFixedFooterBorder" | "modalFixedFooterShadow" | "modalFixedPanelShadow" | "modalFooterBg" | "modalAdaptiveThreshold" | "modalPaddingTop" | "modalPaddingLeft" | "modalPaddingRight" | "modalHeaderFontSize" | "modalHeaderTextColor" | "modalHeaderLineHeight" | "modalHeaderPaddingBottom" | "modalHeaderPaddingTop" | "modalFixedHeaderPaddingBottom" | "modalBodyTextColor" | "modalFooterTextColor" | "modalBodyPaddingBottom" | "modalFooterPaddingTop" | "modalFooterPaddingBottom" | "modalPaddingBottom" | "modalFooterPanelPaddingTop" | "modalFooterPanelPaddingBottom" | "mobileModalCloseButtonRightPadding" | "mobileModalCloseButtonTopPadding" | "mobileModalCloseButtonClickArea" | "mobileModalCloseIconSize" | "mobileModalHeaderFontSize" | "mobileModalHeaderLineHeight" | "mobileModalHeaderPadding" | "mobileModalBodyPadding" | "mobileModalBodyFontSize" | "mobileModalFooterPadding" | "mobileModalPaddingBottom" | "sidePageFooterPanelBg" | "sidePageBackingBg" | "sidePageBackingBgOpacity" | "sidePageCloseButtonColor" | "sidePageCloseButtonHoverColor" | "sidePageContainerShadow" | "mobileSidePagePaddingLeft" | "mobileSidePagePaddingRight" | "mobileSidePagePaddingTop" | "mobileSidePagePaddingBottom" | "mobileSidePageFooterPadding" | "sidePagePaddingLeft" | "sidePagePaddingRight" | "sidePagePaddingTop" | "sidePagePaddingBottom" | "sidePageFooterPaddingTop" | "sidePageFooterPaddingBottom" | "sidePageBgDefault" | "sidePageHeaderTextColor" | "sidePageBodyTextColor" | "sidePageFooterTextColor" | "sidePageHeaderFontSize" | "sidePageHeaderLineHeight" | "sidePageHeaderPaddingBottom" | "sidePageHeaderPaddingTop" | "sidePageHeaderFixedFontSize" | "sidePageHeaderFixedLineHeight" | "sidePageHeaderFixedPaddingY" | "sidePageHeaderStickyOffset" | "sidePageCloseButtonPadding" | "mobileSidePageCloseButtonPadding" | "sidePageCloseButtonLegacyPaddingLeft" | "sidePageFooterPanelPaddingTop" | "sidePageFooterPanelPaddingBottom" | "sidePageCloseIconSize" | "sidePageCloseButtonClickArea" | "mobileSidePageCloseButtonClickArea" | "sidePageFixedHeaderShadow" | "sidePageFixedFooterShadow" | "sidePageFixedPanelShadow" | "mobileSidePageHeaderFontSize" | "mobileSidePageHeaderLineHeight" | "mobileSidePageHeaderPaddingBottom" | "mobileSidePageHeaderPaddingTop" | "dateInputIconColor" | "dateInputMaskColor" | "dateInputComponentSelectedBgColor" | "calendarCellBg" | "calendarCellHoverColor" | "calendarCellActiveHoverColor" | "calendarCellWeekendColor" | "calendarCellTodayBorder" | "calendarCellSelectedBgColor" | "calendarCellSelectedFontColor" | "calendarCellSize" | "calendarCellLineHeight" | "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" | "pagingPageLinkDisabledActiveBg" | "pagingPageLinkActiveColor" | "pagingPageLinkHoverBg" | "pagingPageLinkBorderRadius" | "pagingPageLinkHintColor" | "pagingPageLinkHintFontSize" | "pagingPageLinkHintLineHeight" | "pagingPageLinkMargin" | "pagingForwardLinkColor" | "pagingForwardLinkDisabledColor" | "hintColor" | "mobileHintColor" | "hintFontSize" | "hintLineHeight" | "hintMaxWidth" | "hintPaddingY" | "hintPaddingX" | "hintTextAlign" | "hintBgColor" | "hintBorder" | "hintBorderRadius" | "hintPinOffset" | "hintMargin" | "toastFontSize" | "toastLineHeight" | "toastPaddingY" | "toastPaddingX" | "toastBorderRadius" | "toastBorder" | "toastTop" | "toastBg" | "toastColor" | "toastLinkColor" | "toastClosePadding" | "toastCloseColor" | "toastCloseHoverColor" | "toastCloseSize" | "dropdownMenuSelectedBg" | "dropdownMenuHoverBg" | "menuBgDefault" | "menuBorderRadius" | "menuBorder" | "menuShadow" | "menuPaddingY" | "menuPaddingX" | "menuItemTextColor" | "menuItemSelectedBg" | "menuItemHoverBg" | "menuItemIconWidth" | "menuItemIconGap" | "menuItemIconLegacyMargin" | "menuItemIconLegacyShift" | "menuItemPaddingForIcon" | "menuItemLineHeight" | "menuItemFontSize" | "menuItemPaddingX" | "menuItemPaddingY" | "menuItemBorderRadius" | "menuItemLegacyPaddingX" | "menuItemLegacyPaddingY" | "menuItemHoverColor" | "menuItemDisabledColor" | "menuItemLinkColor" | "menuItemCommentColor" | "menuItemCommentColorHover" | "menuItemPaddingMobile" | "menuHeaderColor" | "menuHeaderLineHeight" | "menuHeaderFontSize" | "menuHeaderPaddingX" | "menuHeaderPaddingTop" | "menuHeaderPaddingBottom" | "menuHeaderLegacyPaddingRight" | "menuSeparatorBorderColor" | "menuSeparatorMarginY" | "menuSeparatorBorderWidth" | "toggleFontSize" | "toggleLineHeight" | "toggleTextColor" | "toggleHandleActiveWidthIncrement" | "toggleHandleBorderRadius" | "toggleHeight" | "toggleWidth" | "toggleBorderRadius" | "toggleBg" | "toggleHandleBg" | "toggleCheckedBg" | "toggleDisabledHandleBg" | "toggleBaseBg" | "toggleBgDisabled" | "toggleBgDisabledChecked" | "toggleBgHover" | "toggleCheckedBgHover" | "toggleBgChecked" | "toggleBorderWidth" | "toggleOutlineWidth" | "toggleBorderColor" | "toggleBorderColorDisabled" | "toggleBorderColorDisabledChecked" | "toggleHandleSize" | "toggleHandleLeft" | "toggleHandleTop" | "toggleBgFocus" | "toggleBgActive" | "toggleShadowColorError" | "toggleShadowColorWarning" | "toggleFocusShadowColor" | "toggleCaptionGap" | "toggleButtonOffsetY" | "popupBorder" | "popupBorderRadius" | "popupBorderColor" | "popupDropShadow" | "popupBoxShadow" | "popupTextColor" | "popupBackground" | "popupPinOffset" | "popupPinOffsetX" | "popupPinOffsetY" | "popupMargin" | "popupPinSize" | "inputTextColor" | "inputShadow" | "inputBg" | "inputIconColor" | "inputFocusedIconColor" | "inputColor" | "inputWidth" | "inputTextColorDisabled" | "inputFontSizeSmall" | "inputFontSizeMedium" | "inputFontSizeLarge" | "inputLineHeightSmall" | "inputLineHeightMedium" | "inputLineHeightLarge" | "inputHeightSmall" | "inputHeightMedium" | "inputHeightLarge" | "inputPaddingYSmall" | "inputPaddingYMedium" | "inputPaddingYLarge" | "inputPaddingXSmall" | "inputPaddingXMedium" | "inputPaddingXLarge" | "inputIconGapSmall" | "inputIconGapMedium" | "inputIconGapLarge" | "inputIconSizeSmall" | "inputIconSizeMedium" | "inputIconSizeLarge" | "inputFocusShadow" | "inputFocusedBg" | "inputDisabledBg" | "inputDisabledBorderColor" | "inputFocusOutline" | "inputBorderWidth" | "inputOutlineWidth" | "inputBorderRadiusSmall" | "inputBorderRadiusMedium" | "inputBorderRadiusLarge" | "inputBorderColor" | "inputBorderColorFocus" | "inputBorderColorError" | "inputBorderColorWarning" | "inputBorderTopColor" | "inputPlaceholderColor" | "inputPlaceholderColorDisabled" | "inputPlaceholderColorLight" | "inputBlinkColor" | "checkboxFontSize" | "checkboxLineHeight" | "checkboxBoxSize" | "checkboxCaptionGap" | "checkboxPaddingY" | "checkboxBoxOffsetY" | "checkboxBgStart" | "checkboxBgEnd" | "checkboxTextColorDefault" | "checkboxTextColorDisabled" | "checkboxShadowDisabled" | "checkboxBorder" | "checkboxBorderWidth" | "checkboxShadow" | "checkboxShadowHover" | "checkboxCheckedColor" | "checkboxOutlineColorFocus" | "checkboxBorderColorWarning" | "checkboxBorderColorError" | "checkboxCheckedHoverShadow" | "checkboxBorderRadius" | "checkboxOutlineWidth" | "checkboxCheckedShadow" | "checkboxCheckedActiveShadow" | "checkboxBorderColorFocus" | "checkboxBg" | "checkboxHoverBg" | "checkboxActiveBg" | "checkboxCheckedBg" | "checkboxBgDisabled" | "checkboxCheckedHoverBg" | "checkboxCheckedActiveBg" | "checkboxShadowActive" | "textareaBg" | "textareaColor" | "textareaTextColorDisabled" | "textareaPlaceholderColorLight" | "textareaPlaceholderColor" | "textareaPlaceholderColorDisabled" | "textareaShadow" | "textareaFontSize" | "textareaLineHeight" | "textareaBorderRadius" | "textareaBorderWidth" | "textareaOutlineWidth" | "textareaMinHeight" | "textareaWidth" | "textareaPaddingX" | "textareaPaddingY" | "textareaBorderColor" | "textareaBorderTopColor" | "textareaBorderColorFocus" | "textareaBorderColorWarning" | "textareaBorderColorError" | "textareaDisabledBg" | "textareaDisabledBorderColor" | "textareaCounterColor" | "textareaCounterBg" | "textareaCounterErrorColor" | "textareaCounterHelpIconColor" | "radioBulletSize" | "radioOutlineWidth" | "radioTextColor" | "radioSize" | "radioSizeAfter" | "radioFontSize" | "radioLineHeight" | "radioCaptionGap" | "radioPaddingY" | "radioVerticalAlign" | "radioBgImage" | "radioBgColor" | "radioHoverBg" | "radioActiveBg" | "radioBorderWidth" | "radioBorderColor" | "radioBoxShadow" | "radioBorder" | "radioBorderColorFocus" | "radioBorderColorWarning" | "radioBorderColorError" | "radioHoverShadow" | "radioActiveShadow" | "radioFocusShadow" | "radioCheckedBgColor" | "radioCheckedBorderColor" | "radioCheckedBulletColor" | "radioCheckedHoverBgColor" | "radioDisabledBg" | "radioDisabledShadow" | "radioCaptionDisplay" | "radioBorderWidthCompensation" | "radioCircleOffsetY" | "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" | "switcherBorderRadius" | "switcherTextColor" | "switcherOutlineWidth" | "switcherCaptionFontSizeSmall" | "switcherCaptionFontSizeMedium" | "switcherCaptionFontSizeLarge" | "switcherCaptionLineHeightSmall" | "switcherCaptionLineHeightMedium" | "switcherCaptionLineHeightLarge" | "switcherCaptionGapSmall" | "switcherCaptionGapMedium" | "switcherCaptionGapLarge" | "switcherButtonPaddingXSmall" | "switcherButtonPaddingXMedium" | "switcherButtonPaddingXLarge" | "switcherButtonPaddingYSmall" | "switcherButtonPaddingYMedium" | "switcherButtonPaddingYLarge" | "switcherButtonLineHeightSmall" | "switcherButtonLineHeightMedium" | "switcherButtonLineHeightLarge" | "switcherButtonFontSizeSmall" | "switcherButtonFontSizeMedium" | "switcherButtonFontSizeLarge" | "switcherButtonBorderRadiusSmall" | "switcherButtonBorderRadiusMedium" | "switcherButtonBorderRadiusLarge" | "switcherButtonBorderWidth" | "switcherButtonDisabledBorderColor" | "switcherButtonCheckedDisabledShadow" | "mobilePopupTopPadding" | "mobilePopupHeaderPadding" | "mobilePopupHeaderBorderRadius" | "mobilePopupHeaderShadow" | "mobilePopupHeaderFontSize" | "mobilePopupHeaderLineHeight" | "mobilePopupHeaderFontWeight" | "mobilePopupHeaderChildPadding" | "scrollContainerScrollBarSize" | "scrollContainerScrollBarHoverSize" | "scrollContainerScrollBarColor" | "scrollContainerScrollBarInvertColor" | "passwordInputVisibilityIconColor" | "passwordInputVisibilityIconOpacity" | "passwordInputVisibilityIconHoverColor" | "passwordInputVisibilityIconHoverOpacity" | "globalLoaderColor" | "globalLoaderHeight" | "globalLoaderWidth" | "globalLoaderPosition" | "globalLoaderTop" | "globalLoaderLeft" | "globalLoaderBottom" | "globalLoaderRight" | "globalLoaderBackgroundColor" | "globalLoaderTransitionToSpinnerDuration" | "globalLoaderSpinnerAnimationDuration" | "globalLoaderSlowAnimationDuration" | "globalLoaderTransitionFromSpinnerDuration" | "fileUploaderWidth" | "fileUploaderBg" | "fileUploaderFontSize" | "fileUploaderPaddingXSmall" | "fileUploaderPaddingXMedium" | "fileUploaderPaddingXLarge" | "fileUploaderFontSizeSmall" | "fileUploaderFontSizeMedium" | "fileUploaderFontSizeLarge" | "fileUploaderLineHeight" | "fileUploaderLineHeightSmall" | "fileUploaderLineHeightMedium" | "fileUploaderLineHeightLarge" | "fileUploaderPaddingYSmall" | "fileUploaderPaddingYMedium" | "fileUploaderPaddingYLarge" | "fileUploaderTextColorDefault" | "fileUploaderPaddingX" | "fileUploaderPaddingY" | "fileUploaderBorderRadius" | "fileUploaderBorderColor" | "fileUploaderBorderWidth" | "fileUploaderBorderStyle" | "fileUploaderBorderColorFocus" | "fileUploaderLinkColor" | "fileUploaderIconSize" | "fileUploaderIconColor" | "fileUploaderIconHoverColor" | "fileUploaderBorderColorError" | "fileUploaderBorderColorWarning" | "fileUploaderDisabledBg" | "fileUploaderDisabledBorderColor" | "fileUploaderDisabledTextColor" | "fileUploaderDisabledLinkColor" | "fileUploaderDisabledIconColor" | "fileUploaderLinkHoverTextDecoration" | "fileUploaderHoveredBg" | "fileUploaderIconGapSmall" | "fileUploaderIconGapMedium" | "fileUploaderIconGapLarge")[];
21
21
  export declare const CALLS_COUNT: number;
22
22
  export declare const EXECUTION_TIME: number;
@@ -217,6 +217,7 @@ DarkTheme.calendarCellSelectedBgColor = 'rgba(255, 255, 255, 0.16)';
217
217
  DarkTheme.calendarMonthTitleBorderBottomColor = 'rgba(255, 255, 255, 0.08)';
218
218
  DarkTheme.pagingPageLinkHoverBg = 'rgba(255, 255, 255, 0.8)';
219
219
  DarkTheme.pagingPageLinkActiveBg = 'rgba(255, 255, 255, 0.16)';
220
+ DarkTheme.pagingPageLinkDisabledActiveBg = 'rgba(255, 255, 255, 0.08)';
220
221
  DarkTheme.toastLinkColor = '#51adff';
221
222
  DarkTheme.toastCloseColor = 'rgba(255, 255, 255, 0.6)';
222
223
  DarkTheme.menuItemCommentColor = 'rgba(255, 255, 255, 0.48)';
@@ -1 +1 @@
1
- {"version":3,"sources":["DarkTheme.ts"],"names":["exposeGetters","DefaultThemeInternal","DarkTheme","borderColorGrayLight","textColorDefault","fixedPanelShadow","bgDisabled","inputBorderColor","textareaBorderColor","textareaDisabledBg","gray","checkboxBorderWidth","checkboxShadow","borderColorDisabled","grayXLight","grayDark","green","greenDark","red","redDark","yellowXxLight","yellow","yellowDark","warningMain","errorMain","errorText","borderColorFocusLight","placeholderColor","placeholderColorLight","textColorDisabled","textColorDisabledContrast","textColorInvert","bgDefault","bgSecondary","outlineColorFocus","linkColor","linkHoverColor","linkActiveColor","linkSuccessColor","linkSuccessHoverColor","linkSuccessActiveColor","linkDangerColor","linkDangerHoverColor","linkDangerActiveColor","btnInsetColor","btnDefaultBg","btnDefaultHoverBg","btnDefaultActiveBg","btnSuccessBg","btnSuccessBorderColor","btnSuccessActiveBg","btnSuccessActiveBorderColor","btnPrimaryBg","btnPrimaryBorderColor","btnPrimaryActiveBg","btnPrimaryActiveBorderColor","btnDangerBg","btnDangerBorderColor","btnDangerActiveBg","btnDangerActiveBorderColor","btnPayBg","btnPayHoverBg","btnPayHoverBorderColor","btnPayTextColor","btnPayActiveBg","btnPayActiveBorderColor","btnPayBorderColor","tooltipCloseBtnColor","tooltipCloseBtnHoverColor","modalBackBg","modalCloseButtonColor","modalCloseButtonHoverColor","modalFooterBg","sidePageFooterPanelBg","sidePageBackingBg","sidePageCloseButtonColor","sidePageCloseButtonHoverColor","calendarCellWeekendColor","calendarCellTodayBorder","calendarCellSelectedBgColor","calendarMonthTitleBorderBottomColor","pagingPageLinkHoverBg","pagingPageLinkActiveBg","toastLinkColor","toastCloseColor","menuItemCommentColor","menuSeparatorBorderColor","toggleBorderColor","toggleDisabledHandleBg","toggleBaseBg","toggleBgDisabledChecked","inputBg","dateSelectMenuItemBgSelected","pickerTodayWrapperBorderTop","dateInputComponentSelectedBgColor","hintBgColor","loaderBg","dropdownMenuSelectedBg","textareaBg","passwordInputVisibilityIconOpacity","radioBgColor","radioBorderColor","checkboxBg","tokenShadowDisabled","switcherButtonCheckedDisabledShadow","fileUploaderBg","fileUploaderTextColorDefault","fileUploaderBorderColor","fileUploaderBorderColorFocus","fileUploaderLinkColor","fileUploaderIconColor","fileUploaderIconHoverColor","fileUploaderBorderColorError","fileUploaderBorderColorWarning","fileUploaderDisabledBg","fileUploaderDisabledBorderColor","fileUploaderDisabledTextColor","fileUploaderDisabledLinkColor","fileUploaderDisabledIconColor","DarkThemeInternal","Object","setPrototypeOf"],"mappings":"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,kB,GAAqB,S,CA7CxB7C,S,CAuDG8C,Y,GAAe,S,CAvDlB9C,S,CA2DG+C,qB,GAAwB,S,CA3D3B/C,S,CA4DGgD,kB,GAAqB,S,CA5DxBhD,S,CA6DGiD,2B,GAA8B,S,CA7DjCjD,S,CA8DGkD,Y,GAAe,S,CA9DlBlD,S,CAkEGmD,qB,GAAwB,S,CAlE3BnD,S,CAmEGoD,kB,GAAqB,S,CAnExBpD,S,CAoEGqD,2B,GAA8B,S,CApEjCrD,S,CAqEGsD,W,GAAc,S,CArEjBtD,S,CAyEGuD,oB,GAAuB,S,CAzE1BvD,S,CA0EGwD,iB,GAAoB,S,CA1EvBxD,S,CA2EGyD,0B,GAA6B,S,CA3EhCzD,S,CA4EG0D,Q,GAAW,S,CA5Ed1D,S,CA6EG2D,a,GAAgB,S,CA7EnB3D,S,CA8EG4D,sB,GAAyB,S,CA9E5B5D,S,CA+EG6D,e,GAAkB,S,CA/ErB7D,S,CAgFG8D,c,GAAiB,S,CAhFpB9D,S,CAiFG+D,uB,GAA0B,S,CAjF7B/D,S,CAkFGgE,iB,GAAoB,S,CAlFvBhE,S,CAqFGiE,oB,GAAuB,2B,CArF1BjE,S,CAsFGkE,yB,GAA4B,4B,CAtF/BlE,S,CAyFGmE,W,GAAc,4B,CAzFjBnE,S,CA0FGoE,qB,GAAwB,2B,CA1F3BpE,S,CA2FGqE,0B,GAA6B,4B,CA3FhCrE,S,CA4FGsE,a,GAAgB,S,CA5FnBtE,S,CAwGGuE,qB,GAAwB,U,CAxG3BvE,S,CAyGGwE,iB,GAAoB,4B,CAzGvBxE,S,CA0GGyE,wB,GAA2B,2B,CA1G9BzE,S,CA2GG0E,6B,GAAgC,4B,CA3GnC1E,S,CAuHG2E,wB,GAA2B,S,CAvH9B3E,S,CAwHG4E,uB,GAA0B,qC,CAxH7B5E,S,CAyHG6E,2B,GAA8B,2B,CAzHjC7E,S,CA0HG8E,mC,GAAsC,2B,CA1HzC9E,S,CA8HG+E,qB,GAAwB,0B,CA9H3B/E,S,CA+HGgF,sB,GAAyB,2B,CA/H5BhF,S,CAkIGiF,c,GAAiB,S,CAlIpBjF,S,CAmIGkF,e,GAAkB,0B,CAnIrBlF,S,CAuIGmF,oB,GAAuB,2B,CAvI1BnF,S,CAyIGoF,wB,GAA2B,2B,CAzI9BpF,S,CA4IGqF,iB,GAAoB,2B,CA5IvBrF,S,CA6IGsF,sB,GAAyB,S,CA7I5BtF,S,CA8IGuF,Y,GAAe,2B,CA9IlBvF,S,CAkJGwF,uB,GAA0B,2B,CAlJ7BxF,S,CAqJGyF,O,GAAU,2B,CArJbzF,S,CA2JG0F,4B,GAA+B,2B,CA3JlC1F,S,CA4JG2F,2B,GAA8B,qC,CA5JjC3F,S,CA+JG4F,iC,GAAoC,S,CA/JvC5F,S,CAkKG6F,W,GAAc,wB,CAlKjB7F,S,CAqKG8F,Q,GAAW,uB,CArKd9F,S,CAwKG+F,sB,GAAyB,2B,CAxK5B/F,S,CA2KGgG,U,GAAa,S,CA3KhBhG,S,CAuLGiG,kC,GAAqC,G,CAvLxCjG,S,CA6LGkG,Y,GAAe,2B,CA7LlBlG,S,CA8LGmG,gB,GAAmB,2B,CA9LtBnG,S,CAiMGoG,U,GAAa,2B,CAjMhBpG,S,CA0MGqG,mB,GAAsB,M,CA1MzBrG,S,CAgNGsG,mC,GAAsC,M,CAhNzCtG,S,CAmNGuG,c,GAAiB,2B,CAnNpBvG,S,CAoNGwG,4B,GAA+B,M,CApNlCxG,S,CAqNGyG,uB,GAA0B,2B,CArN7BzG,S,CAsNG0G,4B,GAA+B,S,CAtNlC1G,S,CAuNG2G,qB,GAAwB,S,CAvN3B3G,S,CAwNG4G,qB,GAAwB,2B,CAxN3B5G,S,CAyNG6G,0B,GAA6B,2B,CAzNhC7G,S,CA0NG8G,4B,GAA+B,S,CA1NlC9G,S,CA2NG+G,8B,GAAiC,S,CA3NpC/G,S,CA4NGgH,sB,GAAyB,2B,CA5N5BhH,S,CA6NGiH,+B,GAAkC,2B,CA7NrCjH,S,CA8NGkH,6B,GAAgC,2B,CA9NnClH,S,CA+NGmH,6B,GAAgC,2B,CA/NnCnH,S,CAgOGoH,6B,GAAgC,2B;;AAIhD,OAAO,IAAMC,iBAAiB,GAAGC,MAAM,CAACC,cAAP;AAC/BzH,aAAa,CAACE,SAAD,CADkB;AAE/BD,oBAF+B,CAA1B","sourcesContent":["import { exposeGetters } from '../../lib/theming/ThemeHelpers';\n\nimport { DefaultThemeInternal } from './DefaultTheme';\n\nexport class DarkTheme extends (class {} as typeof DefaultThemeInternal) {\n //#region Common variables\n public static grayXLight = '#313131';\n public static gray = 'rgba(255, 255, 255, 0.48)';\n public static grayDark = '#e1e1e1';\n public static green = '#5f9c20';\n public static greenDark = '#538a1b';\n public static red = '#ee5042';\n public static redDark = '#dd473b';\n public static yellowXxLight = '#ffe0c3';\n public static yellow = '#ffa236';\n public static yellowDark = '#ea7324';\n public static warningMain = '#ffa236';\n public static errorMain = '#ee5042';\n public static errorText = '#ffa236';\n public static borderColorFocusLight = '#1260ae';\n public static borderColorGrayLight = 'rgba(255, 255, 255, 0.16)';\n public static borderColorDisabled = 'rgba(255, 255, 255, 0.16)';\n public static placeholderColor = 'rgba(255, 255, 255, 0.32)';\n public static placeholderColorLight = 'rgba(255, 255, 255, 0.16)';\n public static textColorDefault = 'rgba(255, 255, 255, 0.865)';\n public static textColorDisabled = 'rgba(255, 255, 255, 0.32)';\n public static textColorDisabledContrast = 'rgba(255, 255, 255, 0.48)';\n public static textColorInvert = 'rgba(255, 255, 255, 0.865)';\n public static bgDisabled = '#434343';\n public static bgDefault = '#1f1f1f';\n public static bgSecondary = '#333333';\n public static outlineColorFocus = '#1f1f1f';\n //#endregion\n //#region Link\n public static linkColor = '#51adff';\n public static linkHoverColor = '#2291ff';\n public static linkActiveColor = '#1f87ef';\n public static linkSuccessColor = '#78bf2b';\n public static linkSuccessHoverColor = '#6cad26';\n public static linkSuccessActiveColor = '#5f9c20';\n public static linkDangerColor = '#ff887b';\n public static linkDangerHoverColor = '#ff5a49';\n public static linkDangerActiveColor = '#ee5042';\n public static fixedPanelShadow = '0px 0px 16px 1px rgba(0, 0, 0, 0.4)';\n //#endregion\n //#region Button\n public static btnInsetColor = '#1f1f1f';\n public static btnDefaultBg = '#282828';\n public static btnDefaultHoverBg = 'none';\n public static btnDefaultActiveBg = '#1a1a1a';\n public static get btnDefaultHoverBorderColor() {\n return this.borderColorGrayLight;\n }\n public static get btnDefaultActiveBorderColor() {\n return this.borderColorGrayLight;\n }\n public static get btnDefaultBorderColor() {\n return this.borderColorGrayLight;\n }\n public static btnSuccessBg = '#5f9c20';\n public static get btnSuccessTextColor() {\n return this.textColorDefault;\n }\n public static btnSuccessBorderColor = '#5f9c20';\n public static btnSuccessActiveBg = '#3a6710';\n public static btnSuccessActiveBorderColor = '#3a6710';\n public static btnPrimaryBg = '#1f87ef';\n public static get btnPrimaryTextColor() {\n return this.textColorDefault;\n }\n public static btnPrimaryBorderColor = '#1f87ef';\n public static btnPrimaryActiveBg = '#1261ae';\n public static btnPrimaryActiveBorderColor = '#1261ae';\n public static btnDangerBg = '#ee5042';\n public static get btnDangerTextColor() {\n return this.textColorDefault;\n }\n public static btnDangerBorderColor = '#ee5042';\n public static btnDangerActiveBg = '#a92a27';\n public static btnDangerActiveBorderColor = '#a92a27';\n public static btnPayBg = '#ffa236';\n public static btnPayHoverBg = '#ff8227';\n public static btnPayHoverBorderColor = '#ff8227';\n public static btnPayTextColor = '#222222';\n public static btnPayActiveBg = '#d46421';\n public static btnPayActiveBorderColor = '#d46421';\n public static btnPayBorderColor = '#ffa236';\n //#endregion\n //#region Tooltip\n public static tooltipCloseBtnColor = 'rgba(255, 255, 255, 0.32)';\n public static tooltipCloseBtnHoverColor = 'rgba(255, 255, 255, 0.865)';\n //#endregion\n //#region Modal\n public static modalBackBg = 'rgba(255, 255, 255, 0.865)';\n public static modalCloseButtonColor = 'rgba(255, 255, 255, 0.32)';\n public static modalCloseButtonHoverColor = 'rgba(255, 255, 255, 0.865)';\n public static modalFooterBg = '#434343';\n public static get modalBodyTextColor() {\n return this.textColorDefault;\n }\n public static get modalFooterTextColor() {\n return this.textColorDefault;\n }\n public static get modalFixedPanelShadow() {\n return this.fixedPanelShadow;\n }\n //#endregion\n //#region SidePage\n public static sidePageFooterPanelBg = ' #434343';\n public static sidePageBackingBg = 'rgba(255, 255, 255, 0.865)';\n public static sidePageCloseButtonColor = 'rgba(255, 255, 255, 0.32)';\n public static sidePageCloseButtonHoverColor = 'rgba(255, 255, 255, 0.865)';\n public static get sidePageBodyTextColor() {\n return this.textColorDefault;\n }\n public static get sidePageFooterTextColor() {\n return this.textColorDefault;\n }\n public static get sidePageFixedPanelShadow() {\n return this.fixedPanelShadow;\n }\n //#endregion\n //#region Calendar\n public static calendarCellWeekendColor = '#ff887b';\n public static calendarCellTodayBorder = '1px solid rgba(255, 255, 255, 0.48)';\n public static calendarCellSelectedBgColor = 'rgba(255, 255, 255, 0.16)';\n public static calendarMonthTitleBorderBottomColor = 'rgba(255, 255, 255, 0.08)';\n\n //#endregion\n //#region Paging\n public static pagingPageLinkHoverBg = 'rgba(255, 255, 255, 0.8)';\n public static pagingPageLinkActiveBg = 'rgba(255, 255, 255, 0.16)';\n //#endregion\n //#region Toast\n public static toastLinkColor = '#51adff';\n public static toastCloseColor = 'rgba(255, 255, 255, 0.6)';\n //#endregion\n //#region Menu\n // menuItem\n public static menuItemCommentColor = 'rgba(255, 255, 255, 0.48)';\n //menuSeparator\n public static menuSeparatorBorderColor = 'rgba(255, 255, 255, 0.08)';\n //#endregion\n //#region Toggle\n public static toggleBorderColor = 'rgba(255, 255, 255, 0.32)';\n public static toggleDisabledHandleBg = '#525252';\n public static toggleBaseBg = 'rgba(255, 255, 255, 0.04)';\n public static get toggleBgDisabled() {\n return this.bgDisabled;\n }\n public static toggleBgDisabledChecked = 'rgba(255, 255, 255, 0.48)';\n //#endregion\n //#region Input\n public static inputBg = 'rgba(255, 255, 255, 0.04)';\n public static get inputBorderTopColor() {\n return this.inputBorderColor;\n }\n //#endregion\n //#region DatePicker\n public static dateSelectMenuItemBgSelected = 'rgba(255, 255, 255, 0.08)';\n public static pickerTodayWrapperBorderTop = '1px solid rgba(255, 255, 255, 0.08)';\n //#endregion\n //#region DateInput\n public static dateInputComponentSelectedBgColor = '#1c7edf';\n //#endregion\n //#region Hint\n public static hintBgColor = 'rgba(67, 67, 67, 0.92)';\n //#endregion\n //#region Loader\n public static loaderBg = 'rgba(51, 51, 51, 0.8)';\n //#endregion\n //#region Dropdown\n public static dropdownMenuSelectedBg = 'rgba(255, 255, 255, 0.08)'; //deprecated\n //#endregion\n //#region TextArea\n public static textareaBg = '#1f1f1f';\n public static get textareaBorderTopColor() {\n return this.textareaBorderColor;\n }\n public static get textareaDisabledBorderColor() {\n return this.textareaDisabledBg;\n }\n //#endregion\n //#region PasswordInput\n public static get passwordInputVisibilityIconColor() {\n return this.gray;\n }\n public static passwordInputVisibilityIconOpacity = '1';\n public static get passwordInputVisibilityIconHoverColor() {\n return this.textColorDefault;\n }\n //#endregion\n //#region Radio\n public static radioBgColor = 'rgba(255, 255, 255, 0.04)';\n public static radioBorderColor = 'rgba(255, 255, 255, 0.32)';\n //#endregion\n //#region Checkbox\n public static checkboxBg = 'rgba(255, 255, 255, 0.04)';\n public static get checkboxShadow() {\n return `0 0 0 ${this.checkboxBorderWidth} rgba(255, 255, 255, 0.32)`;\n }\n public static get checkboxShadowHover() {\n return this.checkboxShadow;\n }\n //#endregion\n //#region TokenInput\n public static tokenShadowDisabled = 'none';\n //#endregion\n //#region Switcher\n public static get switcherButtonDisabledBorderColor() {\n return this.borderColorDisabled;\n }\n public static switcherButtonCheckedDisabledShadow = 'none';\n //#endregion\n //#region FileUploader\n public static fileUploaderBg = 'rgba(255, 255, 255, 0.04)';\n public static fileUploaderTextColorDefault = '#fff';\n public static fileUploaderBorderColor = 'rgba(255, 255, 255, 0.32)';\n public static fileUploaderBorderColorFocus = '#1f87ef';\n public static fileUploaderLinkColor = '#51adff';\n public static fileUploaderIconColor = 'rgba(255, 255, 255, 0.48)';\n public static fileUploaderIconHoverColor = 'rgba(255, 255, 255, 0.80)';\n public static fileUploaderBorderColorError = '#ee5042';\n public static fileUploaderBorderColorWarning = '#ffa236';\n public static fileUploaderDisabledBg = 'rgba(255, 255, 255, 0.16)';\n public static fileUploaderDisabledBorderColor = 'rgba(255, 255, 255, 0.32)';\n public static fileUploaderDisabledTextColor = 'rgba(255, 255, 255, 0.32)';\n public static fileUploaderDisabledLinkColor = 'rgba(255, 255, 255, 0.32)';\n public static fileUploaderDisabledIconColor = 'rgba(255, 255, 255, 0.32)';\n //#endregion\n}\n\nexport const DarkThemeInternal = Object.setPrototypeOf(\n exposeGetters(DarkTheme),\n DefaultThemeInternal,\n) as typeof DarkTheme;\n"]}
1
+ {"version":3,"sources":["DarkTheme.ts"],"names":["exposeGetters","DefaultThemeInternal","DarkTheme","borderColorGrayLight","textColorDefault","fixedPanelShadow","bgDisabled","inputBorderColor","textareaBorderColor","textareaDisabledBg","gray","checkboxBorderWidth","checkboxShadow","borderColorDisabled","grayXLight","grayDark","green","greenDark","red","redDark","yellowXxLight","yellow","yellowDark","warningMain","errorMain","errorText","borderColorFocusLight","placeholderColor","placeholderColorLight","textColorDisabled","textColorDisabledContrast","textColorInvert","bgDefault","bgSecondary","outlineColorFocus","linkColor","linkHoverColor","linkActiveColor","linkSuccessColor","linkSuccessHoverColor","linkSuccessActiveColor","linkDangerColor","linkDangerHoverColor","linkDangerActiveColor","btnInsetColor","btnDefaultBg","btnDefaultHoverBg","btnDefaultActiveBg","btnSuccessBg","btnSuccessBorderColor","btnSuccessActiveBg","btnSuccessActiveBorderColor","btnPrimaryBg","btnPrimaryBorderColor","btnPrimaryActiveBg","btnPrimaryActiveBorderColor","btnDangerBg","btnDangerBorderColor","btnDangerActiveBg","btnDangerActiveBorderColor","btnPayBg","btnPayHoverBg","btnPayHoverBorderColor","btnPayTextColor","btnPayActiveBg","btnPayActiveBorderColor","btnPayBorderColor","tooltipCloseBtnColor","tooltipCloseBtnHoverColor","modalBackBg","modalCloseButtonColor","modalCloseButtonHoverColor","modalFooterBg","sidePageFooterPanelBg","sidePageBackingBg","sidePageCloseButtonColor","sidePageCloseButtonHoverColor","calendarCellWeekendColor","calendarCellTodayBorder","calendarCellSelectedBgColor","calendarMonthTitleBorderBottomColor","pagingPageLinkHoverBg","pagingPageLinkActiveBg","pagingPageLinkDisabledActiveBg","toastLinkColor","toastCloseColor","menuItemCommentColor","menuSeparatorBorderColor","toggleBorderColor","toggleDisabledHandleBg","toggleBaseBg","toggleBgDisabledChecked","inputBg","dateSelectMenuItemBgSelected","pickerTodayWrapperBorderTop","dateInputComponentSelectedBgColor","hintBgColor","loaderBg","dropdownMenuSelectedBg","textareaBg","passwordInputVisibilityIconOpacity","radioBgColor","radioBorderColor","checkboxBg","tokenShadowDisabled","switcherButtonCheckedDisabledShadow","fileUploaderBg","fileUploaderTextColorDefault","fileUploaderBorderColor","fileUploaderBorderColorFocus","fileUploaderLinkColor","fileUploaderIconColor","fileUploaderIconHoverColor","fileUploaderBorderColorError","fileUploaderBorderColorWarning","fileUploaderDisabledBg","fileUploaderDisabledBorderColor","fileUploaderDisabledTextColor","fileUploaderDisabledLinkColor","fileUploaderDisabledIconColor","DarkThemeInternal","Object","setPrototypeOf"],"mappings":"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C,kB,GAAqB,S,CA7CxB7C,S,CAuDG8C,Y,GAAe,S,CAvDlB9C,S,CA2DG+C,qB,GAAwB,S,CA3D3B/C,S,CA4DGgD,kB,GAAqB,S,CA5DxBhD,S,CA6DGiD,2B,GAA8B,S,CA7DjCjD,S,CA8DGkD,Y,GAAe,S,CA9DlBlD,S,CAkEGmD,qB,GAAwB,S,CAlE3BnD,S,CAmEGoD,kB,GAAqB,S,CAnExBpD,S,CAoEGqD,2B,GAA8B,S,CApEjCrD,S,CAqEGsD,W,GAAc,S,CArEjBtD,S,CAyEGuD,oB,GAAuB,S,CAzE1BvD,S,CA0EGwD,iB,GAAoB,S,CA1EvBxD,S,CA2EGyD,0B,GAA6B,S,CA3EhCzD,S,CA4EG0D,Q,GAAW,S,CA5Ed1D,S,CA6EG2D,a,GAAgB,S,CA7EnB3D,S,CA8EG4D,sB,GAAyB,S,CA9E5B5D,S,CA+EG6D,e,GAAkB,S,CA/ErB7D,S,CAgFG8D,c,GAAiB,S,CAhFpB9D,S,CAiFG+D,uB,GAA0B,S,CAjF7B/D,S,CAkFGgE,iB,GAAoB,S,CAlFvBhE,S,CAqFGiE,oB,GAAuB,2B,CArF1BjE,S,CAsFGkE,yB,GAA4B,4B,CAtF/BlE,S,CAyFGmE,W,GAAc,4B,CAzFjBnE,S,CA0FGoE,qB,GAAwB,2B,CA1F3BpE,S,CA2FGqE,0B,GAA6B,4B,CA3FhCrE,S,CA4FGsE,a,GAAgB,S,CA5FnBtE,S,CAwGGuE,qB,GAAwB,U,CAxG3BvE,S,CAyGGwE,iB,GAAoB,4B,CAzGvBxE,S,CA0GGyE,wB,GAA2B,2B,CA1G9BzE,S,CA2GG0E,6B,GAAgC,4B,CA3GnC1E,S,CAuHG2E,wB,GAA2B,S,CAvH9B3E,S,CAwHG4E,uB,GAA0B,qC,CAxH7B5E,S,CAyHG6E,2B,GAA8B,2B,CAzHjC7E,S,CA0HG8E,mC,GAAsC,2B,CA1HzC9E,S,CA8HG+E,qB,GAAwB,0B,CA9H3B/E,S,CA+HGgF,sB,GAAyB,2B,CA/H5BhF,S,CAgIGiF,8B,GAAiC,2B,CAhIpCjF,S,CAmIGkF,c,GAAiB,S,CAnIpBlF,S,CAoIGmF,e,GAAkB,0B,CApIrBnF,S,CAwIGoF,oB,GAAuB,2B,CAxI1BpF,S,CA0IGqF,wB,GAA2B,2B,CA1I9BrF,S,CA6IGsF,iB,GAAoB,2B,CA7IvBtF,S,CA8IGuF,sB,GAAyB,S,CA9I5BvF,S,CA+IGwF,Y,GAAe,2B,CA/IlBxF,S,CAmJGyF,uB,GAA0B,2B,CAnJ7BzF,S,CAsJG0F,O,GAAU,2B,CAtJb1F,S,CA4JG2F,4B,GAA+B,2B,CA5JlC3F,S,CA6JG4F,2B,GAA8B,qC,CA7JjC5F,S,CAgKG6F,iC,GAAoC,S,CAhKvC7F,S,CAmKG8F,W,GAAc,wB,CAnKjB9F,S,CAsKG+F,Q,GAAW,uB,CAtKd/F,S,CAyKGgG,sB,GAAyB,2B,CAzK5BhG,S,CA4KGiG,U,GAAa,S,CA5KhBjG,S,CAwLGkG,kC,GAAqC,G,CAxLxClG,S,CA8LGmG,Y,GAAe,2B,CA9LlBnG,S,CA+LGoG,gB,GAAmB,2B,CA/LtBpG,S,CAkMGqG,U,GAAa,2B,CAlMhBrG,S,CA2MGsG,mB,GAAsB,M,CA3MzBtG,S,CAiNGuG,mC,GAAsC,M,CAjNzCvG,S,CAoNGwG,c,GAAiB,2B,CApNpBxG,S,CAqNGyG,4B,GAA+B,M,CArNlCzG,S,CAsNG0G,uB,GAA0B,2B,CAtN7B1G,S,CAuNG2G,4B,GAA+B,S,CAvNlC3G,S,CAwNG4G,qB,GAAwB,S,CAxN3B5G,S,CAyNG6G,qB,GAAwB,2B,CAzN3B7G,S,CA0NG8G,0B,GAA6B,2B,CA1NhC9G,S,CA2NG+G,4B,GAA+B,S,CA3NlC/G,S,CA4NGgH,8B,GAAiC,S,CA5NpChH,S,CA6NGiH,sB,GAAyB,2B,CA7N5BjH,S,CA8NGkH,+B,GAAkC,2B,CA9NrClH,S,CA+NGmH,6B,GAAgC,2B,CA/NnCnH,S,CAgOGoH,6B,GAAgC,2B,CAhOnCpH,S,CAiOGqH,6B,GAAgC,2B;;AAIhD,OAAO,IAAMC,iBAAiB,GAAGC,MAAM,CAACC,cAAP;AAC/B1H,aAAa,CAACE,SAAD,CADkB;AAE/BD,oBAF+B,CAA1B","sourcesContent":["import { exposeGetters } from '../../lib/theming/ThemeHelpers';\n\nimport { DefaultThemeInternal } from './DefaultTheme';\n\nexport class DarkTheme extends (class {} as typeof DefaultThemeInternal) {\n //#region Common variables\n public static grayXLight = '#313131';\n public static gray = 'rgba(255, 255, 255, 0.48)';\n public static grayDark = '#e1e1e1';\n public static green = '#5f9c20';\n public static greenDark = '#538a1b';\n public static red = '#ee5042';\n public static redDark = '#dd473b';\n public static yellowXxLight = '#ffe0c3';\n public static yellow = '#ffa236';\n public static yellowDark = '#ea7324';\n public static warningMain = '#ffa236';\n public static errorMain = '#ee5042';\n public static errorText = '#ffa236';\n public static borderColorFocusLight = '#1260ae';\n public static borderColorGrayLight = 'rgba(255, 255, 255, 0.16)';\n public static borderColorDisabled = 'rgba(255, 255, 255, 0.16)';\n public static placeholderColor = 'rgba(255, 255, 255, 0.32)';\n public static placeholderColorLight = 'rgba(255, 255, 255, 0.16)';\n public static textColorDefault = 'rgba(255, 255, 255, 0.865)';\n public static textColorDisabled = 'rgba(255, 255, 255, 0.32)';\n public static textColorDisabledContrast = 'rgba(255, 255, 255, 0.48)';\n public static textColorInvert = 'rgba(255, 255, 255, 0.865)';\n public static bgDisabled = '#434343';\n public static bgDefault = '#1f1f1f';\n public static bgSecondary = '#333333';\n public static outlineColorFocus = '#1f1f1f';\n //#endregion\n //#region Link\n public static linkColor = '#51adff';\n public static linkHoverColor = '#2291ff';\n public static linkActiveColor = '#1f87ef';\n public static linkSuccessColor = '#78bf2b';\n public static linkSuccessHoverColor = '#6cad26';\n public static linkSuccessActiveColor = '#5f9c20';\n public static linkDangerColor = '#ff887b';\n public static linkDangerHoverColor = '#ff5a49';\n public static linkDangerActiveColor = '#ee5042';\n public static fixedPanelShadow = '0px 0px 16px 1px rgba(0, 0, 0, 0.4)';\n //#endregion\n //#region Button\n public static btnInsetColor = '#1f1f1f';\n public static btnDefaultBg = '#282828';\n public static btnDefaultHoverBg = 'none';\n public static btnDefaultActiveBg = '#1a1a1a';\n public static get btnDefaultHoverBorderColor() {\n return this.borderColorGrayLight;\n }\n public static get btnDefaultActiveBorderColor() {\n return this.borderColorGrayLight;\n }\n public static get btnDefaultBorderColor() {\n return this.borderColorGrayLight;\n }\n public static btnSuccessBg = '#5f9c20';\n public static get btnSuccessTextColor() {\n return this.textColorDefault;\n }\n public static btnSuccessBorderColor = '#5f9c20';\n public static btnSuccessActiveBg = '#3a6710';\n public static btnSuccessActiveBorderColor = '#3a6710';\n public static btnPrimaryBg = '#1f87ef';\n public static get btnPrimaryTextColor() {\n return this.textColorDefault;\n }\n public static btnPrimaryBorderColor = '#1f87ef';\n public static btnPrimaryActiveBg = '#1261ae';\n public static btnPrimaryActiveBorderColor = '#1261ae';\n public static btnDangerBg = '#ee5042';\n public static get btnDangerTextColor() {\n return this.textColorDefault;\n }\n public static btnDangerBorderColor = '#ee5042';\n public static btnDangerActiveBg = '#a92a27';\n public static btnDangerActiveBorderColor = '#a92a27';\n public static btnPayBg = '#ffa236';\n public static btnPayHoverBg = '#ff8227';\n public static btnPayHoverBorderColor = '#ff8227';\n public static btnPayTextColor = '#222222';\n public static btnPayActiveBg = '#d46421';\n public static btnPayActiveBorderColor = '#d46421';\n public static btnPayBorderColor = '#ffa236';\n //#endregion\n //#region Tooltip\n public static tooltipCloseBtnColor = 'rgba(255, 255, 255, 0.32)';\n public static tooltipCloseBtnHoverColor = 'rgba(255, 255, 255, 0.865)';\n //#endregion\n //#region Modal\n public static modalBackBg = 'rgba(255, 255, 255, 0.865)';\n public static modalCloseButtonColor = 'rgba(255, 255, 255, 0.32)';\n public static modalCloseButtonHoverColor = 'rgba(255, 255, 255, 0.865)';\n public static modalFooterBg = '#434343';\n public static get modalBodyTextColor() {\n return this.textColorDefault;\n }\n public static get modalFooterTextColor() {\n return this.textColorDefault;\n }\n public static get modalFixedPanelShadow() {\n return this.fixedPanelShadow;\n }\n //#endregion\n //#region SidePage\n public static sidePageFooterPanelBg = ' #434343';\n public static sidePageBackingBg = 'rgba(255, 255, 255, 0.865)';\n public static sidePageCloseButtonColor = 'rgba(255, 255, 255, 0.32)';\n public static sidePageCloseButtonHoverColor = 'rgba(255, 255, 255, 0.865)';\n public static get sidePageBodyTextColor() {\n return this.textColorDefault;\n }\n public static get sidePageFooterTextColor() {\n return this.textColorDefault;\n }\n public static get sidePageFixedPanelShadow() {\n return this.fixedPanelShadow;\n }\n //#endregion\n //#region Calendar\n public static calendarCellWeekendColor = '#ff887b';\n public static calendarCellTodayBorder = '1px solid rgba(255, 255, 255, 0.48)';\n public static calendarCellSelectedBgColor = 'rgba(255, 255, 255, 0.16)';\n public static calendarMonthTitleBorderBottomColor = 'rgba(255, 255, 255, 0.08)';\n\n //#endregion\n //#region Paging\n public static pagingPageLinkHoverBg = 'rgba(255, 255, 255, 0.8)';\n public static pagingPageLinkActiveBg = 'rgba(255, 255, 255, 0.16)';\n public static pagingPageLinkDisabledActiveBg = 'rgba(255, 255, 255, 0.08)';\n //#endregion\n //#region Toast\n public static toastLinkColor = '#51adff';\n public static toastCloseColor = 'rgba(255, 255, 255, 0.6)';\n //#endregion\n //#region Menu\n // menuItem\n public static menuItemCommentColor = 'rgba(255, 255, 255, 0.48)';\n //menuSeparator\n public static menuSeparatorBorderColor = 'rgba(255, 255, 255, 0.08)';\n //#endregion\n //#region Toggle\n public static toggleBorderColor = 'rgba(255, 255, 255, 0.32)';\n public static toggleDisabledHandleBg = '#525252';\n public static toggleBaseBg = 'rgba(255, 255, 255, 0.04)';\n public static get toggleBgDisabled() {\n return this.bgDisabled;\n }\n public static toggleBgDisabledChecked = 'rgba(255, 255, 255, 0.48)';\n //#endregion\n //#region Input\n public static inputBg = 'rgba(255, 255, 255, 0.04)';\n public static get inputBorderTopColor() {\n return this.inputBorderColor;\n }\n //#endregion\n //#region DatePicker\n public static dateSelectMenuItemBgSelected = 'rgba(255, 255, 255, 0.08)';\n public static pickerTodayWrapperBorderTop = '1px solid rgba(255, 255, 255, 0.08)';\n //#endregion\n //#region DateInput\n public static dateInputComponentSelectedBgColor = '#1c7edf';\n //#endregion\n //#region Hint\n public static hintBgColor = 'rgba(67, 67, 67, 0.92)';\n //#endregion\n //#region Loader\n public static loaderBg = 'rgba(51, 51, 51, 0.8)';\n //#endregion\n //#region Dropdown\n public static dropdownMenuSelectedBg = 'rgba(255, 255, 255, 0.08)'; //deprecated\n //#endregion\n //#region TextArea\n public static textareaBg = '#1f1f1f';\n public static get textareaBorderTopColor() {\n return this.textareaBorderColor;\n }\n public static get textareaDisabledBorderColor() {\n return this.textareaDisabledBg;\n }\n //#endregion\n //#region PasswordInput\n public static get passwordInputVisibilityIconColor() {\n return this.gray;\n }\n public static passwordInputVisibilityIconOpacity = '1';\n public static get passwordInputVisibilityIconHoverColor() {\n return this.textColorDefault;\n }\n //#endregion\n //#region Radio\n public static radioBgColor = 'rgba(255, 255, 255, 0.04)';\n public static radioBorderColor = 'rgba(255, 255, 255, 0.32)';\n //#endregion\n //#region Checkbox\n public static checkboxBg = 'rgba(255, 255, 255, 0.04)';\n public static get checkboxShadow() {\n return `0 0 0 ${this.checkboxBorderWidth} rgba(255, 255, 255, 0.32)`;\n }\n public static get checkboxShadowHover() {\n return this.checkboxShadow;\n }\n //#endregion\n //#region TokenInput\n public static tokenShadowDisabled = 'none';\n //#endregion\n //#region Switcher\n public static get switcherButtonDisabledBorderColor() {\n return this.borderColorDisabled;\n }\n public static switcherButtonCheckedDisabledShadow = 'none';\n //#endregion\n //#region FileUploader\n public static fileUploaderBg = 'rgba(255, 255, 255, 0.04)';\n public static fileUploaderTextColorDefault = '#fff';\n public static fileUploaderBorderColor = 'rgba(255, 255, 255, 0.32)';\n public static fileUploaderBorderColorFocus = '#1f87ef';\n public static fileUploaderLinkColor = '#51adff';\n public static fileUploaderIconColor = 'rgba(255, 255, 255, 0.48)';\n public static fileUploaderIconHoverColor = 'rgba(255, 255, 255, 0.80)';\n public static fileUploaderBorderColorError = '#ee5042';\n public static fileUploaderBorderColorWarning = '#ffa236';\n public static fileUploaderDisabledBg = 'rgba(255, 255, 255, 0.16)';\n public static fileUploaderDisabledBorderColor = 'rgba(255, 255, 255, 0.32)';\n public static fileUploaderDisabledTextColor = 'rgba(255, 255, 255, 0.32)';\n public static fileUploaderDisabledLinkColor = 'rgba(255, 255, 255, 0.32)';\n public static fileUploaderDisabledIconColor = 'rgba(255, 255, 255, 0.32)';\n //#endregion\n}\n\nexport const DarkThemeInternal = Object.setPrototypeOf(\n exposeGetters(DarkTheme),\n DefaultThemeInternal,\n) as typeof DarkTheme;\n"]}
@@ -87,6 +87,7 @@ export declare class DarkTheme extends DarkTheme_base {
87
87
  static calendarMonthTitleBorderBottomColor: string;
88
88
  static pagingPageLinkHoverBg: string;
89
89
  static pagingPageLinkActiveBg: string;
90
+ static pagingPageLinkDisabledActiveBg: string;
90
91
  static toastLinkColor: string;
91
92
  static toastCloseColor: string;
92
93
  static menuItemCommentColor: string;
@@ -1788,11 +1788,71 @@ export var DefaultTheme = /*#__PURE__*/function () {
1788
1788
  get: function get() {
1789
1789
  return this.fontSizeSmall;
1790
1790
  }
1791
+ }, {
1792
+ key: "fileUploaderPaddingXSmall",
1793
+ get: function get() {
1794
+ return this.inputPaddingXSmall;
1795
+ }
1796
+ }, {
1797
+ key: "fileUploaderPaddingXMedium",
1798
+ get: function get() {
1799
+ return this.inputPaddingXMedium;
1800
+ }
1801
+ }, {
1802
+ key: "fileUploaderPaddingXLarge",
1803
+ get: function get() {
1804
+ return this.inputPaddingXLarge;
1805
+ }
1806
+ }, {
1807
+ key: "fileUploaderFontSizeSmall",
1808
+ get: function get() {
1809
+ return this.fontSizeSmall;
1810
+ }
1811
+ }, {
1812
+ key: "fileUploaderFontSizeMedium",
1813
+ get: function get() {
1814
+ return this.fontSizeMedium;
1815
+ }
1816
+ }, {
1817
+ key: "fileUploaderFontSizeLarge",
1818
+ get: function get() {
1819
+ return this.fontSizeLarge;
1820
+ }
1791
1821
  }, {
1792
1822
  key: "fileUploaderLineHeight",
1793
1823
  get: function get() {
1794
1824
  return this.controlLineHeightSmall;
1795
1825
  }
1826
+ }, {
1827
+ key: "fileUploaderLineHeightSmall",
1828
+ get: function get() {
1829
+ return this.fileUploaderLineHeight;
1830
+ }
1831
+ }, {
1832
+ key: "fileUploaderLineHeightMedium",
1833
+ get: function get() {
1834
+ return this.controlLineHeightMedium;
1835
+ }
1836
+ }, {
1837
+ key: "fileUploaderLineHeightLarge",
1838
+ get: function get() {
1839
+ return this.controlLineHeightLarge;
1840
+ }
1841
+ }, {
1842
+ key: "fileUploaderPaddingYSmall",
1843
+ get: function get() {
1844
+ return this.fileUploaderPaddingY;
1845
+ }
1846
+ }, {
1847
+ key: "fileUploaderPaddingYMedium",
1848
+ get: function get() {
1849
+ return this.controlPaddingYMedium;
1850
+ }
1851
+ }, {
1852
+ key: "fileUploaderPaddingYLarge",
1853
+ get: function get() {
1854
+ return this.controlPaddingYLarge;
1855
+ }
1796
1856
  }, {
1797
1857
  key: "fileUploaderTextColorDefault",
1798
1858
  get: function get() {
@@ -2187,6 +2247,7 @@ DefaultTheme.pagingLineHeight = '1.375em';
2187
2247
  DefaultTheme.pagingDotsColor = 'gray';
2188
2248
  DefaultTheme.pagingDotsPadding = '0.375em 0.625em 0';
2189
2249
  DefaultTheme.pagingPageLinkActiveBg = 'rgba(0, 0, 0, 0.09)';
2250
+ DefaultTheme.pagingPageLinkDisabledActiveBg = 'rgba(0, 0, 0, 0.04)';
2190
2251
  DefaultTheme.pagingPageLinkHoverBg = 'rgba(0, 0, 0, 0.05)';
2191
2252
  DefaultTheme.pagingPageLinkBorderRadius = '9999px';
2192
2253
  DefaultTheme.pagingPageLinkHintFontSize = '12px';
@@ -2365,4 +2426,7 @@ DefaultTheme.fileUploaderDisabledTextColor = '#808080';
2365
2426
  DefaultTheme.fileUploaderDisabledLinkColor = '#808080';
2366
2427
  DefaultTheme.fileUploaderDisabledIconColor = '#A0A0A0';
2367
2428
  DefaultTheme.fileUploaderHoveredBg = 'none';
2429
+ DefaultTheme.fileUploaderIconGapSmall = '4px';
2430
+ DefaultTheme.fileUploaderIconGapMedium = '6px';
2431
+ DefaultTheme.fileUploaderIconGapLarge = '8px';
2368
2432
  export var DefaultThemeInternal = exposeGetters(DefaultTheme);