@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
@@ -0,0 +1,183 @@
1
+ # MetaEntitiesSelect
2
+
3
+ <!-- description:start -->
4
+ A suggest-based select component for choosing Tracker meta entities (projects, portfolios, goals, or reports) inside a plugin. Renders each entity with its icon and display name, supports async item fetching, loading states, error display, and a clear button.
5
+ <!-- description:end -->
6
+
7
+ ## Usage
8
+
9
+ ```tsx
10
+ import {MetaEntitiesSelect} from '@weavix/tracker-components';
11
+ import type {MetaEntitiesSelectProps} from '@weavix/tracker-components';
12
+ import type {MetaEntityV2} from '@weavix/tracker-api-types';
13
+
14
+ <MetaEntitiesSelect
15
+ getItems={(text) => fetchProjects(text)}
16
+ onChange={(entity) => console.log('selected', entity)}
17
+ />;
18
+ ```
19
+
20
+ ## Component props
21
+
22
+ <!-- props:start -->
23
+ ```ts
24
+ {
25
+ /**
26
+ * Async or sync function called to fetch items.
27
+ * Receives the current text input and should return a list of MetaEntityV2 objects.
28
+ * Called on mount (getItemsOnMount) and on every text change.
29
+ */
30
+ getItems?: (text: string) => MetaEntityV2[] | Promise<MetaEntityV2[]>;
31
+
32
+ /**
33
+ * Callback fired when the user selects an entity from the suggest list.
34
+ */
35
+ onChange?: (entity: MetaEntityV2) => void;
36
+
37
+ /**
38
+ * Callback fired when the text input value changes.
39
+ */
40
+ onTextChange?: (text: string) => void;
41
+
42
+ /**
43
+ * Current text value of the input (controlled).
44
+ */
45
+ text?: string;
46
+
47
+ /**
48
+ * Placeholder text shown when the input is empty.
49
+ * @default 'Select a project'
50
+ */
51
+ placeholder?: string;
52
+
53
+ /**
54
+ * Error message or boolean to display an error state on the control.
55
+ */
56
+ error?: string | boolean;
57
+
58
+ /**
59
+ * Whether to show a clear (×) button when a value is selected.
60
+ * @default true
61
+ */
62
+ hasClear?: boolean;
63
+
64
+ /**
65
+ * Additional CSS class applied to the root element.
66
+ */
67
+ className?: string;
68
+
69
+ /**
70
+ * Additional CSS class applied to each item in the suggest list.
71
+ */
72
+ itemClassName?: string;
73
+ }
74
+ ```
75
+ <!-- props:end -->
76
+
77
+ ## Types
78
+
79
+ ```ts
80
+ // From @weavix/tracker-api-types
81
+ type MetaEntityV2 = {
82
+ id: string;
83
+ shortId: number;
84
+ entityType: 'project' | 'portfolio' | 'report' | 'goal';
85
+ self: string;
86
+ version: number;
87
+ createdBy: {self: string; id: string; display: string};
88
+ createdAt: string;
89
+ updatedAt: string;
90
+ fields?: {
91
+ summary?: {value: string};
92
+ [key: string]: unknown;
93
+ };
94
+ };
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Tracker API
100
+
101
+ `MetaEntitiesSelect` is data-agnostic — it accepts items via the `getItems` prop. You are responsible for fetching data from the Tracker API and passing it to the component.
102
+
103
+ ### Getting projects
104
+
105
+ Use the entities search endpoint to fetch projects (or other entity types):
106
+
107
+ ```ts
108
+ const result = await trackerApi.v3.post['/entities/{entityType}/_search']({
109
+ pathParams: {
110
+ entityType: 'project',
111
+ },
112
+ queryParams: {
113
+ fields: ['summary'],
114
+ page:1,
115
+ perPage: 50,
116
+ },
117
+ bodyParams: {
118
+ filter: {},
119
+ filterTypes: ['ALL'],
120
+ input,
121
+ },
122
+ });
123
+ return result.data; // MetaEntityV2[]
124
+ ```
125
+
126
+ > **Other entity types:** The `entityType` path parameter accepts `'portfolio' | 'project' | 'report' | 'goal'`. Use the appropriate value depending on which entities you want to display in the select.
127
+
128
+ > **Result:** Always return `result.data` from the API response.
129
+
130
+ ---
131
+
132
+ ### Example — Projects select with Tracker API
133
+
134
+ Fetches projects on every text change using the entities search endpoint. Request errors are caught and passed to the component via the `error` prop.
135
+
136
+ ```tsx
137
+ import React, {useState} from 'react';
138
+ import {MetaEntitiesSelect} from '@weavix/tracker-components';
139
+ import type {MetaEntityV2} from '@weavix/tracker-api-types';
140
+
141
+ interface Props {
142
+ trackerApi: TrackerApi; // your Tracker API client
143
+ onChange: (entity: MetaEntityV2) => void;
144
+ }
145
+
146
+ export const ProjectSelect: React.FC<Props> = ({trackerApi, onChange}) => {
147
+ const [error, setError] = useState<string | undefined>(undefined);
148
+
149
+ const getItems = async (input: string): Promise<MetaEntityV2[]> => {
150
+ setError(undefined);
151
+ try {
152
+ const result = await trackerApi.v3.post['/entities/{entityType}/_search']({
153
+ pathParams: {
154
+ entityType: 'project',
155
+ },
156
+ queryParams: {
157
+ fields: ['summary'],
158
+ page:1,
159
+ perPage: 50,
160
+ },
161
+ bodyParams: {
162
+ filter: {},
163
+ filterTypes: ['ALL'],
164
+ input,
165
+ },
166
+ });
167
+ return result.data;
168
+ } catch (err) {
169
+ setError(err instanceof Error ? err.message : 'Failed to load projects');
170
+ return [];
171
+ }
172
+ };
173
+
174
+ return (
175
+ <MetaEntitiesSelect
176
+ getItems={getItems}
177
+ onChange={onChange}
178
+ error={error}
179
+ placeholder="Select a project"
180
+ />
181
+ );
182
+ };
183
+ ```
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { Ref } from 'react';
3
+ import { SuggestView } from '~/src/components/Suggest';
4
+ import type { SuggestProps } from '~/src/components/Suggest';
5
+ type SuggestPropsToOmit = 'text' | 'onTextUpdate' | 'applicableInputValue' | 'onInputEnterKeyDown' | 'onUpdate';
6
+ export type EntitiesSuggestProps<EntityType extends unknown = {}> = Omit<SuggestProps<EntityType>, SuggestPropsToOmit> & {
7
+ onChange?: (entity: EntityType | null) => void;
8
+ getItemId: (item: EntityType) => string | number;
9
+ getSuggestTextFromClickedItem: (item: EntityType) => string;
10
+ suggestRef?: Ref<SuggestView<EntityType>>;
11
+ text?: string;
12
+ onTextChange?: (text: string) => void;
13
+ };
14
+ export declare const EntitiesSuggest: <EntityType extends unknown = {}>({ onItemClick, onChange, hasClear, debounce, getItems, getItemId, getSuggestTextFromClickedItem, suggestRef, text: providedText, onTextChange, getItemsOnMount, ...suggestProps }: EntitiesSuggestProps<EntityType>) => React.JSX.Element;
15
+ export {};
@@ -0,0 +1,61 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["onItemClick", "onChange", "hasClear", "debounce", "getItems", "getItemId", "getSuggestTextFromClickedItem", "suggestRef", "text", "onTextChange", "getItemsOnMount"];
5
+ import React, { useCallback, useState } from 'react';
6
+ import { Suggest } from "./../../../Suggest";
7
+ import { useConditionallyControlledState } from "./../../../../hooks/useConditionallyControlledState";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export var EntitiesSuggest = function EntitiesSuggest(_ref) {
10
+ var onItemClick = _ref.onItemClick,
11
+ onChange = _ref.onChange,
12
+ _ref$hasClear = _ref.hasClear,
13
+ hasClear = _ref$hasClear === void 0 ? true : _ref$hasClear,
14
+ _ref$debounce = _ref.debounce,
15
+ debounce = _ref$debounce === void 0 ? 500 : _ref$debounce,
16
+ getItems = _ref.getItems,
17
+ getItemId = _ref.getItemId,
18
+ getSuggestTextFromClickedItem = _ref.getSuggestTextFromClickedItem,
19
+ suggestRef = _ref.suggestRef,
20
+ _ref$text = _ref.text,
21
+ providedText = _ref$text === void 0 ? '' : _ref$text,
22
+ onTextChange = _ref.onTextChange,
23
+ getItemsOnMount = _ref.getItemsOnMount,
24
+ suggestProps = _objectWithoutProperties(_ref, _excluded);
25
+ var _useConditionallyCont = useConditionallyControlledState(providedText, onTextChange),
26
+ _useConditionallyCont2 = _slicedToArray(_useConditionallyCont, 2),
27
+ text = _useConditionallyCont2[0],
28
+ setText = _useConditionallyCont2[1];
29
+ var _useState = useState(null),
30
+ _useState2 = _slicedToArray(_useState, 2),
31
+ currentEntity = _useState2[0],
32
+ setCurrentEntity = _useState2[1];
33
+ var handleItemClick = useCallback(function (item, index, fromKeyboard) {
34
+ setText(getSuggestTextFromClickedItem(item));
35
+ if (!currentEntity || getItemId(item) !== getItemId(currentEntity)) {
36
+ setCurrentEntity(item);
37
+ onChange === null || onChange === void 0 || onChange(item);
38
+ }
39
+ return onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item, index, fromKeyboard);
40
+ }, [currentEntity, getSuggestTextFromClickedItem, getItemId, onChange, onItemClick, setText]);
41
+ var handleUpdate = useCallback(function (input) {
42
+ setText(input);
43
+ if (currentEntity !== null) {
44
+ setCurrentEntity(null);
45
+ onChange === null || onChange === void 0 || onChange(null);
46
+ }
47
+ }, [currentEntity, onChange, setText]);
48
+ return /*#__PURE__*/_jsx(Suggest, _objectSpread(_objectSpread({}, suggestProps), {}, {
49
+ ref: suggestRef,
50
+ text: text,
51
+ onUpdate: handleUpdate,
52
+ getItems: getItems,
53
+ onItemClick: handleItemClick,
54
+ debounce: debounce,
55
+ hasClear: hasClear,
56
+ syncPopupOnResize: true,
57
+ getItemsOnMount: getItemsOnMount || providedText.length > 0,
58
+ autoComplete: false
59
+ }));
60
+ };
61
+ // #sourceMappingURL=EntitiesSuggest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useState","Suggest","useConditionallyControlledState","jsx","_jsx","EntitiesSuggest","_ref","onItemClick","onChange","_ref$hasClear","hasClear","_ref$debounce","debounce","getItems","getItemId","getSuggestTextFromClickedItem","suggestRef","_ref$text","text","providedText","onTextChange","getItemsOnMount","suggestProps","_objectWithoutProperties","_excluded","_useConditionallyCont","_useConditionallyCont2","_slicedToArray","setText","_useState","_useState2","currentEntity","setCurrentEntity","handleItemClick","item","index","fromKeyboard","handleUpdate","input","_objectSpread","ref","onUpdate","syncPopupOnResize","length","autoComplete"],"sources":["EntitiesSuggest.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport type {Ref} from 'react';\n\nimport {Suggest, SuggestView} from '~/src/components/Suggest';\nimport type {SuggestProps} from '~/src/components/Suggest';\nimport {useConditionallyControlledState} from '~/src/hooks/useConditionallyControlledState';\n\ntype SuggestPropsToOmit =\n | 'text'\n | 'onTextUpdate'\n | 'applicableInputValue'\n | 'onInputEnterKeyDown'\n | 'onUpdate';\n\nexport type EntitiesSuggestProps<EntityType extends unknown = {}> = Omit<\n SuggestProps<EntityType>,\n SuggestPropsToOmit\n> & {\n onChange?: (entity: EntityType | null) => void;\n getItemId: (item: EntityType) => string | number;\n getSuggestTextFromClickedItem: (item: EntityType) => string;\n suggestRef?: Ref<SuggestView<EntityType>>;\n text?: string;\n onTextChange?: (text: string) => void;\n};\n\nexport const EntitiesSuggest = <EntityType extends unknown = {}>({\n onItemClick,\n onChange,\n hasClear = true,\n debounce = 500,\n getItems,\n getItemId,\n getSuggestTextFromClickedItem,\n suggestRef,\n text: providedText = '',\n onTextChange,\n getItemsOnMount,\n ...suggestProps\n}: EntitiesSuggestProps<EntityType>) => {\n const [text, setText] = useConditionallyControlledState(providedText, onTextChange);\n const [currentEntity, setCurrentEntity] = useState<EntityType | null>(null);\n\n const handleItemClick = useCallback(\n (item: EntityType, index?: number, fromKeyboard?: boolean) => {\n setText(getSuggestTextFromClickedItem(item));\n\n if (!currentEntity || getItemId(item) !== getItemId(currentEntity)) {\n setCurrentEntity(item);\n onChange?.(item);\n }\n\n return onItemClick?.(item, index, fromKeyboard);\n },\n [currentEntity, getSuggestTextFromClickedItem, getItemId, onChange, onItemClick, setText],\n );\n\n const handleUpdate = useCallback(\n (input: string) => {\n setText(input);\n\n if (currentEntity !== null) {\n setCurrentEntity(null);\n onChange?.(null);\n }\n },\n [currentEntity, onChange, setText],\n );\n\n return (\n <Suggest<EntityType>\n {...suggestProps}\n ref={suggestRef}\n text={text}\n onUpdate={handleUpdate}\n getItems={getItems}\n onItemClick={handleItemClick}\n debounce={debounce}\n hasClear={hasClear}\n syncPopupOnResize\n getItemsOnMount={getItemsOnMount || providedText.length > 0}\n autoComplete={false}\n />\n );\n};\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAGC,WAAW,EAAEC,QAAQ,QAAO,OAAO;AAGlD,SAAQC,OAAO;AAEf,SAAQC,+BAA+B;AAAqD,SAAAC,GAAA,IAAAC,IAAA;AAqB5F,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAaY;EAAA,IAZpCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,aAAA,GAAAH,IAAA,CACRI,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,IAAI,GAAAA,aAAA;IAAAE,aAAA,GAAAL,IAAA,CACfM,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,GAAG,GAAAA,aAAA;IACdE,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,SAAS,GAAAR,IAAA,CAATQ,SAAS;IACTC,6BAA6B,GAAAT,IAAA,CAA7BS,6BAA6B;IAC7BC,UAAU,GAAAV,IAAA,CAAVU,UAAU;IAAAC,SAAA,GAAAX,IAAA,CACVY,IAAI;IAAEC,YAAY,GAAAF,SAAA,cAAG,EAAE,GAAAA,SAAA;IACvBG,YAAY,GAAAd,IAAA,CAAZc,YAAY;IACZC,eAAe,GAAAf,IAAA,CAAfe,eAAe;IACZC,YAAY,GAAAC,wBAAA,CAAAjB,IAAA,EAAAkB,SAAA;EAEf,IAAAC,qBAAA,GAAwBvB,+BAA+B,CAACiB,YAAY,EAAEC,YAAY,CAAC;IAAAM,sBAAA,GAAAC,cAAA,CAAAF,qBAAA;IAA5EP,IAAI,GAAAQ,sBAAA;IAAEE,OAAO,GAAAF,sBAAA;EACpB,IAAAG,SAAA,GAA0C7B,QAAQ,CAAoB,IAAI,CAAC;IAAA8B,UAAA,GAAAH,cAAA,CAAAE,SAAA;IAApEE,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EAEtC,IAAMG,eAAe,GAAGlC,WAAW,CAC/B,UAACmC,IAAgB,EAAEC,KAAc,EAAEC,YAAsB,EAAK;IAC1DR,OAAO,CAACb,6BAA6B,CAACmB,IAAI,CAAC,CAAC;IAE5C,IAAI,CAACH,aAAa,IAAIjB,SAAS,CAACoB,IAAI,CAAC,KAAKpB,SAAS,CAACiB,aAAa,CAAC,EAAE;MAChEC,gBAAgB,CAACE,IAAI,CAAC;MACtB1B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG0B,IAAI,CAAC;IACpB;IAEA,OAAO3B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG2B,IAAI,EAAEC,KAAK,EAAEC,YAAY,CAAC;EACnD,CAAC,EACD,CAACL,aAAa,EAAEhB,6BAA6B,EAAED,SAAS,EAAEN,QAAQ,EAAED,WAAW,EAAEqB,OAAO,CAC5F,CAAC;EAED,IAAMS,YAAY,GAAGtC,WAAW,CAC5B,UAACuC,KAAa,EAAK;IACfV,OAAO,CAACU,KAAK,CAAC;IAEd,IAAIP,aAAa,KAAK,IAAI,EAAE;MACxBC,gBAAgB,CAAC,IAAI,CAAC;MACtBxB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG,IAAI,CAAC;IACpB;EACJ,CAAC,EACD,CAACuB,aAAa,EAAEvB,QAAQ,EAAEoB,OAAO,CACrC,CAAC;EAED,oBACIxB,IAAA,CAACH,OAAO,EAAAsC,aAAA,CAAAA,aAAA,KACAjB,YAAY;IAChBkB,GAAG,EAAExB,UAAW;IAChBE,IAAI,EAAEA,IAAK;IACXuB,QAAQ,EAAEJ,YAAa;IACvBxB,QAAQ,EAAEA,QAAS;IACnBN,WAAW,EAAE0B,eAAgB;IAC7BrB,QAAQ,EAAEA,QAAS;IACnBF,QAAQ,EAAEA,QAAS;IACnBgC,iBAAiB;IACjBrB,eAAe,EAAEA,eAAe,IAAIF,YAAY,CAACwB,MAAM,GAAG,CAAE;IAC5DC,YAAY,EAAE;EAAM,EACvB,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const cnEntitiesSuggestItem: import("@bem-react/classname").ClassNameFormatter;
@@ -0,0 +1,3 @@
1
+ import { block } from "./../../../cn";
2
+ export var cnEntitiesSuggestItem = block('entities-suggest-item');
3
+ // #sourceMappingURL=EntitiesSuggestItem.classname.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["block","cnEntitiesSuggestItem"],"sources":["EntitiesSuggestItem.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnEntitiesSuggestItem = block('entities-suggest-item');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,qBAAqB,GAAGD,KAAK,CAAC,uBAAuB,CAAC","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ .tpc-entities-suggest-item {
2
+ display: flex;
3
+ gap: var(--g-spacing-3);
4
+ align-items: center;
5
+ padding: var(--g-spacing-2) var(--g-spacing-4);
6
+ font-size: var(--g-text-body-1-font-size);
7
+ line-height: var(--g-text-body-1-line-height-rel);
8
+ }
9
+ .tpc-entities-suggest-item__name {
10
+ color: var(--g-color-text-primary);
11
+ }
12
+ .tpc-entities-suggest-item__description {
13
+ color: var(--g-color-text-secondary);
14
+ white-space: nowrap;
15
+ overflow: hidden;
16
+ text-overflow: ellipsis;
17
+ }
18
+ /*# sourceMappingURL=EntitiesSuggestItem.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["EntitiesSuggestItem.scss","../../../../../../node_modules/@gravity-ui/uikit/styles/mixins.scss"],"names":[],"mappings":"AAKA;EACI,aAAA;EACA,uBAAA;EACA,mBAAA;EAEA,8CAAA;EAEA,yCAAA;EACA,iDAAA;AANJ;AAQI;EACI,kCAAA;AANR;AASI;EACI,oCAAA;EChBJ,mBAAA;EACA,gBAAA;EACA,uBAH4B;ADahC","file":"EntitiesSuggestItem.css","sourcesContent":["@use '../../../../styles/variables.scss';\n@use '../../../../styles/mixins.scss';\n\n$block: '.#{variables.$ns}entities-suggest-item';\n\n#{$block} {\n display: flex;\n gap: var(--g-spacing-3);\n align-items: center;\n\n padding: var(--g-spacing-2) var(--g-spacing-4);\n\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height-rel);\n\n &__name {\n color: var(--g-color-text-primary);\n }\n\n &__description {\n color: var(--g-color-text-secondary);\n @include mixins.overflow-ellipsis();\n }\n}\n","@use 'sass:list';\n@use 'sass:selector';\n\n@mixin overflow-ellipsis($type: ellipsis) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: $type;\n}\n\n@mixin button-reset() {\n padding: 0;\n\n font-family: var(--g-text-body-font-family);\n font-size: inherit;\n font-weight: var(--g-text-body-font-weight);\n\n color: inherit;\n background: none;\n border: none;\n outline: none;\n cursor: pointer;\n}\n\n@mixin link-reset() {\n color: inherit;\n text-decoration: inherit;\n}\n\n@mixin expand-interactive-area($h: 4px, $v: $h) {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n inset: logical (-$v) (-$h);\n }\n}\n\n@mixin max-height($height) {\n max-height: $height;\n overflow-y: auto;\n}\n\n@mixin max-text-width($width: 100%) {\n @include overflow-ellipsis();\n\n max-width: $width;\n}\n\n@mixin aspect-ratio($ratio) {\n position: relative;\n\n &::before {\n display: block;\n content: '';\n width: 100%;\n padding-block-start: $ratio * 100%;\n }\n\n > *:only-child {\n position: absolute;\n inset: 0;\n }\n}\n\n@function get-pin-selector($mod, $selector, $append: true) {\n @if $append {\n @return selector.append($mod, $selector);\n } @else {\n @return list.join($mod, $selector, $separator: space);\n }\n}\n\n@mixin pin($block, $selectors, $radius, $append: true) {\n @each $selector in $selectors {\n @at-root #{get-pin-selector(#{$block}_pin_round-round, $selector, $append)} {\n border-radius: $radius;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-brick, $selector, $append)} {\n border-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-clear, $selector, $append)} {\n border-radius: 0;\n border-inline: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-circle, $selector, $append)} {\n border-radius: 100px;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_round-brick, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_round-clear, $selector, $append)} {\n border-start-start-radius: $radius;\n border-start-end-radius: 0;\n border-end-start-radius: $radius;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-round, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: $radius;\n border-end-start-radius: 0;\n border-end-end-radius: $radius;\n border-inline-start: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-clear, $selector, $append)} {\n border-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-brick, $selector, $append)} {\n border-radius: 0;\n border-inline-start: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-brick, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_brick-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_circle-clear, $selector, $append)} {\n border-start-start-radius: 100px;\n border-start-end-radius: 0;\n border-end-start-radius: 100px;\n border-end-end-radius: 0;\n border-inline-end: 0;\n }\n\n @at-root #{get-pin-selector(#{$block}_pin_clear-circle, $selector, $append)} {\n border-start-start-radius: 0;\n border-start-end-radius: 100px;\n border-end-start-radius: 0;\n border-end-end-radius: 100px;\n border-inline-start: 0;\n }\n }\n}\n\n// Typography\n\n@mixin text-body-1() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n\n@mixin text-body-2() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n\n@mixin text-body-3() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n}\n\n@mixin text-body-short() {\n font-family: var(--g-text-body-font-family);\n font-weight: var(--g-text-body-font-weight);\n font-size: var(--g-text-body-short-font-size);\n line-height: var(--g-text-body-short-line-height);\n}\n\n@mixin text-caption-1() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-1-font-size);\n line-height: var(--g-text-caption-1-line-height);\n}\n\n@mixin text-caption-2() {\n font-family: var(--g-text-caption-font-family);\n font-weight: var(--g-text-caption-font-weight);\n font-size: var(--g-text-caption-2-font-size);\n line-height: var(--g-text-caption-2-line-height);\n}\n\n@mixin text-header-1() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-1-font-size);\n line-height: var(--g-text-header-1-line-height);\n}\n\n@mixin text-header-2() {\n font-family: var(--g-text-header-font-family);\n font-weight: var(--g-text-header-font-weight);\n font-size: var(--g-text-header-2-font-size);\n line-height: var(--g-text-header-2-line-height);\n}\n\n@mixin text-subheader-1() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-1-font-size);\n line-height: var(--g-text-subheader-1-line-height);\n}\n\n@mixin text-subheader-2() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n}\n\n@mixin text-subheader-3() {\n font-family: var(--g-text-subheader-font-family);\n font-weight: var(--g-text-subheader-font-weight);\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n}\n\n@mixin text-display-1() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-1-font-size);\n line-height: var(--g-text-display-1-line-height);\n}\n\n@mixin text-display-2() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-2-font-size);\n line-height: var(--g-text-display-2-line-height);\n}\n\n@mixin text-display-3() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-3-font-size);\n line-height: var(--g-text-display-3-line-height);\n}\n\n@mixin text-display-4() {\n font-family: var(--g-text-display-font-family);\n font-weight: var(--g-text-display-font-weight);\n font-size: var(--g-text-display-4-font-size);\n line-height: var(--g-text-display-4-line-height);\n}\n\n@mixin text-code-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-1-font-size);\n line-height: var(--g-text-code-1-line-height);\n}\n\n@mixin text-code-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-2-font-size);\n line-height: var(--g-text-code-2-line-height);\n}\n\n@mixin text-code-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-3-font-size);\n line-height: var(--g-text-code-3-line-height);\n}\n\n@mixin text-code-inline-1() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-1-font-size);\n line-height: var(--g-text-code-inline-1-line-height);\n}\n\n@mixin text-code-inline-2() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-2-font-size);\n line-height: var(--g-text-code-inline-2-line-height);\n}\n\n@mixin text-code-inline-3() {\n font-family: var(--g-text-code-font-family);\n font-weight: var(--g-text-code-font-weight);\n font-size: var(--g-text-code-inline-3-font-size);\n line-height: var(--g-text-code-inline-3-line-height);\n}\n\n@mixin text-accent() {\n font-weight: var(--g-text-accent-font-weight);\n}\n\n@mixin loading($loading-color-1: rgba(255, 255, 255, 0.3), $loading-color-2: transparent) {\n background-image: repeating-linear-gradient(\n -45deg,\n $loading-color-1,\n $loading-color-1 4px,\n $loading-color-2 4px,\n $loading-color-2 8px\n );\n background-size: 150%;\n background-clip: padding-box;\n\n // stylelint-disable-next-line no-unknown-animations\n animation: g-loading-animation 0.5s linear infinite;\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n}\n\n@mixin scrollbar() {\n &::-webkit-scrollbar,\n *::-webkit-scrollbar {\n width: var(--g-scrollbar-width);\n height: var(--g-scrollbar-width);\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-track,\n *::-webkit-scrollbar-track {\n background: var(--g-color-scroll-track);\n }\n\n &::-webkit-scrollbar-corner,\n *::-webkit-scrollbar-corner {\n background: var(--g-color-scroll-corner);\n }\n\n &::-webkit-scrollbar-thumb,\n *::-webkit-scrollbar-thumb {\n background: var(--g-color-scroll-handle);\n }\n\n &::-webkit-scrollbar-thumb:hover,\n *::-webkit-scrollbar-thumb:hover {\n background: var(--g-color-scroll-handle-hover);\n }\n}\n\n@mixin focus-outline() {\n outline: 2px solid var(--g-color-line-focus);\n}\n"],"sourceRoot":""}
@@ -0,0 +1,10 @@
1
+ import type { FC, ReactNode } from 'react';
2
+ import './EntitiesSuggestItem.scss';
3
+ export type EntitiesSuggestItemProps = {
4
+ icon?: ReactNode;
5
+ id: number | string;
6
+ name: string;
7
+ description?: string;
8
+ className?: string;
9
+ };
10
+ export declare const EntitiesSuggestItem: FC<EntitiesSuggestItemProps>;
@@ -0,0 +1,26 @@
1
+ import "core-js/modules/es.symbol.js";
2
+ import "core-js/modules/es.symbol.description.js";
3
+ import "core-js/modules/es.function.name.js";
4
+ import React from 'react';
5
+ import { cnEntitiesSuggestItem } from "./EntitiesSuggestItem.classname";
6
+ import "./EntitiesSuggestItem.css";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export var EntitiesSuggestItem = function EntitiesSuggestItem(_ref) {
9
+ var icon = _ref.icon,
10
+ name = _ref.name,
11
+ description = _ref.description,
12
+ className = _ref.className;
13
+ return /*#__PURE__*/_jsxs("div", {
14
+ className: cnEntitiesSuggestItem(null, className),
15
+ children: [icon, /*#__PURE__*/_jsxs("div", {
16
+ children: [/*#__PURE__*/_jsx("div", {
17
+ className: cnEntitiesSuggestItem('name'),
18
+ children: name
19
+ }), /*#__PURE__*/_jsx("div", {
20
+ className: cnEntitiesSuggestItem('description'),
21
+ children: description
22
+ })]
23
+ })]
24
+ });
25
+ };
26
+ // #sourceMappingURL=EntitiesSuggestItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","cnEntitiesSuggestItem","jsx","_jsx","jsxs","_jsxs","EntitiesSuggestItem","_ref","icon","name","description","className","children"],"sources":["EntitiesSuggestItem.tsx"],"sourcesContent":["import type {FC, ReactNode} from 'react';\nimport React from 'react';\n\nimport {cnEntitiesSuggestItem} from './EntitiesSuggestItem.classname';\n\nimport './EntitiesSuggestItem.scss';\n\nexport type EntitiesSuggestItemProps = {\n icon?: ReactNode;\n id: number | string;\n name: string;\n description?: string;\n className?: string;\n};\n\nexport const EntitiesSuggestItem: FC<EntitiesSuggestItemProps> = ({\n icon,\n name,\n description,\n className,\n}) => {\n return (\n <div className={cnEntitiesSuggestItem(null, className)}>\n {icon}\n <div>\n <div className={cnEntitiesSuggestItem('name')}>{name}</div>\n <div className={cnEntitiesSuggestItem('description')}>{description}</div>\n </div>\n </div>\n );\n};\n"],"mappings":";;;AACA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAAQC,qBAAqB;AAE7B;AAAoC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUpC,OAAO,IAAMC,mBAAiD,GAAG,SAApDA,mBAAiDA,CAAAC,IAAA,EAKxD;EAAA,IAJFC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,SAAS,GAAAJ,IAAA,CAATI,SAAS;EAET,oBACIN,KAAA;IAAKM,SAAS,EAAEV,qBAAqB,CAAC,IAAI,EAAEU,SAAS,CAAE;IAAAC,QAAA,GAClDJ,IAAI,eACLH,KAAA;MAAAO,QAAA,gBACIT,IAAA;QAAKQ,SAAS,EAAEV,qBAAqB,CAAC,MAAM,CAAE;QAAAW,QAAA,EAAEH;MAAI,CAAM,CAAC,eAC3DN,IAAA;QAAKQ,SAAS,EAAEV,qBAAqB,CAAC,aAAa,CAAE;QAAAW,QAAA,EAAEF;MAAW,CAAM,CAAC;IAAA,CACxE,CAAC;EAAA,CACL,CAAC;AAEd,CAAC","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ @use '../../../../styles/variables.scss';
2
+ @use '../../../../styles/mixins.scss';
3
+
4
+ $block: '.#{variables.$ns}entities-suggest-item';
5
+
6
+ #{$block} {
7
+ display: flex;
8
+ gap: var(--g-spacing-3);
9
+ align-items: center;
10
+
11
+ padding: var(--g-spacing-2) var(--g-spacing-4);
12
+
13
+ font-size: var(--g-text-body-1-font-size);
14
+ line-height: var(--g-text-body-1-line-height-rel);
15
+
16
+ &__name {
17
+ color: var(--g-color-text-primary);
18
+ }
19
+
20
+ &__description {
21
+ color: var(--g-color-text-secondary);
22
+ @include mixins.overflow-ellipsis();
23
+ }
24
+ }
@@ -0,0 +1,6 @@
1
+ export declare const defaultMessages: {
2
+ placeholder: {
3
+ ru: string;
4
+ en: string;
5
+ };
6
+ };
@@ -0,0 +1,7 @@
1
+ export var defaultMessages = {
2
+ placeholder: {
3
+ ru: 'Выберите проект',
4
+ en: 'Select a project'
5
+ }
6
+ };
7
+ // #sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultMessages","placeholder","ru","en"],"sources":["i18n.ts"],"sourcesContent":["export const defaultMessages = {\n placeholder: {\n ru: 'Выберите проект',\n en: 'Select a project',\n },\n};\n"],"mappings":"AAAA,OAAO,IAAMA,eAAe,GAAG;EAC3BC,WAAW,EAAE;IACTC,EAAE,EAAE,iBAAiB;IACrBC,EAAE,EAAE;EACR;AACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { MetaEntitiesSelect } from './MetaEntitiesSelect';
2
+ export type { MetaEntitiesSelectProps } from './MetaEntitiesSelect';
@@ -0,0 +1,2 @@
1
+ export { MetaEntitiesSelect } from "./MetaEntitiesSelect";
2
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MetaEntitiesSelect"],"sources":["index.ts"],"sourcesContent":["export {MetaEntitiesSelect} from './MetaEntitiesSelect';\nexport type {MetaEntitiesSelectProps} from './MetaEntitiesSelect';\n"],"mappings":"AAAA,SAAQA,kBAAkB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { MetaEntityV2 } from '@weavix/tracker-api-types';
2
+ export declare function getMetaEntityDisplay(metaEntity: MetaEntityV2): string;
@@ -0,0 +1,5 @@
1
+ export function getMetaEntityDisplay(metaEntity) {
2
+ var _metaEntity$fields, _metaEntity$fields2, _metaEntity$fields$su, _metaEntity$fields3;
3
+ return typeof ((_metaEntity$fields = metaEntity.fields) === null || _metaEntity$fields === void 0 ? void 0 : _metaEntity$fields.summary) === 'string' ? (_metaEntity$fields2 = metaEntity.fields) === null || _metaEntity$fields2 === void 0 ? void 0 : _metaEntity$fields2.summary : String((_metaEntity$fields$su = (_metaEntity$fields3 = metaEntity.fields) === null || _metaEntity$fields3 === void 0 || (_metaEntity$fields3 = _metaEntity$fields3.summary) === null || _metaEntity$fields3 === void 0 ? void 0 : _metaEntity$fields3.value) !== null && _metaEntity$fields$su !== void 0 ? _metaEntity$fields$su : metaEntity.id);
4
+ }
5
+ // #sourceMappingURL=getMetaEntityDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getMetaEntityDisplay","metaEntity","_metaEntity$fields","_metaEntity$fields2","_metaEntity$fields$su","_metaEntity$fields3","fields","summary","String","value","id"],"sources":["getMetaEntityDisplay.ts"],"sourcesContent":["import type {MetaEntityV2} from '@weavix/tracker-api-types';\n\nexport function getMetaEntityDisplay(metaEntity: MetaEntityV2) {\n return typeof metaEntity.fields?.summary === 'string'\n ? metaEntity.fields?.summary\n : String(metaEntity.fields?.summary?.value ?? metaEntity.id);\n}\n"],"mappings":"AAEA,OAAO,SAASA,oBAAoBA,CAACC,UAAwB,EAAE;EAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,mBAAA;EAC3D,OAAO,SAAAH,kBAAA,GAAOD,UAAU,CAACK,MAAM,cAAAJ,kBAAA,uBAAjBA,kBAAA,CAAmBK,OAAO,MAAK,QAAQ,IAAAJ,mBAAA,GAC/CF,UAAU,CAACK,MAAM,cAAAH,mBAAA,uBAAjBA,mBAAA,CAAmBI,OAAO,GAC1BC,MAAM,EAAAJ,qBAAA,IAAAC,mBAAA,GAACJ,UAAU,CAACK,MAAM,cAAAD,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBE,OAAO,cAAAF,mBAAA,uBAA1BA,mBAAA,CAA4BI,KAAK,cAAAL,qBAAA,cAAAA,qBAAA,GAAIH,UAAU,CAACS,EAAE,CAAC;AACpE","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { MetaEntityV2 } from '@weavix/tracker-api-types';
2
+ export declare function getMetaEntityId(metaEntity: MetaEntityV2): string;
@@ -0,0 +1,4 @@
1
+ export function getMetaEntityId(metaEntity) {
2
+ return metaEntity.id;
3
+ }
4
+ // #sourceMappingURL=getMetaEntityId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getMetaEntityId","metaEntity","id"],"sources":["getMetaEntityId.ts"],"sourcesContent":["import type {MetaEntityV2} from '@weavix/tracker-api-types';\n\nexport function getMetaEntityId(metaEntity: MetaEntityV2) {\n return metaEntity.id;\n}\n"],"mappings":"AAEA,OAAO,SAASA,eAAeA,CAACC,UAAwB,EAAE;EACtD,OAAOA,UAAU,CAACC,EAAE;AACxB","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { Field } from '@yandex-data-ui/tracker-pub-api-types';
2
+ import type { Field } from '@weavix/tracker-api-types';
3
3
  import type { FieldsSelectProps } from '~/src/components/FieldsSelect';
4
4
  import type { TrackerSelectItemValueBase } from '~/src/components/TrackerSelect';
5
5
  export type PluginFieldsSelectField = {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","FieldsSelect","jsx","_jsx","PluginFieldsSelect","_ref","fields","fieldsSelectProps","_objectWithoutProperties","_excluded","groups","categories","length","forEach","field","_field$category","_field$category2","categoryId","String","category","id","_field$category3","_objectSpread","name","display","collapsible","items","Object","values"],"sources":["PluginFieldsSelect.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\n\nimport type {Field} from '@yandex-data-ui/tracker-pub-api-types';\n\nimport type {FieldsSelectProps} from '~/src/components/FieldsSelect';\nimport {FieldsSelect} from '~/src/components/FieldsSelect';\nimport type {\n TrackerSelectGroup,\n TrackerSelectItem,\n TrackerSelectItemValueBase,\n TrackerSelectItems,\n} from '~/src/components/TrackerSelect';\n\nexport type PluginFieldsSelectField = {\n id: string;\n name: string;\n category: TrackerSelectItemValueBase;\n} & Partial<Omit<Field, 'category' | 'name'>>;\n\nexport type PluginFieldsSelectProps = {\n fields: PluginFieldsSelectField[];\n} & Omit<FieldsSelectProps, 'groups'>;\n\nexport const PluginFieldsSelect = ({fields, ...fieldsSelectProps}: PluginFieldsSelectProps) => {\n const groups = useMemo(() => {\n const categories: Record<string, TrackerSelectGroup> = {};\n if (fields && fields.length > 0) {\n fields.forEach((field) => {\n const categoryId = String(field.category?.id);\n if (field.category?.id) {\n categories[categoryId] = categories[categoryId] || {\n ...field.category,\n name: field.category?.display,\n collapsible: true,\n items: {} as TrackerSelectItems,\n };\n categories[categoryId].items[field.id] = {\n ...field,\n display: String(field.name),\n } as unknown as TrackerSelectItem;\n }\n });\n }\n return Object.values(categories);\n }, [fields]);\n\n return <FieldsSelect groups={groups} {...fieldsSelectProps} />;\n};\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AAKpC,SAAQC,YAAY;AAAuC,SAAAC,GAAA,IAAAC,IAAA;AAkB3D,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAgE;EAAA,IAA3DC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAKC,iBAAiB,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAC5D,IAAMC,MAAM,GAAGV,OAAO,CAAC,YAAM;IACzB,IAAMW,UAA8C,GAAG,CAAC,CAAC;IACzD,IAAIL,MAAM,IAAIA,MAAM,CAACM,MAAM,GAAG,CAAC,EAAE;MAC7BN,MAAM,CAACO,OAAO,CAAC,UAACC,KAAK,EAAK;QAAA,IAAAC,eAAA,EAAAC,gBAAA;QACtB,IAAMC,UAAU,GAAGC,MAAM,EAAAH,eAAA,GAACD,KAAK,CAACK,QAAQ,cAAAJ,eAAA,uBAAdA,eAAA,CAAgBK,EAAE,CAAC;QAC7C,KAAAJ,gBAAA,GAAIF,KAAK,CAACK,QAAQ,cAAAH,gBAAA,eAAdA,gBAAA,CAAgBI,EAAE,EAAE;UAAA,IAAAC,gBAAA;UACpBV,UAAU,CAACM,UAAU,CAAC,GAAGN,UAAU,CAACM,UAAU,CAAC,IAAAK,aAAA,CAAAA,aAAA,KACxCR,KAAK,CAACK,QAAQ;YACjBI,IAAI,GAAAF,gBAAA,GAAEP,KAAK,CAACK,QAAQ,cAAAE,gBAAA,uBAAdA,gBAAA,CAAgBG,OAAO;YAC7BC,WAAW,EAAE,IAAI;YACjBC,KAAK,EAAE,CAAC;UAAuB,EAClC;UACDf,UAAU,CAACM,UAAU,CAAC,CAACS,KAAK,CAACZ,KAAK,CAACM,EAAE,CAAC,GAAAE,aAAA,CAAAA,aAAA,KAC/BR,KAAK;YACRU,OAAO,EAAEN,MAAM,CAACJ,KAAK,CAACS,IAAI;UAAC,EACE;QACrC;MACJ,CAAC,CAAC;IACN;IACA,OAAOI,MAAM,CAACC,MAAM,CAACjB,UAAU,CAAC;EACpC,CAAC,EAAE,CAACL,MAAM,CAAC,CAAC;EAEZ,oBAAOH,IAAA,CAACF,YAAY,EAAAqB,aAAA;IAACZ,MAAM,EAAEA;EAAO,GAAKH,iBAAiB,CAAG,CAAC;AAClE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","FieldsSelect","jsx","_jsx","PluginFieldsSelect","_ref","fields","fieldsSelectProps","_objectWithoutProperties","_excluded","groups","categories","length","forEach","field","_field$category","_field$category2","categoryId","String","category","id","_field$category3","_objectSpread","name","display","collapsible","items","Object","values"],"sources":["PluginFieldsSelect.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\n\nimport type {Field} from '@weavix/tracker-api-types';\n\nimport type {FieldsSelectProps} from '~/src/components/FieldsSelect';\nimport {FieldsSelect} from '~/src/components/FieldsSelect';\nimport type {\n TrackerSelectGroup,\n TrackerSelectItem,\n TrackerSelectItemValueBase,\n TrackerSelectItems,\n} from '~/src/components/TrackerSelect';\n\nexport type PluginFieldsSelectField = {\n id: string;\n name: string;\n category: TrackerSelectItemValueBase;\n} & Partial<Omit<Field, 'category' | 'name'>>;\n\nexport type PluginFieldsSelectProps = {\n fields: PluginFieldsSelectField[];\n} & Omit<FieldsSelectProps, 'groups'>;\n\nexport const PluginFieldsSelect = ({fields, ...fieldsSelectProps}: PluginFieldsSelectProps) => {\n const groups = useMemo(() => {\n const categories: Record<string, TrackerSelectGroup> = {};\n if (fields && fields.length > 0) {\n fields.forEach((field) => {\n const categoryId = String(field.category?.id);\n if (field.category?.id) {\n categories[categoryId] = categories[categoryId] || {\n ...field.category,\n name: field.category?.display,\n collapsible: true,\n items: {} as TrackerSelectItems,\n };\n categories[categoryId].items[field.id] = {\n ...field,\n display: String(field.name),\n } as unknown as TrackerSelectItem;\n }\n });\n }\n return Object.values(categories);\n }, [fields]);\n\n return <FieldsSelect groups={groups} {...fieldsSelectProps} />;\n};\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AAKpC,SAAQC,YAAY;AAAuC,SAAAC,GAAA,IAAAC,IAAA;AAkB3D,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAgE;EAAA,IAA3DC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAKC,iBAAiB,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAC5D,IAAMC,MAAM,GAAGV,OAAO,CAAC,YAAM;IACzB,IAAMW,UAA8C,GAAG,CAAC,CAAC;IACzD,IAAIL,MAAM,IAAIA,MAAM,CAACM,MAAM,GAAG,CAAC,EAAE;MAC7BN,MAAM,CAACO,OAAO,CAAC,UAACC,KAAK,EAAK;QAAA,IAAAC,eAAA,EAAAC,gBAAA;QACtB,IAAMC,UAAU,GAAGC,MAAM,EAAAH,eAAA,GAACD,KAAK,CAACK,QAAQ,cAAAJ,eAAA,uBAAdA,eAAA,CAAgBK,EAAE,CAAC;QAC7C,KAAAJ,gBAAA,GAAIF,KAAK,CAACK,QAAQ,cAAAH,gBAAA,eAAdA,gBAAA,CAAgBI,EAAE,EAAE;UAAA,IAAAC,gBAAA;UACpBV,UAAU,CAACM,UAAU,CAAC,GAAGN,UAAU,CAACM,UAAU,CAAC,IAAAK,aAAA,CAAAA,aAAA,KACxCR,KAAK,CAACK,QAAQ;YACjBI,IAAI,GAAAF,gBAAA,GAAEP,KAAK,CAACK,QAAQ,cAAAE,gBAAA,uBAAdA,gBAAA,CAAgBG,OAAO;YAC7BC,WAAW,EAAE,IAAI;YACjBC,KAAK,EAAE,CAAC;UAAuB,EAClC;UACDf,UAAU,CAACM,UAAU,CAAC,CAACS,KAAK,CAACZ,KAAK,CAACM,EAAE,CAAC,GAAAE,aAAA,CAAAA,aAAA,KAC/BR,KAAK;YACRU,OAAO,EAAEN,MAAM,CAACJ,KAAK,CAACS,IAAI;UAAC,EACE;QACrC;MACJ,CAAC,CAAC;IACN;IACA,OAAOI,MAAM,CAACC,MAAM,CAACjB,UAAU,CAAC;EACpC,CAAC,EAAE,CAACL,MAAM,CAAC,CAAC;EAEZ,oBAAOH,IAAA,CAACF,YAAY,EAAAqB,aAAA;IAACZ,MAAM,EAAEA;EAAO,GAAKH,iBAAiB,CAAG,CAAC;AAClE,CAAC","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import { block } from "../cn";
1
+ import { block } from "./../cn";
2
2
  export var cnQueueIcon = block('queue-icon');
3
3
  // #sourceMappingURL=QueueIcon.classname.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["block","cnQueueIcon"],"sources":["QueueIcon.classname.ts"],"sourcesContent":["import {block} from '../cn';\n\nexport const cnQueueIcon = block('queue-icon');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,WAAW,GAAGD,KAAK,CAAC,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["block","cnQueueIcon"],"sources":["QueueIcon.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnQueueIcon = block('queue-icon');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,WAAW,GAAGD,KAAK,CAAC,YAAY,CAAC","ignoreList":[]}
@@ -1,3 +1,3 @@
1
- import { block } from "../cn";
1
+ import { block } from "./../cn";
2
2
  export var cnQueueSelect = block('queue-select');
3
3
  // #sourceMappingURL=QueueSelect.classname.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["block","cnQueueSelect"],"sources":["QueueSelect.classname.ts"],"sourcesContent":["import {block} from '../cn';\n\nexport const cnQueueSelect = block('queue-select');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,aAAa,GAAGD,KAAK,CAAC,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["block","cnQueueSelect"],"sources":["QueueSelect.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnQueueSelect = block('queue-select');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,aAAa,GAAGD,KAAK,CAAC,cAAc,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["QueueSelect.scss"],"names":[],"mappings":"AACI;EACI,YAAA;AAAR;AAGI;EACI,WAAA;AADR;AAII;EACI,oCAAA;AAFR;AAMQ;EACI,8CAAA;EACA,mBAAA;EAEA,YAAA;EAEA,kCAAA;AANZ;AASQ;EACI,4BAAA;AAPZ;AAWI;EACI,aAAA;EACA,sBAAA;AATR;;AAaA;EACI,aAAA;EACA,mBAAA;AAVJ;AAYI;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;EACA,YAAA;EACA,gCAAA;AAXR;AAcI;;EAEI,yCAAA;EACA,6CAAA;AAZR;AAeI;EACI,kCAAA;EACA,gBAAA;EAEA,mBAAA;EACA,uBAAA;AAdR;AAiBI;EACI,oCAAA;AAfR;AAkBI;EACI,eAAA;AAhBR;;AAoBA;EACI,aAAA;EACA,mBAAA;AAjBJ;AAmBI;EACI,6BAAA;AAjBR;AAoBI;EACI,gCAAA;AAlBR;;AAuBI;EACI,gCAAA;AApBR;;AAyBI;EACI,aAAA;AAtBR;AAyBI;EACI,aAAA;AAvBR;;AA4BI;EACI,aAAA;AAzBR;AA4BI;EACI,aAAA;AA1BR;;AA8BA;EACI,gBAAA;AA3BJ;;AA8BA;EACI,oBAAA;EAEA,gBAAA;EAEA,mBAAA;EACA,uBAAA;AA7BJ;;AAgCA;EACI,uBAAA;AA7BJ;;AAgCA;EACI,sBAAA;EACA,8CAAA;AA7BJ;;AAgCA;EACI,UAAA;AA7BJ;;AAgCA;EACI,6BAAA;AA7BJ;;AAgCA;EACI,6BAAA;AA7BJ","file":"QueueSelect.css","sourcesContent":[".tpc-queue-select {\n &:not(.tpc-queue-select_with-border) .tpc-select__button::before {\n border: none;\n }\n\n &__control {\n width: 100%;\n }\n\n &__control-block.g-button_size_xl .g-button__icon-inner {\n color: var(--g-color-text-secondary);\n }\n\n &_mobile {\n .tpc-queue-select__control-block {\n --g-button-background-color-hover: transparent;\n align-items: center;\n\n height: auto;\n\n color: var(--g-color-text-primary);\n }\n\n .g-select-list {\n margin: var(--g-spacing-2) 0;\n }\n }\n\n &__popup-content {\n display: flex;\n flex-direction: column;\n }\n}\n\n.tpc-queue-select__select-item_forPopup {\n display: flex;\n align-items: center;\n\n .tpc-queue-select__select-item-texts {\n display: flex;\n flex-direction: column;\n\n flex: auto;\n min-width: 0;\n padding-left: var(--g-spacing-3);\n }\n\n .tpc-queue-select__select-item-name,\n .tpc-queue-select__select-item-key {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n }\n\n .tpc-queue-select__select-item-name {\n color: var(--g-color-text-primary);\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .tpc-queue-select__select-item-key {\n color: var(--g-color-text-secondary);\n }\n\n .tpc-queue-select__select-item-icon {\n min-width: 24px;\n }\n}\n\n.tpc-queue-select__select-item_forControl {\n display: flex;\n align-items: center;\n\n &_size-xl {\n padding: var(--g-spacing-2) 0;\n }\n\n .tpc-queue-select__select-item-icon {\n margin-right: var(--g-spacing-3);\n }\n}\n\n.tpc-queue-select__select-item_platform_touch {\n .tpc-queue-select__select-item-icon {\n margin-right: var(--g-spacing-1);\n }\n}\n\n.tpc-queue-select__control.tpc-queue-select__select-item {\n &.tpc-queue-select__select-item_forPopup {\n display: none;\n }\n\n &.tpc-queue-select__select-item_forControl {\n display: flex;\n }\n}\n\n.tpc-queue-select__popup.tpc-queue-select__select-item {\n &.tpc-queue-select__select-item_forPopup {\n display: flex;\n }\n\n &.tpc-queue-select__select-item_forControl {\n display: none;\n }\n}\n\n.tpc-queue-select__popup {\n min-width: 320px;\n}\n\n.tpc-queue-select__select-value-name {\n line-height: unset; // stylelint-disable-line\n\n overflow: hidden;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.tpc-queue-select__select-display {\n gap: var(--g-spacing-2);\n}\n\n.tpc-queue-select__search {\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-4);\n}\n\n.tpc-queue-select__list-item {\n padding: 0;\n}\n\n.g-select-list__option_colored:has(.tpc-queue-select__list-item_selected) {\n background-color: transparent;\n}\n\n.g-select-list__item.g-list__item_active:has(.tpc-queue-select__list-item_selected) {\n background-color: transparent;\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["QueueSelect.scss","../../styles/mixins.scss"],"names":[],"mappings":"AAGI;EACI,YAAA;AAFR;AAKI;EACI,WAAA;AAHR;AAMI;EACI,oCAAA;AAJR;AAQQ;EACI,8CAAA;EACA,mBAAA;EAEA,YAAA;EAEA,kCAAA;AARZ;AAWQ;EACI,4BAAA;AATZ;AAaI;EACI,aAAA;EACA,sBAAA;AAXR;;AAeA;EACI,aAAA;EACA,mBAAA;AAZJ;AAcI;EACI,aAAA;EACA,sBAAA;EAEA,UAAA;EACA,YAAA;EACA,gCAAA;AAbR;AAgBI;;EAEI,yCAAA;EACA,6CAAA;AAdR;AAiBI;EACI,kCAAA;ECrDJ,gBAAA;EAEA,mBAAA;EACA,uBAAA;ADsCJ;AAgBI;EACI,oCAAA;AAdR;AAiBI;EACI,eAAA;AAfR;;AAmBA;EACI,aAAA;EACA,mBAAA;AAhBJ;AAkBI;EACI,6BAAA;AAhBR;AAmBI;EACI,gCAAA;AAjBR;;AAsBI;EACI,gCAAA;AAnBR;;AAwBI;EACI,aAAA;AArBR;AAwBI;EACI,aAAA;AAtBR;;AA2BI;EACI,aAAA;AAxBR;AA2BI;EACI,aAAA;AAzBR;;AA6BA;EACI,gBAAA;AA1BJ;;AA6BA;EACI,oBAAA;EC9GA,gBAAA;EAEA,mBAAA;EACA,uBAAA;ADoFJ;;AA4BA;EACI,uBAAA;AAzBJ;;AA4BA;EACI,sBAAA;EACA,8CAAA;AAzBJ;;AA4BA;EACI,UAAA;AAzBJ;;AA4BA;EACI,6BAAA;AAzBJ;;AA4BA;EACI,6BAAA;AAzBJ","file":"QueueSelect.css","sourcesContent":["@use '../../styles/mixins.scss';\n\n.tpc-queue-select {\n &:not(.tpc-queue-select_with-border) .tpc-select__button::before {\n border: none;\n }\n\n &__control {\n width: 100%;\n }\n\n &__control-block.g-button_size_xl .g-button__icon-inner {\n color: var(--g-color-text-secondary);\n }\n\n &_mobile {\n .tpc-queue-select__control-block {\n --g-button-background-color-hover: transparent;\n align-items: center;\n\n height: auto;\n\n color: var(--g-color-text-primary);\n }\n\n .g-select-list {\n margin: var(--g-spacing-2) 0;\n }\n }\n\n &__popup-content {\n display: flex;\n flex-direction: column;\n }\n}\n\n.tpc-queue-select__select-item_forPopup {\n display: flex;\n align-items: center;\n\n .tpc-queue-select__select-item-texts {\n display: flex;\n flex-direction: column;\n\n flex: auto;\n min-width: 0;\n padding-left: var(--g-spacing-3);\n }\n\n .tpc-queue-select__select-item-name,\n .tpc-queue-select__select-item-key {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n }\n\n .tpc-queue-select__select-item-name {\n color: var(--g-color-text-primary);\n @include mixins.text-overflow();\n }\n\n .tpc-queue-select__select-item-key {\n color: var(--g-color-text-secondary);\n }\n\n .tpc-queue-select__select-item-icon {\n min-width: 24px;\n }\n}\n\n.tpc-queue-select__select-item_forControl {\n display: flex;\n align-items: center;\n\n &_size-xl {\n padding: var(--g-spacing-2) 0;\n }\n\n .tpc-queue-select__select-item-icon {\n margin-right: var(--g-spacing-3);\n }\n}\n\n.tpc-queue-select__select-item_platform_touch {\n .tpc-queue-select__select-item-icon {\n margin-right: var(--g-spacing-1);\n }\n}\n\n.tpc-queue-select__control.tpc-queue-select__select-item {\n &.tpc-queue-select__select-item_forPopup {\n display: none;\n }\n\n &.tpc-queue-select__select-item_forControl {\n display: flex;\n }\n}\n\n.tpc-queue-select__popup.tpc-queue-select__select-item {\n &.tpc-queue-select__select-item_forPopup {\n display: flex;\n }\n\n &.tpc-queue-select__select-item_forControl {\n display: none;\n }\n}\n\n.tpc-queue-select__popup {\n min-width: 320px;\n}\n\n.tpc-queue-select__select-value-name {\n line-height: unset; // stylelint-disable-line\n\n @include mixins.text-overflow();\n}\n\n.tpc-queue-select__select-display {\n gap: var(--g-spacing-2);\n}\n\n.tpc-queue-select__search {\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-4);\n}\n\n.tpc-queue-select__list-item {\n padding: 0;\n}\n\n.g-select-list__option_colored:has(.tpc-queue-select__list-item_selected) {\n background-color: transparent;\n}\n\n.g-select-list__item.g-list__item_active:has(.tpc-queue-select__list-item_selected) {\n background-color: transparent;\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":""}
@@ -1,3 +1,5 @@
1
+ @use '../../styles/mixins.scss';
2
+
1
3
  .tpc-queue-select {
2
4
  &:not(.tpc-queue-select_with-border) .tpc-select__button::before {
3
5
  border: none;
@@ -53,10 +55,7 @@
53
55
 
54
56
  .tpc-queue-select__select-item-name {
55
57
  color: var(--g-color-text-primary);
56
- overflow: hidden;
57
-
58
- white-space: nowrap;
59
- text-overflow: ellipsis;
58
+ @include mixins.text-overflow();
60
59
  }
61
60
 
62
61
  .tpc-queue-select__select-item-key {
@@ -114,10 +113,7 @@
114
113
  .tpc-queue-select__select-value-name {
115
114
  line-height: unset; // stylelint-disable-line
116
115
 
117
- overflow: hidden;
118
-
119
- white-space: nowrap;
120
- text-overflow: ellipsis;
116
+ @include mixins.text-overflow();
121
117
  }
122
118
 
123
119
  .tpc-queue-select__select-display {
@@ -5,7 +5,7 @@ export type AutocompleteProps<TValue = any> = Omit<MultiAutocompleteProps, 'mult
5
5
  value?: SelectOption<TValue>;
6
6
  onUpdate: (value: SelectOption<TValue>) => void;
7
7
  };
8
- export declare const Autocomplete: React.ForwardRefExoticComponent<Omit<MultiAutocompleteProps, "multiple" | "onUpdate" | "value"> & {
8
+ export declare const Autocomplete: React.ForwardRefExoticComponent<Omit<MultiAutocompleteProps, "multiple" | "value" | "onUpdate"> & {
9
9
  value?: SelectOption<any> | undefined;
10
10
  onUpdate: (value: SelectOption<any>) => void;
11
11
  } & React.RefAttributes<HTMLButtonElement>>;
@@ -6,7 +6,7 @@ export type MultiAutocompleteProps = Omit<MultiSelectProps, 'filterable' | 'valu
6
6
  onUpdate: (value: SelectOption[]) => void;
7
7
  searchDelay?: number;
8
8
  };
9
- export declare const MultiAutocomplete: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "onUpdate" | "value" | "filterable"> & {
9
+ export declare const MultiAutocomplete: React.ForwardRefExoticComponent<Omit<MultiSelectProps, "value" | "onUpdate" | "filterable"> & {
10
10
  value?: SelectOption[];
11
11
  onUpdate: (value: SelectOption[]) => void;
12
12
  searchDelay?: number;
@@ -1,3 +1,3 @@
1
- import { block } from "../cn";
1
+ import { block } from "./../cn";
2
2
  export var cnSelect = block('select');
3
3
  // #sourceMappingURL=Select.classname.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["block","cnSelect"],"sources":["Select.classname.ts"],"sourcesContent":["import {block} from '../cn';\n\nexport const cnSelect = block('select');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,QAAQ,GAAGD,KAAK,CAAC,QAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["block","cnSelect"],"sources":["Select.classname.ts"],"sourcesContent":["import {block} from '~/src/components/cn';\n\nexport const cnSelect = block('select');\n"],"mappings":"AAAA,SAAQA,KAAK;AAEb,OAAO,IAAMC,QAAQ,GAAGD,KAAK,CAAC,QAAQ,CAAC","ignoreList":[]}