@consta/uikit 4.31.2 → 4.33.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 (233) hide show
  1. package/AttachmentCanary/index.d.ts +1 -0
  2. package/AttachmentCanary/index.js +1 -0
  3. package/PaginationCanary/index.d.ts +1 -0
  4. package/PaginationCanary/index.js +1 -0
  5. package/TooltipCanary/index.d.ts +1 -0
  6. package/TooltipCanary/index.js +1 -0
  7. package/__internal__/src/components/AttachmentCanary/Attachment.css +1 -0
  8. package/__internal__/src/components/AttachmentCanary/AttachmentCanary.d.ts +5 -0
  9. package/__internal__/src/components/AttachmentCanary/AttachmentCanary.js +2 -0
  10. package/__internal__/src/components/AttachmentCanary/AttachmentCanary.js.map +1 -0
  11. package/__internal__/src/components/AttachmentCanary/index.d.ts +1 -0
  12. package/__internal__/src/components/AttachmentCanary/index.js +2 -0
  13. package/__internal__/src/components/AttachmentCanary/index.js.map +1 -0
  14. package/__internal__/src/components/AttachmentCanary/types.d.ts +22 -0
  15. package/__internal__/src/components/AttachmentCanary/types.js +2 -0
  16. package/__internal__/src/components/AttachmentCanary/types.js.map +1 -0
  17. package/__internal__/src/components/BadgeGroup/BadgeGroup.css +1 -1
  18. package/__internal__/src/components/BadgeGroup/BadgeGroup.js +1 -1
  19. package/__internal__/src/components/BadgeGroup/BadgeGroup.js.map +1 -1
  20. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js +1 -1
  21. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js.map +1 -1
  22. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.css +1 -1
  23. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js +1 -1
  24. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map +1 -1
  25. package/__internal__/src/components/BookmarkTabsCanary/types.d.ts +2 -2
  26. package/__internal__/src/components/BookmarkTabsCanary/types.js.map +1 -1
  27. package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.d.ts +1 -1
  28. package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.js.map +1 -1
  29. package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js +1 -1
  30. package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  31. package/__internal__/src/components/CheckboxGroup/helper.d.ts +1 -0
  32. package/__internal__/src/components/CheckboxGroup/types.d.ts +13 -9
  33. package/__internal__/src/components/CheckboxGroup/types.js +1 -1
  34. package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
  35. package/__internal__/src/components/ChoiceGroup/types.d.ts +3 -3
  36. package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
  37. package/__internal__/src/components/ChoiceGroupDeprecated/ChoiceGroupDeprecated.d.ts +3 -3
  38. package/__internal__/src/components/ChoiceGroupDeprecated/ChoiceGroupDeprecated.js.map +1 -1
  39. package/__internal__/src/components/Combobox/Combobox.js +1 -1
  40. package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
  41. package/__internal__/src/components/Combobox/helpers.d.ts +3 -1
  42. package/__internal__/src/components/Combobox/helpers.js +1 -1
  43. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  44. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js +1 -1
  45. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js.map +1 -1
  46. package/__internal__/src/components/ComboboxCanary/helpers.d.ts +3 -1
  47. package/__internal__/src/components/ComboboxCanary/helpers.js +1 -1
  48. package/__internal__/src/components/ComboboxCanary/helpers.js.map +1 -1
  49. package/__internal__/src/components/DateTime/helpers/getHandleSelectDate.d.ts +3 -3
  50. package/__internal__/src/components/DateTime/helpers/getHandleSelectDate.js.map +1 -1
  51. package/__internal__/src/components/DateTime/helpers/types.d.ts +4 -4
  52. package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
  53. package/__internal__/src/components/DragNDropField/DragNDropFieldTooltip/DragNDropFieldTooltip.js +1 -1
  54. package/__internal__/src/components/DragNDropField/DragNDropFieldTooltip/DragNDropFieldTooltip.js.map +1 -1
  55. package/__internal__/src/components/Loader/Loader.css +1 -1
  56. package/__internal__/src/components/Loader/Loader.d.ts +1 -1
  57. package/__internal__/src/components/Loader/Loader.js +1 -1
  58. package/__internal__/src/components/Loader/Loader.js.map +1 -1
  59. package/__internal__/src/components/LoaderCanary/Loader.css +1 -1
  60. package/__internal__/src/components/LoaderCanary/LoaderCanary.d.ts +2 -2
  61. package/__internal__/src/components/LoaderCanary/types.d.ts +1 -1
  62. package/__internal__/src/components/LoaderCanary/types.js +1 -1
  63. package/__internal__/src/components/LoaderCanary/types.js.map +1 -1
  64. package/__internal__/src/components/PaginationCanary/Pagination.css +1 -0
  65. package/__internal__/src/components/PaginationCanary/PaginationArrow/PaginationArrow.css +1 -0
  66. package/__internal__/src/components/PaginationCanary/PaginationArrow/PaginationArrow.d.ts +11 -0
  67. package/__internal__/src/components/PaginationCanary/PaginationArrow/PaginationArrow.js +2 -0
  68. package/__internal__/src/components/PaginationCanary/PaginationArrow/PaginationArrow.js.map +1 -0
  69. package/__internal__/src/components/PaginationCanary/PaginationArrow/index.d.ts +1 -0
  70. package/__internal__/src/components/PaginationCanary/PaginationArrow/index.js +2 -0
  71. package/__internal__/src/components/PaginationCanary/PaginationArrow/index.js.map +1 -0
  72. package/__internal__/src/components/PaginationCanary/PaginationBase/PaginationBase.css +1 -0
  73. package/__internal__/src/components/PaginationCanary/PaginationBase/PaginationBase.d.ts +3 -0
  74. package/__internal__/src/components/PaginationCanary/PaginationBase/PaginationBase.js +2 -0
  75. package/__internal__/src/components/PaginationCanary/PaginationBase/PaginationBase.js.map +1 -0
  76. package/__internal__/src/components/PaginationCanary/PaginationBase/index.d.ts +1 -0
  77. package/__internal__/src/components/PaginationCanary/PaginationBase/index.js +2 -0
  78. package/__internal__/src/components/PaginationCanary/PaginationBase/index.js.map +1 -0
  79. package/__internal__/src/components/PaginationCanary/PaginationCanary.d.ts +3 -0
  80. package/__internal__/src/components/PaginationCanary/PaginationCanary.js +2 -0
  81. package/__internal__/src/components/PaginationCanary/PaginationCanary.js.map +1 -0
  82. package/__internal__/src/components/PaginationCanary/PaginationItem/PaginationItem.css +1 -0
  83. package/__internal__/src/components/PaginationCanary/PaginationItem/PaginationItem.d.ts +3 -0
  84. package/__internal__/src/components/PaginationCanary/PaginationItem/PaginationItem.js +2 -0
  85. package/__internal__/src/components/PaginationCanary/PaginationItem/PaginationItem.js.map +1 -0
  86. package/__internal__/src/components/PaginationCanary/PaginationItem/index.d.ts +1 -0
  87. package/__internal__/src/components/PaginationCanary/PaginationItem/index.js +2 -0
  88. package/__internal__/src/components/PaginationCanary/PaginationItem/index.js.map +1 -0
  89. package/__internal__/src/components/PaginationCanary/PaginationList/PaginationList.css +1 -0
  90. package/__internal__/src/components/PaginationCanary/PaginationList/PaginationList.d.ts +3 -0
  91. package/__internal__/src/components/PaginationCanary/PaginationList/PaginationList.js +2 -0
  92. package/__internal__/src/components/PaginationCanary/PaginationList/PaginationList.js.map +1 -0
  93. package/__internal__/src/components/PaginationCanary/PaginationList/index.d.ts +1 -0
  94. package/__internal__/src/components/PaginationCanary/PaginationList/index.js +2 -0
  95. package/__internal__/src/components/PaginationCanary/PaginationList/index.js.map +1 -0
  96. package/__internal__/src/components/PaginationCanary/PaginationNumberInput/PaginationNumberInput.css +1 -0
  97. package/__internal__/src/components/PaginationCanary/PaginationNumberInput/PaginationNumberInput.d.ts +10 -0
  98. package/__internal__/src/components/PaginationCanary/PaginationNumberInput/PaginationNumberInput.js +2 -0
  99. package/__internal__/src/components/PaginationCanary/PaginationNumberInput/PaginationNumberInput.js.map +1 -0
  100. package/__internal__/src/components/PaginationCanary/PaginationNumberInput/index.d.ts +1 -0
  101. package/__internal__/src/components/PaginationCanary/PaginationNumberInput/index.js +2 -0
  102. package/__internal__/src/components/PaginationCanary/PaginationNumberInput/index.js.map +1 -0
  103. package/__internal__/src/components/PaginationCanary/helpers.d.ts +560 -0
  104. package/__internal__/src/components/PaginationCanary/helpers.js +2 -0
  105. package/__internal__/src/components/PaginationCanary/helpers.js.map +1 -0
  106. package/__internal__/src/components/PaginationCanary/index.d.ts +2 -0
  107. package/__internal__/src/components/PaginationCanary/index.js +2 -0
  108. package/__internal__/src/components/PaginationCanary/index.js.map +1 -0
  109. package/__internal__/src/components/PaginationCanary/types.d.ts +148 -0
  110. package/__internal__/src/components/PaginationCanary/types.js +2 -0
  111. package/__internal__/src/components/PaginationCanary/types.js.map +1 -0
  112. package/__internal__/src/components/PaginationCanary/usePaginationItems.d.ts +19 -0
  113. package/__internal__/src/components/PaginationCanary/usePaginationItems.js +2 -0
  114. package/__internal__/src/components/PaginationCanary/usePaginationItems.js.map +1 -0
  115. package/__internal__/src/components/PaginationCanary/usePaginationKeys.d.ts +10 -0
  116. package/__internal__/src/components/PaginationCanary/usePaginationKeys.js +2 -0
  117. package/__internal__/src/components/PaginationCanary/usePaginationKeys.js.map +1 -0
  118. package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js +1 -1
  119. package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js.map +1 -1
  120. package/__internal__/src/components/Responses/Responses.css +1 -1
  121. package/__internal__/src/components/Responses/Responses.d.ts +1 -1
  122. package/__internal__/src/components/Responses/Responses.js +1 -1
  123. package/__internal__/src/components/Responses/Responses.js.map +1 -1
  124. package/__internal__/src/components/Responses403/Responses403.js +1 -1
  125. package/__internal__/src/components/Responses403/Responses403.js.map +1 -1
  126. package/__internal__/src/components/Responses500/Responses500.d.ts +2 -2
  127. package/__internal__/src/components/Responses500/Responses500.js +1 -1
  128. package/__internal__/src/components/Responses500/Responses500.js.map +1 -1
  129. package/__internal__/src/components/Responses503/Responses503.d.ts +2 -2
  130. package/__internal__/src/components/Responses503/Responses503.js +1 -1
  131. package/__internal__/src/components/Responses503/Responses503.js.map +1 -1
  132. package/__internal__/src/components/ResponsesConnectionError/ResponsesConnectionError.js +1 -1
  133. package/__internal__/src/components/ResponsesConnectionError/ResponsesConnectionError.js.map +1 -1
  134. package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js +1 -1
  135. package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js.map +1 -1
  136. package/__internal__/src/components/Select/Select.js +1 -1
  137. package/__internal__/src/components/Select/Select.js.map +1 -1
  138. package/__internal__/src/components/Select/helpers.d.ts +2 -1
  139. package/__internal__/src/components/Select/helpers.js +1 -1
  140. package/__internal__/src/components/Select/helpers.js.map +1 -1
  141. package/__internal__/src/components/SelectCanary/SelectCanary.js +1 -1
  142. package/__internal__/src/components/SelectCanary/SelectCanary.js.map +1 -1
  143. package/__internal__/src/components/SelectCanary/helpers.d.ts +2 -1
  144. package/__internal__/src/components/SelectCanary/helpers.js +1 -1
  145. package/__internal__/src/components/SelectCanary/helpers.js.map +1 -1
  146. package/__internal__/src/components/SelectComponents/Select.css +1 -1
  147. package/__internal__/src/components/SelectComponentsCanary/Select.css +1 -1
  148. package/__internal__/src/components/Slider/SliderPoint/SliderPoint.js +1 -1
  149. package/__internal__/src/components/Slider/SliderPoint/SliderPoint.js.map +1 -1
  150. package/__internal__/src/components/Table/filtering.js +1 -1
  151. package/__internal__/src/components/Table/filtering.js.map +1 -1
  152. package/__internal__/src/components/Table/helpers.js +1 -1
  153. package/__internal__/src/components/Table/helpers.js.map +1 -1
  154. package/__internal__/src/components/Tabs/Tabs.js +1 -1
  155. package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
  156. package/__internal__/src/components/Tabs/{FitModeDropdownWrapper → TabsFitModeDropdownWrapper}/TabsFitModeDropdownWrapper.d.ts +1 -1
  157. package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +2 -0
  158. package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +1 -0
  159. package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/useFittingItems.js.map +1 -0
  160. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js +2 -0
  161. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -0
  162. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/__test__/helpers.test.js.map +1 -0
  163. package/__internal__/src/components/Tabs/TabsLine/TabsLine.js.map +1 -0
  164. package/__internal__/src/components/Tabs/TabsListWrapper/TabsListWrapper.d.ts +2 -0
  165. package/__internal__/src/components/Tabs/TabsListWrapper/TabsListWrapper.js +2 -0
  166. package/__internal__/src/components/Tabs/TabsListWrapper/TabsListWrapper.js.map +1 -0
  167. package/__internal__/src/components/Tabs/TabsListWrapper/index.d.ts +1 -0
  168. package/__internal__/src/components/Tabs/TabsListWrapper/index.js +2 -0
  169. package/__internal__/src/components/Tabs/TabsListWrapper/index.js.map +1 -0
  170. package/__internal__/src/components/Tabs/TabsMoreItems/TabsMoreItems.css +1 -0
  171. package/__internal__/src/components/Tabs/TabsMoreItems/TabsMoreItems.js +2 -0
  172. package/__internal__/src/components/Tabs/TabsMoreItems/TabsMoreItems.js.map +1 -0
  173. package/__internal__/src/components/Tabs/TabsTab/TabsTab.js.map +1 -0
  174. package/__internal__/src/components/Tabs/helpers.d.ts +329 -329
  175. package/__internal__/src/components/Tabs/helpers.js +1 -1
  176. package/__internal__/src/components/Tabs/helpers.js.map +1 -1
  177. package/__internal__/src/components/Tabs/index.d.ts +1 -1
  178. package/__internal__/src/components/Tabs/index.js +1 -1
  179. package/__internal__/src/components/Tabs/index.js.map +1 -1
  180. package/__internal__/src/components/Tabs/types.d.ts +3 -2
  181. package/__internal__/src/components/Tabs/types.js.map +1 -1
  182. package/__internal__/src/components/TabsDeprecated/FitModeScrollWrapper/helpers.js +1 -1
  183. package/__internal__/src/components/TabsDeprecated/FitModeScrollWrapper/helpers.js.map +1 -1
  184. package/__internal__/src/components/Theme/_color/Theme_color_gpnDark.css +1 -1
  185. package/__internal__/src/components/TooltipCanary/Tooltip.css +1 -0
  186. package/__internal__/src/components/TooltipCanary/TooltipCanary.d.ts +4 -0
  187. package/__internal__/src/components/TooltipCanary/TooltipCanary.js +2 -0
  188. package/__internal__/src/components/TooltipCanary/TooltipCanary.js.map +1 -0
  189. package/__internal__/src/components/TooltipCanary/index.d.ts +2 -0
  190. package/__internal__/src/components/TooltipCanary/index.js +2 -0
  191. package/__internal__/src/components/TooltipCanary/index.js.map +1 -0
  192. package/__internal__/src/components/TooltipCanary/types.d.ts +23 -0
  193. package/__internal__/src/components/TooltipCanary/types.js +2 -0
  194. package/__internal__/src/components/TooltipCanary/types.js.map +1 -0
  195. package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
  196. package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
  197. package/__internal__/src/components/UserSelect/helpers.d.ts +3 -1
  198. package/__internal__/src/components/UserSelect/helpers.js +1 -1
  199. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  200. package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js +1 -1
  201. package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js.map +1 -1
  202. package/__internal__/src/components/UserSelectCanary/helpers.d.ts +3 -1
  203. package/__internal__/src/components/UserSelectCanary/helpers.js +1 -1
  204. package/__internal__/src/components/UserSelectCanary/helpers.js.map +1 -1
  205. package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
  206. package/__internal__/src/hocs/withTooltip/withTooltip.js +1 -1
  207. package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
  208. package/package.json +1 -1
  209. package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +0 -2
  210. package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +0 -1
  211. package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.js.map +0 -1
  212. package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +0 -2
  213. package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +0 -1
  214. package/__internal__/src/components/Tabs/FitModeScrollWrapper/__test__/helpers.test.js.map +0 -1
  215. package/__internal__/src/components/Tabs/Line/TabsLine.js.map +0 -1
  216. package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.css +0 -1
  217. package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js +0 -2
  218. package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js.map +0 -1
  219. package/__internal__/src/components/Tabs/Tab/TabsTab.js.map +0 -1
  220. /package/__internal__/src/components/Tabs/{FitModeDropdownWrapper → TabsFitModeDropdownWrapper}/TabsFitModeDropdownWrapper.css +0 -0
  221. /package/__internal__/src/components/Tabs/{FitModeDropdownWrapper → TabsFitModeDropdownWrapper}/useFittingItems.d.ts +0 -0
  222. /package/__internal__/src/components/Tabs/{FitModeDropdownWrapper → TabsFitModeDropdownWrapper}/useFittingItems.js +0 -0
  223. /package/__internal__/src/components/Tabs/{FitModeScrollWrapper → TabsFitModeScrollWrapper}/TabsFitModeScrollWrapper.css +0 -0
  224. /package/__internal__/src/components/Tabs/{FitModeScrollWrapper → TabsFitModeScrollWrapper}/TabsFitModeScrollWrapper.d.ts +0 -0
  225. /package/__internal__/src/components/Tabs/{FitModeScrollWrapper → TabsFitModeScrollWrapper}/__test__/helpers.test.d.ts +0 -0
  226. /package/__internal__/src/components/Tabs/{FitModeScrollWrapper → TabsFitModeScrollWrapper}/__test__/helpers.test.js +0 -0
  227. /package/__internal__/src/components/Tabs/{Line → TabsLine}/TabsLine.css +0 -0
  228. /package/__internal__/src/components/Tabs/{Line → TabsLine}/TabsLine.d.ts +0 -0
  229. /package/__internal__/src/components/Tabs/{Line → TabsLine}/TabsLine.js +0 -0
  230. /package/__internal__/src/components/Tabs/{MoreItems → TabsMoreItems}/TabsMoreItems.d.ts +0 -0
  231. /package/__internal__/src/components/Tabs/{Tab → TabsTab}/TabsTab.css +0 -0
  232. /package/__internal__/src/components/Tabs/{Tab → TabsTab}/TabsTab.d.ts +0 -0
  233. /package/__internal__/src/components/Tabs/{Tab → TabsTab}/TabsTab.js +0 -0
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React from"react";import{TabsFitModeDropdownWrapper}from"./FitModeDropdownWrapper/TabsFitModeDropdownWrapper";import{TabsFitModeScrollWrapper}from"./FitModeScrollWrapper/TabsFitModeScrollWrapper";export var getTabsDirection=function(a){return"left"===a||"right"===a?"vertical":"horizontal"};export var getTabsWidth=function(a){return a.reduce(function(a,b){return a+b.size+b.gap},0)};export var getTabsWrapper=function(a,b){return"vertical"===a?OnlyListWrapper:"scroll"===b?TabsFitModeScrollWrapper:TabsFitModeDropdownWrapper};var defaultGetItemLabel=function(a){return a.label},defaultGetItemIcon=function(a){return a.icon},defaultGetItemLeftIcon=function(a){return a.leftIcon},defaultGetItemRightIcon=function(a){return a.rightIcon},defaultGetItemLeftSide=function(a){return a.leftSide},defaultGetItemRightSide=function(a){return a.rightSide},defaultGetItemDisable=function(a){return a.disabled},defaultGetItemAs=function(a){return a.as},defaultGetItemAttributes=function(a){return a.attributes},defaultGetItemRef=function(a){return a.ref};export var withDefaultGetters=function(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemIcon:a.getItemIcon||defaultGetItemIcon,getItemLeftIcon:a.getItemLeftIcon||defaultGetItemLeftIcon,getItemRightIcon:a.getItemRightIcon||defaultGetItemRightIcon,getItemLeftSide:a.getItemLeftSide||defaultGetItemLeftSide,getItemRightSide:a.getItemRightSide||defaultGetItemRightSide,getItemDisabled:a.getItemDisabled||defaultGetItemDisable,getItemAs:a.getItemAs||defaultGetItemAs,getItemAttributes:a.getItemAttributes||defaultGetItemAttributes,getItemRef:a.getItemRef||defaultGetItemRef})};var OnlyListWrapper=function(a){var b=a.renderItemsList;return React.createElement(React.Fragment,null,b({}))};export var getVisibleTabsRange=function(a){for(var b,c,d=a.tabsDimensions,e=a.containerWidth,f=a.containerPaddingLeft,g=a.scrollLeft,h=null,i=null,j=g,k=0;k<d.length;k++){var l=getTabsWidth(d.slice(0,k)),m=f+l;m>=j&&null===h&&(h=k);var n=m+d[k].size;n<=j+e&&(i=k)}return h=null!==(b=h)&&void 0!==b?b:0,i=Math.max(h,null!==(c=i)&&void 0!==c?c:0),[h,i]};
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{TabsFitModeDropdownWrapper}from"./TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper";import{TabsFitModeScrollWrapper}from"./TabsFitModeScrollWrapper/TabsFitModeScrollWrapper";import{TabsListWrapper}from"./TabsListWrapper";export var getTabsDirection=function(a){return"left"===a||"right"===a?"vertical":"horizontal"};export var getTabsWidth=function(a){return a.reduce(function(a,b){return a+b.size+b.gap},0)};export var getTabsWrapper=function(a,b){return"vertical"===a?TabsListWrapper:"scroll"===b?TabsFitModeScrollWrapper:TabsFitModeDropdownWrapper};var defaultGetItemLabel=function(a){return a.label},defaultGetItemIcon=function(a){return a.icon},defaultGetItemLeftIcon=function(a){return a.leftIcon},defaultGetItemRightIcon=function(a){return a.rightIcon},defaultGetItemLeftSide=function(a){return a.leftSide},defaultGetItemRightSide=function(a){return a.rightSide},defaultGetItemDisable=function(a){return a.disabled},defaultGetItemAs=function(a){return a.as},defaultGetItemAttributes=function(a){return a.attributes},defaultGetItemRef=function(a){return a.ref};export var withDefaultGetters=function(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemIcon:a.getItemIcon||defaultGetItemIcon,getItemLeftIcon:a.getItemLeftIcon||defaultGetItemLeftIcon,getItemRightIcon:a.getItemRightIcon||defaultGetItemRightIcon,getItemLeftSide:a.getItemLeftSide||defaultGetItemLeftSide,getItemRightSide:a.getItemRightSide||defaultGetItemRightSide,getItemDisabled:a.getItemDisabled||defaultGetItemDisable,getItemAs:a.getItemAs||defaultGetItemAs,getItemAttributes:a.getItemAttributes||defaultGetItemAttributes,getItemRef:a.getItemRef||defaultGetItemRef})};export var getVisibleTabsRange=function(a){for(var b,c,d=a.tabsDimensions,e=a.containerWidth,f=a.containerPaddingLeft,g=a.scrollLeft,h=null,i=null,j=g,k=0;k<d.length;k++){var l=getTabsWidth(d.slice(0,k)),m=f+l,n=m>=j;n&&null===h&&(h=k);var o=m+d[k].size,p=o<=j+e;p&&(i=k)}return h=null!==(b=h)&&void 0!==b?b:0,i=Math.max(h,null!==(c=i)&&void 0!==c?c:0),[h,i]};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["React","TabsFitModeDropdownWrapper","TabsFitModeScrollWrapper","getTabsDirection","linePosition","getTabsWidth","tabsDimensions","reduce","acc","td","size","gap","getTabsWrapper","tabsDirection","fitMode","OnlyListWrapper","defaultGetItemLabel","item","label","defaultGetItemIcon","icon","defaultGetItemLeftIcon","leftIcon","defaultGetItemRightIcon","rightIcon","defaultGetItemLeftSide","leftSide","defaultGetItemRightSide","rightSide","defaultGetItemDisable","disabled","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemRef","ref","withDefaultGetters","props","getItemLabel","getItemIcon","getItemLeftIcon","getItemRightIcon","getItemLeftSide","getItemRightSide","getItemDisabled","getItemAs","getItemAttributes","getItemRef","renderItemsList","getVisibleTabsRange","containerWidth","containerPaddingLeft","scrollLeft","firstVisibleTabIdx","lastVisibleTabIdx","containerLeftSide","idx","length","previousTabsWidth","slice","tabElLeftSide","tabElRightSide","Math","max"],"sources":["../../../../../src/components/Tabs/helpers.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TabsFitModeDropdownWrapper } from './FitModeDropdownWrapper/TabsFitModeDropdownWrapper';\nimport { TabsFitModeScrollWrapper } from './FitModeScrollWrapper/TabsFitModeScrollWrapper';\nimport {\n TabDimensions,\n TabsDirection,\n TabsFitModeWrapperProps,\n TabsItemDefault,\n TabsPropFitMode,\n TabsPropGetItemAs,\n TabsPropGetItemAttributes,\n TabsPropGetItemDisabled,\n TabsPropGetItemIcon,\n TabsPropGetItemLabel,\n TabsPropGetItemRef,\n TabsPropGetItemSide,\n TabsPropLinePosition,\n TabsProps,\n} from './types';\n\nexport const getTabsDirection = (\n linePosition: TabsPropLinePosition,\n): TabsDirection =>\n linePosition === 'left' || linePosition === 'right'\n ? 'vertical'\n : 'horizontal';\n\nexport const getTabsWidth = (tabsDimensions: TabDimensions[]): number =>\n tabsDimensions.reduce((acc, td) => acc + td.size + td.gap, 0);\n\nexport const getTabsWrapper = (\n tabsDirection: TabsDirection,\n fitMode: TabsPropFitMode,\n) => {\n if (tabsDirection === 'vertical') {\n return OnlyListWrapper;\n }\n\n return fitMode === 'scroll'\n ? TabsFitModeScrollWrapper\n : TabsFitModeDropdownWrapper;\n};\n\nconst defaultGetItemLabel: TabsPropGetItemLabel<TabsItemDefault> = (item) =>\n item.label;\nconst defaultGetItemIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.icon;\nconst defaultGetItemLeftIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.leftIcon;\nconst defaultGetItemRightIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.rightIcon;\nconst defaultGetItemLeftSide: TabsPropGetItemSide<TabsItemDefault> = (item) =>\n item.leftSide;\nconst defaultGetItemRightSide: TabsPropGetItemSide<TabsItemDefault> = (item) =>\n item.rightSide;\nconst defaultGetItemDisable: TabsPropGetItemDisabled<TabsItemDefault> = (\n item,\n) => item.disabled;\nconst defaultGetItemAs: TabsPropGetItemAs<TabsItemDefault> = (item) => item.as;\nconst defaultGetItemAttributes: TabsPropGetItemAttributes<TabsItemDefault> = (\n item,\n) => item.attributes;\nconst defaultGetItemRef: TabsPropGetItemRef<TabsItemDefault> = (item) =>\n item.ref;\n\nexport const withDefaultGetters = (props: TabsProps) => {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIcon: props.getItemIcon || defaultGetItemIcon,\n getItemLeftIcon: props.getItemLeftIcon || defaultGetItemLeftIcon,\n getItemRightIcon: props.getItemRightIcon || defaultGetItemRightIcon,\n getItemLeftSide: props.getItemLeftSide || defaultGetItemLeftSide,\n getItemRightSide: props.getItemRightSide || defaultGetItemRightSide,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisable,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemRef: props.getItemRef || defaultGetItemRef,\n };\n};\n\nconst OnlyListWrapper = <ITEM,>({\n renderItemsList,\n}: TabsFitModeWrapperProps<ITEM>): React.ReactElement | null => (\n <>{renderItemsList({})}</>\n);\n\nexport const getVisibleTabsRange = ({\n tabsDimensions,\n containerWidth,\n containerPaddingLeft,\n scrollLeft,\n}: {\n tabsDimensions: TabDimensions[];\n containerWidth: number;\n containerPaddingLeft: number;\n scrollLeft: number;\n}): [number, number] => {\n let firstVisibleTabIdx = null;\n let lastVisibleTabIdx = null;\n\n const containerLeftSide = scrollLeft;\n const containerRightSide = containerLeftSide + containerWidth;\n\n for (let idx = 0; idx < tabsDimensions.length; idx++) {\n const previousTabsWidth = getTabsWidth(tabsDimensions.slice(0, idx));\n const tabElLeftSide = containerPaddingLeft + previousTabsWidth;\n const isTabLeftSideVisible = tabElLeftSide >= containerLeftSide;\n if (isTabLeftSideVisible && firstVisibleTabIdx === null) {\n firstVisibleTabIdx = idx;\n }\n\n const tabElRightSide = tabElLeftSide + tabsDimensions[idx].size;\n const isTabRightSideVisible = tabElRightSide <= containerRightSide;\n if (isTabRightSideVisible) {\n lastVisibleTabIdx = idx;\n }\n }\n\n firstVisibleTabIdx = firstVisibleTabIdx ?? 0;\n lastVisibleTabIdx = Math.max(firstVisibleTabIdx, lastVisibleTabIdx ?? 0);\n\n return [firstVisibleTabIdx, lastVisibleTabIdx];\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["TabsFitModeDropdownWrapper","TabsFitModeScrollWrapper","TabsListWrapper","getTabsDirection","linePosition","getTabsWidth","tabsDimensions","reduce","acc","td","size","gap","getTabsWrapper","tabsDirection","fitMode","defaultGetItemLabel","item","label","defaultGetItemIcon","icon","defaultGetItemLeftIcon","leftIcon","defaultGetItemRightIcon","rightIcon","defaultGetItemLeftSide","leftSide","defaultGetItemRightSide","rightSide","defaultGetItemDisable","disabled","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemRef","ref","withDefaultGetters","props","getItemLabel","getItemIcon","getItemLeftIcon","getItemRightIcon","getItemLeftSide","getItemRightSide","getItemDisabled","getItemAs","getItemAttributes","getItemRef","getVisibleTabsRange","containerWidth","containerPaddingLeft","scrollLeft","firstVisibleTabIdx","lastVisibleTabIdx","containerLeftSide","idx","length","previousTabsWidth","slice","tabElLeftSide","isTabLeftSideVisible","tabElRightSide","isTabRightSideVisible","Math","max"],"sources":["../../../../../src/components/Tabs/helpers.tsx"],"sourcesContent":["import { TabsFitModeDropdownWrapper } from './TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper';\nimport { TabsFitModeScrollWrapper } from './TabsFitModeScrollWrapper/TabsFitModeScrollWrapper';\nimport { TabsListWrapper } from './TabsListWrapper';\nimport {\n TabDimensions,\n TabsDirection,\n TabsItemDefault,\n TabsPropFitMode,\n TabsPropGetItemAs,\n TabsPropGetItemAttributes,\n TabsPropGetItemDisabled,\n TabsPropGetItemIcon,\n TabsPropGetItemLabel,\n TabsPropGetItemRef,\n TabsPropGetItemSide,\n TabsPropLinePosition,\n TabsProps,\n} from './types';\n\nexport const getTabsDirection = (\n linePosition: TabsPropLinePosition,\n): TabsDirection =>\n linePosition === 'left' || linePosition === 'right'\n ? 'vertical'\n : 'horizontal';\n\nexport const getTabsWidth = (tabsDimensions: TabDimensions[]): number =>\n tabsDimensions.reduce((acc, td) => acc + td.size + td.gap, 0);\n\nexport const getTabsWrapper = (\n tabsDirection: TabsDirection,\n fitMode: TabsPropFitMode,\n) => {\n if (tabsDirection === 'vertical') {\n return TabsListWrapper;\n }\n\n return fitMode === 'scroll'\n ? TabsFitModeScrollWrapper\n : TabsFitModeDropdownWrapper;\n};\n\nconst defaultGetItemLabel: TabsPropGetItemLabel<TabsItemDefault> = (item) =>\n item.label;\nconst defaultGetItemIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.icon;\nconst defaultGetItemLeftIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.leftIcon;\nconst defaultGetItemRightIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.rightIcon;\nconst defaultGetItemLeftSide: TabsPropGetItemSide<TabsItemDefault> = (item) =>\n item.leftSide;\nconst defaultGetItemRightSide: TabsPropGetItemSide<TabsItemDefault> = (item) =>\n item.rightSide;\nconst defaultGetItemDisable: TabsPropGetItemDisabled<TabsItemDefault> = (\n item,\n) => item.disabled;\nconst defaultGetItemAs: TabsPropGetItemAs<TabsItemDefault> = (item) => item.as;\nconst defaultGetItemAttributes: TabsPropGetItemAttributes<TabsItemDefault> = (\n item,\n) => item.attributes;\nconst defaultGetItemRef: TabsPropGetItemRef<TabsItemDefault> = (item) =>\n item.ref;\n\nexport const withDefaultGetters = (props: TabsProps) => {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIcon: props.getItemIcon || defaultGetItemIcon,\n getItemLeftIcon: props.getItemLeftIcon || defaultGetItemLeftIcon,\n getItemRightIcon: props.getItemRightIcon || defaultGetItemRightIcon,\n getItemLeftSide: props.getItemLeftSide || defaultGetItemLeftSide,\n getItemRightSide: props.getItemRightSide || defaultGetItemRightSide,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisable,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemRef: props.getItemRef || defaultGetItemRef,\n };\n};\n\nexport const getVisibleTabsRange = ({\n tabsDimensions,\n containerWidth,\n containerPaddingLeft,\n scrollLeft,\n}: {\n tabsDimensions: TabDimensions[];\n containerWidth: number;\n containerPaddingLeft: number;\n scrollLeft: number;\n}): [number, number] => {\n let firstVisibleTabIdx = null;\n let lastVisibleTabIdx = null;\n\n const containerLeftSide = scrollLeft;\n const containerRightSide = containerLeftSide + containerWidth;\n\n for (let idx = 0; idx < tabsDimensions.length; idx++) {\n const previousTabsWidth = getTabsWidth(tabsDimensions.slice(0, idx));\n const tabElLeftSide = containerPaddingLeft + previousTabsWidth;\n const isTabLeftSideVisible = tabElLeftSide >= containerLeftSide;\n if (isTabLeftSideVisible && firstVisibleTabIdx === null) {\n firstVisibleTabIdx = idx;\n }\n\n const tabElRightSide = tabElLeftSide + tabsDimensions[idx].size;\n const isTabRightSideVisible = tabElRightSide <= containerRightSide;\n if (isTabRightSideVisible) {\n lastVisibleTabIdx = idx;\n }\n }\n\n firstVisibleTabIdx = firstVisibleTabIdx ?? 0;\n lastVisibleTabIdx = Math.max(firstVisibleTabIdx, lastVisibleTabIdx ?? 0);\n\n return [firstVisibleTabIdx, lastVisibleTabIdx];\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export * from './Tabs';
2
- export * from './Tab/TabsTab';
2
+ export * from './TabsTab/TabsTab';
@@ -1,2 +1,2 @@
1
- export*from"./Tabs";export*from"./Tab/TabsTab";
1
+ export*from"./Tabs";export*from"./TabsTab/TabsTab";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Tabs/index.ts"],"sourcesContent":["export * from './Tabs';\nexport * from './Tab/TabsTab';\n"],"mappings":"AAAA,oBACA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Tabs/index.ts"],"sourcesContent":["export * from './Tabs';\nexport * from './TabsTab/TabsTab';\n"],"mappings":"AAAA,oBACA"}
@@ -43,7 +43,7 @@ export declare type TabsPropGetItemAttributes<ITEM> = (item: ITEM) => TabsItemDe
43
43
  export declare type TabsPropGetItemRef<ITEM> = (item: ITEM) => React.RefObject<HTMLElement> | undefined;
44
44
  export declare type TabsPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;
45
45
  export declare type TabsPropOnChange<ITEM> = (props: {
46
- e: React.MouseEvent;
46
+ e: React.MouseEvent | React.KeyboardEvent;
47
47
  value: ITEM;
48
48
  }) => void;
49
49
  export declare type RenderItemProps<ITEM> = {
@@ -65,6 +65,7 @@ export declare type TabsFitModeWrapperProps<ITEM> = {
65
65
  getItemChecked: TabsPropGetItemChecked<ITEM>;
66
66
  renderItem: (item: ITEM) => React.ReactNode;
67
67
  renderItemsList: RenderItemsListProp;
68
+ onChange: TabsPropOnChange<ITEM>;
68
69
  tabRefs: Array<React.RefObject<HTMLElement>>;
69
70
  size: TabsPropSize;
70
71
  };
@@ -120,7 +121,7 @@ export declare type TabsMoreItemsProps<ITEM = TabsItemDefault> = PropsWithHTMLAt
120
121
  items: ITEM[];
121
122
  renderItem: (item: ITEM, onClick: () => void, renderInDropdown?: boolean) => React.ReactNode;
122
123
  getItemLabel: TabsPropGetItemLabel<ITEM>;
123
- getItemChecked: TabsPropGetItemChecked<ITEM>;
124
+ onChange: TabsPropOnChange<ITEM>;
124
125
  height: number;
125
126
  size: TabsPropSize;
126
127
  } & React.RefAttributes<HTMLDivElement>, HTMLDivElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["tabsSizes","tabsDefaultSize","tabsViews","tabsDefaultView","tabsLinePositions","tabsDefaultLinePosition","tabsFitModes","tabsDefaultFitMode"],"sources":["../../../../../src/components/Tabs/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\nimport { PropsWithAsAttributes } from '##/utils/types/PropsWithAsAttributes';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type TabDimensions = {\n size: number;\n gap: number;\n};\n\nexport type TabsItemDefault = {\n label: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n rightSide?: React.ReactNode;\n leftSide?: React.ReactNode;\n disabled?: boolean;\n as?: AsTags;\n ref?: React.RefObject<HTMLElement>;\n attributes?: AsAttributes;\n\n /**\n * @deprecated since version 4.11.0 use leftIcon\n */\n icon?: IconComponent;\n};\n\nexport const tabsSizes = ['m', 's', 'xs'] as const;\nexport type TabsPropSize = typeof tabsSizes[number];\nexport const tabsDefaultSize: TabsPropSize = tabsSizes[0];\n\nexport const tabsViews = ['bordered', 'clear'] as const;\nexport type TabsPropView = typeof tabsViews[number];\nexport const tabsDefaultView: TabsPropView = tabsViews[0];\n\nexport const tabsLinePositions = ['bottom', 'top', 'left', 'right'] as const;\nexport type TabsPropLinePosition = typeof tabsLinePositions[number];\nexport const tabsDefaultLinePosition: TabsPropLinePosition = 'bottom';\n\nexport const tabsFitModes = ['scroll', 'dropdown'] as const;\nexport type TabsPropFitMode = typeof tabsFitModes[number];\nexport const tabsDefaultFitMode: TabsPropFitMode = 'dropdown';\n\nexport type TabsPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\nexport type TabsPropGetItemChecked<ITEM> = (item: ITEM) => boolean | undefined;\nexport type TabsPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type TabsPropGetItemSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type TabsPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\nexport type TabsPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => TabsItemDefault['attributes'];\nexport type TabsPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLElement> | undefined;\n\nexport type TabsPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\n\nexport type TabsPropOnChange<ITEM> = (props: {\n e: React.MouseEvent;\n value: ITEM;\n}) => void;\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n label: string;\n tabRef?: React.RefObject<HTMLElement>;\n renderInDropdown?: boolean;\n} & Omit<TabsItemDefault, 'label' | 'ref'>;\n\nexport type RenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsFitModeWrapperProps<ITEM> = {\n items: ITEM[];\n tabsDimensions: TabDimensions[];\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n renderItem: (item: ITEM) => React.ReactNode;\n renderItemsList: RenderItemsListProp;\n tabRefs: Array<React.RefObject<HTMLElement>>;\n size: TabsPropSize;\n};\n\nexport type TabsProps<ITEM = TabsItemDefault> = PropsWithHTMLAttributesAndRef<\n {\n size?: TabsPropSize;\n onlyIcon?: boolean;\n view?: TabsPropView;\n iconSize?: IconPropSize;\n items: ITEM[];\n value?: ITEM | null;\n getItemLabel?: TabsPropGetItemLabel<ITEM>;\n getItemLeftIcon?: TabsPropGetItemIcon<ITEM>;\n getItemRightIcon?: TabsPropGetItemIcon<ITEM>;\n getItemLeftSide?: TabsPropGetItemSide<ITEM>;\n getItemRightSide?: TabsPropGetItemSide<ITEM>;\n getItemDisabled?: TabsPropGetItemDisabled<ITEM>;\n getItemAs?: TabsPropGetItemAs<ITEM>;\n getItemAttributes?: TabsPropGetItemAttributes<ITEM>;\n getItemRef?: TabsPropGetItemRef<ITEM>;\n children?: never;\n onChange: TabsPropOnChange<ITEM>;\n renderItem?: RenderItem<ITEM>;\n disabled?: boolean;\n\n /**\n * @deprecated since version 4.11.0 use getItemLeftIcon\n */\n getItemIcon?: TabsPropGetItemIcon<ITEM>;\n } & (\n | {\n linePosition?: Extract<TabsPropLinePosition, 'bottom' | 'top'>;\n fitMode?: 'dropdown' | 'scroll';\n }\n | {\n linePosition: Extract<TabsPropLinePosition, 'left' | 'right'>;\n fitMode?: never;\n }\n ),\n HTMLDivElement\n> &\n (ITEM extends { label: TabsItemDefault['label'] }\n ? {}\n : {\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n });\n\nexport type TabsComponent = <ITEM>(\n props: TabsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsTabProps<AS extends AsTags = 'button'> = PropsWithAsAttributes<\n {\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n className?: string;\n label: string;\n tabRef?: React.RefObject<HTMLElement>;\n renderInDropdown?: boolean;\n } & Omit<TabsItemDefault, 'label' | 'ref' | 'attributes'>,\n AS\n>;\n\nexport type TabsTabComponent = <AS extends AsTags = 'button'>(\n props: TabsTabProps<AS>,\n) => React.ReactElement | null;\n\nexport type TabsMoreItemsProps<ITEM = TabsItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n renderItem: (\n item: ITEM,\n onClick: () => void,\n renderInDropdown?: boolean,\n ) => React.ReactNode;\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n height: number;\n size: TabsPropSize;\n } & React.RefAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n\nexport type TabsMoreItemsComponent = <ITEM>(\n props: TabsMoreItemsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type RenderItemsListProp = (props: {\n visibleIndexes?: number[];\n withRunningLine?: boolean;\n getTabClassName?: (idx: number) => string | undefined;\n}) => React.ReactNode;\n\nexport type TabsDirection = 'horizontal' | 'vertical';\n"],"mappings":"AA8BA,MAAO,IAAMA,UAAS,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,IAAX,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,UAAS,CAAG,CAAC,UAAD,CAAa,OAAb,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,QAAD,CAAW,KAAX,CAAkB,MAAlB,CAA0B,OAA1B,CAA1B,CAEP,MAAO,IAAMC,wBAA6C,CAAG,QAAtD,CAEP,MAAO,IAAMC,aAAY,CAAG,CAAC,QAAD,CAAW,UAAX,CAArB,CAEP,MAAO,IAAMC,mBAAmC,CAAG,UAA5C"}
1
+ {"version":3,"file":"types.js","names":["tabsSizes","tabsDefaultSize","tabsViews","tabsDefaultView","tabsLinePositions","tabsDefaultLinePosition","tabsFitModes","tabsDefaultFitMode"],"sources":["../../../../../src/components/Tabs/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\nimport { PropsWithAsAttributes } from '##/utils/types/PropsWithAsAttributes';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type TabDimensions = {\n size: number;\n gap: number;\n};\n\nexport type TabsItemDefault = {\n label: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n rightSide?: React.ReactNode;\n leftSide?: React.ReactNode;\n disabled?: boolean;\n as?: AsTags;\n ref?: React.RefObject<HTMLElement>;\n attributes?: AsAttributes;\n\n /**\n * @deprecated since version 4.11.0 use leftIcon\n */\n icon?: IconComponent;\n};\n\nexport const tabsSizes = ['m', 's', 'xs'] as const;\nexport type TabsPropSize = typeof tabsSizes[number];\nexport const tabsDefaultSize: TabsPropSize = tabsSizes[0];\n\nexport const tabsViews = ['bordered', 'clear'] as const;\nexport type TabsPropView = typeof tabsViews[number];\nexport const tabsDefaultView: TabsPropView = tabsViews[0];\n\nexport const tabsLinePositions = ['bottom', 'top', 'left', 'right'] as const;\nexport type TabsPropLinePosition = typeof tabsLinePositions[number];\nexport const tabsDefaultLinePosition: TabsPropLinePosition = 'bottom';\n\nexport const tabsFitModes = ['scroll', 'dropdown'] as const;\nexport type TabsPropFitMode = typeof tabsFitModes[number];\nexport const tabsDefaultFitMode: TabsPropFitMode = 'dropdown';\n\nexport type TabsPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\nexport type TabsPropGetItemChecked<ITEM> = (item: ITEM) => boolean | undefined;\nexport type TabsPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type TabsPropGetItemSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type TabsPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\nexport type TabsPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => TabsItemDefault['attributes'];\nexport type TabsPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLElement> | undefined;\n\nexport type TabsPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\n\nexport type TabsPropOnChange<ITEM> = (props: {\n e: React.MouseEvent | React.KeyboardEvent;\n value: ITEM;\n}) => void;\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n label: string;\n tabRef?: React.RefObject<HTMLElement>;\n renderInDropdown?: boolean;\n} & Omit<TabsItemDefault, 'label' | 'ref'>;\n\nexport type RenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsFitModeWrapperProps<ITEM> = {\n items: ITEM[];\n tabsDimensions: TabDimensions[];\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n renderItem: (item: ITEM) => React.ReactNode;\n renderItemsList: RenderItemsListProp;\n onChange: TabsPropOnChange<ITEM>;\n tabRefs: Array<React.RefObject<HTMLElement>>;\n size: TabsPropSize;\n};\n\nexport type TabsProps<ITEM = TabsItemDefault> = PropsWithHTMLAttributesAndRef<\n {\n size?: TabsPropSize;\n onlyIcon?: boolean;\n view?: TabsPropView;\n iconSize?: IconPropSize;\n items: ITEM[];\n value?: ITEM | null;\n getItemLabel?: TabsPropGetItemLabel<ITEM>;\n getItemLeftIcon?: TabsPropGetItemIcon<ITEM>;\n getItemRightIcon?: TabsPropGetItemIcon<ITEM>;\n getItemLeftSide?: TabsPropGetItemSide<ITEM>;\n getItemRightSide?: TabsPropGetItemSide<ITEM>;\n getItemDisabled?: TabsPropGetItemDisabled<ITEM>;\n getItemAs?: TabsPropGetItemAs<ITEM>;\n getItemAttributes?: TabsPropGetItemAttributes<ITEM>;\n getItemRef?: TabsPropGetItemRef<ITEM>;\n children?: never;\n onChange: TabsPropOnChange<ITEM>;\n renderItem?: RenderItem<ITEM>;\n disabled?: boolean;\n\n /**\n * @deprecated since version 4.11.0 use getItemLeftIcon\n */\n getItemIcon?: TabsPropGetItemIcon<ITEM>;\n } & (\n | {\n linePosition?: Extract<TabsPropLinePosition, 'bottom' | 'top'>;\n fitMode?: 'dropdown' | 'scroll';\n }\n | {\n linePosition: Extract<TabsPropLinePosition, 'left' | 'right'>;\n fitMode?: never;\n }\n ),\n HTMLDivElement\n> &\n (ITEM extends { label: TabsItemDefault['label'] }\n ? {}\n : {\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n });\n\nexport type TabsComponent = <ITEM>(\n props: TabsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsTabProps<AS extends AsTags = 'button'> = PropsWithAsAttributes<\n {\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n className?: string;\n label: string;\n tabRef?: React.RefObject<HTMLElement>;\n renderInDropdown?: boolean;\n } & Omit<TabsItemDefault, 'label' | 'ref' | 'attributes'>,\n AS\n>;\n\nexport type TabsTabComponent = <AS extends AsTags = 'button'>(\n props: TabsTabProps<AS>,\n) => React.ReactElement | null;\n\nexport type TabsMoreItemsProps<ITEM = TabsItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n renderItem: (\n item: ITEM,\n onClick: () => void,\n renderInDropdown?: boolean,\n ) => React.ReactNode;\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n onChange: TabsPropOnChange<ITEM>;\n height: number;\n size: TabsPropSize;\n } & React.RefAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n\nexport type TabsMoreItemsComponent = <ITEM>(\n props: TabsMoreItemsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type RenderItemsListProp = (props: {\n visibleIndexes?: number[];\n withRunningLine?: boolean;\n getTabClassName?: (idx: number) => string | undefined;\n}) => React.ReactNode;\n\nexport type TabsDirection = 'horizontal' | 'vertical';\n"],"mappings":"AA8BA,MAAO,IAAMA,UAAS,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,IAAX,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,UAAS,CAAG,CAAC,UAAD,CAAa,OAAb,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,QAAD,CAAW,KAAX,CAAkB,MAAlB,CAA0B,OAA1B,CAA1B,CAEP,MAAO,IAAMC,wBAA6C,CAAG,QAAtD,CAEP,MAAO,IAAMC,aAAY,CAAG,CAAC,QAAD,CAAW,UAAX,CAArB,CAEP,MAAO,IAAMC,mBAAmC,CAAG,UAA5C"}
@@ -1,2 +1,2 @@
1
- import{getTabsWidth}from"../helpers";export var getVisibleTabsRange=function(a){for(var b,c,d=a.tabsDimensions,e=a.containerWidth,f=a.containerPaddingLeft,g=a.scrollLeft,h=null,i=null,j=g,k=0;k<d.length;k++){var l=getTabsWidth(d.slice(0,k)),m=f+l;m>=j&&null===h&&(h=k);var n=m+d[k].size;n<=j+e&&(i=k)}return h=null!==(b=h)&&void 0!==b?b:0,i=Math.max(h,null!==(c=i)&&void 0!==c?c:0),[h,i]};
1
+ import{getTabsWidth}from"../helpers";export var getVisibleTabsRange=function(a){for(var b,c,d=a.tabsDimensions,e=a.containerWidth,f=a.containerPaddingLeft,g=a.scrollLeft,h=null,i=null,j=g,k=0;k<d.length;k++){var l=getTabsWidth(d.slice(0,k)),m=f+l,n=m>=j;n&&null===h&&(h=k);var o=m+d[k].size,p=o<=j+e;p&&(i=k)}return h=null!==(b=h)&&void 0!==b?b:0,i=Math.max(h,null!==(c=i)&&void 0!==c?c:0),[h,i]};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["getTabsWidth","getVisibleTabsRange","tabsDimensions","containerWidth","containerPaddingLeft","scrollLeft","firstVisibleTabIdx","lastVisibleTabIdx","containerLeftSide","idx","length","previousTabsWidth","slice","tabElLeftSide","tabElRightSide","size","Math","max"],"sources":["../../../../../../src/components/TabsDeprecated/FitModeScrollWrapper/helpers.ts"],"sourcesContent":["import { getTabsWidth, TabDimensions } from '../helpers';\n\nexport const getVisibleTabsRange = ({\n tabsDimensions,\n containerWidth,\n containerPaddingLeft,\n scrollLeft,\n}: {\n tabsDimensions: TabDimensions[];\n containerWidth: number;\n containerPaddingLeft: number;\n scrollLeft: number;\n}): [number, number] => {\n let firstVisibleTabIdx = null;\n let lastVisibleTabIdx = null;\n\n const containerLeftSide = scrollLeft;\n const containerRightSide = containerLeftSide + containerWidth;\n\n for (let idx = 0; idx < tabsDimensions.length; idx++) {\n const previousTabsWidth = getTabsWidth(tabsDimensions.slice(0, idx));\n const tabElLeftSide = containerPaddingLeft + previousTabsWidth;\n const isTabLeftSideVisible = tabElLeftSide >= containerLeftSide;\n if (isTabLeftSideVisible && firstVisibleTabIdx === null) {\n firstVisibleTabIdx = idx;\n }\n\n const tabElRightSide = tabElLeftSide + tabsDimensions[idx].size;\n const isTabRightSideVisible = tabElRightSide <= containerRightSide;\n if (isTabRightSideVisible) {\n lastVisibleTabIdx = idx;\n }\n }\n\n firstVisibleTabIdx = firstVisibleTabIdx ?? 0;\n lastVisibleTabIdx = Math.max(firstVisibleTabIdx, lastVisibleTabIdx ?? 0);\n\n return [firstVisibleTabIdx, lastVisibleTabIdx];\n};\n"],"mappings":"AAAA,OAASA,YAAT,kBAEA,MAAO,IAAMC,oBAAmB,CAAG,WAUX,CAOtB,YAhBAC,CAgBA,GAhBAA,cAgBA,CAfAC,CAeA,GAfAA,cAeA,CAdAC,CAcA,GAdAA,oBAcA,CAbAC,CAaA,GAbAA,UAaA,CANIC,CAAkB,CAAG,IAMzB,CALIC,CAAiB,CAAG,IAKxB,CAHMC,CAAiB,CAAGH,CAG1B,CAASI,CAAG,CAAG,CAAf,CAAkBA,CAAG,CAAGP,CAAc,CAACQ,MAAvC,CAA+CD,CAAG,EAAlD,CAAsD,IAC9CE,EAAiB,CAAGX,YAAY,CAACE,CAAc,CAACU,KAAf,CAAqB,CAArB,CAAwBH,CAAxB,CAAD,CADc,CAE9CI,CAAa,CAAGT,CAAoB,CAAGO,CAFO,CAGvBE,CAAa,EAAIL,CAC1C,EAA+C,IAAvB,GAAAF,CAJwB,GAKlDA,CAAkB,CAAGG,CAL6B,KAQ9CK,EAAc,CAAGD,CAAa,CAAGX,CAAc,CAACO,CAAD,CAAd,CAAoBM,IARP,CAStBD,CAAc,EAXnBN,CAAiB,CAAGL,CAEO,GAWlDI,CAAiB,CAAGE,CAX8B,CAarD,CAKD,MAHAH,EAAkB,WAAGA,CAAH,gBAAyB,CAG3C,CAFAC,CAAiB,CAAGS,IAAI,CAACC,GAAL,CAASX,CAAT,WAA6BC,CAA7B,gBAAkD,CAAlD,CAEpB,CAAO,CAACD,CAAD,CAAqBC,CAArB,CACR,CApCM"}
1
+ {"version":3,"file":"helpers.js","names":["getTabsWidth","getVisibleTabsRange","tabsDimensions","containerWidth","containerPaddingLeft","scrollLeft","firstVisibleTabIdx","lastVisibleTabIdx","containerLeftSide","idx","length","previousTabsWidth","slice","tabElLeftSide","isTabLeftSideVisible","tabElRightSide","size","isTabRightSideVisible","Math","max"],"sources":["../../../../../../src/components/TabsDeprecated/FitModeScrollWrapper/helpers.ts"],"sourcesContent":["import { getTabsWidth, TabDimensions } from '../helpers';\n\nexport const getVisibleTabsRange = ({\n tabsDimensions,\n containerWidth,\n containerPaddingLeft,\n scrollLeft,\n}: {\n tabsDimensions: TabDimensions[];\n containerWidth: number;\n containerPaddingLeft: number;\n scrollLeft: number;\n}): [number, number] => {\n let firstVisibleTabIdx = null;\n let lastVisibleTabIdx = null;\n\n const containerLeftSide = scrollLeft;\n const containerRightSide = containerLeftSide + containerWidth;\n\n for (let idx = 0; idx < tabsDimensions.length; idx++) {\n const previousTabsWidth = getTabsWidth(tabsDimensions.slice(0, idx));\n const tabElLeftSide = containerPaddingLeft + previousTabsWidth;\n const isTabLeftSideVisible = tabElLeftSide >= containerLeftSide;\n if (isTabLeftSideVisible && firstVisibleTabIdx === null) {\n firstVisibleTabIdx = idx;\n }\n\n const tabElRightSide = tabElLeftSide + tabsDimensions[idx].size;\n const isTabRightSideVisible = tabElRightSide <= containerRightSide;\n if (isTabRightSideVisible) {\n lastVisibleTabIdx = idx;\n }\n }\n\n firstVisibleTabIdx = firstVisibleTabIdx ?? 0;\n lastVisibleTabIdx = Math.max(firstVisibleTabIdx, lastVisibleTabIdx ?? 0);\n\n return [firstVisibleTabIdx, lastVisibleTabIdx];\n};\n"],"mappings":"AAAA,OAASA,YAAT,kBAEA,MAAO,IAAMC,oBAAmB,CAAG,WAUX,CAOtB,YAhBAC,CAgBA,GAhBAA,cAgBA,CAfAC,CAeA,GAfAA,cAeA,CAdAC,CAcA,GAdAA,oBAcA,CAbAC,CAaA,GAbAA,UAaA,CANIC,CAAkB,CAAG,IAMzB,CALIC,CAAiB,CAAG,IAKxB,CAHMC,CAAiB,CAAGH,CAG1B,CAASI,CAAG,CAAG,CAAf,CAAkBA,CAAG,CAAGP,CAAc,CAACQ,MAAvC,CAA+CD,CAAG,EAAlD,CAAsD,IAC9CE,EAAiB,CAAGX,YAAY,CAACE,CAAc,CAACU,KAAf,CAAqB,CAArB,CAAwBH,CAAxB,CAAD,CADc,CAE9CI,CAAa,CAAGT,CAAoB,CAAGO,CAFO,CAG9CG,CAAoB,CAAGD,CAAa,EAAIL,CAHM,CAIhDM,CAAoB,EAA2B,IAAvB,GAAAR,CAJwB,GAKlDA,CAAkB,CAAGG,CAL6B,KAQ9CM,EAAc,CAAGF,CAAa,CAAGX,CAAc,CAACO,CAAD,CAAd,CAAoBO,IARP,CAS9CC,CAAqB,CAAGF,CAAc,EAXnBP,CAAiB,CAAGL,CAEO,CAUhDc,CAVgD,GAWlDV,CAAiB,CAAGE,CAX8B,CAarD,CAKD,MAHAH,EAAkB,WAAGA,CAAH,gBAAyB,CAG3C,CAFAC,CAAiB,CAAGW,IAAI,CAACC,GAAL,CAASb,CAAT,WAA6BC,CAA7B,gBAAkD,CAAlD,CAEpB,CAAO,CAACD,CAAD,CAAqBC,CAArB,CACR,CApCM"}
@@ -1 +1 @@
1
- .Theme_color_gpnDark{--color-bg-default:#22272b;--color-bg-secondary:#161a1d;--color-bg-brand:#0071b2;--color-bg-link:#0078d2;--color-bg-border:hsla(0,0%,100%,.2);--color-bg-stripe:rgba(246,251,253,.06);--color-bg-ghost:rgba(246,251,253,.1);--color-bg-tone:rgba(6,20,25,.85);--color-bg-soft:hsla(0,0%,100%,.9);--color-bg-system:#4d525b;--color-bg-normal:#0aa5ff;--color-bg-success:#22c38e;--color-bg-caution:#f2c94c;--color-bg-warning:#f38b00;--color-bg-alert:#fe4343;--color-bg-critical:#33000f;--color-typo-primary:#fafafa;--color-typo-secondary:hsla(0,0%,100%,.6);--color-typo-ghost:hsla(0,0%,100%,.3);--color-typo-brand:#0071b2;--color-typo-system:#636e83;--color-typo-normal:#009bf5;--color-typo-success:#0fae79;--color-typo-caution:#f8c735;--color-typo-warning:#e68200;--color-typo-alert:#f73b3b;--color-typo-critical:#61001d;--color-typo-link:#0f9fff;--color-typo-link-minor:#6fa5c8;--color-typo-link-hover:#57bcff;--color-scroll-bg:rgba(246,251,253,.06);--color-scroll-thumb:rgba(246,251,253,.24);--color-scroll-thumb-hover:rgba(246,251,253,.32);--color-control-bg-default:#22272b;--color-control-typo-default:hsla(0,0%,100%,.8);--color-control-typo-placeholder:hsla(0,0%,100%,.35);--color-control-bg-border-default:rgba(246,251,253,.28);--color-control-bg-border-default-hover:rgba(246,251,253,.52);--color-control-bg-border-focus:#0593ff;--color-control-bg-focus:rgba(0,120,210,.4);--color-control-bg-active:rgba(0,120,210,.7);--color-control-bg-primary:#0078d2;--color-control-bg-primary-hover:#0091ff;--color-control-typo-primary:#fff;--color-control-typo-primary-hover:#fff;--color-control-bg-secondary:rgba(34,39,43,0);--color-control-bg-border-secondary:#0078d2;--color-control-bg-border-secondary-hover:#0091ff;--color-control-typo-secondary:#0f9fff;--color-control-typo-secondary-hover:#57bcff;--color-control-bg-ghost:hsla(0,0%,98%,.16);--color-control-bg-ghost-hover:hsla(0,0%,98%,.23);--color-control-typo-ghost:hsla(0,0%,100%,.75);--color-control-typo-ghost-hover:hsla(0,0%,100%,.9);--color-control-bg-clear:hsla(0,0%,98%,0);--color-control-bg-clear-hover:hsla(0,0%,98%,.23);--color-control-typo-clear:hsla(0,0%,100%,.75);--color-control-typo-clear-hover:hsla(0,0%,100%,.9);--color-control-bg-disable:hsla(0,0%,98%,.16);--color-control-bg-border-disable:hsla(0,0%,98%,0);--color-control-typo-disable:hsla(0,0%,100%,.24);--color-shadow-group-1:rgba(0,0,0,.08);--color-shadow-group-2:rgba(0,0,0,.32);--color-shadow-layer-1:rgba(0,0,0,.08);--color-shadow-layer-2:rgba(0,0,0,.32);--color-shadow-modal-1:rgba(0,0,0,.08);--color-shadow-modal-2:rgba(0,0,0,.32)}
1
+ .Theme_color_gpnDark{--color-bg-default:#22272b;--color-bg-secondary:#161a1d;--color-bg-brand:#0071b2;--color-bg-link:#0078d2;--color-bg-border:hsla(0,0%,100%,.2);--color-bg-stripe:rgba(246,251,253,.06);--color-bg-ghost:rgba(246,251,253,.1);--color-bg-tone:rgba(6,20,25,.85);--color-bg-soft:hsla(0,0%,100%,.9);--color-bg-system:#4d525b;--color-bg-normal:#0aa5ff;--color-bg-success:#22c38e;--color-bg-caution:#f2c94c;--color-bg-warning:#f38b00;--color-bg-alert:#fe4343;--color-bg-critical:#33000f;--color-typo-primary:#fafafa;--color-typo-secondary:hsla(0,0%,100%,.6);--color-typo-ghost:hsla(0,0%,100%,.3);--color-typo-brand:#0071b2;--color-typo-system:#636e83;--color-typo-normal:#009bf5;--color-typo-success:#0fae79;--color-typo-caution:#f8c735;--color-typo-warning:#e68200;--color-typo-alert:#f73b3b;--color-typo-critical:#61001d;--color-typo-link:#0f9fff;--color-typo-link-minor:#57bcff;--color-typo-link-hover:#6fa5c8;--color-scroll-bg:rgba(246,251,253,.06);--color-scroll-thumb:rgba(246,251,253,.24);--color-scroll-thumb-hover:rgba(246,251,253,.32);--color-control-bg-default:#22272b;--color-control-typo-default:hsla(0,0%,100%,.8);--color-control-typo-placeholder:hsla(0,0%,100%,.35);--color-control-bg-border-default:rgba(246,251,253,.28);--color-control-bg-border-default-hover:rgba(246,251,253,.52);--color-control-bg-border-focus:#0593ff;--color-control-bg-focus:rgba(0,120,210,.4);--color-control-bg-active:rgba(0,120,210,.7);--color-control-bg-primary:#0078d2;--color-control-bg-primary-hover:#0091ff;--color-control-typo-primary:#fff;--color-control-typo-primary-hover:#fff;--color-control-bg-secondary:rgba(34,39,43,0);--color-control-bg-border-secondary:#0078d2;--color-control-bg-border-secondary-hover:#0091ff;--color-control-typo-secondary:#0f9fff;--color-control-typo-secondary-hover:#57bcff;--color-control-bg-ghost:hsla(0,0%,98%,.16);--color-control-bg-ghost-hover:hsla(0,0%,98%,.23);--color-control-typo-ghost:hsla(0,0%,100%,.75);--color-control-typo-ghost-hover:hsla(0,0%,100%,.9);--color-control-bg-clear:hsla(0,0%,98%,0);--color-control-bg-clear-hover:hsla(0,0%,98%,.23);--color-control-typo-clear:hsla(0,0%,100%,.75);--color-control-typo-clear-hover:hsla(0,0%,100%,.9);--color-control-bg-disable:hsla(0,0%,98%,.16);--color-control-bg-border-disable:hsla(0,0%,98%,0);--color-control-typo-disable:hsla(0,0%,100%,.24);--color-shadow-group-1:rgba(0,0,0,.08);--color-shadow-group-2:rgba(0,0,0,.32);--color-shadow-layer-1:rgba(0,0,0,.08);--color-shadow-layer-2:rgba(0,0,0,.32);--color-shadow-modal-1:rgba(0,0,0,.08);--color-shadow-modal-2:rgba(0,0,0,.32)}
@@ -0,0 +1 @@
1
+ .canary--Tooltip{--tooltip-bg-color:var(--color-bg-default);--popover-arrow-bg-color:var(--tooltip-bg-color)}.canary--Tooltip_status_alert{--tooltip-bg-color:var(--color-bg-alert)}.canary--Tooltip_status_warning{--tooltip-bg-color:var(--color-bg-warning)}.canary--Tooltip_status_success{--tooltip-bg-color:var(--color-bg-success)}.canary--Tooltip_status_normal{--tooltip-bg-color:var(--color-bg-normal)}.canary--Tooltip[class*=status] .Tooltip-Content{text-shadow:var(--shadow-group)}.canary--Tooltip-Background{background:var(--tooltip-bg-color);border-radius:var(--control-radius);bottom:0;box-shadow:var(--shadow-layer);left:0;position:absolute;right:0;top:0}.canary--Tooltip-Content{box-sizing:border-box;padding:var(--space-xs);position:relative;width:100%}.canary--Tooltip-Content_size_s{max-width:150px}.canary--Tooltip-Content_size_m{max-width:260px}.canary--Tooltip-Content_size_l{max-width:400px}
@@ -0,0 +1,4 @@
1
+ import './Tooltip.css';
2
+ import React from 'react';
3
+ import { TooltipProps } from './types';
4
+ export declare const Tooltip: React.ForwardRefExoticComponent<Pick<TooltipProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "status" | "key" | "direction" | "offset" | "position" | "possibleDirections" | "spareDirection" | "isInteractive" | "onClickOutside" | "onSetDirection" | "anchorRef" | "equalAnchorWidth" | "isOpen"> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["isOpen","size","status","onSetDirection","offset","style","className","children"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Tooltip.css";import React,{forwardRef,useMemo,useState}from"react";import{Transition}from"react-transition-group";import{animateTimeout,cnMixPopoverAnimate}from"../../mixs/MixPopoverAnimate";import{cnMixPopoverArrow}from"../../mixs/MixPopoverArrow/MixPopoverArrow";import{cnCanary}from"../../utils/bem";import{Popover}from"../Popover";import{Text}from"../Text";import{generateDeps,generateThemeClassNames,ThemeContext,useTheme}from"../Theme";import{tooltipPropSizesDefault}from"./types";var cnTooltip=cnCanary("Tooltip"),ARROW_SIZE=6,ARROW_OFFSET=8;export var Tooltip=forwardRef(function(a,b){var c=a.isOpen,d=a.size,e=void 0===d?tooltipPropSizesDefault:d,f=a.status,g=a.onSetDirection,h=a.offset,i=void 0===h?0:h,j=a.style,k=a.className,l=a.children,m=_objectWithoutProperties(a,_excluded),n=useTheme(),o=n.theme,p=useState(),q=_slicedToArray(p,2),r=q[0],s=q[1],t=function(a){null===g||void 0===g?void 0:g(a),s(a)},u=useMemo(function(){var a=_objectSpread(_objectSpread({},o),{},{color:{primary:f?o.color.accent:o.color.invert,accent:o.color.accent,invert:o.color.primary}});return{theme:a,themeClassNames:generateThemeClassNames(a)}},[generateDeps(o),f]);return React.createElement(Transition,{in:c,unmountOnExit:!0,timeout:animateTimeout},function(a){var c;return React.createElement(ThemeContext.Provider,{value:u},React.createElement(Popover,Object.assign({},m,{arrowOffset:ARROW_OFFSET+ARROW_SIZE,offset:ARROW_SIZE+ARROW_OFFSET/2+i,onSetDirection:t,ref:b,className:cnTooltip({status:f},[k,cnMixPopoverAnimate({animate:a})]),style:_objectSpread((c={},_defineProperty(c,"--popover-arrow-size","".concat(ARROW_SIZE,"px")),_defineProperty(c,"--popover-arrow-offset","".concat(ARROW_OFFSET,"px")),c),j)}),React.createElement("div",{className:cnTooltip("Background")}),React.createElement("div",{className:cnTooltip("Arrow",[cnMixPopoverArrow({direction:r})])}),React.createElement("div",{className:cnTooltip("Content",{size:e})},"string"==typeof l||"number"==typeof l?React.createElement(Text,{size:"xs"},l):l)))})});
2
+ //# sourceMappingURL=TooltipCanary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipCanary.js","names":["React","forwardRef","useMemo","useState","Transition","animateTimeout","cnMixPopoverAnimate","cnMixPopoverArrow","cnCanary","Popover","Text","generateDeps","generateThemeClassNames","ThemeContext","useTheme","tooltipPropSizesDefault","cnTooltip","ARROW_SIZE","ARROW_OFFSET","Tooltip","props","ref","isOpen","size","status","onSetDirectionProp","onSetDirection","offset","style","className","children","otherProps","theme","direction","setDirection","value","tooltipTheme","color","primary","accent","invert","themeClassNames","animate"],"sources":["../../../../../src/components/TooltipCanary/TooltipCanary.tsx"],"sourcesContent":["import './Tooltip.css';\n\nimport React, { forwardRef, useMemo, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { animateTimeout, cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cnMixPopoverArrow } from '##/mixs/MixPopoverArrow/MixPopoverArrow';\nimport { cnCanary } from '##/utils/bem';\n\nimport { Direction, Popover } from '../Popover';\nimport { Text } from '../Text';\nimport {\n generateDeps,\n generateThemeClassNames,\n ThemeContext,\n useTheme,\n} from '../Theme';\nimport { TooltipProps, tooltipPropSizesDefault } from './types';\n\nconst cnTooltip = cnCanary('Tooltip');\n\nconst ARROW_SIZE = 6;\nconst ARROW_OFFSET = 8;\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n (props, ref) => {\n const {\n isOpen,\n size = tooltipPropSizesDefault,\n status,\n onSetDirection: onSetDirectionProp,\n offset = 0,\n style,\n className,\n children,\n ...otherProps\n } = props;\n\n const { theme } = useTheme();\n\n const [direction, setDirection] = useState<Direction | undefined>();\n\n const onSetDirection = (direction: Direction) => {\n onSetDirectionProp?.(direction);\n setDirection(direction);\n };\n\n const value = useMemo(() => {\n const tooltipTheme = {\n ...theme,\n color: {\n primary: status ? theme.color.accent : theme.color.invert,\n accent: theme.color.accent,\n invert: theme.color.primary,\n },\n };\n return {\n theme: tooltipTheme,\n themeClassNames: generateThemeClassNames(tooltipTheme),\n };\n }, [generateDeps(theme), status]);\n\n return (\n <Transition in={isOpen} unmountOnExit timeout={animateTimeout}>\n {(animate) => (\n <ThemeContext.Provider value={value}>\n <Popover\n {...otherProps}\n arrowOffset={ARROW_OFFSET + ARROW_SIZE}\n offset={ARROW_SIZE + ARROW_OFFSET / 2 + offset}\n onSetDirection={onSetDirection}\n ref={ref}\n className={cnTooltip({ status }, [\n className,\n cnMixPopoverAnimate({ animate }),\n ])}\n style={{\n ['--popover-arrow-size' as string]: `${ARROW_SIZE}px`,\n ['--popover-arrow-offset' as string]: `${ARROW_OFFSET}px`,\n ...style,\n }}\n >\n <div className={cnTooltip('Background')} />\n <div\n className={cnTooltip('Arrow', [\n cnMixPopoverArrow({ direction }),\n ])}\n />\n <div className={cnTooltip('Content', { size })}>\n {typeof children === 'string' ||\n typeof children === 'number' ? (\n <Text size=\"xs\">{children}</Text>\n ) : (\n children\n )}\n </div>\n </Popover>\n </ThemeContext.Provider>\n )}\n </Transition>\n );\n },\n);\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './TooltipCanary';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export*from"./TooltipCanary";export*from"./types";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/TooltipCanary/index.ts"],"sourcesContent":["export * from './TooltipCanary';\nexport * from './types';\n"],"mappings":"AAAA,6BACA"}
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { ClickOutsideHandler } from "../../hooks/useClickOutside/useClickOutside";
3
+ import { PropsWithJsxAttributes } from "../../utils/types/PropsWithJsxAttributes";
4
+ import { Direction, PositioningProps } from '../Popover/Popover';
5
+ export declare const tooltipPropSizes: readonly ["m", "s", "l"];
6
+ export declare type TooltipPropSize = typeof tooltipPropSizes[number];
7
+ export declare const tooltipPropSizesDefault: TooltipPropSize;
8
+ export declare const tooltipPropStatus: readonly ["normal", "alert", "success", "warning"];
9
+ export declare type TooltipPropStatus = typeof tooltipPropStatus[number];
10
+ export declare type TooltipProps = PropsWithJsxAttributes<{
11
+ isOpen?: boolean;
12
+ size?: TooltipPropSize;
13
+ status?: TooltipPropStatus;
14
+ direction?: Direction;
15
+ spareDirection?: Direction;
16
+ possibleDirections?: readonly Direction[];
17
+ isInteractive?: boolean;
18
+ children: React.ReactNode;
19
+ onClickOutside?: ClickOutsideHandler;
20
+ className?: string;
21
+ offset?: number;
22
+ onSetDirection?: (direction: Direction) => void;
23
+ } & PositioningProps>;
@@ -0,0 +1,2 @@
1
+ export var tooltipPropSizes=["m","s","l"];export var tooltipPropSizesDefault=tooltipPropSizes[0];export var tooltipPropStatus=["normal","alert","success","warning"];
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["tooltipPropSizes","tooltipPropSizesDefault","tooltipPropStatus"],"sources":["../../../../../src/components/TooltipCanary/types.ts"],"sourcesContent":["import { ClickOutsideHandler } from '##/hooks/useClickOutside/useClickOutside';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport { Direction, PositioningProps } from '../Popover/Popover';\n\nexport const tooltipPropSizes = ['m', 's', 'l'] as const;\nexport type TooltipPropSize = typeof tooltipPropSizes[number];\nexport const tooltipPropSizesDefault: TooltipPropSize = tooltipPropSizes[0];\n\nexport const tooltipPropStatus = [\n 'normal',\n 'alert',\n 'success',\n 'warning',\n] as const;\nexport type TooltipPropStatus = typeof tooltipPropStatus[number];\n\nexport type TooltipProps = PropsWithJsxAttributes<\n {\n isOpen?: boolean;\n size?: TooltipPropSize;\n status?: TooltipPropStatus;\n direction?: Direction;\n spareDirection?: Direction;\n possibleDirections?: readonly Direction[];\n isInteractive?: boolean;\n children: React.ReactNode;\n onClickOutside?: ClickOutsideHandler;\n className?: string;\n offset?: number;\n onSetDirection?: (direction: Direction) => void;\n } & PositioningProps\n>;\n"],"mappings":"AAKA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAzB,CAEP,MAAO,IAAMC,wBAAwC,CAAGD,gBAAgB,CAAC,CAAD,CAAjE,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAC/B,QAD+B,CAE/B,OAF+B,CAG/B,SAH+B,CAI/B,SAJ+B,CAA1B"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm"];import"../SelectComponents/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{isNotNil}from"../../utils/type-guards";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useSelect}from"../../hooks/useSelect/useSelect";import{cnMixFocus}from"../../mixs/MixFocus/MixFocus";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponents/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=_objectWithoutProperties(g,_excluded),ca=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))}}),da=ca.getKeyProps,ea=ca.getOptionProps,fa=ca.isOpen,ga=ca.visibleItems,ha=ca.isFocused,ia=ca.handleInputFocus,ja=ca.handleInputBlur,ka=ca.handleToggleDropdown,la=ca.inputRef,ma=ca.handleInputClick,na=ca.handleInputChange,oa=ca.searchValue,pa=ca.clearValue,qa=ca.getHandleRemoveValue,ra=ca.notFound,sa=ca.hasItems,ta=p?"".concat(p,"-input"):p,ua=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},va=useForkRef([la,Q]),wa=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return ua({item:a,handleRemove:qa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&ua({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!oa&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},da(),{type:"text",name:C,id:ta,onFocus:ia,onBlur:ja,"aria-label":o,onChange:na,ref:va,className:cnSelect("Input",{size:z,hide:!Y&&isNotNil(m),multiple:Y,isUserSelect:!0}),value:oa,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:ha,disabled:n,size:z,required:r,id:ta,view:x,type:"userselect",form:v,multiple:!0,ref:b,style:$},ba),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":fa,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:ma,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue",{isUserSelect:!0})},wa()):wa())),React.createElement("span",{className:cnSelect("Indicators")},isNotNil(m)&&React.createElement("button",{type:"button",onClick:pa,className:cnSelect("ClearIndicator",[cnMixFocus()])},React.createElement(IconClose,{size:"xs",className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:ka},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},oa)),React.createElement(SelectDropdown,{isOpen:fa,size:z,controlRef:f,getOptionProps:ea,dropdownRef:t,form:aa,isLoading:q,className:A,renderItem:N||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter;return React.createElement(UserSelectItem,{label:G(b),subLabel:H(b),avatarUrl:I(b),active:c,hovered:d,size:z,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disable:K(b),multiple:Y})},getGroupLabel:M,visibleItems:ga,labelForNotFound:S,labelForCreate:U,notFound:ra,hasItems:sa,labelForEmptyItems:W,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var UserSelect=forwardRef(UserSelectRender);export*from"./helpers";
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm"];import"../SelectComponents/Select.css";import{IconClear}from"@consta/icons/IconClear";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{isNotNil}from"../../utils/type-guards";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useSelect}from"../../hooks/useSelect/useSelect";import{cnMixFocus}from"../../mixs/MixFocus/MixFocus";import{clearSizeMap}from"../Combobox";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponents/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{iconSizeMap,isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=_objectWithoutProperties(g,_excluded),ca=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))}}),da=ca.getKeyProps,ea=ca.getOptionProps,fa=ca.isOpen,ga=ca.visibleItems,ha=ca.isFocused,ia=ca.handleInputFocus,ja=ca.handleInputBlur,ka=ca.handleToggleDropdown,la=ca.inputRef,ma=ca.handleInputClick,na=ca.handleInputChange,oa=ca.searchValue,pa=ca.clearValue,qa=ca.getHandleRemoveValue,ra=ca.notFound,sa=ca.hasItems,ta=p?"".concat(p,"-input"):p,ua=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},va=useForkRef([la,Q]),wa=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return ua({item:a,handleRemove:qa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&ua({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!oa&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},da(),{type:"text",name:C,id:ta,onFocus:ia,onBlur:ja,"aria-label":o,onChange:na,ref:va,className:cnSelect("Input",{size:z,hide:!Y&&isNotNil(m),multiple:Y,isUserSelect:!0}),value:oa,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:ha,disabled:n,size:z,required:r,id:ta,view:x,type:"userselect",form:v,multiple:!0,ref:b,style:$},ba),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":fa,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:ma,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue",{isUserSelect:!0})},wa()):wa())),React.createElement("span",{className:cnSelect("Indicators")},isNotNil(m)&&React.createElement("button",{type:"button",onClick:pa,className:cnSelect("ClearIndicator",[cnMixFocus()])},React.createElement(IconClear,{size:clearSizeMap[z],className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:ka},React.createElement(IconSelect,{size:iconSizeMap[z],className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},oa)),React.createElement(SelectDropdown,{isOpen:fa,size:z,controlRef:f,getOptionProps:ea,dropdownRef:t,form:aa,isLoading:q,className:A,renderItem:N||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter;return React.createElement(UserSelectItem,{label:G(b),subLabel:H(b),avatarUrl:I(b),active:c,hovered:d,size:z,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disable:K(b),multiple:Y})},getGroupLabel:M,visibleItems:ga,labelForNotFound:S,labelForCreate:U,notFound:ra,hasItems:sa,labelForEmptyItems:W,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var UserSelect=forwardRef(UserSelectRender);export*from"./helpers";
2
2
  //# sourceMappingURL=UserSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserSelect.js","names":["IconClose","IconSelect","React","forwardRef","useRef","isNotNil","useForkRef","useSelect","cnMixFocus","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","isMultipleParams","isNotMultipleParams","searchCompare","withDefaultGetters","UserSelectItem","UserSelectValue","COMPONENT_NAME","UserSelectRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValueProp","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","restProps","searchFunctionDefault","item","searchOfLabel","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","inputId","renderValueDefault","handleRemove","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isUserSelect","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","UserSelect"],"sources":["../../../../../src/components/UserSelect/UserSelect.tsx"],"sourcesContent":["import '../SelectComponents/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { isNotNil } from '##/utils/type-guards';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useSelect } from '../../hooks/useSelect/useSelect';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { cnSelect } from '../SelectComponents/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '../SelectComponents/helpers';\nimport { SelectContainer } from '../SelectComponents/SelectContainer/SelectContainer';\nimport { SelectDropdown } from '../SelectComponents/SelectDropdown/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '../SelectComponents/types';\nimport {\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n searchCompare,\n UserSelectComponent,\n UserSelectProps,\n withDefaultGetters,\n} from './helpers';\nimport { UserSelectItem } from './UserSelectItem/UserSelectItem';\nimport { UserSelectValue } from './UserSelectValue/UserSelectValue';\n\nexport const COMPONENT_NAME = 'UserSelect' as const;\n\nconst UserSelectRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n isLoading,\n required,\n dropdownRef = defaultDropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n searchValue: searchValueProp,\n name,\n groups = [],\n getItemKey,\n getItemLabel,\n getItemSubLabel,\n getItemAvatarUrl,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n multiple = false,\n searchFunction,\n style,\n dropdownForm = 'default',\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string): boolean => {\n const searchOfLabel = searchCompare(searchValue, getItemLabel(item));\n\n if (searchOfLabel) {\n return searchOfLabel;\n }\n\n return searchCompare(searchValue, getItemSubLabel(item));\n };\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n dropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n searchValue: searchValueProp,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction: searchFunction || searchFunctionDefault,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter } = props;\n\n return (\n <UserSelectItem\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disable={getItemDisabled(item)}\n multiple={multiple}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <UserSelectValue\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n key={getItemKey(item)}\n size={size}\n handleRemove={handleRemove}\n multiple={multiple}\n disabled={disabled || getItemDisabled(item)}\n />\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n isUserSelect: true,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n required={required}\n id={inputId}\n view={view}\n type=\"userselect\"\n form={form}\n multiple\n ref={ref}\n style={style}\n {...restProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div\n className={cnSelect('ControlValue', { isUserSelect: true })}\n >\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isNotNil(value) && (\n <button\n type=\"button\"\n onClick={clearValue}\n className={cnSelect('ClearIndicator', [cnMixFocus()])}\n >\n <IconClose\n size=\"xs\"\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n isLoading={isLoading}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n notFound={notFound}\n hasItems={hasItems}\n labelForEmptyItems={labelForEmptyItems}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const UserSelect = forwardRef(UserSelectRender) as UserSelectComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
1
+ {"version":3,"file":"UserSelect.js","names":["IconClear","IconSelect","React","forwardRef","useRef","isNotNil","useForkRef","useSelect","cnMixFocus","clearSizeMap","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","iconSizeMap","isMultipleParams","isNotMultipleParams","searchCompare","withDefaultGetters","UserSelectItem","UserSelectValue","COMPONENT_NAME","UserSelectRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValueProp","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","restProps","searchFunctionDefault","item","searchOfLabel","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","inputId","renderValueDefault","handleRemove","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isUserSelect","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","UserSelect"],"sources":["../../../../../src/components/UserSelect/UserSelect.tsx"],"sourcesContent":["import '../SelectComponents/Select.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { isNotNil } from '##/utils/type-guards';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useSelect } from '../../hooks/useSelect/useSelect';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { clearSizeMap } from '../Combobox';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { cnSelect } from '../SelectComponents/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '../SelectComponents/helpers';\nimport { SelectContainer } from '../SelectComponents/SelectContainer/SelectContainer';\nimport { SelectDropdown } from '../SelectComponents/SelectDropdown/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '../SelectComponents/types';\nimport {\n DefaultGroup,\n DefaultItem,\n iconSizeMap,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n searchCompare,\n UserSelectComponent,\n UserSelectProps,\n withDefaultGetters,\n} from './helpers';\nimport { UserSelectItem } from './UserSelectItem/UserSelectItem';\nimport { UserSelectValue } from './UserSelectValue/UserSelectValue';\n\nexport const COMPONENT_NAME = 'UserSelect' as const;\n\nconst UserSelectRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n isLoading,\n required,\n dropdownRef = defaultDropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n searchValue: searchValueProp,\n name,\n groups = [],\n getItemKey,\n getItemLabel,\n getItemSubLabel,\n getItemAvatarUrl,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n multiple = false,\n searchFunction,\n style,\n dropdownForm = 'default',\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string): boolean => {\n const searchOfLabel = searchCompare(searchValue, getItemLabel(item));\n\n if (searchOfLabel) {\n return searchOfLabel;\n }\n\n return searchCompare(searchValue, getItemSubLabel(item));\n };\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n dropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n searchValue: searchValueProp,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction: searchFunction || searchFunctionDefault,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter } = props;\n\n return (\n <UserSelectItem\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disable={getItemDisabled(item)}\n multiple={multiple}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <UserSelectValue\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n key={getItemKey(item)}\n size={size}\n handleRemove={handleRemove}\n multiple={multiple}\n disabled={disabled || getItemDisabled(item)}\n />\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n isUserSelect: true,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n required={required}\n id={inputId}\n view={view}\n type=\"userselect\"\n form={form}\n multiple\n ref={ref}\n style={style}\n {...restProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div\n className={cnSelect('ControlValue', { isUserSelect: true })}\n >\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isNotNil(value) && (\n <button\n type=\"button\"\n onClick={clearValue}\n className={cnSelect('ClearIndicator', [cnMixFocus()])}\n >\n <IconClear\n size={clearSizeMap[size]}\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size={iconSizeMap[size]}\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n isLoading={isLoading}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n notFound={notFound}\n hasItems={hasItems}\n labelForEmptyItems={labelForEmptyItems}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const UserSelect = forwardRef(UserSelectRender) as UserSelectComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IconComponent } from '@consta/icons/Icon';
1
+ import { IconComponent, IconPropSize } from '@consta/icons/Icon';
2
2
  import React from 'react';
3
3
  import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
4
4
  import { PropForm, PropSize, PropStatus, PropView, RenderItemProps } from '../SelectComponents/types';
@@ -179,4 +179,6 @@ export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGr
179
179
  getItemAvatarUrl: PropGetItemAvatarUrl<DefaultItem> | PropGetItemAvatarUrl<ITEM>;
180
180
  };
181
181
  export declare const searchCompare: (searchValue: string, compare?: string) => boolean;
182
+ export declare const clearSizeMap: Record<PropSize, IconPropSize>;
183
+ export declare const iconSizeMap: Record<PropSize, IconPropSize>;
182
184
  export {};
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}export var defaultGetItemKey=function(a){return a.id};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemSubLabel=function(a){return a.subLabel};export var defaultGetItemAvatarUrl=function(a){return a.avatarUrl};export var defaultGetItemGroupKey=function(a){return a.groupId};export var defaultGetItemDisabled=function(a){return a.disabled};export var defaultGetGroupKey=function(a){return a.id};export var defaultGetGroupLabel=function(a){return a.label};export var isMultipleParams=function(a){return!!a.multiple};export var isNotMultipleParams=function(a){return!a.multiple};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemKey:a.getItemKey||defaultGetItemKey,getItemGroupKey:a.getItemGroupKey||defaultGetItemGroupKey,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled,getGroupLabel:a.getGroupLabel||defaultGetGroupLabel,getGroupKey:a.getGroupKey||defaultGetGroupKey,getItemSubLabel:a.getItemSubLabel||defaultGetItemSubLabel,getItemAvatarUrl:a.getItemAvatarUrl||defaultGetItemAvatarUrl})}export var searchCompare=function(a,b){return!!b&&-1!==b.toLocaleLowerCase().indexOf(a.toLocaleLowerCase())};
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}export var defaultGetItemKey=function(a){return a.id};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemSubLabel=function(a){return a.subLabel};export var defaultGetItemAvatarUrl=function(a){return a.avatarUrl};export var defaultGetItemGroupKey=function(a){return a.groupId};export var defaultGetItemDisabled=function(a){return a.disabled};export var defaultGetGroupKey=function(a){return a.id};export var defaultGetGroupLabel=function(a){return a.label};export var isMultipleParams=function(a){return!!a.multiple};export var isNotMultipleParams=function(a){return!a.multiple};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemKey:a.getItemKey||defaultGetItemKey,getItemGroupKey:a.getItemGroupKey||defaultGetItemGroupKey,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled,getGroupLabel:a.getGroupLabel||defaultGetGroupLabel,getGroupKey:a.getGroupKey||defaultGetGroupKey,getItemSubLabel:a.getItemSubLabel||defaultGetItemSubLabel,getItemAvatarUrl:a.getItemAvatarUrl||defaultGetItemAvatarUrl})}export var searchCompare=function(a,b){return!!b&&-1!==b.toLocaleLowerCase().indexOf(a.toLocaleLowerCase())};export var clearSizeMap={xs:"xs",s:"s",m:"s",l:"m"};export var iconSizeMap={xs:"xs",s:"s",m:"m",l:"m"};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemSubLabel","subLabel","defaultGetItemAvatarUrl","avatarUrl","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey","getItemSubLabel","getItemAvatarUrl","searchCompare","searchValue","compare","toLocaleLowerCase","indexOf"],"sources":["../../../../../src/components/UserSelect/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n subLabel?: string;\n avatarUrl?: string;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemSubLabel<ITEM> = (item: ITEM) => string | undefined;\nexport type PropGetItemAvatarUrl<ITEM> = (item: ITEM) => string | undefined;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\n\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null;\n e: React.SyntheticEvent;\n}) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type UserSelectProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n disabled?: boolean;\n form?: PropForm;\n size?: Exclude<PropSize, 'xs'>;\n view?: PropView;\n dropdownForm?: 'default' | 'brick' | 'round';\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n status?: PropStatus;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n name?: string;\n items: ITEM[];\n required?: boolean;\n isLoading?: boolean;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (props: { e: React.SyntheticEvent; label: string }) => void;\n inputRef?: React.RefObject<HTMLInputElement>;\n labelForNotFound?: string;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n onChange: PropOnChange<ITEM, MULTIPLE>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemSubLabel?: PropGetItemSubLabel<ITEM>;\n getItemAvatarUrl?: PropGetItemAvatarUrl<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type UserSelectComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemSubLabel: PropGetItemSubLabel<DefaultItem> = (\n item,\n) => item.subLabel;\nexport const defaultGetItemAvatarUrl: PropGetItemAvatarUrl<DefaultItem> = (\n item,\n) => item.avatarUrl;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: UserSelectProps<ITEM, GROUP, boolean>,\n): params is UserSelectProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: UserSelectProps<ITEM, GROUP, boolean>,\n): params is UserSelectProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: UserSelectProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n getItemSubLabel: props.getItemSubLabel || defaultGetItemSubLabel,\n getItemAvatarUrl: props.getItemAvatarUrl || defaultGetItemAvatarUrl,\n };\n}\n\nexport const searchCompare = (\n searchValue: string,\n compare?: string,\n): boolean => {\n if (!compare) {\n return false;\n }\n\n return (\n compare.toLocaleLowerCase().indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n};\n"],"mappings":"qqBAkIA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,QAF8D,CAAjE,CAGP,MAAO,IAAMC,wBAA0D,CAAG,SACxEN,CADwE,QAErEA,EAAI,CAACO,SAFgE,CAAnE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtER,CADsE,QAEnEA,EAAI,CAACS,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEV,CADsE,QAEnEA,EAAI,CAACW,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACZ,EADyD,CAA1D,CAEP,MAAO,IAAMa,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACV,KAD6D,CAA9D,CAGP,MAAO,IAAMY,iBAAgB,CAAG,SAC9BC,CAD8B,CAEmB,CACjD,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEiB,CAClD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAI0C,CAC/C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBnB,mBAFtC,CAGEoB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBvB,iBAHlC,CAIEwB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,CAQEe,eAAe,CAAEP,CAAK,CAACO,eAAN,EAAyBvB,sBAR5C,CASEwB,gBAAgB,CAAER,CAAK,CAACQ,gBAAN,EAA0BtB,uBAT9C,EAWD,CAED,MAAO,IAAMuB,cAAa,CAAG,SAC3BC,CAD2B,CAE3BC,CAF2B,CAGf,SACPA,CADO,EAM+D,CAAC,CAA1E,GAAAA,CAAO,CAACC,iBAAR,GAA4BC,OAA5B,CAAoCH,CAAW,CAACE,iBAAZ,EAApC,CAEH,CAXM"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemSubLabel","subLabel","defaultGetItemAvatarUrl","avatarUrl","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey","getItemSubLabel","getItemAvatarUrl","searchCompare","searchValue","compare","toLocaleLowerCase","indexOf","clearSizeMap","xs","s","m","l","iconSizeMap"],"sources":["../../../../../src/components/UserSelect/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n subLabel?: string;\n avatarUrl?: string;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemSubLabel<ITEM> = (item: ITEM) => string | undefined;\nexport type PropGetItemAvatarUrl<ITEM> = (item: ITEM) => string | undefined;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\n\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null;\n e: React.SyntheticEvent;\n}) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type UserSelectProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n disabled?: boolean;\n form?: PropForm;\n size?: Exclude<PropSize, 'xs'>;\n view?: PropView;\n dropdownForm?: 'default' | 'brick' | 'round';\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n status?: PropStatus;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n name?: string;\n items: ITEM[];\n required?: boolean;\n isLoading?: boolean;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (props: { e: React.SyntheticEvent; label: string }) => void;\n inputRef?: React.RefObject<HTMLInputElement>;\n labelForNotFound?: string;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n onChange: PropOnChange<ITEM, MULTIPLE>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemSubLabel?: PropGetItemSubLabel<ITEM>;\n getItemAvatarUrl?: PropGetItemAvatarUrl<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type UserSelectComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemSubLabel: PropGetItemSubLabel<DefaultItem> = (\n item,\n) => item.subLabel;\nexport const defaultGetItemAvatarUrl: PropGetItemAvatarUrl<DefaultItem> = (\n item,\n) => item.avatarUrl;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: UserSelectProps<ITEM, GROUP, boolean>,\n): params is UserSelectProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: UserSelectProps<ITEM, GROUP, boolean>,\n): params is UserSelectProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: UserSelectProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n getItemSubLabel: props.getItemSubLabel || defaultGetItemSubLabel,\n getItemAvatarUrl: props.getItemAvatarUrl || defaultGetItemAvatarUrl,\n };\n}\n\nexport const searchCompare = (\n searchValue: string,\n compare?: string,\n): boolean => {\n if (!compare) {\n return false;\n }\n\n return (\n compare.toLocaleLowerCase().indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n};\n\nexport const clearSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n};\n\nexport const iconSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n"],"mappings":"qqBAkIA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,QAF8D,CAAjE,CAGP,MAAO,IAAMC,wBAA0D,CAAG,SACxEN,CADwE,QAErEA,EAAI,CAACO,SAFgE,CAAnE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtER,CADsE,QAEnEA,EAAI,CAACS,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEV,CADsE,QAEnEA,EAAI,CAACW,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACZ,EADyD,CAA1D,CAEP,MAAO,IAAMa,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACV,KAD6D,CAA9D,CAGP,MAAO,IAAMY,iBAAgB,CAAG,SAC9BC,CAD8B,CAEmB,CACjD,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEiB,CAClD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAI0C,CAC/C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBnB,mBAFtC,CAGEoB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBvB,iBAHlC,CAIEwB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,CAQEe,eAAe,CAAEP,CAAK,CAACO,eAAN,EAAyBvB,sBAR5C,CASEwB,gBAAgB,CAAER,CAAK,CAACQ,gBAAN,EAA0BtB,uBAT9C,EAWD,CAED,MAAO,IAAMuB,cAAa,CAAG,SAC3BC,CAD2B,CAE3BC,CAF2B,CAGf,SACPA,CADO,EAM+D,CAAC,CAA1E,GAAAA,CAAO,CAACC,iBAAR,GAA4BC,OAA5B,CAAoCH,CAAW,CAACE,iBAAZ,EAApC,CAEH,CAXM,CAaP,MAAO,IAAME,aAA4C,CAAG,CAC1DC,EAAE,CAAE,IADsD,CAE1DC,CAAC,CAAE,GAFuD,CAG1DC,CAAC,CAAE,GAHuD,CAI1DC,CAAC,CAAE,GAJuD,CAArD,CAOP,MAAO,IAAMC,YAA2C,CAAG,CACzDJ,EAAE,CAAE,IADqD,CAEzDC,CAAC,CAAE,GAFsD,CAGzDC,CAAC,CAAE,GAHsD,CAIzDC,CAAC,CAAE,GAJsD,CAApD"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","onScrollToBottom","onSearchValueChange","onDropdownOpen","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponentsCanary/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponentsCanary/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponentsCanary/helpers";import{SelectContainer}from"../SelectComponentsCanary/SelectContainer";import{SelectDropdown}from"../SelectComponentsCanary/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsCanary/types";import{useSelect}from"../SelectComponentsCanary/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{cnMixFocus}from"../../mixs/MixFocus";import{isNotNil}from"../../utils/type-guards";import{isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=g.onScrollToBottom,ca=g.onSearchValueChange,da=g.onDropdownOpen,ea=g.virtualScroll,fa=g.dropdownOpen,ga=g.ignoreOutsideClicksRefs,ha=_objectWithoutProperties(g,_excluded),ia=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))},onSearchValueChange:ca,onDropdownOpen:da,dropdownOpen:fa,ignoreOutsideClicksRefs:ga}),ja=ia.getKeyProps,ka=ia.getOptionProps,la=ia.isOpen,ma=ia.visibleItems,na=ia.isFocused,oa=ia.handleInputFocus,pa=ia.handleInputBlur,qa=ia.handleToggleDropdown,ra=ia.inputRef,sa=ia.handleInputClick,ta=ia.handleInputChange,ua=ia.searchValue,va=ia.clearValue,wa=ia.getHandleRemoveValue,xa=ia.notFound,ya=ia.hasItems,za=ia.optionsRefs,Aa=p?"".concat(p,"-input"):p,Ba=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},Ca=useForkRef([ra,Q]),Da=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return Ba({item:a,handleRemove:wa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&Ba({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!ua&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ja(),{type:"text",name:C,id:Aa,onFocus:oa,onBlur:pa,"aria-label":o,onChange:ta,ref:Ca,className:cnSelect("Input",{size:z,hide:!Y&&isNotNil(m),multiple:Y,isUserSelect:!0}),value:ua,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:na,disabled:n,size:z,required:r,id:Aa,view:x,type:"userselect",form:v,multiple:!0,ref:b,style:$},ha),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":la,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:sa,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue",{isUserSelect:!0})},Da()):Da())),React.createElement("span",{className:cnSelect("Indicators")},isNotNil(m)&&React.createElement("button",{type:"button",onClick:va,tabIndex:-1,className:cnSelect("ClearIndicator",[cnMixFocus()])},React.createElement(IconClose,{size:"xs",className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:qa},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},ua)),React.createElement(SelectDropdown,{isOpen:la,size:z,controlRef:f,getOptionProps:ka,dropdownRef:t,form:aa,isLoading:q,className:A,renderItem:N||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(UserSelectItem,{label:G(b),subLabel:H(b),avatarUrl:I(b),active:c,hovered:d,size:z,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disable:K(b),multiple:Y,ref:g})},getGroupLabel:M,visibleItems:ma,labelForNotFound:S,labelForCreate:U,notFound:xa,hasItems:ya,labelForEmptyItems:W,itemsRefs:za,onScrollToBottom:ba,virtualScroll:ea,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var UserSelect=forwardRef(UserSelectRender);export*from"./helpers";
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","onScrollToBottom","onSearchValueChange","onDropdownOpen","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponentsCanary/Select.css";import{IconClear}from"@consta/icons/IconClear";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponentsCanary/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponentsCanary/helpers";import{SelectContainer}from"../SelectComponentsCanary/SelectContainer";import{SelectDropdown}from"../SelectComponentsCanary/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsCanary/types";import{useSelect}from"../SelectComponentsCanary/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{cnMixFocus}from"../../mixs/MixFocus";import{isNotNil}from"../../utils/type-guards";import{clearSizeMap,iconSizeMap,isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=g.onScrollToBottom,ca=g.onSearchValueChange,da=g.onDropdownOpen,ea=g.virtualScroll,fa=g.dropdownOpen,ga=g.ignoreOutsideClicksRefs,ha=_objectWithoutProperties(g,_excluded),ia=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))},onSearchValueChange:ca,onDropdownOpen:da,dropdownOpen:fa,ignoreOutsideClicksRefs:ga}),ja=ia.getKeyProps,ka=ia.getOptionProps,la=ia.isOpen,ma=ia.visibleItems,na=ia.isFocused,oa=ia.handleInputFocus,pa=ia.handleInputBlur,qa=ia.handleToggleDropdown,ra=ia.inputRef,sa=ia.handleInputClick,ta=ia.handleInputChange,ua=ia.searchValue,va=ia.clearValue,wa=ia.getHandleRemoveValue,xa=ia.notFound,ya=ia.hasItems,za=ia.optionsRefs,Aa=p?"".concat(p,"-input"):p,Ba=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},Ca=useForkRef([ra,Q]),Da=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return Ba({item:a,handleRemove:wa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&Ba({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!ua&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ja(),{type:"text",name:C,id:Aa,onFocus:oa,onBlur:pa,"aria-label":o,onChange:ta,ref:Ca,className:cnSelect("Input",{size:z,hide:!Y&&isNotNil(m),multiple:Y,isUserSelect:!0}),value:ua,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:na,disabled:n,size:z,required:r,id:Aa,view:x,type:"userselect",form:v,multiple:!0,ref:b,style:$},ha),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":la,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:sa,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue",{isUserSelect:!0})},Da()):Da())),React.createElement("span",{className:cnSelect("Indicators")},isNotNil(m)&&React.createElement("button",{type:"button",onClick:va,tabIndex:-1,className:cnSelect("ClearIndicator",[cnMixFocus()])},React.createElement(IconClear,{size:clearSizeMap[z],className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:qa},React.createElement(IconSelect,{size:iconSizeMap[z],className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},ua)),React.createElement(SelectDropdown,{isOpen:la,size:z,controlRef:f,getOptionProps:ka,dropdownRef:t,form:aa,isLoading:q,className:A,renderItem:N||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(UserSelectItem,{label:G(b),subLabel:H(b),avatarUrl:I(b),active:c,hovered:d,size:z,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disable:K(b),multiple:Y,ref:g})},getGroupLabel:M,visibleItems:ma,labelForNotFound:S,labelForCreate:U,notFound:xa,hasItems:ya,labelForEmptyItems:W,itemsRefs:za,onScrollToBottom:ba,virtualScroll:ea,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var UserSelect=forwardRef(UserSelectRender);export*from"./helpers";
2
2
  //# sourceMappingURL=UserSelectCanary.js.map