@weavix/tracker-components 0.0.3 → 0.1.1

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 (277) hide show
  1. package/README.md +191 -19
  2. package/build/cjs/assets/icons/keyResult.d.ts +4 -0
  3. package/build/cjs/assets/icons/keyResult.js +21 -0
  4. package/build/cjs/assets/icons/keyResult.js.map +1 -0
  5. package/build/cjs/components/FieldsSelect/FieldsSelect.classname.js +1 -1
  6. package/build/cjs/components/FieldsSelect/FieldsSelect.classname.js.map +1 -1
  7. package/build/cjs/components/Icon/EntityIcon/EntityIcon.classname.js +1 -1
  8. package/build/cjs/components/Icon/EntityIcon/EntityIcon.classname.js.map +1 -1
  9. package/build/cjs/components/Icon/GoalIcon/GoalIcon.d.ts +6 -0
  10. package/build/cjs/components/Icon/GoalIcon/GoalIcon.js +24 -0
  11. package/build/cjs/components/Icon/GoalIcon/GoalIcon.js.map +1 -0
  12. package/build/cjs/components/Icon/GoalIcon/README.md +123 -0
  13. package/build/cjs/components/Icon/GoalIcon/index.d.ts +1 -0
  14. package/build/cjs/components/Icon/GoalIcon/index.js +13 -0
  15. package/build/cjs/components/Icon/GoalIcon/index.js.map +1 -0
  16. package/build/cjs/components/Icon/Icon.classname.js +1 -1
  17. package/build/cjs/components/Icon/Icon.classname.js.map +1 -1
  18. package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.js +1 -1
  19. package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.js.map +1 -1
  20. package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js +1 -1
  21. package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js.map +1 -1
  22. package/build/cjs/components/Icon/IssueTypeIcon/README.md +105 -23
  23. package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.d.ts +4 -0
  24. package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.js +35 -0
  25. package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.js.map +1 -0
  26. package/build/cjs/components/Icon/KeyResultIcon/README.md +73 -0
  27. package/build/cjs/components/Icon/KeyResultIcon/i18n.d.ts +6 -0
  28. package/build/cjs/components/Icon/KeyResultIcon/i18n.js +13 -0
  29. package/build/cjs/components/Icon/KeyResultIcon/i18n.js.map +1 -0
  30. package/build/cjs/components/Icon/KeyResultIcon/index.d.ts +2 -0
  31. package/build/cjs/components/Icon/KeyResultIcon/index.js +13 -0
  32. package/build/cjs/components/Icon/KeyResultIcon/index.js.map +1 -0
  33. package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.d.ts +7 -0
  34. package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.js +46 -0
  35. package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.js.map +1 -0
  36. package/build/cjs/components/Icon/MetaEntityIcon/README.md +126 -0
  37. package/build/cjs/components/Icon/MetaEntityIcon/index.d.ts +2 -0
  38. package/build/cjs/components/Icon/MetaEntityIcon/index.js +13 -0
  39. package/build/cjs/components/Icon/MetaEntityIcon/index.js.map +1 -0
  40. package/build/cjs/components/Icon/PortfolioIcon/README.md +87 -9
  41. package/build/cjs/components/Icon/PortfolioIcon/index.d.ts +2 -0
  42. package/build/cjs/components/Icon/PortfolioIcon/index.js +13 -0
  43. package/build/cjs/components/Icon/PortfolioIcon/index.js.map +1 -0
  44. package/build/cjs/components/Icon/ProjectIcon/README.md +133 -9
  45. package/build/cjs/components/Icon/ProjectIcon/index.d.ts +2 -0
  46. package/build/cjs/components/Icon/ProjectIcon/index.js +13 -0
  47. package/build/cjs/components/Icon/ProjectIcon/index.js.map +1 -0
  48. package/build/cjs/components/Icon/index.d.ts +7 -2
  49. package/build/cjs/components/Icon/index.js +57 -2
  50. package/build/cjs/components/Icon/index.js.map +1 -1
  51. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.d.ts +1 -0
  52. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js +9 -0
  53. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js.map +1 -0
  54. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.d.ts +10 -0
  55. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.js +65 -0
  56. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.js.map +1 -0
  57. package/build/cjs/components/MetaEntitiesSelect/README.md +183 -0
  58. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.d.ts +15 -0
  59. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js +69 -0
  60. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js.map +1 -0
  61. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.d.ts +1 -0
  62. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js +9 -0
  63. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js.map +1 -0
  64. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css +18 -0
  65. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css.map +1 -0
  66. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.d.ts +10 -0
  67. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js +33 -0
  68. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js.map +1 -0
  69. package/build/cjs/components/MetaEntitiesSelect/i18n.d.ts +6 -0
  70. package/build/cjs/components/MetaEntitiesSelect/i18n.js +13 -0
  71. package/build/cjs/components/MetaEntitiesSelect/i18n.js.map +1 -0
  72. package/build/cjs/components/MetaEntitiesSelect/index.d.ts +2 -0
  73. package/build/cjs/components/MetaEntitiesSelect/index.js +13 -0
  74. package/build/cjs/components/MetaEntitiesSelect/index.js.map +1 -0
  75. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.d.ts +2 -0
  76. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js +11 -0
  77. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js.map +1 -0
  78. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.d.ts +2 -0
  79. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.js +10 -0
  80. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.js.map +1 -0
  81. package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.d.ts +1 -1
  82. package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.js.map +1 -1
  83. package/build/cjs/components/QueueIcon/QueueIcon.classname.js +1 -1
  84. package/build/cjs/components/QueueIcon/QueueIcon.classname.js.map +1 -1
  85. package/build/cjs/components/QueueSelect/QueueSelect.classname.js +1 -1
  86. package/build/cjs/components/QueueSelect/QueueSelect.classname.js.map +1 -1
  87. package/build/cjs/components/QueueSelect/QueueSelect.css.map +1 -1
  88. package/build/cjs/components/Select/Autocomplete.d.ts +1 -1
  89. package/build/cjs/components/Select/MultiAutocomplete.d.ts +1 -1
  90. package/build/cjs/components/Select/Select.classname.js +1 -1
  91. package/build/cjs/components/Select/Select.classname.js.map +1 -1
  92. package/build/cjs/components/Select/Select.css.map +1 -1
  93. package/build/cjs/components/Select/Select.d.ts +1 -1
  94. package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.js +1 -1
  95. package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.js.map +1 -1
  96. package/build/cjs/components/Select/SelectSearch/SelectSearch.d.ts +1 -1
  97. package/build/cjs/components/Select/SelectSearch/SelectSearch.js +2 -2
  98. package/build/cjs/components/Select/SelectSearch/SelectSearch.js.map +1 -1
  99. package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.d.ts +2 -2
  100. package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.js.map +1 -1
  101. package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.js +1 -1
  102. package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.js.map +1 -1
  103. package/build/cjs/components/Suggest/Suggest.classname.d.ts +1 -0
  104. package/build/cjs/components/Suggest/Suggest.classname.js +9 -0
  105. package/build/cjs/components/Suggest/Suggest.classname.js.map +1 -0
  106. package/build/cjs/components/Suggest/Suggest.css +24 -0
  107. package/build/cjs/components/Suggest/Suggest.css.map +1 -0
  108. package/build/cjs/components/Suggest/Suggest.d.ts +147 -0
  109. package/build/cjs/components/Suggest/Suggest.js +621 -0
  110. package/build/cjs/components/Suggest/Suggest.js.map +1 -0
  111. package/build/cjs/components/Suggest/i18n.d.ts +22 -0
  112. package/build/cjs/components/Suggest/i18n.js +29 -0
  113. package/build/cjs/components/Suggest/i18n.js.map +1 -0
  114. package/build/cjs/components/Suggest/index.d.ts +1 -0
  115. package/build/cjs/components/Suggest/index.js +17 -0
  116. package/build/cjs/components/Suggest/index.js.map +1 -0
  117. package/build/cjs/components/TrackerDisclosure/README.md +205 -0
  118. package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.js +1 -1
  119. package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.js.map +1 -1
  120. package/build/cjs/components/TrackerSelect/TrackerSelect.classname.js +1 -1
  121. package/build/cjs/components/TrackerSelect/TrackerSelect.classname.js.map +1 -1
  122. package/build/cjs/components/TrackerSelect/TrackerSelect.css.map +1 -1
  123. package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.d.ts +9 -0
  124. package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.js +31 -0
  125. package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.js.map +1 -0
  126. package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.d.ts +1 -0
  127. package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.js +38 -0
  128. package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.js.map +1 -0
  129. package/build/cjs/hooks/useConditionallyControlledState.d.ts +1 -0
  130. package/build/cjs/hooks/useConditionallyControlledState.js +15 -0
  131. package/build/cjs/hooks/useConditionallyControlledState.js.map +1 -0
  132. package/build/cjs/hooks/useLocalizedString.d.ts +1 -1
  133. package/build/cjs/hooks/useLocalizedString.js.map +1 -1
  134. package/build/cjs/index.d.ts +1 -0
  135. package/build/cjs/index.js +12 -0
  136. package/build/cjs/index.js.map +1 -1
  137. package/build/esm/assets/icons/keyResult.d.ts +4 -0
  138. package/build/esm/assets/icons/keyResult.js +13 -0
  139. package/build/esm/components/FieldsSelect/FieldsSelect.classname.js +1 -1
  140. package/build/esm/components/FieldsSelect/FieldsSelect.classname.js.map +1 -1
  141. package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.js +1 -1
  142. package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.js.map +1 -1
  143. package/build/esm/components/Icon/GoalIcon/GoalIcon.d.ts +6 -0
  144. package/build/esm/components/Icon/GoalIcon/GoalIcon.js +17 -0
  145. package/build/esm/components/Icon/GoalIcon/GoalIcon.js.map +1 -0
  146. package/build/esm/components/Icon/GoalIcon/README.md +123 -0
  147. package/build/esm/components/Icon/GoalIcon/index.d.ts +1 -0
  148. package/build/esm/components/Icon/GoalIcon/index.js +2 -0
  149. package/build/esm/components/Icon/GoalIcon/index.js.map +1 -0
  150. package/build/esm/components/Icon/Icon.classname.js +1 -1
  151. package/build/esm/components/Icon/Icon.classname.js.map +1 -1
  152. package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.js +1 -1
  153. package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.js.map +1 -1
  154. package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js +1 -1
  155. package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js.map +1 -1
  156. package/build/esm/components/Icon/IssueTypeIcon/README.md +105 -23
  157. package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.d.ts +4 -0
  158. package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.js +28 -0
  159. package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.js.map +1 -0
  160. package/build/esm/components/Icon/KeyResultIcon/README.md +73 -0
  161. package/build/esm/components/Icon/KeyResultIcon/i18n.d.ts +6 -0
  162. package/build/esm/components/Icon/KeyResultIcon/i18n.js +7 -0
  163. package/build/esm/components/Icon/KeyResultIcon/i18n.js.map +1 -0
  164. package/build/esm/components/Icon/KeyResultIcon/index.d.ts +2 -0
  165. package/build/esm/components/Icon/KeyResultIcon/index.js +2 -0
  166. package/build/esm/components/Icon/KeyResultIcon/index.js.map +1 -0
  167. package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.d.ts +7 -0
  168. package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.js +39 -0
  169. package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.js.map +1 -0
  170. package/build/esm/components/Icon/MetaEntityIcon/README.md +126 -0
  171. package/build/esm/components/Icon/MetaEntityIcon/index.d.ts +2 -0
  172. package/build/esm/components/Icon/MetaEntityIcon/index.js +2 -0
  173. package/build/esm/components/Icon/MetaEntityIcon/index.js.map +1 -0
  174. package/build/esm/components/Icon/PortfolioIcon/README.md +87 -9
  175. package/build/esm/components/Icon/PortfolioIcon/index.d.ts +2 -0
  176. package/build/esm/components/Icon/PortfolioIcon/index.js +2 -0
  177. package/build/esm/components/Icon/PortfolioIcon/index.js.map +1 -0
  178. package/build/esm/components/Icon/ProjectIcon/README.md +133 -9
  179. package/build/esm/components/Icon/ProjectIcon/index.d.ts +2 -0
  180. package/build/esm/components/Icon/ProjectIcon/index.js +2 -0
  181. package/build/esm/components/Icon/ProjectIcon/index.js.map +1 -0
  182. package/build/esm/components/Icon/index.d.ts +7 -2
  183. package/build/esm/components/Icon/index.js +7 -2
  184. package/build/esm/components/Icon/index.js.map +1 -1
  185. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.d.ts +1 -0
  186. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js +3 -0
  187. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js.map +1 -0
  188. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.d.ts +10 -0
  189. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.js +57 -0
  190. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.js.map +1 -0
  191. package/build/esm/components/MetaEntitiesSelect/README.md +183 -0
  192. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.d.ts +15 -0
  193. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js +61 -0
  194. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js.map +1 -0
  195. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.d.ts +1 -0
  196. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js +3 -0
  197. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js.map +1 -0
  198. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css +18 -0
  199. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css.map +1 -0
  200. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.d.ts +10 -0
  201. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js +26 -0
  202. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js.map +1 -0
  203. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.scss +24 -0
  204. package/build/esm/components/MetaEntitiesSelect/i18n.d.ts +6 -0
  205. package/build/esm/components/MetaEntitiesSelect/i18n.js +7 -0
  206. package/build/esm/components/MetaEntitiesSelect/i18n.js.map +1 -0
  207. package/build/esm/components/MetaEntitiesSelect/index.d.ts +2 -0
  208. package/build/esm/components/MetaEntitiesSelect/index.js +2 -0
  209. package/build/esm/components/MetaEntitiesSelect/index.js.map +1 -0
  210. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.d.ts +2 -0
  211. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js +5 -0
  212. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js.map +1 -0
  213. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.d.ts +2 -0
  214. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.js +4 -0
  215. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.js.map +1 -0
  216. package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.d.ts +1 -1
  217. package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.js.map +1 -1
  218. package/build/esm/components/QueueIcon/QueueIcon.classname.js +1 -1
  219. package/build/esm/components/QueueIcon/QueueIcon.classname.js.map +1 -1
  220. package/build/esm/components/QueueSelect/QueueSelect.classname.js +1 -1
  221. package/build/esm/components/QueueSelect/QueueSelect.classname.js.map +1 -1
  222. package/build/esm/components/QueueSelect/QueueSelect.css.map +1 -1
  223. package/build/esm/components/QueueSelect/QueueSelect.scss +4 -8
  224. package/build/esm/components/Select/Autocomplete.d.ts +1 -1
  225. package/build/esm/components/Select/MultiAutocomplete.d.ts +1 -1
  226. package/build/esm/components/Select/Select.classname.js +1 -1
  227. package/build/esm/components/Select/Select.classname.js.map +1 -1
  228. package/build/esm/components/Select/Select.css.map +1 -1
  229. package/build/esm/components/Select/Select.d.ts +1 -1
  230. package/build/esm/components/Select/Select.scss +3 -4
  231. package/build/esm/components/Select/SelectSearch/SelectSearch.classname.js +1 -1
  232. package/build/esm/components/Select/SelectSearch/SelectSearch.classname.js.map +1 -1
  233. package/build/esm/components/Select/SelectSearch/SelectSearch.d.ts +1 -1
  234. package/build/esm/components/Select/SelectSearch/SelectSearch.js +1 -1
  235. package/build/esm/components/Select/SelectSearch/SelectSearch.js.map +1 -1
  236. package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.d.ts +2 -2
  237. package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.js.map +1 -1
  238. package/build/esm/components/Select/TagsSelect/TagsSelect.classname.js +1 -1
  239. package/build/esm/components/Select/TagsSelect/TagsSelect.classname.js.map +1 -1
  240. package/build/esm/components/Suggest/Suggest.classname.d.ts +1 -0
  241. package/build/esm/components/Suggest/Suggest.classname.js +3 -0
  242. package/build/esm/components/Suggest/Suggest.classname.js.map +1 -0
  243. package/build/esm/components/Suggest/Suggest.css +24 -0
  244. package/build/esm/components/Suggest/Suggest.css.map +1 -0
  245. package/build/esm/components/Suggest/Suggest.d.ts +147 -0
  246. package/build/esm/components/Suggest/Suggest.js +613 -0
  247. package/build/esm/components/Suggest/Suggest.js.map +1 -0
  248. package/build/esm/components/Suggest/Suggest.scss +30 -0
  249. package/build/esm/components/Suggest/i18n.d.ts +22 -0
  250. package/build/esm/components/Suggest/i18n.js +23 -0
  251. package/build/esm/components/Suggest/i18n.js.map +1 -0
  252. package/build/esm/components/Suggest/index.d.ts +1 -0
  253. package/build/esm/components/Suggest/index.js +2 -0
  254. package/build/esm/components/Suggest/index.js.map +1 -0
  255. package/build/esm/components/TrackerDisclosure/README.md +205 -0
  256. package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.js +1 -1
  257. package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.js.map +1 -1
  258. package/build/esm/components/TrackerSelect/TrackerSelect.classname.js +1 -1
  259. package/build/esm/components/TrackerSelect/TrackerSelect.classname.js.map +1 -1
  260. package/build/esm/components/TrackerSelect/TrackerSelect.css.map +1 -1
  261. package/build/esm/components/TrackerSelect/TrackerSelect.scss +3 -5
  262. package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.d.ts +9 -0
  263. package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.js +24 -0
  264. package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.js.map +1 -0
  265. package/build/esm/components/useOnFocusOutside/useOnFocusOutside.d.ts +1 -0
  266. package/build/esm/components/useOnFocusOutside/useOnFocusOutside.js +31 -0
  267. package/build/esm/components/useOnFocusOutside/useOnFocusOutside.js.map +1 -0
  268. package/build/esm/hooks/useConditionallyControlledState.d.ts +1 -0
  269. package/build/esm/hooks/useConditionallyControlledState.js +9 -0
  270. package/build/esm/hooks/useConditionallyControlledState.js.map +1 -0
  271. package/build/esm/hooks/useLocalizedString.d.ts +1 -1
  272. package/build/esm/hooks/useLocalizedString.js.map +1 -1
  273. package/build/esm/index.d.ts +1 -0
  274. package/build/esm/index.js +1 -0
  275. package/build/esm/index.js.map +1 -1
  276. package/build/esm/styles/mixins.scss +8 -0
  277. package/package.json +3 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["Select.scss"],"names":[],"mappings":"AAGI;EACI,2BAAA;AAFR;AAIQ;EACI,oDAAA;EACA,wCAAA;AAFZ;AAMY;EACI,+BAAA;AAJhB;AAQQ;EACI,8BAAA;AANZ;AASQ;EACI,+BAAA;AAPZ;AAUQ;EACI,UAAA;AARZ;AAUY;EACI,SAAA;AARhB;AAYQ;EACI,8BAAA;AAVZ;AAYY;EACI,YAAA;AAVhB;AAgBgB;EACI,yBAAA;AAdpB;AAoBI;EACI,sBAAA;AAlBR;AAqBI;EACI,aAAA;EACA,uBAAA;AAnBR;AAsBI;EACI,qBAAA;EAEA,WAAA;EAEA,gBAAA;EAEA,mBAAA;EACA,uBAAA;AAvBR;AAyBQ;EACI,eAAA;EAEA,oCAAA;AAxBZ;AA4BI;EACI,uBAAA;AA1BR;AA8BQ;EACI,+BAAA;AA5BZ;AA+BQ;EACI,WAAA;EACA,gDAAA;AA7BZ;AAiCI;EACI,WAAA;AA/BR;AAkCI;EACI,uBAAA;AAhCR;AAkCQ;EACI,WAAA;EACA,6BAAA;EACA,iCAAA;AAhCZ;AAmCQ;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;AAlCZ;AAoCY;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;EACA,WAAA;EACA,aAAA;AAnChB;AAsCY;EACI,UAAA;AApChB;AAuCY;EACI,UAAA;AArChB;AAyCQ;EACI,8CAAA;AAvCZ;AA0CQ;EACI,oBAAA;AAxCZ;AA2CQ;EACI,YAAA;AAzCZ;AA4CQ;EACI,8BAAA;AA1CZ;AA6CQ;EACI,yBAAA;EACA,wBAAA;EAEA,WAAA;AA5CZ;AAgDY;EACI,4CAAA;AA9ChB;AAqDY;EACI,gCAAA;AAnDhB;AAuDQ;EAEI,yDAAA;EACA,2BAAA;AAtDZ;AA2DQ;EACI,+BAAA;EACA,kCAAA;EACA,YAAA;AAzDZ","file":"Select.css","sourcesContent":["$arrowIconSpace: 25px;\n\n.tpc-select {\n &__button {\n vertical-align: text-bottom;\n\n &_error::before {\n --_--focus-outline-color: var(--g-color-line-danger);\n border-color: var(--g-color-line-danger);\n }\n\n &:not(.tpc-select__button_with-icon) {\n &.tpc-select__button_empty {\n color: var(--g-color-text-hint);\n }\n }\n\n &:not(.tpc-select__button_loading) {\n justify-content: space-between;\n }\n\n &:disabled {\n color: var(--g-color-text-hint);\n }\n\n &_clear {\n padding: 0;\n\n .g-button__icon_side_end {\n margin: 0;\n }\n }\n\n &_loading.g-button_width_max {\n justify-content: space-between;\n\n .g-button__text {\n margin: auto;\n }\n }\n\n &_platform {\n &_desktop {\n .tpc-select__chevron_open {\n transform: rotate(180deg);\n }\n }\n }\n }\n\n &__loader {\n vertical-align: middle;\n }\n\n &__items-loader {\n display: flex;\n justify-content: center;\n }\n\n &__option {\n display: inline-block;\n\n width: 100%;\n\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &_disabled {\n cursor: default;\n\n color: var(--g-color-text-secondary);\n }\n }\n\n &__no-options {\n justify-content: center;\n }\n\n &__popup {\n .g-select-list__group-label-content {\n color: var(--g-color-text-hint);\n }\n\n .tpc-select__filter {\n width: auto;\n padding: var(--g-spacing-1) var(--g-spacing-1) 0;\n }\n }\n\n &__button-wrapper {\n width: 100%;\n }\n\n &__popup_mobile {\n --suggest-offset: 230px;\n\n .tpc-select__filter {\n width: auto;\n padding: 0 var(--g-spacing-5);\n margin-bottom: var(--g-spacing-2);\n }\n\n .g-sheet__sheet-content {\n display: flex;\n flex-direction: column;\n\n padding: 0;\n\n > div:not([class]) {\n display: flex;\n flex-direction: column;\n\n flex: auto;\n width: 100%;\n min-height: 0;\n }\n\n .g-select-filter {\n flex: none;\n }\n\n .g-select-list_mobile {\n flex: auto;\n }\n }\n\n .g-select-list__option {\n padding: var(--g-spacing-2) var(--g-spacing-4);\n }\n\n .g-select-list__group-label-content {\n font-weight: inherit;\n }\n\n .g-select-list_mobile .g-select-list__group-label:not(.g-select-list__group-label_empty) {\n height: auto;\n }\n\n .g-select-list__item:has(.g-select-list__group-label) {\n margin-top: var(--g-spacing-2);\n }\n\n .g-select-list__item:not(:first-child) .g-select-list__group-label::before {\n right: var(--g-spacing-3);\n left: var(--g-spacing-3);\n\n width: auto;\n }\n\n &.tpc-select__popup_filterable {\n .g-sheet__sheet-content {\n height: calc(100dvh - var(--suggest-offset));\n }\n }\n }\n\n &__popup:not(.tpc-select__popup_mobile) {\n &.tpc-select__popup_with-groups {\n .g-select-list__option {\n padding-left: var(--g-spacing-4);\n }\n }\n\n .g-select-list {\n // override Select styles\n /* stylelint-disable-next-line declaration-no-important */\n max-height: 40vh !important;\n }\n }\n\n &__title {\n &_platform_touch {\n padding-top: var(--g-spacing-3);\n padding-bottom: var(--g-spacing-3);\n margin: auto;\n }\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["Select.scss","../../styles/mixins.scss"],"names":[],"mappings":"AAKI;EACI,2BAAA;AAJR;AAMQ;EACI,oDAAA;EACA,wCAAA;AAJZ;AAQY;EACI,+BAAA;AANhB;AAUQ;EACI,8BAAA;AARZ;AAWQ;EACI,+BAAA;AATZ;AAYQ;EACI,UAAA;AAVZ;AAYY;EACI,SAAA;AAVhB;AAcQ;EACI,8BAAA;AAZZ;AAcY;EACI,YAAA;AAZhB;AAkBgB;EACI,yBAAA;AAhBpB;AAsBI;EACI,sBAAA;AApBR;AAuBI;EACI,aAAA;EACA,uBAAA;AArBR;AAwBI;EACI,qBAAA;EAEA,WAAA;EC7DJ,gBAAA;EAEA,mBAAA;EACA,uBAAA;ADsCJ;AAwBQ;EACI,eAAA;EAEA,oCAAA;AAvBZ;AA2BI;EACI,uBAAA;AAzBR;AA6BQ;EACI,+BAAA;AA3BZ;AA8BQ;EACI,WAAA;EACA,gDAAA;AA5BZ;AAgCI;EACI,WAAA;AA9BR;AAiCI;EACI,uBAAA;AA/BR;AAiCQ;EACI,WAAA;EACA,6BAAA;EACA,iCAAA;AA/BZ;AAkCQ;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;AAjCZ;AAmCY;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;EACA,WAAA;EACA,aAAA;AAlChB;AAqCY;EACI,UAAA;AAnChB;AAsCY;EACI,UAAA;AApChB;AAwCQ;EACI,8CAAA;AAtCZ;AAyCQ;EACI,oBAAA;AAvCZ;AA0CQ;EACI,YAAA;AAxCZ;AA2CQ;EACI,8BAAA;AAzCZ;AA4CQ;EACI,yBAAA;EACA,wBAAA;EAEA,WAAA;AA3CZ;AA+CY;EACI,4CAAA;AA7ChB;AAoDY;EACI,gCAAA;AAlDhB;AAsDQ;EAEI,yDAAA;EACA,2BAAA;AArDZ;AA0DQ;EACI,+BAAA;EACA,kCAAA;EACA,YAAA;AAxDZ","file":"Select.css","sourcesContent":["@use '../../styles/mixins.scss';\n\n$arrowIconSpace: 25px;\n\n.tpc-select {\n &__button {\n vertical-align: text-bottom;\n\n &_error::before {\n --_--focus-outline-color: var(--g-color-line-danger);\n border-color: var(--g-color-line-danger);\n }\n\n &:not(.tpc-select__button_with-icon) {\n &.tpc-select__button_empty {\n color: var(--g-color-text-hint);\n }\n }\n\n &:not(.tpc-select__button_loading) {\n justify-content: space-between;\n }\n\n &:disabled {\n color: var(--g-color-text-hint);\n }\n\n &_clear {\n padding: 0;\n\n .g-button__icon_side_end {\n margin: 0;\n }\n }\n\n &_loading.g-button_width_max {\n justify-content: space-between;\n\n .g-button__text {\n margin: auto;\n }\n }\n\n &_platform {\n &_desktop {\n .tpc-select__chevron_open {\n transform: rotate(180deg);\n }\n }\n }\n }\n\n &__loader {\n vertical-align: middle;\n }\n\n &__items-loader {\n display: flex;\n justify-content: center;\n }\n\n &__option {\n display: inline-block;\n\n width: 100%;\n\n @include mixins.text-overflow();\n\n &_disabled {\n cursor: default;\n\n color: var(--g-color-text-secondary);\n }\n }\n\n &__no-options {\n justify-content: center;\n }\n\n &__popup {\n .g-select-list__group-label-content {\n color: var(--g-color-text-hint);\n }\n\n .tpc-select__filter {\n width: auto;\n padding: var(--g-spacing-1) var(--g-spacing-1) 0;\n }\n }\n\n &__button-wrapper {\n width: 100%;\n }\n\n &__popup_mobile {\n --suggest-offset: 230px;\n\n .tpc-select__filter {\n width: auto;\n padding: 0 var(--g-spacing-5);\n margin-bottom: var(--g-spacing-2);\n }\n\n .g-sheet__sheet-content {\n display: flex;\n flex-direction: column;\n\n padding: 0;\n\n > div:not([class]) {\n display: flex;\n flex-direction: column;\n\n flex: auto;\n width: 100%;\n min-height: 0;\n }\n\n .g-select-filter {\n flex: none;\n }\n\n .g-select-list_mobile {\n flex: auto;\n }\n }\n\n .g-select-list__option {\n padding: var(--g-spacing-2) var(--g-spacing-4);\n }\n\n .g-select-list__group-label-content {\n font-weight: inherit;\n }\n\n .g-select-list_mobile .g-select-list__group-label:not(.g-select-list__group-label_empty) {\n height: auto;\n }\n\n .g-select-list__item:has(.g-select-list__group-label) {\n margin-top: var(--g-spacing-2);\n }\n\n .g-select-list__item:not(:first-child) .g-select-list__group-label::before {\n right: var(--g-spacing-3);\n left: var(--g-spacing-3);\n\n width: auto;\n }\n\n &.tpc-select__popup_filterable {\n .g-sheet__sheet-content {\n height: calc(100dvh - var(--suggest-offset));\n }\n }\n }\n\n &__popup:not(.tpc-select__popup_mobile) {\n &.tpc-select__popup_with-groups {\n .g-select-list__option {\n padding-left: var(--g-spacing-4);\n }\n }\n\n .g-select-list {\n // override Select styles\n /* stylelint-disable-next-line declaration-no-important */\n max-height: 40vh !important;\n }\n }\n\n &__title {\n &_platform_touch {\n padding-top: var(--g-spacing-3);\n padding-bottom: var(--g-spacing-3);\n margin: auto;\n }\n }\n}\n","@forward '~@gravity-ui/uikit/styles/mixins';\n\n@mixin text-overflow {\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n"],"sourceRoot":""}
@@ -4,7 +4,7 @@ export type SelectProps = Omit<MultiSelectProps, 'multiple' | 'value' | 'onUpdat
4
4
  value?: string;
5
5
  onUpdate: (value: string) => void;
6
6
  };
7
- export declare const Select: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "multiple" | "onUpdate" | "value" | "onFocus" | "onBlur"> & {
7
+ export declare const Select: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "multiple" | "onFocus" | "value" | "onUpdate" | "onBlur"> & {
8
8
  value?: string;
9
9
  onUpdate: (value: string) => void;
10
10
  } & React.RefAttributes<HTMLButtonElement>>;
@@ -1,3 +1,5 @@
1
+ @use '../../styles/mixins.scss';
2
+
1
3
  $arrowIconSpace: 25px;
2
4
 
3
5
  .tpc-select {
@@ -62,10 +64,7 @@ $arrowIconSpace: 25px;
62
64
 
63
65
  width: 100%;
64
66
 
65
- overflow: hidden;
66
-
67
- white-space: nowrap;
68
- text-overflow: ellipsis;
67
+ @include mixins.text-overflow();
69
68
 
70
69
  &_disabled {
71
70
  cursor: default;
@@ -1,3 +1,3 @@
1
- import { block } from "../../cn";
1
+ import { block } from "./../../cn";
2
2
  export var cnSelectSearch = block('select-search');
3
3
  // #sourceMappingURL=SelectSearch.classname.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["block","cnSelectSearch"],"sources":["SelectSearch.classname.ts"],"sourcesContent":["import {block} from '../../cn';\n\nexport const cnSelectSearch = block('select-search');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,cAAc,GAAGD,KAAK,CAAC,eAAe,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["block","cnSelectSearch"],"sources":["SelectSearch.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnSelectSearch = block('select-search');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,cAAc,GAAGD,KAAK,CAAC,eAAe,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { ReactNode } from 'react';
3
- import type { SuggestProps } from '@yandex-data-ui/common';
3
+ import type { SuggestProps } from '~/src/components/Suggest';
4
4
  import type { Option } from './types';
5
5
  import './SelectSearch.scss';
6
6
  export type SelectSearchProps<V = string> = SuggestProps & {
@@ -6,7 +6,7 @@ import "core-js/modules/es.array.iterator.js";
6
6
  import "core-js/modules/es.object.to-string.js";
7
7
  import "core-js/modules/web.dom-collections.iterator.js";
8
8
  import React, { memo } from 'react';
9
- import { Suggest } from '@yandex-data-ui/common';
9
+ import { Suggest } from "./../../Suggest";
10
10
  import { TagsList } from "../TagsList/TagsList";
11
11
  import { cnSelectSearch } from "./SelectSearch.classname";
12
12
  import { useSelectSearch } from "./hooks/useSelectSearch";
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","Suggest","TagsList","cnSelectSearch","useSelectSearch","jsx","_jsx","jsxs","_jsxs","SelectSearchInternal","_ref","className","mode","values","maxTagCount","inputClassName","popupClassName","tagRender","onDeselect","customRenderItem","renderItem","suggestProps","_objectWithoutProperties","_excluded","_useSelectSearch","withTags","Boolean","children","_objectSpread","autoComplete","_defineProperty","length","renderTag","tagTheme","tagClassName","tagSize","SelectSearch"],"sources":["SelectSearch.tsx"],"sourcesContent":["import React, {memo} from 'react';\nimport type {ReactNode} from 'react';\n\nimport {Suggest} from '@yandex-data-ui/common';\nimport type {SuggestProps} from '@yandex-data-ui/common';\n\nimport {TagsList} from '../TagsList/TagsList';\n\nimport {cnSelectSearch} from './SelectSearch.classname';\nimport {useSelectSearch} from './hooks/useSelectSearch';\nimport type {Option} from './types';\n\nimport './SelectSearch.scss';\n\nexport type SelectSearchProps<V = string> = SuggestProps & {\n className?: string;\n mode?: 'tags';\n /** Max tag count to show */\n maxTagCount?: number;\n /** Customize tag render, only applies when mode is set to multiple or tags */\n tagRender?: (option: Option<V>) => ReactNode;\n /** Called when an option is deselected, param is the selected option's value. Only called for tags */\n onDeselect?: (value: V) => void;\n /** Current selected option */\n values: Option<V>[];\n};\n\nconst SelectSearchInternal = <V,>({\n className,\n mode,\n values,\n maxTagCount,\n inputClassName,\n popupClassName,\n tagRender,\n onDeselect,\n renderItem: customRenderItem,\n ...suggestProps\n}: SelectSearchProps<V>) => {\n const {renderItem} = useSelectSearch({values, customRenderItem});\n const withTags = mode === 'tags' && (Boolean(onDeselect) || Boolean(tagRender));\n\n return (\n <div className={cnSelectSearch(null, className)}>\n {/*@ts-expect-error*/}\n <Suggest\n autoComplete={false}\n renderItem={renderItem}\n {...suggestProps}\n inputClassName={cnSelectSearch(\n 'suggest',\n {['mode_tags']: values.length > 0},\n inputClassName,\n )}\n popupClassName={cnSelectSearch('popup', popupClassName)}\n />\n {withTags && (\n <div className={cnSelectSearch('tags')}>\n <TagsList<V>\n values={values}\n maxTagCount={maxTagCount}\n renderTag={tagRender}\n onDeselect={onDeselect!}\n tagTheme=\"normal\"\n tagClassName={cnSelectSearch('tag')}\n tagSize=\"xs\"\n />\n </div>\n )}\n </div>\n );\n};\n\nexport const SelectSearch = memo(SelectSearchInternal) as typeof SelectSearchInternal;\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,IAAGC,IAAI,QAAO,OAAO;AAGjC,SAAQC,OAAO,QAAO,wBAAwB;AAG9C,SAAQC,QAAQ;AAEhB,SAAQC,cAAc;AACtB,SAAQC,eAAe;AAGvB;AAA6B,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAe7B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAWE;EAAA,IAVxBC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,cAAc,GAAAN,IAAA,CAAdM,cAAc;IACdC,SAAS,GAAAP,IAAA,CAATO,SAAS;IACTC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACEC,gBAAgB,GAAAT,IAAA,CAA5BU,UAAU;IACPC,YAAY,GAAAC,wBAAA,CAAAZ,IAAA,EAAAa,SAAA;EAEf,IAAAC,gBAAA,GAAqBpB,eAAe,CAAC;MAACS,MAAM,EAANA,MAAM;MAAEM,gBAAgB,EAAhBA;IAAgB,CAAC,CAAC;IAAzDC,UAAU,GAAAI,gBAAA,CAAVJ,UAAU;EACjB,IAAMK,QAAQ,GAAGb,IAAI,KAAK,MAAM,KAAKc,OAAO,CAACR,UAAU,CAAC,IAAIQ,OAAO,CAACT,SAAS,CAAC,CAAC;EAE/E,oBACIT,KAAA;IAAKG,SAAS,EAAER,cAAc,CAAC,IAAI,EAAEQ,SAAS,CAAE;IAAAgB,QAAA,gBAE5CrB,IAAA,CAACL,OAAO,EAAA2B,aAAA,CAAAA,aAAA;MACJC,YAAY,EAAE,KAAM;MACpBT,UAAU,EAAEA;IAAW,GACnBC,YAAY;MAChBN,cAAc,EAAEZ,cAAc,CAC1B,SAAS,EAAA2B,eAAA,KACP,WAAW,EAAGjB,MAAM,CAACkB,MAAM,GAAG,CAAC,GACjChB,cACJ,CAAE;MACFC,cAAc,EAAEb,cAAc,CAAC,OAAO,EAAEa,cAAc;IAAE,EAC3D,CAAC,EACDS,QAAQ,iBACLnB,IAAA;MAAKK,SAAS,EAAER,cAAc,CAAC,MAAM,CAAE;MAAAwB,QAAA,eACnCrB,IAAA,CAACJ,QAAQ;QACLW,MAAM,EAAEA,MAAO;QACfC,WAAW,EAAEA,WAAY;QACzBkB,SAAS,EAAEf,SAAU;QACrBC,UAAU,EAAEA,UAAY;QACxBe,QAAQ,EAAC,QAAQ;QACjBC,YAAY,EAAE/B,cAAc,CAAC,KAAK,CAAE;QACpCgC,OAAO,EAAC;MAAI,CACf;IAAC,CACD,CACR;EAAA,CACA,CAAC;AAEd,CAAC;AAED,OAAO,IAAMC,YAAY,gBAAGpC,IAAI,CAACS,oBAAoB,CAAgC","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","Suggest","TagsList","cnSelectSearch","useSelectSearch","jsx","_jsx","jsxs","_jsxs","SelectSearchInternal","_ref","className","mode","values","maxTagCount","inputClassName","popupClassName","tagRender","onDeselect","customRenderItem","renderItem","suggestProps","_objectWithoutProperties","_excluded","_useSelectSearch","withTags","Boolean","children","_objectSpread","autoComplete","_defineProperty","length","renderTag","tagTheme","tagClassName","tagSize","SelectSearch"],"sources":["SelectSearch.tsx"],"sourcesContent":["import React, {memo} from 'react';\nimport type {ReactNode} from 'react';\n\nimport {Suggest} from '~/src/components/Suggest';\nimport type {SuggestProps} from '~/src/components/Suggest';\n\nimport {TagsList} from '../TagsList/TagsList';\n\nimport {cnSelectSearch} from './SelectSearch.classname';\nimport {useSelectSearch} from './hooks/useSelectSearch';\nimport type {Option} from './types';\n\nimport './SelectSearch.scss';\n\nexport type SelectSearchProps<V = string> = SuggestProps & {\n className?: string;\n mode?: 'tags';\n /** Max tag count to show */\n maxTagCount?: number;\n /** Customize tag render, only applies when mode is set to multiple or tags */\n tagRender?: (option: Option<V>) => ReactNode;\n /** Called when an option is deselected, param is the selected option's value. Only called for tags */\n onDeselect?: (value: V) => void;\n /** Current selected option */\n values: Option<V>[];\n};\n\nconst SelectSearchInternal = <V,>({\n className,\n mode,\n values,\n maxTagCount,\n inputClassName,\n popupClassName,\n tagRender,\n onDeselect,\n renderItem: customRenderItem,\n ...suggestProps\n}: SelectSearchProps<V>) => {\n const {renderItem} = useSelectSearch({values, customRenderItem});\n const withTags = mode === 'tags' && (Boolean(onDeselect) || Boolean(tagRender));\n\n return (\n <div className={cnSelectSearch(null, className)}>\n <Suggest\n autoComplete={false}\n renderItem={renderItem}\n {...suggestProps}\n inputClassName={cnSelectSearch(\n 'suggest',\n {['mode_tags']: values.length > 0},\n inputClassName,\n )}\n popupClassName={cnSelectSearch('popup', popupClassName)}\n />\n {withTags && (\n <div className={cnSelectSearch('tags')}>\n <TagsList<V>\n values={values}\n maxTagCount={maxTagCount}\n renderTag={tagRender}\n onDeselect={onDeselect!}\n tagTheme=\"normal\"\n tagClassName={cnSelectSearch('tag')}\n tagSize=\"xs\"\n />\n </div>\n )}\n </div>\n );\n};\n\nexport const SelectSearch = memo(SelectSearchInternal) as typeof SelectSearchInternal;\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,IAAGC,IAAI,QAAO,OAAO;AAGjC,SAAQC,OAAO;AAGf,SAAQC,QAAQ;AAEhB,SAAQC,cAAc;AACtB,SAAQC,eAAe;AAGvB;AAA6B,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAe7B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAWE;EAAA,IAVxBC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,cAAc,GAAAN,IAAA,CAAdM,cAAc;IACdC,SAAS,GAAAP,IAAA,CAATO,SAAS;IACTC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACEC,gBAAgB,GAAAT,IAAA,CAA5BU,UAAU;IACPC,YAAY,GAAAC,wBAAA,CAAAZ,IAAA,EAAAa,SAAA;EAEf,IAAAC,gBAAA,GAAqBpB,eAAe,CAAC;MAACS,MAAM,EAANA,MAAM;MAAEM,gBAAgB,EAAhBA;IAAgB,CAAC,CAAC;IAAzDC,UAAU,GAAAI,gBAAA,CAAVJ,UAAU;EACjB,IAAMK,QAAQ,GAAGb,IAAI,KAAK,MAAM,KAAKc,OAAO,CAACR,UAAU,CAAC,IAAIQ,OAAO,CAACT,SAAS,CAAC,CAAC;EAE/E,oBACIT,KAAA;IAAKG,SAAS,EAAER,cAAc,CAAC,IAAI,EAAEQ,SAAS,CAAE;IAAAgB,QAAA,gBAC5CrB,IAAA,CAACL,OAAO,EAAA2B,aAAA,CAAAA,aAAA;MACJC,YAAY,EAAE,KAAM;MACpBT,UAAU,EAAEA;IAAW,GACnBC,YAAY;MAChBN,cAAc,EAAEZ,cAAc,CAC1B,SAAS,EAAA2B,eAAA,KACP,WAAW,EAAGjB,MAAM,CAACkB,MAAM,GAAG,CAAC,GACjChB,cACJ,CAAE;MACFC,cAAc,EAAEb,cAAc,CAAC,OAAO,EAAEa,cAAc;IAAE,EAC3D,CAAC,EACDS,QAAQ,iBACLnB,IAAA;MAAKK,SAAS,EAAER,cAAc,CAAC,MAAM,CAAE;MAAAwB,QAAA,eACnCrB,IAAA,CAACJ,QAAQ;QACLW,MAAM,EAAEA,MAAO;QACfC,WAAW,EAAEA,WAAY;QACzBkB,SAAS,EAAEf,SAAU;QACrBC,UAAU,EAAEA,UAAY;QACxBe,QAAQ,EAAC,QAAQ;QACjBC,YAAY,EAAE/B,cAAc,CAAC,KAAK,CAAE;QACpCgC,OAAO,EAAC;MAAI,CACf;IAAC,CACD,CACR;EAAA,CACA,CAAC;AAEd,CAAC;AAED,OAAO,IAAMC,YAAY,gBAAGpC,IAAI,CAACS,oBAAoB,CAAgC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SuggestProps } from '@yandex-data-ui/common';
2
+ import type { SuggestProps } from '~/src/components/Suggest';
3
3
  import type { Option } from '../types';
4
4
  export type UseSelectSearchProps<V> = {
5
5
  customRenderItem?: SuggestProps['renderItem'];
@@ -7,5 +7,5 @@ export type UseSelectSearchProps<V> = {
7
7
  };
8
8
  export declare const useSelectSearch: <V>({ values, customRenderItem }: UseSelectSearchProps<V>) => {
9
9
  textInputRef: React.MutableRefObject<React.RefObject<HTMLInputElement> | undefined>;
10
- renderItem: ((item: any) => ReactNode) | ((option: Option<V>) => React.JSX.Element);
10
+ renderItem: ((item: any) => React.ReactNode) | ((option: Option<V>) => React.JSX.Element);
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useRef","Check","Icon","cnSelectSearch","jsx","_jsx","jsxs","_jsxs","useSelectSearch","_ref","values","customRenderItem","textInputRef","defaultRenderItem","option","value","content","disabled","active","some","item","className","children","data","size","renderItem"],"sources":["useSelectSearch.tsx"],"sourcesContent":["import React, {useCallback, useRef} from 'react';\nimport type {RefObject} from 'react';\n\nimport {Check} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\nimport type {SuggestProps} from '@yandex-data-ui/common';\n\nimport {cnSelectSearch} from '../SelectSearch.classname';\nimport type {Option} from '../types';\n\nexport type UseSelectSearchProps<V> = {\n customRenderItem?: SuggestProps['renderItem'];\n values: Option<V>[];\n};\n\nexport const useSelectSearch = <V,>({values, customRenderItem}: UseSelectSearchProps<V>) => {\n const textInputRef = useRef<RefObject<HTMLInputElement>>();\n\n const defaultRenderItem = useCallback(\n (option: Option<V>) => {\n const {value, content, disabled} = option;\n const active = values.some((item) => item.value === value);\n\n return (\n <div className={cnSelectSearch('option', {disabled})}>\n <Icon\n className={cnSelectSearch('selected-icon', {active})}\n data={Check}\n size={16}\n />\n <span>{content}</span>\n </div>\n );\n },\n [values],\n );\n\n return {\n textInputRef,\n renderItem: customRenderItem || defaultRenderItem,\n };\n};\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAGC,WAAW,EAAEC,MAAM,QAAO,OAAO;AAGhD,SAAQC,KAAK,QAAO,mBAAmB;AACvC,SAAQC,IAAI,QAAO,mBAAmB;AAGtC,SAAQC,cAAc;AAAmC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQzD,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAgE;EAAA,IAAvDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB;EACzD,IAAMC,YAAY,GAAGZ,MAAM,CAA8B,CAAC;EAE1D,IAAMa,iBAAiB,GAAGd,WAAW,CACjC,UAACe,MAAiB,EAAK;IACnB,IAAOC,KAAK,GAAuBD,MAAM,CAAlCC,KAAK;MAAEC,OAAO,GAAcF,MAAM,CAA3BE,OAAO;MAAEC,QAAQ,GAAIH,MAAM,CAAlBG,QAAQ;IAC/B,IAAMC,MAAM,GAAGR,MAAM,CAACS,IAAI,CAAC,UAACC,IAAI;MAAA,OAAKA,IAAI,CAACL,KAAK,KAAKA,KAAK;IAAA,EAAC;IAE1D,oBACIR,KAAA;MAAKc,SAAS,EAAElB,cAAc,CAAC,QAAQ,EAAE;QAACc,QAAQ,EAARA;MAAQ,CAAC,CAAE;MAAAK,QAAA,gBACjDjB,IAAA,CAACH,IAAI;QACDmB,SAAS,EAAElB,cAAc,CAAC,eAAe,EAAE;UAACe,MAAM,EAANA;QAAM,CAAC,CAAE;QACrDK,IAAI,EAAEtB,KAAM;QACZuB,IAAI,EAAE;MAAG,CACZ,CAAC,eACFnB,IAAA;QAAAiB,QAAA,EAAON;MAAO,CAAO,CAAC;IAAA,CACrB,CAAC;EAEd,CAAC,EACD,CAACN,MAAM,CACX,CAAC;EAED,OAAO;IACHE,YAAY,EAAZA,YAAY;IACZa,UAAU,EAAEd,gBAAgB,IAAIE;EACpC,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useRef","Check","Icon","cnSelectSearch","jsx","_jsx","jsxs","_jsxs","useSelectSearch","_ref","values","customRenderItem","textInputRef","defaultRenderItem","option","value","content","disabled","active","some","item","className","children","data","size","renderItem"],"sources":["useSelectSearch.tsx"],"sourcesContent":["import React, {useCallback, useRef} from 'react';\nimport type {RefObject} from 'react';\n\nimport {Check} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\n\nimport type {SuggestProps} from '~/src/components/Suggest';\n\nimport {cnSelectSearch} from '../SelectSearch.classname';\nimport type {Option} from '../types';\n\nexport type UseSelectSearchProps<V> = {\n customRenderItem?: SuggestProps['renderItem'];\n values: Option<V>[];\n};\n\nexport const useSelectSearch = <V,>({values, customRenderItem}: UseSelectSearchProps<V>) => {\n const textInputRef = useRef<RefObject<HTMLInputElement>>();\n\n const defaultRenderItem = useCallback(\n (option: Option<V>) => {\n const {value, content, disabled} = option;\n const active = values.some((item) => item.value === value);\n\n return (\n <div className={cnSelectSearch('option', {disabled})}>\n <Icon\n className={cnSelectSearch('selected-icon', {active})}\n data={Check}\n size={16}\n />\n <span>{content}</span>\n </div>\n );\n },\n [values],\n );\n\n return {\n textInputRef,\n renderItem: customRenderItem || defaultRenderItem,\n };\n};\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAGC,WAAW,EAAEC,MAAM,QAAO,OAAO;AAGhD,SAAQC,KAAK,QAAO,mBAAmB;AACvC,SAAQC,IAAI,QAAO,mBAAmB;AAItC,SAAQC,cAAc;AAAmC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQzD,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAgE;EAAA,IAAvDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB;EACzD,IAAMC,YAAY,GAAGZ,MAAM,CAA8B,CAAC;EAE1D,IAAMa,iBAAiB,GAAGd,WAAW,CACjC,UAACe,MAAiB,EAAK;IACnB,IAAOC,KAAK,GAAuBD,MAAM,CAAlCC,KAAK;MAAEC,OAAO,GAAcF,MAAM,CAA3BE,OAAO;MAAEC,QAAQ,GAAIH,MAAM,CAAlBG,QAAQ;IAC/B,IAAMC,MAAM,GAAGR,MAAM,CAACS,IAAI,CAAC,UAACC,IAAI;MAAA,OAAKA,IAAI,CAACL,KAAK,KAAKA,KAAK;IAAA,EAAC;IAE1D,oBACIR,KAAA;MAAKc,SAAS,EAAElB,cAAc,CAAC,QAAQ,EAAE;QAACc,QAAQ,EAARA;MAAQ,CAAC,CAAE;MAAAK,QAAA,gBACjDjB,IAAA,CAACH,IAAI;QACDmB,SAAS,EAAElB,cAAc,CAAC,eAAe,EAAE;UAACe,MAAM,EAANA;QAAM,CAAC,CAAE;QACrDK,IAAI,EAAEtB,KAAM;QACZuB,IAAI,EAAE;MAAG,CACZ,CAAC,eACFnB,IAAA;QAAAiB,QAAA,EAAON;MAAO,CAAO,CAAC;IAAA,CACrB,CAAC;EAEd,CAAC,EACD,CAACN,MAAM,CACX,CAAC;EAED,OAAO;IACHE,YAAY,EAAZA,YAAY;IACZa,UAAU,EAAEd,gBAAgB,IAAIE;EACpC,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import { block } from "../../cn";
1
+ import { block } from "./../../cn";
2
2
  export var cnTagsSelect = block('tags-select');
3
3
  // #sourceMappingURL=TagsSelect.classname.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["block","cnTagsSelect"],"sources":["TagsSelect.classname.ts"],"sourcesContent":["import {block} from '../../cn';\n\nexport const cnTagsSelect = block('tags-select');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,YAAY,GAAGD,KAAK,CAAC,aAAa,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["block","cnTagsSelect"],"sources":["TagsSelect.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnTagsSelect = block('tags-select');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,YAAY,GAAGD,KAAK,CAAC,aAAa,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const cnSuggest: import("@bem-react/classname").ClassNameFormatter;
@@ -0,0 +1,3 @@
1
+ import { block } from "./../cn";
2
+ export var cnSuggest = block('suggest');
3
+ // #sourceMappingURL=Suggest.classname.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["block","cnSuggest"],"sources":["Suggest.classname.tsx"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnSuggest = block('suggest');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,SAAS,GAAGD,KAAK,CAAC,SAAS,CAAC","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ .tpc-suggest__popup {
2
+ max-height: 40vh;
3
+ overflow-x: hidden;
4
+ overflow-y: auto;
5
+ overflow: hidden auto;
6
+ }
7
+ .tpc-suggest__popup_has-fallback {
8
+ min-height: -moz-min-content;
9
+ min-height: min-content;
10
+ }
11
+ .tpc-suggest__loader {
12
+ display: flex;
13
+ justify-content: center;
14
+ padding: calc(var(--g-spacing-2) + var(--g-spacing-half));
15
+ }
16
+ .tpc-suggest__list {
17
+ box-sizing: border-box;
18
+ display: flex;
19
+ }
20
+ .tpc-suggest__item {
21
+ width: 100%;
22
+ overflow: hidden;
23
+ }
24
+ /*# sourceMappingURL=Suggest.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Suggest.scss"],"names":[],"mappings":"AAKI;EACI,gBAAA;EACA,kBAAA;EAAA,gBAAA;EAAA,qBAAA;AAJR;AAMQ;EACI,4BAAA;EAAA,uBAAA;AAJZ;AAQI;EACI,aAAA;EACA,uBAAA;EACA,yDAAA;AANR;AASI;EACI,sBAAA;EACA,aAAA;AAPR;AAUI;EACI,WAAA;EACA,gBAAA;AARR","file":"Suggest.css","sourcesContent":["@use '../../styles/variables.scss';\n\n$block: '.#{variables.$ns}suggest';\n\n#{$block} {\n &__popup {\n max-height: 40vh;\n overflow: hidden auto;\n\n &_has-fallback {\n min-height: min-content;\n }\n }\n\n &__loader {\n display: flex;\n justify-content: center;\n padding: calc(var(--g-spacing-2) + var(--g-spacing-half));\n }\n\n &__list {\n box-sizing: border-box;\n display: flex;\n }\n\n &__item {\n width: 100%;\n overflow: hidden;\n }\n}\n"],"sourceRoot":""}
@@ -0,0 +1,147 @@
1
+ import React, { FC, ReactNode } from 'react';
2
+ import { List, ListItemData, PopupPlacement, PopupProps, TextInputPin, TextInputProps, TextInputSize } from '@gravity-ui/uikit';
3
+ import type { DOMProps, QAProps } from '@gravity-ui/uikit';
4
+ import './Suggest.scss';
5
+ export type RenderStyle = 'popup' | 'inline';
6
+ export type RenderFallbackContentProps = {
7
+ text: string;
8
+ error?: Error | null;
9
+ };
10
+ export interface SuggestProps<T = any> extends DOMProps, QAProps {
11
+ /** Текст в поле ввода */
12
+ text: string;
13
+ /** Функция, реагирующая на изменения текста `text` в поле ввода */
14
+ onUpdate: (item: string) => void;
15
+ /** Функция, принимающая текст из поля ввода и возвращающая новый список элементов саджеста или `Promise` */
16
+ getItems: (text: string) => ListItemData<T>[] | Promise<ListItemData<T>[]>;
17
+ /** Обработчик клика по элементу саджеста */
18
+ onItemClick?: (item: T, index?: number, fromKeyboard?: boolean) => boolean | void;
19
+ /** Функция для кастомного лейаута саджеста. */
20
+ children?: (input: ReactNode, items: ListItemData<T>[], loading: boolean) => ReactNode;
21
+ /** Placeholder поля ввода */
22
+ placeholder?: string;
23
+ /** Сделать поле ввода неактивным */
24
+ disabled?: boolean;
25
+ /** Атрибут `autocomplete` поля ввода */
26
+ autoComplete?: TextInputProps['autoComplete'];
27
+ /** Включить автофокус поля ввода */
28
+ autoFocus?: boolean;
29
+ popupPlacement?: PopupPlacement;
30
+ /** Микс для имени класса попапа */
31
+ popupClassName?: string;
32
+ /** Отключает floating-ui портал попапа */
33
+ popupDisablePortal?: boolean;
34
+ /** Микс для имени класса импута */
35
+ inputClassName?: string;
36
+ /** Высота элемента саджеста в `px` или функция, возвращающая значение высоты для элемента саджеста: `(item: any) => number`. Используется только при `virtualized: true`. */
37
+ itemHeight?: number | ((item: ListItemData<T>) => number);
38
+ /** Флаг, указывающий, что значение из поля ввода должно быть обработано, и не обязательно должен быть выбран элемент из саджеста. Должен быть указан `onInputEnterKeyDown`. */
39
+ applicableInputValue?: boolean;
40
+ /** Запрашивать список элементов саджеста при начальной отрисовке компонента */
41
+ getItemsOnMount?: boolean;
42
+ /** Показывать элементы саджеста при пустом поле ввода */
43
+ showItemsOnNoText?: boolean;
44
+ /** Обработчик нажатия Tab в поле ввода или на элемент списка. Используется только при открытом попапе саджеста */
45
+ onTabKeyDown?: (text: string, event: React.KeyboardEvent, extra: {
46
+ items: ListItemData<T>[];
47
+ activeItem: number | undefined;
48
+ }) => boolean | undefined;
49
+ /** Обработчик нажатия Enter в поле ввода. Если не указан, то по Enter будет срабатывать `onItemClick` на активном элементе саджеста. Используется только при `applicableInputValue: true`. */
50
+ onInputEnterKeyDown?: (text: string, event: React.KeyboardEvent) => void;
51
+ /** Обработчик нажатия любой клавиши в поле ввода */
52
+ onInputKeyDown?: (text: string, event: React.KeyboardEvent) => void;
53
+ /** Функция, которая будет вызвана на блюр текстового инпута */
54
+ onBlur?: () => void;
55
+ /** Функция, которая будет вызвана при открытии или закрытии попапа */
56
+ onOpenChange?: (isOpen: boolean) => void;
57
+ /** Включить синхронизацию ширины поля ввода и попапа саджеста при ресайзе окна */
58
+ syncPopupOnResize?: boolean;
59
+ /** Выключить показ сообщение об отсутствии совпадений */
60
+ showNoItemsMessage?: boolean;
61
+ /** Размер поля ввода */
62
+ size?: TextInputSize;
63
+ /** Включить виртуализацию. При выключенном флаге будут отрисованы все элементы саджеста разом. */
64
+ virtualized?: boolean;
65
+ /** Функция рендера, получающая на вход элемент саджеста и возвращающая React-ноду */
66
+ renderItem?: (item: T) => ReactNode;
67
+ /** Время в мс для отложенного вызова `getItems` после `onUpdate` */
68
+ debounce?: number;
69
+ /** Значение пробрасывается в TextInput.props.pin */
70
+ pin?: TextInputPin;
71
+ id?: string;
72
+ renderStyle?: RenderStyle;
73
+ /** Кнопка очистки инпута */
74
+ hasClear?: boolean;
75
+ /** Функция, высчитывающая какой Item сделать активным после резолва getItems */
76
+ getInitialActiveItemIndex?: (items: ListItemData<T>[]) => number;
77
+ /** Значение пробрасывается в TextInput.props.error */
78
+ error?: TextInputProps['error'];
79
+ /** Значение пробрасывается в TextInput.props.errorPlacement */
80
+ errorPlacement?: TextInputProps['errorPlacement'];
81
+ /** Значение пробрасывается в Popup.props.offset */
82
+ popupOffset?: PopupProps['offset'];
83
+ /** Генератор кастомного сообщения о пустом списке элементов на основе текущего значения поля ввода */
84
+ /**
85
+ * @deprecated use renderEmptyResultFallbackContent
86
+ */
87
+ getNoItemsMessage?: (text: string) => ReactNode;
88
+ /** Генератор кастомного сообщения о пустом списке элементов на основе текущего значения поля ввода */
89
+ renderEmptyResult?: FC<RenderFallbackContentProps>;
90
+ /** Генератор кастомного сообщения об ошибке загрузки данных */
91
+ renderFetchItemsError?: FC<RenderFallbackContentProps>;
92
+ /** Дополнительные пропсы для контрола */
93
+ controlProps?: React.InputHTMLAttributes<HTMLInputElement>;
94
+ /** Нода, которая рендерится перед инпутом внутри TextInput */
95
+ startContent?: ReactNode;
96
+ /** Нода, которая рендерится после инпута и кнопки очистки внутри TextInput */
97
+ endContent?: ReactNode;
98
+ /** Ссылка для доступа к TextInput */
99
+ controlRef?: TextInputProps['controlRef'];
100
+ }
101
+ interface SuggestState<T> {
102
+ progress: boolean;
103
+ focused: boolean;
104
+ items: ListItemData<T>[];
105
+ progressTimerId: ReturnType<typeof setTimeout> | null;
106
+ activeIndex?: number;
107
+ fetchError: Error | null;
108
+ showEmptyMessage: boolean;
109
+ }
110
+ interface SuggestLocalizationProps {
111
+ t: (key: string, params?: Record<string, unknown>) => string;
112
+ }
113
+ export declare class SuggestView<T = any> extends React.PureComponent<SuggestProps<T> & SuggestLocalizationProps, SuggestState<T>> {
114
+ static defaultProps: Partial<SuggestProps>;
115
+ static getDerivedStateFromProps<Props extends SuggestProps>(nextProps: Props): {
116
+ items: never[];
117
+ } | null;
118
+ state: SuggestState<T>;
119
+ throttledForceUpdate: import("lodash").DebouncedFunc<() => void>;
120
+ textInputRef: React.RefObject<HTMLInputElement>;
121
+ inputRef: React.RefObject<HTMLDivElement>;
122
+ listRef: React.RefObject<List<T>>;
123
+ latestPromise?: Promise<T[]>;
124
+ _getItems: import("lodash").DebouncedFunc<(text: string) => Promise<void>>;
125
+ componentDidMount(): void;
126
+ componentDidUpdate(prevProps: SuggestProps): void;
127
+ componentWillUnmount(): void;
128
+ render(): React.JSX.Element;
129
+ renderIllustration(type: '404' | '500'): (props: SVGProps<SVGSVGElement>) => React.JSX.Element;
130
+ getItems(text: string): void;
131
+ private setProgressWithDelay;
132
+ private clearProgress;
133
+ private handleClosePopup;
134
+ private renderItem;
135
+ private onItemClick;
136
+ private onChangeActive;
137
+ private renderDefaultPopupFallback;
138
+ private getRenderFallbackContent;
139
+ private renderPopupContent;
140
+ private onUpdate;
141
+ private isPopupHasContent;
142
+ private onInputKeyDown;
143
+ private moveCursorToEdge;
144
+ private updateTextInputRef;
145
+ }
146
+ export declare const Suggest: <T = any>(props: SuggestProps<T> & React.RefAttributes<SuggestView<T>>) => React.ReactElement;
147
+ export {};