@skbkontur/react-ui 5.1.3 → 5.1.4

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 (190) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +3 -4
  3. package/cjs/components/Button/Button.styles.js +2 -1
  4. package/cjs/components/Button/Button.styles.js.map +1 -1
  5. package/cjs/components/Button/__docs__/Button.mdx +2 -4
  6. package/cjs/components/Calendar/__docs__/Calendar.mdx +2 -4
  7. package/cjs/components/Calendar/__docs__/CalendarDay.mdx +2 -4
  8. package/cjs/components/Center/__docs__/Center.mdx +2 -4
  9. package/cjs/components/Checkbox/__docs__/Checkbox.mdx +2 -4
  10. package/cjs/components/ComboBox/ComboBox.md +2 -2
  11. package/cjs/components/ComboBox/__docs__/ComboBox.mdx +2 -4
  12. package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +2 -4
  13. package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +2 -4
  14. package/cjs/components/DateInput/__docs__/DateInput.mdx +2 -4
  15. package/cjs/components/DatePicker/__docs__/DatePicker.mdx +2 -4
  16. package/cjs/components/DateRangePicker/__docs__/DateRangePicker.mdx +2 -4
  17. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  18. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  19. package/cjs/components/Dropdown/__docs__/Dropdown.mdx +2 -4
  20. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  21. package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +2 -4
  22. package/cjs/components/FileUploader/FileUploader.js +14 -2
  23. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  24. package/cjs/components/FileUploader/__docs__/FileUploader.mdx +2 -4
  25. package/cjs/components/FxInput/__docs__/FxInput.mdx +2 -4
  26. package/cjs/components/Gapped/__docs__/Gapped.mdx +2 -4
  27. package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +2 -4
  28. package/cjs/components/Group/Group.md +4 -4
  29. package/cjs/components/Group/__docs__/Group.mdx +2 -4
  30. package/cjs/components/Hint/__docs__/Hint.mdx +2 -4
  31. package/cjs/components/Input/Input.md +4 -5
  32. package/cjs/components/Input/__docs__/Input.mdx +2 -4
  33. package/cjs/components/Kebab/Kebab.md +32 -32
  34. package/cjs/components/Kebab/__docs__/Kebab.mdx +2 -4
  35. package/cjs/components/Link/__docs__/Link.mdx +2 -4
  36. package/cjs/components/Loader/__docs__/Loader.mdx +2 -4
  37. package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +2 -4
  38. package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +2 -4
  39. package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +2 -4
  40. package/cjs/components/MenuItem/MenuItem.md +6 -6
  41. package/cjs/components/MenuItem/__docs__/MenuItem.mdx +2 -4
  42. package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +2 -4
  43. package/cjs/components/MiniModal/__docs__/MiniModal.mdx +2 -4
  44. package/cjs/components/Modal/__docs__/Modal.mdx +2 -4
  45. package/cjs/components/Paging/__docs__/Paging.mdx +2 -4
  46. package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +2 -4
  47. package/cjs/components/Radio/__docs__/Radio.mdx +2 -4
  48. package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +2 -4
  49. package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +2 -4
  50. package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +2 -4
  51. package/cjs/components/Select/Select.md +3 -3
  52. package/cjs/components/Select/__docs__/Select.mdx +2 -4
  53. package/cjs/components/SidePage/__docs__/SidePage.mdx +2 -4
  54. package/cjs/components/SidePage/__docs__/SidePageBody.mdx +1 -0
  55. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  56. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  57. package/cjs/components/SingleToast/__docs__/SingleToast.mdx +2 -4
  58. package/cjs/components/Spinner/__docs__/Spinner.mdx +2 -4
  59. package/cjs/components/Sticky/__docs__/Sticky.mdx +2 -4
  60. package/cjs/components/Switcher/__docs__/Switcher.mdx +2 -4
  61. package/cjs/components/Tabs/__docs__/Tab.mdx +2 -4
  62. package/cjs/components/Tabs/__docs__/Tabs.mdx +2 -4
  63. package/cjs/components/Textarea/__docs__/Textarea.mdx +2 -4
  64. package/cjs/components/Toast/Toast.d.ts +4 -2
  65. package/cjs/components/Toast/Toast.js +16 -2
  66. package/cjs/components/Toast/Toast.js.map +1 -1
  67. package/cjs/components/Toast/__docs__/Toast.mdx +2 -4
  68. package/cjs/components/Toggle/__creevey__/Toggle.creevey.mts +6 -4
  69. package/cjs/components/Toggle/__docs__/Toggle.mdx +2 -4
  70. package/cjs/components/Token/Token.md +0 -83
  71. package/cjs/components/Token/__docs__/Token.mdx +2 -4
  72. package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
  73. package/cjs/components/TokenInput/TokenInput.js +2 -1
  74. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  75. package/cjs/components/TokenInput/TokenInput.md +2 -33
  76. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  77. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  78. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  79. package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.mts +28 -0
  80. package/cjs/components/TokenInput/__docs__/TokenInput.mdx +2 -4
  81. package/cjs/components/Tooltip/Tooltip.md +8 -8
  82. package/cjs/components/Tooltip/__docs__/Tooltip.mdx +2 -4
  83. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  84. package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +2 -4
  85. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
  86. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  87. package/cjs/internal/Popup/Popup.d.ts +2 -1
  88. package/cjs/internal/Popup/Popup.js +6 -3
  89. package/cjs/internal/Popup/Popup.js.map +1 -1
  90. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  91. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  92. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  93. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  94. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  95. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  96. package/components/Autocomplete/__docs__/Autocomplete.mdx +3 -4
  97. package/components/Button/Button.styles/Button.styles.js +1 -1
  98. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  99. package/components/Button/__docs__/Button.mdx +2 -4
  100. package/components/Calendar/__docs__/Calendar.mdx +2 -4
  101. package/components/Calendar/__docs__/CalendarDay.mdx +2 -4
  102. package/components/Center/__docs__/Center.mdx +2 -4
  103. package/components/Checkbox/__docs__/Checkbox.mdx +2 -4
  104. package/components/ComboBox/ComboBox.md +2 -2
  105. package/components/ComboBox/__docs__/ComboBox.mdx +2 -4
  106. package/components/CurrencyInput/__docs__/CurrencyInput.mdx +2 -4
  107. package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +2 -4
  108. package/components/DateInput/__docs__/DateInput.mdx +2 -4
  109. package/components/DatePicker/__docs__/DatePicker.mdx +2 -4
  110. package/components/DateRangePicker/__docs__/DateRangePicker.mdx +2 -4
  111. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  112. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  113. package/components/Dropdown/__docs__/Dropdown.mdx +2 -4
  114. package/components/DropdownMenu/DropdownMenu.md +8 -8
  115. package/components/DropdownMenu/__docs__/DropdownMenu.mdx +2 -4
  116. package/components/FileUploader/FileUploader/FileUploader.js +7 -2
  117. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  118. package/components/FileUploader/__docs__/FileUploader.mdx +2 -4
  119. package/components/FxInput/__docs__/FxInput.mdx +2 -4
  120. package/components/Gapped/__docs__/Gapped.mdx +2 -4
  121. package/components/GlobalLoader/__docs__/GlobalLoader.mdx +2 -4
  122. package/components/Group/Group.md +4 -4
  123. package/components/Group/__docs__/Group.mdx +2 -4
  124. package/components/Hint/__docs__/Hint.mdx +2 -4
  125. package/components/Input/Input.md +4 -5
  126. package/components/Input/__docs__/Input.mdx +2 -4
  127. package/components/Kebab/Kebab.md +32 -32
  128. package/components/Kebab/__docs__/Kebab.mdx +2 -4
  129. package/components/Link/__docs__/Link.mdx +2 -4
  130. package/components/Loader/__docs__/Loader.mdx +2 -4
  131. package/components/MaskedInput/__docs__/MaskedInput.mdx +2 -4
  132. package/components/MenuFooter/__docs__/MenuFooter.mdx +2 -4
  133. package/components/MenuHeader/__docs__/MenuHeader.mdx +2 -4
  134. package/components/MenuItem/MenuItem.md +6 -6
  135. package/components/MenuItem/__docs__/MenuItem.mdx +2 -4
  136. package/components/MenuSeparator/__docs__/MenuSeparator.mdx +2 -4
  137. package/components/MiniModal/__docs__/MiniModal.mdx +2 -4
  138. package/components/Modal/__docs__/Modal.mdx +2 -4
  139. package/components/Paging/__docs__/Paging.mdx +2 -4
  140. package/components/PasswordInput/__docs__/PasswordInput.mdx +2 -4
  141. package/components/Radio/__docs__/Radio.mdx +2 -4
  142. package/components/RadioGroup/__docs__/RadioGroup.mdx +2 -4
  143. package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +2 -4
  144. package/components/ScrollContainer/__docs__/ScrollContainer.mdx +2 -4
  145. package/components/Select/Select.md +3 -3
  146. package/components/Select/__docs__/Select.mdx +2 -4
  147. package/components/SidePage/__docs__/SidePage.mdx +2 -4
  148. package/components/SidePage/__docs__/SidePageBody.mdx +1 -0
  149. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  150. package/components/SingleToast/SingleToast.d.ts +3 -3
  151. package/components/SingleToast/__docs__/SingleToast.mdx +2 -4
  152. package/components/Spinner/__docs__/Spinner.mdx +2 -4
  153. package/components/Sticky/__docs__/Sticky.mdx +2 -4
  154. package/components/Switcher/__docs__/Switcher.mdx +2 -4
  155. package/components/Tabs/__docs__/Tab.mdx +2 -4
  156. package/components/Tabs/__docs__/Tabs.mdx +2 -4
  157. package/components/Textarea/__docs__/Textarea.mdx +2 -4
  158. package/components/Toast/Toast/Toast.js +6 -8
  159. package/components/Toast/Toast/Toast.js.map +1 -1
  160. package/components/Toast/Toast.d.ts +4 -2
  161. package/components/Toast/__docs__/Toast.mdx +2 -4
  162. package/components/Toggle/__creevey__/Toggle.creevey.mts +6 -4
  163. package/components/Toggle/__docs__/Toggle.mdx +2 -4
  164. package/components/Token/Token.md +0 -83
  165. package/components/Token/__docs__/Token.mdx +2 -4
  166. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  167. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  168. package/components/TokenInput/TokenInput.d.ts +2 -2
  169. package/components/TokenInput/TokenInput.md +2 -33
  170. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  171. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  172. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  173. package/components/TokenInput/__creevey__/TokenInput.creevey.mts +28 -0
  174. package/components/TokenInput/__docs__/TokenInput.mdx +2 -4
  175. package/components/Tooltip/Tooltip.md +8 -8
  176. package/components/Tooltip/__docs__/Tooltip.mdx +2 -4
  177. package/components/TooltipMenu/TooltipMenu.md +12 -12
  178. package/components/TooltipMenu/__docs__/TooltipMenu.mdx +2 -4
  179. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  180. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  181. package/internal/Popup/Popup/Popup.js +9 -5
  182. package/internal/Popup/Popup/Popup.js.map +1 -1
  183. package/internal/Popup/Popup.d.ts +2 -1
  184. package/internal/ThemePlayground/Playground/Playground.js +13 -13
  185. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  186. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  187. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  188. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  189. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  190. package/package.json +2 -3
@@ -1 +1 @@
1
- {"version":3,"names":["React","ThemeFactory","Popup","ComboBoxMenu","ThemeContext","TokenInputDataTids","TokenInputMenu","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","menu","getMenuRef","getPopupMargin","paddingY","parseInt","theme","tokenInputPaddingYSmall","outlineWidth","controlOutlineWidth","marginY","tokenMarginYSmall","menuRef","node","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","Provider","value","create","popupMargin","popupBackground","tokenInputMenuPopupBg","renderMain","getPopupMarginSize","t","props","size","tokenInputPopupMarginLarge","tokenInputPopupMarginMedium","tokenInputPopupMarginSmall","_this$props","loading","maxMenuHeight","renderTotalCount","totalCount","opened","items","renderNotFound","renderItem","onValueChange","renderAddButton","anchorElement","menuWidth","menuAlign","id","popupMenuId","tokenInputMenu","positions","popupOffset","tokenInputPopupOffset","margin","hasShadow","width","withoutMobile","hasMargin","refMenu","Component","__KONTUR_REACT_UI__","displayName"],"sources":["TokenInputMenu.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { HTMLProps } from '../../typings/html';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupProps } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { ComboBoxMenuProps } from '../../internal/CustomComboBox';\nimport { ComboBoxMenu } from '../../internal/CustomComboBox';\nimport type { Menu } from '../../internal/Menu';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { TokenSize } from '../Token';\n\nimport type { TokenInputMenuAlign, TokenInputProps } from './TokenInput';\nimport { TokenInputDataTids } from './TokenInput';\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n anchorElement: PopupProps['anchorElement'];\n /** Задает шинину выпадающего меню. */\n menuWidth: TokenInputProps<string>['menuWidth'];\n /** Задает выравнивание выпадающего меню. */\n menuAlign: TokenInputMenuAlign;\n /** Задает id выпадающему меню.\n Полезно при реализации a11y. Например, помогает связать aria-controls с выпадающим меню. */\n popupMenuId?: HTMLProps['id'];\n /** Задает размер контрола. */\n size?: TokenSize;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n public static displayName = 'TokenInputMenu';\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: this.getPopupMargin() + 'px',\n popupBackground: this.theme.tokenInputMenuPopupBg,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): any | null => this.menu;\n\n private getPopupMarginSize(t: Theme) {\n switch (this.props.size) {\n case 'large':\n return t.tokenInputPopupMarginLarge;\n case 'medium':\n return t.tokenInputPopupMarginMedium;\n case 'small':\n default:\n return t.tokenInputPopupMarginSmall;\n }\n }\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElement,\n menuWidth,\n menuAlign,\n } = this.props;\n\n return (\n <Popup\n id={this.props.popupMenuId}\n data-tid={TokenInputDataTids.tokenInputMenu}\n opened={!!opened}\n positions={['bottom left', 'top left']}\n anchorElement={anchorElement}\n popupOffset={\n menuAlign === 'left'\n ? parseInt(this.theme.tokenInputPopupOffset)\n : 8 + parseInt(this.theme.tokenInputPopupOffset)\n }\n margin={menuAlign === 'left' ? 1 : parseInt(this.getPopupMarginSize(this.theme))}\n hasShadow\n width={menuAlign === 'cursor' ? 'auto' : menuWidth}\n withoutMobile\n >\n <ComboBoxMenu\n size={this.props.size}\n items={items}\n loading={loading}\n hasMargin={false}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n />\n </Popup>\n );\n }\n\n private getPopupMargin = (): number => {\n const paddingY = parseInt(this.theme.tokenInputPaddingYSmall, 10) || 0;\n const outlineWidth = parseInt(this.theme.controlOutlineWidth, 10) || 0;\n const marginY = parseInt(this.theme.tokenMarginYSmall, 10) || 0;\n\n return paddingY + outlineWidth + marginY;\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ThemeFactory","Popup","ComboBoxMenu","ThemeContext","TokenInputDataTids","TokenInputMenu","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","menu","getMenuRef","handleMenuPositionChange","_","isFullyVisible","forceMenuLeftAlign","props","menuAlign","setState","getPopupMargin","paddingY","parseInt","theme","tokenInputPaddingYSmall","outlineWidth","controlOutlineWidth","marginY","tokenMarginYSmall","menuRef","node","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","Provider","value","create","popupMargin","popupBackground","tokenInputMenuPopupBg","renderMain","getPopupMarginSize","t","size","tokenInputPopupMarginLarge","tokenInputPopupMarginMedium","tokenInputPopupMarginSmall","_this$props","loading","maxMenuHeight","renderTotalCount","totalCount","opened","items","renderNotFound","renderItem","onValueChange","renderAddButton","anchorElementForCursor","anchorElementRoot","menuWidth","id","popupMenuId","tokenInputMenu","positions","anchorElement","popupOffset","tokenInputPopupOffset","margin","hasShadow","width","withoutMobile","onPositionChange","hasMargin","refMenu","Component","__KONTUR_REACT_UI__","displayName"],"sources":["TokenInputMenu.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { HTMLProps } from '../../typings/html';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport type { PopupPositionsType, PopupProps } from '../../internal/Popup';\nimport { Popup } from '../../internal/Popup';\nimport type { ComboBoxMenuProps } from '../../internal/CustomComboBox';\nimport { ComboBoxMenu } from '../../internal/CustomComboBox';\nimport type { Menu } from '../../internal/Menu';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { TokenSize } from '../Token';\n\nimport type { TokenInputMenuAlign, TokenInputProps } from './TokenInput';\nimport { TokenInputDataTids } from './TokenInput';\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n /** html-элемент от которого будет позиционировано Menu в случае menuAlign cursor */\n anchorElementForCursor: PopupProps['anchorElement'];\n /** html-элемент от которого будет позиционировано Menu в случае menuAlign left */\n anchorElementRoot: PopupProps['anchorElement'];\n /** Задает ширину выпадающего меню. */\n menuWidth: TokenInputProps<string>['menuWidth'];\n /** Задает выравнивание выпадающего меню. */\n menuAlign: TokenInputMenuAlign;\n /** Задает id выпадающему меню.\n Полезно при реализации a11y. Например, помогает связать aria-controls с выпадающим меню. */\n popupMenuId?: HTMLProps['id'];\n /** Задает размер контрола. */\n size?: TokenSize;\n}\n\ninterface TokenInputMenuState {\n forceMenuLeftAlign?: boolean;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>, TokenInputMenuState> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n public static displayName = 'TokenInputMenu';\n\n public state: TokenInputMenuState = {};\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: this.getPopupMargin() + 'px',\n popupBackground: this.theme.tokenInputMenuPopupBg,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): any | null => this.menu;\n\n private getPopupMarginSize(t: Theme) {\n switch (this.props.size) {\n case 'large':\n return t.tokenInputPopupMarginLarge;\n case 'medium':\n return t.tokenInputPopupMarginMedium;\n case 'small':\n default:\n return t.tokenInputPopupMarginSmall;\n }\n }\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElementForCursor,\n anchorElementRoot,\n menuWidth,\n } = this.props;\n\n const menuAlign = this.state.forceMenuLeftAlign ? 'left' : this.props.menuAlign;\n\n return (\n <Popup\n id={this.props.popupMenuId}\n data-tid={TokenInputDataTids.tokenInputMenu}\n opened={!!opened}\n positions={\n menuAlign === 'cursor'\n ? ['bottom left', 'top left']\n : ['bottom left', 'top left', 'bottom right', 'top right']\n }\n anchorElement={menuAlign === 'cursor' ? anchorElementForCursor : anchorElementRoot}\n popupOffset={\n menuAlign === 'left'\n ? parseInt(this.theme.tokenInputPopupOffset)\n : 8 + parseInt(this.theme.tokenInputPopupOffset)\n }\n margin={menuAlign === 'left' ? 1 : parseInt(this.getPopupMarginSize(this.theme))}\n hasShadow\n width={menuAlign === 'cursor' ? 'auto' : menuWidth}\n withoutMobile\n onPositionChange={this.handleMenuPositionChange}\n >\n <ComboBoxMenu\n size={this.props.size}\n items={items}\n loading={loading}\n hasMargin={false}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n />\n </Popup>\n );\n }\n\n private handleMenuPositionChange = (_: PopupPositionsType, isFullyVisible: boolean) => {\n if (!this.state.forceMenuLeftAlign && !isFullyVisible && this.props.menuAlign === 'cursor') {\n this.setState({ forceMenuLeftAlign: true });\n }\n };\n\n private getPopupMargin = (): number => {\n const paddingY = parseInt(this.theme.tokenInputPaddingYSmall, 10) || 0;\n const outlineWidth = parseInt(this.theme.controlOutlineWidth, 10) || 0;\n const marginY = parseInt(this.theme.tokenMarginYSmall, 10) || 0;\n\n return paddingY + outlineWidth + marginY;\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,11 @@ import type { ComboBoxMenuProps } from '../../internal/CustomComboBox';
5
5
  import type { TokenSize } from '../Token';
6
6
  import type { TokenInputMenuAlign, TokenInputProps } from './TokenInput';
7
7
  export interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {
8
- anchorElement: PopupProps['anchorElement'];
9
- /** Задает шинину выпадающего меню. */
8
+ /** html-элемент от которого будет позиционировано Menu в случае menuAlign cursor */
9
+ anchorElementForCursor: PopupProps['anchorElement'];
10
+ /** html-элемент от которого будет позиционировано Menu в случае menuAlign left */
11
+ anchorElementRoot: PopupProps['anchorElement'];
12
+ /** Задает ширину выпадающего меню. */
10
13
  menuWidth: TokenInputProps<string>['menuWidth'];
11
14
  /** Задает выравнивание выпадающего меню. */
12
15
  menuAlign: TokenInputMenuAlign;
@@ -16,15 +19,21 @@ export interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {
16
19
  /** Задает размер контрола. */
17
20
  size?: TokenSize;
18
21
  }
19
- export declare class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>> {
22
+ interface TokenInputMenuState {
23
+ forceMenuLeftAlign?: boolean;
24
+ }
25
+ export declare class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>, TokenInputMenuState> {
20
26
  static __KONTUR_REACT_UI__: string;
21
27
  static displayName: string;
28
+ state: TokenInputMenuState;
22
29
  private theme;
23
30
  private menu;
24
31
  render(): React.JSX.Element;
25
32
  getMenuRef: () => any | null;
26
33
  private getPopupMarginSize;
27
34
  private renderMain;
35
+ private handleMenuPositionChange;
28
36
  private getPopupMargin;
29
37
  private menuRef;
30
38
  }
39
+ export {};
@@ -83,6 +83,8 @@ kind('TokenInput', () => {
83
83
  bridge: true,
84
84
  })
85
85
  .sendKeys('a')
86
+ .pause(300)
87
+ .move({ x: 0, y: 0 })
86
88
  .perform();
87
89
  const typed = await context.takeScreenshot();
88
90
  await context.matchImages({ selected, typed });
@@ -411,4 +413,30 @@ kind('TokenInput', () => {
411
413
  await context.matchImages({ tab1, tab2, tab3 });
412
414
  });
413
415
  });
416
+
417
+ story('VariousMenuPositions', ({ setStoryParameters }) => {
418
+ setStoryParameters({
419
+ skip: { 'chrome only': { in: /^(?!\bchrome2022\b)/ } },
420
+ });
421
+
422
+ test('all positions in viewport', async (context) => {
423
+ async function clickOnTokenInput(tid: string): Promise<Buffer> {
424
+ await context.webdriver
425
+ .actions({ bridge: true })
426
+ .click(context.webdriver.findElement({ css: `[data-tid~="${tid}"]` }))
427
+ .perform();
428
+ await delay(800);
429
+ return await context.takeScreenshot();
430
+ }
431
+
432
+ const leftTop = await clickOnTokenInput('TokenInputViewLeftTop');
433
+ const leftMiddle = await clickOnTokenInput('TokenInputViewLeftMiddle');
434
+ const leftBottom = await clickOnTokenInput('TokenInputViewLeftBottom');
435
+ const rightTop = await clickOnTokenInput('TokenInputViewRightTop');
436
+ const rightMiddle = await clickOnTokenInput('TokenInputViewRightMiddle');
437
+ const rightBottom = await clickOnTokenInput('TokenInputViewRightBottom');
438
+
439
+ await context.matchImages({ leftTop, leftMiddle, leftBottom, rightTop, rightMiddle, rightBottom });
440
+ });
441
+ });
414
442
  });
@@ -1,6 +1,7 @@
1
1
  import * as TokenInputStories from './TokenInput.docs.stories.tsx';
2
2
  import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
3
  import { Meta } from '../../../.storybook/Meta';
4
+ import { PropsTable } from '../../../.storybook/PropsTable';
4
5
 
5
6
  <Meta of={TokenInputStories} />
6
7
 
@@ -18,10 +19,7 @@ import { Meta } from '../../../.storybook/Meta';
18
19
 
19
20
  ## Пропы
20
21
 
21
- <details>
22
- <summary>Открыть таблицу с пропами</summary>
23
- <ArgTypes />
24
- </details>
22
+ <PropsTable />
25
23
 
26
24
  ## Примеры использования
27
25
 
@@ -2,9 +2,9 @@
2
2
  Отступы в тултипе подобраны так, чтобы базовая линия текста со шрифтом Segoe UI в тултипе совпадала с базовой линией стандартных контролов
3
3
 
4
4
  ```jsx harmony
5
- import SearchIcon from '@skbkontur/react-icons/Search';
6
- import MenuIcon from '@skbkontur/react-icons/Menu';
7
- import HelpDotIcon from '@skbkontur/react-icons/HelpDot';
5
+ import { SearchLoupeIcon16Regular } from '@skbkontur/icons/icons/SearchLoupeIcon/SearchLoupeIcon16Regular';
6
+ import { UiMenuBars3HIcon16Regular } from '@skbkontur/icons/icons/UiMenuBars3HIcon/UiMenuBars3HIcon16Regular';
7
+ import { QuestionCircleIcon16Regular } from '@skbkontur/icons/icons/QuestionCircleIcon/QuestionCircleIcon16Regular';
8
8
  import { Button, Gapped, Input, Select, Tooltip } from '@skbkontur/react-ui';
9
9
 
10
10
  const [size, setSize] = React.useState('small');
@@ -29,15 +29,15 @@ const render = () => (
29
29
  <Select width={120} value={size} items={['small', 'medium', 'large']} onValueChange={setSize} size={size} />
30
30
  </Gapped>
31
31
  <Tooltip render={render} pos="right top">
32
- <Input size={size} leftIcon={<SearchIcon />} width={170} />
32
+ <Input size={size} leftIcon={<SearchLoupeIcon16Regular />} width={170} />
33
33
  </Tooltip>
34
34
  <Tooltip render={render} pos="right top">
35
- <Button size={size} icon={<MenuIcon />}>
35
+ <Button size={size} icon={<UiMenuBars3HIcon16Regular />}>
36
36
  Menu
37
37
  </Button>
38
38
  </Tooltip>
39
39
  <Tooltip render={render} pos="right top">
40
- <HelpDotIcon />
40
+ <QuestionCircleIcon16Regular />
41
41
  </Tooltip>
42
42
  </Gapped>
43
43
  </div>;
@@ -300,7 +300,7 @@ class AnchorTooltipExample extends React.Component {
300
300
  У тултипа можно переопределить задержку перед его появлением. Скрытие же происходит с задержкой по умолчанию.
301
301
 
302
302
  ```jsx harmony
303
- import HelpDotIcon from '@skbkontur/react-icons/HelpDot';
303
+ import { QuestionCircleIcon16Regular } from '@skbkontur/icons/icons/QuestionCircleIcon/QuestionCircleIcon16Regular';
304
304
  import { Input, Gapped, Tooltip } from '@skbkontur/react-ui';
305
305
 
306
306
  const [delay, setDelay] = React.useState(100);
@@ -315,7 +315,7 @@ const render = () => (
315
315
  <Gapped vertical>
316
316
  <Gapped>Show delay: <Input value={delay} onValueChange={setDelay} /></Gapped>
317
317
  <Tooltip render={render} delayBeforeShow={delay} pos="right top">
318
- <HelpDotIcon />
318
+ <QuestionCircleIcon16Regular />
319
319
  </Tooltip>
320
320
  </Gapped>
321
321
  </div>;
@@ -1,6 +1,7 @@
1
1
  import * as TooltipStories from './Tooltip.docs.stories.tsx';
2
2
  import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
3
  import { Meta } from '../../../.storybook/Meta';
4
+ import { PropsTable } from '../../../.storybook/PropsTable';
4
5
 
5
6
  <Meta of={TooltipStories} />
6
7
 
@@ -18,10 +19,7 @@ import { Meta } from '../../../.storybook/Meta';
18
19
 
19
20
  ## Пропы
20
21
 
21
- <details>
22
- <summary>Открыть таблицу с пропами</summary>
23
- <ArgTypes />
24
- </details>
22
+ <PropsTable />
25
23
 
26
24
  ## Примеры использования
27
25
 
@@ -108,12 +108,12 @@ import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui
108
108
 
109
109
  ```jsx harmony
110
110
  import { MenuItem } from '@skbkontur/react-ui';
111
- import MenuIcon from '@skbkontur/react-icons/Menu';
111
+ import { UiMenuBars3HIcon16Regular } from '@skbkontur/icons/icons/UiMenuBars3HIcon/UiMenuBars3HIcon16Regular';
112
112
 
113
113
  <TooltipMenu
114
114
  caption={
115
115
  <span style={{ display: 'inline-block' }} tabIndex="0">
116
- <MenuIcon size={32} />
116
+ <UiMenuBars3HIcon16Regular size={32} />
117
117
  </span>
118
118
  }
119
119
  menuWidth="300px"
@@ -128,12 +128,12 @@ import MenuIcon from '@skbkontur/react-icons/Menu';
128
128
 
129
129
  ```jsx harmony
130
130
  import { MenuItem } from '@skbkontur/react-ui';
131
- import LightbulbIcon from '@skbkontur/react-icons/Lightbulb';
131
+ import { LightbulbIcon16Regular } from '@skbkontur/icons/icons/LightbulbIcon/LightbulbIcon16Regular';
132
132
 
133
133
  <TooltipMenu
134
134
  caption={
135
135
  <span style={{ display: 'inline-block' }} tabIndex="0">
136
- <LightbulbIcon size={32} />
136
+ <LightbulbIcon16Regular size={32} />
137
137
  </span>
138
138
  }
139
139
  menuWidth="300px"
@@ -149,12 +149,12 @@ import LightbulbIcon from '@skbkontur/react-icons/Lightbulb';
149
149
 
150
150
  ```jsx harmony
151
151
  import { MenuItem } from '@skbkontur/react-ui';
152
- import LightbulbIcon from '@skbkontur/react-icons/Lightbulb';
152
+ import { LightbulbIcon16Regular } from '@skbkontur/icons/icons/LightbulbIcon/LightbulbIcon16Regular';
153
153
 
154
154
  <TooltipMenu
155
155
  caption={
156
156
  <span style={{ display: 'inline-block' }} tabIndex="0">
157
- <LightbulbIcon size={32} />
157
+ <LightbulbIcon16Regular size={32} />
158
158
  </span>
159
159
  }
160
160
  menuWidth="300px"
@@ -186,12 +186,12 @@ import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui
186
186
 
187
187
  ```jsx harmony
188
188
  import { Button, MenuHeader, MenuItem, MenuSeparator, TooltipMenu } from '@skbkontur/react-ui';
189
- import OkIcon from '@skbkontur/react-icons/Ok';
189
+ import { PlusIcon16Regular } from '@skbkontur/icons/icons/PlusIcon/PlusIcon16Regular';
190
190
 
191
191
  <TooltipMenu caption={<Button use="primary">Открыть меню</Button>}>
192
192
  <MenuHeader>MenuHeader</MenuHeader>
193
- <MenuItem icon={<OkIcon />}>MenuItem1</MenuItem>
194
- <MenuItem icon={<OkIcon />}>MenuItem2</MenuItem>
193
+ <MenuItem icon={<PlusIcon16Regular />}>MenuItem1</MenuItem>
194
+ <MenuItem icon={<PlusIcon16Regular />}>MenuItem2</MenuItem>
195
195
  <MenuItem>MenuItem3</MenuItem>
196
196
  </TooltipMenu>;
197
197
  ```
@@ -200,12 +200,12 @@ import OkIcon from '@skbkontur/react-icons/Ok';
200
200
 
201
201
  ```jsx harmony
202
202
  import { Button, MenuHeader, MenuItem, MenuSeparator, TooltipMenu } from '@skbkontur/react-ui';
203
- import OkIcon from '@skbkontur/react-icons/Ok';
203
+ import { PlusIcon16Regular } from '@skbkontur/icons/icons/PlusIcon/PlusIcon16Regular';
204
204
 
205
205
  <TooltipMenu preventIconsOffset caption={<Button use="primary">Открыть меню</Button>}>
206
206
  <MenuHeader>MenuHeader</MenuHeader>
207
- <MenuItem icon={<OkIcon />}>MenuItem1</MenuItem>
208
- <MenuItem icon={<OkIcon />}>MenuItem2</MenuItem>
207
+ <MenuItem icon={<PlusIcon16Regular />}>MenuItem1</MenuItem>
208
+ <MenuItem icon={<PlusIcon16Regular />}>MenuItem2</MenuItem>
209
209
  <MenuItem>MenuItem3</MenuItem>
210
210
  </TooltipMenu>
211
211
  ```
@@ -1,6 +1,7 @@
1
1
  import * as TooltipMenuStories from './TooltipMenu.docs.stories.tsx';
2
2
  import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
3
  import { Meta } from '../../../.storybook/Meta';
4
+ import { PropsTable } from '../../../.storybook/PropsTable';
4
5
 
5
6
  <Meta of={TooltipMenuStories} />
6
7
 
@@ -14,10 +15,7 @@ import { Meta } from '../../../.storybook/Meta';
14
15
 
15
16
  ## Пропы
16
17
 
17
- <details>
18
- <summary>Открыть таблицу с пропами</summary>
19
- <ArgTypes />
20
- </details>
18
+ <PropsTable />
21
19
 
22
20
  ## Примеры использования
23
21
 
@@ -108,6 +108,7 @@ export var ComboBoxView = responsiveLayout(_class = rootNode(_class = (_ComboBox
108
108
  opened = _this$props2.opened,
109
109
  onFocus = _this$props2.onFocus,
110
110
  onInputValueChange = _this$props2.onInputValueChange,
111
+ onInputKeyDown = _this$props2.onInputKeyDown,
111
112
  placeholder = _this$props2.placeholder,
112
113
  textValue = _this$props2.textValue;
113
114
  if (loading && items && !!items.length) {
@@ -119,6 +120,7 @@ export var ComboBoxView = responsiveLayout(_class = rootNode(_class = (_ComboBox
119
120
  width: '100%',
120
121
  onFocus: onFocus,
121
122
  onValueChange: onInputValueChange,
123
+ onKeyDown: onInputKeyDown,
122
124
  value: textValue,
123
125
  placeholder: placeholder,
124
126
  rightIcon: rightIcon
@@ -1 +1 @@
1
- {"version":3,"names":["React","getRandomID","isNonNullable","Input","InputLikeText","RenderLayer","Spinner","CommonWrapper","MobilePopup","responsiveLayout","rootNode","getRootNode","createPropsGetter","ThemeContext","LoadingIcon","Popup","getMenuPositions","ZIndex","ArrowDownIcon","ComboBoxMenu","ComboBoxRequestStatus","styles","CustomComboBoxDataTids","getComboBoxTheme","ComboBoxViewIds","menu","ComboBoxView","_class","_ComboBoxView","_React$Component","_this$props$value","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","mobileInput","dropdownContainerRef","createRef","menuId","state","anchorElement","clearCrossShowed","props","showClearIcon","value","toString","getComboBoxMenu","_this$props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderNotFound","totalCount","size","_this$getProps","repeatRequest","requestStatus","renderItem","itemWrapper","createElement","hasMargin","onValueChange","handleItemSelect","renderAddButton","isMobile","isMobileLayout","renderMenu","_this$getProps2","menuPos","menuAlign","hasShadow","minWidth","priority","priorities","PopupMenu","positions","disablePortal","margin","parseInt","theme","menuOffsetY","ref","renderMobileMenu","rightIcon","_this$props2","onFocus","onInputValueChange","placeholder","textValue","renderSpinner","inputProps","autoComplete","autoFocus","width","headerChildComponent","_extends","refMobileInput","onCloseRequest","onMobileClose","getParent","handleMobileFocus","_this$mobileInput","onInputClick","focus","item","refInput","input","className","spinnerWrapper","type","caption","dimmed","getRightIcon","_this$props3","drawArrow","_inheritsLoose","_proto","prototype","componentDidMount","updateAnchorElement","parent","setState","componentDidUpdate","prevProps","editing","render","_this2","Consumer","Provider","renderMain","_this$props4","onMouseEnter","onMouseLeave","onMouseOver","_this$getProps3","onClickOutside","onFocusOutside","renderInput","active","comboBoxView","style","root","setRootNode","_this$props5","id","align","borderless","disabled","error","onInputBlur","onInputFocus","onInputKeyDown","warning","refInputLikeText","leftIcon","inputMode","ariaDescribedby","ariaLabel","_this$getProps4","renderValue","maxLength","onBlur","undefined","onClick","onKeyDown","onClearCrossClick","Component","__KONTUR_REACT_UI__","displayName","Unknown"],"sources":["ComboBoxView.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport type { InputIconType, InputProps, ShowClearIcon } from '../../components/Input';\nimport { Input } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport type { Menu } from '../Menu';\nimport type { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode, getRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { LoadingIcon } from '../icons2022/LoadingIcon';\nimport type { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport type { SizeProp } from '../../lib/types/props';\nimport { Popup } from '../Popup';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../ZIndex';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\nimport { CustomComboBoxDataTids } from './CustomComboBox';\nimport { getComboBoxTheme } from './getComboBoxTheme';\n\ninterface ComboBoxViewProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n loading?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: SizeProp;\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n showClearIcon?: ShowClearIcon;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onMobileClose?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onClearCrossClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'size'\n | 'width'\n | 'showClearIcon'\n >\n>;\n\nexport const ComboBoxViewIds = {\n menu: 'ComboBoxView__menu',\n};\n\ninterface ComboBoxViewState {\n anchorElement: Nullable<Element>;\n clearCrossShowed: boolean;\n}\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n public static displayName = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<Popup>();\n private theme!: Theme;\n private menuId = ComboBoxViewIds.menu + getRandomID();\n\n public state = {\n anchorElement: null,\n clearCrossShowed: this.props.showClearIcon === 'always' && !!this.props.value?.toString(),\n };\n\n public componentDidMount() {\n this.updateAnchorElement();\n\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n }\n\n updateAnchorElement() {\n const parent = this.getParent();\n const anchorElement = this.state.anchorElement;\n\n if (anchorElement !== parent) {\n this.setState({\n anchorElement: parent,\n });\n }\n }\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n this.updateAnchorElement();\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getComboBoxTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const { items, loading, opened, refMenu, maxMenuHeight, renderTotalCount, renderNotFound, totalCount, size } =\n this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n hasMargin={false}\n menuId={this.menuId}\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n size={size}\n />\n );\n };\n\n private renderMenu = () => {\n const { opened, menuPos, menuAlign } = this.getProps();\n const { anchorElement } = this.state;\n\n return (\n opened &&\n anchorElement && (\n <Popup\n opened\n hasShadow\n minWidth=\"100%\"\n anchorElement={anchorElement}\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n disablePortal={this.props.disablePortal}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </Popup>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items, opened, onFocus, onInputValueChange, placeholder, textValue } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onFocus,\n onValueChange: onInputValueChange,\n value: textValue,\n placeholder,\n rightIcon,\n };\n\n return (\n opened && (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n onCloseRequest={this.props.onMobileClose}\n opened\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n )\n );\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n id,\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n size,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n showClearIcon,\n } = this.props;\n\n const { renderValue } = this.getProps();\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n id={id}\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={onInputFocus}\n onClick={isMobile ? this.handleMobileFocus : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n autoComplete=\"off\"\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n aria-label={ariaLabel}\n showClearIcon={showClearIcon}\n />\n );\n }\n\n return (\n <InputLikeText\n id={id}\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n showClearIcon={showClearIcon}\n onClearCrossClick={this.props.onClearCrossClick}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleMobileFocus = () => {\n this.props.onInputClick?.();\n\n this.mobileInput?.focus();\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.props.onMobileClose?.();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon, size } = this.props;\n\n if (loading && items && !!items.length) {\n return <LoadingIcon size={size} />;\n }\n\n if (rightIcon || drawArrow) {\n return rightIcon || <ArrowDownIcon size={size} />;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","getRandomID","isNonNullable","Input","InputLikeText","RenderLayer","Spinner","CommonWrapper","MobilePopup","responsiveLayout","rootNode","getRootNode","createPropsGetter","ThemeContext","LoadingIcon","Popup","getMenuPositions","ZIndex","ArrowDownIcon","ComboBoxMenu","ComboBoxRequestStatus","styles","CustomComboBoxDataTids","getComboBoxTheme","ComboBoxViewIds","menu","ComboBoxView","_class","_ComboBoxView","_React$Component","_this$props$value","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","mobileInput","dropdownContainerRef","createRef","menuId","state","anchorElement","clearCrossShowed","props","showClearIcon","value","toString","getComboBoxMenu","_this$props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderNotFound","totalCount","size","_this$getProps","repeatRequest","requestStatus","renderItem","itemWrapper","createElement","hasMargin","onValueChange","handleItemSelect","renderAddButton","isMobile","isMobileLayout","renderMenu","_this$getProps2","menuPos","menuAlign","hasShadow","minWidth","priority","priorities","PopupMenu","positions","disablePortal","margin","parseInt","theme","menuOffsetY","ref","renderMobileMenu","rightIcon","_this$props2","onFocus","onInputValueChange","onInputKeyDown","placeholder","textValue","renderSpinner","inputProps","autoComplete","autoFocus","width","onKeyDown","headerChildComponent","_extends","refMobileInput","onCloseRequest","onMobileClose","getParent","handleMobileFocus","_this$mobileInput","onInputClick","focus","item","refInput","input","className","spinnerWrapper","type","caption","dimmed","getRightIcon","_this$props3","drawArrow","_inheritsLoose","_proto","prototype","componentDidMount","updateAnchorElement","parent","setState","componentDidUpdate","prevProps","editing","render","_this2","Consumer","Provider","renderMain","_this$props4","onMouseEnter","onMouseLeave","onMouseOver","_this$getProps3","onClickOutside","onFocusOutside","renderInput","active","comboBoxView","style","root","setRootNode","_this$props5","id","align","borderless","disabled","error","onInputBlur","onInputFocus","warning","refInputLikeText","leftIcon","inputMode","ariaDescribedby","ariaLabel","_this$getProps4","renderValue","maxLength","onBlur","undefined","onClick","onClearCrossClick","Component","__KONTUR_REACT_UI__","displayName","Unknown"],"sources":["ComboBoxView.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport type { InputIconType, InputProps, ShowClearIcon } from '../../components/Input';\nimport { Input } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport type { Menu } from '../Menu';\nimport type { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode, getRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { LoadingIcon } from '../icons2022/LoadingIcon';\nimport type { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport type { SizeProp } from '../../lib/types/props';\nimport { Popup } from '../Popup';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../ZIndex';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\nimport { CustomComboBoxDataTids } from './CustomComboBox';\nimport { getComboBoxTheme } from './getComboBoxTheme';\n\ninterface ComboBoxViewProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<Array<ComboBoxExtendedItem<T>>>;\n loading?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: SizeProp;\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n showClearIcon?: ShowClearIcon;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onMobileClose?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onClearCrossClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxViewProps<T>,\n | 'renderItem'\n | 'renderValue'\n | 'renderAddButton'\n | 'repeatRequest'\n | 'requestStatus'\n | 'onClickOutside'\n | 'onFocusOutside'\n | 'size'\n | 'width'\n | 'showClearIcon'\n >\n>;\n\nexport const ComboBoxViewIds = {\n menu: 'ComboBoxView__menu',\n};\n\ninterface ComboBoxViewState {\n anchorElement: Nullable<Element>;\n clearCrossShowed: boolean;\n}\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n public static displayName = 'ComboBoxView';\n\n public static defaultProps: DefaultProps<unknown> = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(ComboBoxView.defaultProps);\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<Popup>();\n private theme!: Theme;\n private menuId = ComboBoxViewIds.menu + getRandomID();\n\n public state = {\n anchorElement: null,\n clearCrossShowed: this.props.showClearIcon === 'always' && !!this.props.value?.toString(),\n };\n\n public componentDidMount() {\n this.updateAnchorElement();\n\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n }\n\n updateAnchorElement() {\n const parent = this.getParent();\n const anchorElement = this.state.anchorElement;\n\n if (anchorElement !== parent) {\n this.setState({\n anchorElement: parent,\n });\n }\n }\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n this.updateAnchorElement();\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getComboBoxTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { onMouseEnter, onMouseLeave, onMouseOver, opened } = this.props;\n const { onClickOutside, onFocusOutside, width } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const { items, loading, opened, refMenu, maxMenuHeight, renderTotalCount, renderNotFound, totalCount, size } =\n this.props;\n\n const { repeatRequest, requestStatus, renderItem, itemWrapper } = this.getProps();\n return (\n <ComboBoxMenu\n hasMargin={false}\n menuId={this.menuId}\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n itemWrapper={itemWrapper}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n size={size}\n />\n );\n };\n\n private renderMenu = () => {\n const { opened, menuPos, menuAlign } = this.getProps();\n const { anchorElement } = this.state;\n\n return (\n opened &&\n anchorElement && (\n <Popup\n opened\n hasShadow\n minWidth=\"100%\"\n anchorElement={anchorElement}\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n disablePortal={this.props.disablePortal}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </Popup>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items, opened, onFocus, onInputValueChange, onInputKeyDown, placeholder, textValue } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoComplete: 'off',\n autoFocus: true,\n width: '100%',\n onFocus,\n onValueChange: onInputValueChange,\n onKeyDown: onInputKeyDown,\n value: textValue,\n placeholder,\n rightIcon,\n };\n\n return (\n opened && (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n onCloseRequest={this.props.onMobileClose}\n opened\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n )\n );\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.getProps().renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n id,\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n size,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n showClearIcon,\n } = this.props;\n\n const { renderValue } = this.getProps();\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n id={id}\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={onInputFocus}\n onClick={isMobile ? this.handleMobileFocus : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n autoComplete=\"off\"\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n aria-label={ariaLabel}\n showClearIcon={showClearIcon}\n />\n );\n }\n\n return (\n <InputLikeText\n id={id}\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n aria-describedby={ariaDescribedby}\n aria-controls={this.menuId}\n showClearIcon={showClearIcon}\n onClearCrossClick={this.props.onClearCrossClick}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleMobileFocus = () => {\n this.props.onInputClick?.();\n\n this.mobileInput?.focus();\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.props.onMobileClose?.();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon, size } = this.props;\n\n if (loading && items && !!items.length) {\n return <LoadingIcon size={size} />;\n }\n\n if (rightIcon || drawArrow) {\n return rightIcon || <ArrowDownIcon size={size} />;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -43,7 +43,8 @@ export var DUMMY_LOCATION = {
43
43
  coordinates: {
44
44
  top: -9999,
45
45
  left: -9999
46
- }
46
+ },
47
+ isFullyVisible: false
47
48
  };
48
49
  export var PopupDataTids = {
49
50
  root: 'Popup__root',
@@ -183,7 +184,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_Popup = /*#__PU
183
184
  }
184
185
  var location = _this.getLocation(popupContentElement, _this.state.location);
185
186
  if (location) {
186
- _this.props.onPositionChange == null || _this.props.onPositionChange(location == null ? void 0 : location.position);
187
+ _this.props.onPositionChange == null || _this.props.onPositionChange(location.position, location.isFullyVisible);
187
188
  }
188
189
  if (!_this.locationEquals(_this.state.location, location)) {
189
190
  _this.setState({
@@ -468,7 +469,8 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_Popup = /*#__PU
468
469
  // сохраняем текущую позицию
469
470
  return {
470
471
  coordinates: coordinates,
471
- position: position
472
+ position: position,
473
+ isFullyVisible: true
472
474
  };
473
475
  }
474
476
  }
@@ -478,7 +480,8 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_Popup = /*#__PU
478
480
  if (PopupHelper.isFullyVisible(coordinates, popupRect)) {
479
481
  return {
480
482
  coordinates: coordinates,
481
- position: position
483
+ position: position,
484
+ isFullyVisible: true
482
485
  };
483
486
  }
484
487
  }
@@ -486,7 +489,8 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_Popup = /*#__PU
486
489
  coordinates = this.getCoordinates(anchorRect, popupRect, position);
487
490
  return {
488
491
  coordinates: coordinates,
489
- position: position
492
+ position: position,
493
+ isFullyVisible: false
490
494
  };
491
495
  };
492
496
  _proto.getPinnedPopupOffset = function getPinnedPopupOffset(anchorRect, position) {