@weavix/tracker-components 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/README.md +0 -4
  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/index.d.ts +1 -0
  13. package/build/cjs/components/Icon/GoalIcon/index.js +13 -0
  14. package/build/cjs/components/Icon/GoalIcon/index.js.map +1 -0
  15. package/build/cjs/components/Icon/Icon.classname.js +1 -1
  16. package/build/cjs/components/Icon/Icon.classname.js.map +1 -1
  17. package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.js +1 -1
  18. package/build/cjs/components/Icon/IconRefuge/IconRefuge.classname.js.map +1 -1
  19. package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js +1 -1
  20. package/build/cjs/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js.map +1 -1
  21. package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.d.ts +4 -0
  22. package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.js +35 -0
  23. package/build/cjs/components/Icon/KeyResultIcon/KeyResultIcon.js.map +1 -0
  24. package/build/cjs/components/Icon/KeyResultIcon/i18n.d.ts +6 -0
  25. package/build/cjs/components/Icon/KeyResultIcon/i18n.js +13 -0
  26. package/build/cjs/components/Icon/KeyResultIcon/i18n.js.map +1 -0
  27. package/build/cjs/components/Icon/KeyResultIcon/index.d.ts +2 -0
  28. package/build/cjs/components/Icon/KeyResultIcon/index.js +13 -0
  29. package/build/cjs/components/Icon/KeyResultIcon/index.js.map +1 -0
  30. package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.d.ts +7 -0
  31. package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.js +46 -0
  32. package/build/cjs/components/Icon/MetaEntityIcon/MetaEntityIcon.js.map +1 -0
  33. package/build/cjs/components/Icon/MetaEntityIcon/index.d.ts +2 -0
  34. package/build/cjs/components/Icon/MetaEntityIcon/index.js +13 -0
  35. package/build/cjs/components/Icon/MetaEntityIcon/index.js.map +1 -0
  36. package/build/cjs/components/Icon/PortfolioIcon/index.d.ts +2 -0
  37. package/build/cjs/components/Icon/PortfolioIcon/index.js +13 -0
  38. package/build/cjs/components/Icon/PortfolioIcon/index.js.map +1 -0
  39. package/build/cjs/components/Icon/ProjectIcon/index.d.ts +2 -0
  40. package/build/cjs/components/Icon/ProjectIcon/index.js +13 -0
  41. package/build/cjs/components/Icon/ProjectIcon/index.js.map +1 -0
  42. package/build/cjs/components/Icon/index.d.ts +7 -2
  43. package/build/cjs/components/Icon/index.js +57 -2
  44. package/build/cjs/components/Icon/index.js.map +1 -1
  45. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.d.ts +1 -0
  46. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js +9 -0
  47. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js.map +1 -0
  48. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.d.ts +10 -0
  49. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.js +65 -0
  50. package/build/cjs/components/MetaEntitiesSelect/MetaEntitiesSelect.js.map +1 -0
  51. package/build/cjs/components/MetaEntitiesSelect/README.md +183 -0
  52. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.d.ts +15 -0
  53. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js +69 -0
  54. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js.map +1 -0
  55. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.d.ts +1 -0
  56. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js +9 -0
  57. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js.map +1 -0
  58. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css +18 -0
  59. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css.map +1 -0
  60. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.d.ts +10 -0
  61. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js +33 -0
  62. package/build/cjs/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js.map +1 -0
  63. package/build/cjs/components/MetaEntitiesSelect/i18n.d.ts +6 -0
  64. package/build/cjs/components/MetaEntitiesSelect/i18n.js +13 -0
  65. package/build/cjs/components/MetaEntitiesSelect/i18n.js.map +1 -0
  66. package/build/cjs/components/MetaEntitiesSelect/index.d.ts +2 -0
  67. package/build/cjs/components/MetaEntitiesSelect/index.js +13 -0
  68. package/build/cjs/components/MetaEntitiesSelect/index.js.map +1 -0
  69. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.d.ts +2 -0
  70. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js +11 -0
  71. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js.map +1 -0
  72. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.d.ts +2 -0
  73. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.js +10 -0
  74. package/build/cjs/components/MetaEntitiesSelect/utils/getMetaEntityId.js.map +1 -0
  75. package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.d.ts +1 -1
  76. package/build/cjs/components/PluginFieldsSelect/PluginFieldsSelect.js.map +1 -1
  77. package/build/cjs/components/QueueIcon/QueueIcon.classname.js +1 -1
  78. package/build/cjs/components/QueueIcon/QueueIcon.classname.js.map +1 -1
  79. package/build/cjs/components/QueueSelect/QueueSelect.classname.js +1 -1
  80. package/build/cjs/components/QueueSelect/QueueSelect.classname.js.map +1 -1
  81. package/build/cjs/components/QueueSelect/QueueSelect.css.map +1 -1
  82. package/build/cjs/components/Select/Autocomplete.d.ts +1 -1
  83. package/build/cjs/components/Select/MultiAutocomplete.d.ts +1 -1
  84. package/build/cjs/components/Select/Select.classname.js +1 -1
  85. package/build/cjs/components/Select/Select.classname.js.map +1 -1
  86. package/build/cjs/components/Select/Select.css.map +1 -1
  87. package/build/cjs/components/Select/Select.d.ts +1 -1
  88. package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.js +1 -1
  89. package/build/cjs/components/Select/SelectSearch/SelectSearch.classname.js.map +1 -1
  90. package/build/cjs/components/Select/SelectSearch/SelectSearch.d.ts +1 -1
  91. package/build/cjs/components/Select/SelectSearch/SelectSearch.js +2 -2
  92. package/build/cjs/components/Select/SelectSearch/SelectSearch.js.map +1 -1
  93. package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.d.ts +2 -2
  94. package/build/cjs/components/Select/SelectSearch/hooks/useSelectSearch.js.map +1 -1
  95. package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.js +1 -1
  96. package/build/cjs/components/Select/TagsSelect/TagsSelect.classname.js.map +1 -1
  97. package/build/cjs/components/Suggest/Suggest.classname.d.ts +1 -0
  98. package/build/cjs/components/Suggest/Suggest.classname.js +9 -0
  99. package/build/cjs/components/Suggest/Suggest.classname.js.map +1 -0
  100. package/build/cjs/components/Suggest/Suggest.css +24 -0
  101. package/build/cjs/components/Suggest/Suggest.css.map +1 -0
  102. package/build/cjs/components/Suggest/Suggest.d.ts +147 -0
  103. package/build/cjs/components/Suggest/Suggest.js +621 -0
  104. package/build/cjs/components/Suggest/Suggest.js.map +1 -0
  105. package/build/cjs/components/Suggest/i18n.d.ts +22 -0
  106. package/build/cjs/components/Suggest/i18n.js +29 -0
  107. package/build/cjs/components/Suggest/i18n.js.map +1 -0
  108. package/build/cjs/components/Suggest/index.d.ts +1 -0
  109. package/build/cjs/components/Suggest/index.js +17 -0
  110. package/build/cjs/components/Suggest/index.js.map +1 -0
  111. package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.js +1 -1
  112. package/build/cjs/components/TrackerDisclosure/TrackerDisclosure.classname.js.map +1 -1
  113. package/build/cjs/components/TrackerSelect/TrackerSelect.classname.js +1 -1
  114. package/build/cjs/components/TrackerSelect/TrackerSelect.classname.js.map +1 -1
  115. package/build/cjs/components/TrackerSelect/TrackerSelect.css.map +1 -1
  116. package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.d.ts +9 -0
  117. package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.js +31 -0
  118. package/build/cjs/components/useOnFocusOutside/OutsideFocusHandlerContainer.js.map +1 -0
  119. package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.d.ts +1 -0
  120. package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.js +38 -0
  121. package/build/cjs/components/useOnFocusOutside/useOnFocusOutside.js.map +1 -0
  122. package/build/cjs/hooks/useConditionallyControlledState.d.ts +1 -0
  123. package/build/cjs/hooks/useConditionallyControlledState.js +15 -0
  124. package/build/cjs/hooks/useConditionallyControlledState.js.map +1 -0
  125. package/build/cjs/hooks/useLocalizedString.d.ts +1 -1
  126. package/build/cjs/hooks/useLocalizedString.js.map +1 -1
  127. package/build/cjs/index.d.ts +1 -0
  128. package/build/cjs/index.js +12 -0
  129. package/build/cjs/index.js.map +1 -1
  130. package/build/esm/assets/icons/keyResult.d.ts +4 -0
  131. package/build/esm/assets/icons/keyResult.js +13 -0
  132. package/build/esm/components/FieldsSelect/FieldsSelect.classname.js +1 -1
  133. package/build/esm/components/FieldsSelect/FieldsSelect.classname.js.map +1 -1
  134. package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.js +1 -1
  135. package/build/esm/components/Icon/EntityIcon/EntityIcon.classname.js.map +1 -1
  136. package/build/esm/components/Icon/GoalIcon/GoalIcon.d.ts +6 -0
  137. package/build/esm/components/Icon/GoalIcon/GoalIcon.js +17 -0
  138. package/build/esm/components/Icon/GoalIcon/GoalIcon.js.map +1 -0
  139. package/build/esm/components/Icon/GoalIcon/index.d.ts +1 -0
  140. package/build/esm/components/Icon/GoalIcon/index.js +2 -0
  141. package/build/esm/components/Icon/GoalIcon/index.js.map +1 -0
  142. package/build/esm/components/Icon/Icon.classname.js +1 -1
  143. package/build/esm/components/Icon/Icon.classname.js.map +1 -1
  144. package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.js +1 -1
  145. package/build/esm/components/Icon/IconRefuge/IconRefuge.classname.js.map +1 -1
  146. package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js +1 -1
  147. package/build/esm/components/Icon/IssueTypeIcon/IssueTypeIcon.classname.js.map +1 -1
  148. package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.d.ts +4 -0
  149. package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.js +28 -0
  150. package/build/esm/components/Icon/KeyResultIcon/KeyResultIcon.js.map +1 -0
  151. package/build/esm/components/Icon/KeyResultIcon/i18n.d.ts +6 -0
  152. package/build/esm/components/Icon/KeyResultIcon/i18n.js +7 -0
  153. package/build/esm/components/Icon/KeyResultIcon/i18n.js.map +1 -0
  154. package/build/esm/components/Icon/KeyResultIcon/index.d.ts +2 -0
  155. package/build/esm/components/Icon/KeyResultIcon/index.js +2 -0
  156. package/build/esm/components/Icon/KeyResultIcon/index.js.map +1 -0
  157. package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.d.ts +7 -0
  158. package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.js +39 -0
  159. package/build/esm/components/Icon/MetaEntityIcon/MetaEntityIcon.js.map +1 -0
  160. package/build/esm/components/Icon/MetaEntityIcon/index.d.ts +2 -0
  161. package/build/esm/components/Icon/MetaEntityIcon/index.js +2 -0
  162. package/build/esm/components/Icon/MetaEntityIcon/index.js.map +1 -0
  163. package/build/esm/components/Icon/PortfolioIcon/index.d.ts +2 -0
  164. package/build/esm/components/Icon/PortfolioIcon/index.js +2 -0
  165. package/build/esm/components/Icon/PortfolioIcon/index.js.map +1 -0
  166. package/build/esm/components/Icon/ProjectIcon/index.d.ts +2 -0
  167. package/build/esm/components/Icon/ProjectIcon/index.js +2 -0
  168. package/build/esm/components/Icon/ProjectIcon/index.js.map +1 -0
  169. package/build/esm/components/Icon/index.d.ts +7 -2
  170. package/build/esm/components/Icon/index.js +7 -2
  171. package/build/esm/components/Icon/index.js.map +1 -1
  172. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.d.ts +1 -0
  173. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js +3 -0
  174. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.classname.js.map +1 -0
  175. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.d.ts +10 -0
  176. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.js +57 -0
  177. package/build/esm/components/MetaEntitiesSelect/MetaEntitiesSelect.js.map +1 -0
  178. package/build/esm/components/MetaEntitiesSelect/README.md +183 -0
  179. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.d.ts +15 -0
  180. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js +61 -0
  181. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggest/EntitiesSuggest.js.map +1 -0
  182. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.d.ts +1 -0
  183. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js +3 -0
  184. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.classname.js.map +1 -0
  185. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css +18 -0
  186. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.css.map +1 -0
  187. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.d.ts +10 -0
  188. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js +26 -0
  189. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.js.map +1 -0
  190. package/build/esm/components/MetaEntitiesSelect/components/EntitiesSuggestItem/EntitiesSuggestItem.scss +24 -0
  191. package/build/esm/components/MetaEntitiesSelect/i18n.d.ts +6 -0
  192. package/build/esm/components/MetaEntitiesSelect/i18n.js +7 -0
  193. package/build/esm/components/MetaEntitiesSelect/i18n.js.map +1 -0
  194. package/build/esm/components/MetaEntitiesSelect/index.d.ts +2 -0
  195. package/build/esm/components/MetaEntitiesSelect/index.js +2 -0
  196. package/build/esm/components/MetaEntitiesSelect/index.js.map +1 -0
  197. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.d.ts +2 -0
  198. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js +5 -0
  199. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityDisplay.js.map +1 -0
  200. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.d.ts +2 -0
  201. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.js +4 -0
  202. package/build/esm/components/MetaEntitiesSelect/utils/getMetaEntityId.js.map +1 -0
  203. package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.d.ts +1 -1
  204. package/build/esm/components/PluginFieldsSelect/PluginFieldsSelect.js.map +1 -1
  205. package/build/esm/components/QueueIcon/QueueIcon.classname.js +1 -1
  206. package/build/esm/components/QueueIcon/QueueIcon.classname.js.map +1 -1
  207. package/build/esm/components/QueueSelect/QueueSelect.classname.js +1 -1
  208. package/build/esm/components/QueueSelect/QueueSelect.classname.js.map +1 -1
  209. package/build/esm/components/QueueSelect/QueueSelect.css.map +1 -1
  210. package/build/esm/components/QueueSelect/QueueSelect.scss +4 -8
  211. package/build/esm/components/Select/Autocomplete.d.ts +1 -1
  212. package/build/esm/components/Select/MultiAutocomplete.d.ts +1 -1
  213. package/build/esm/components/Select/Select.classname.js +1 -1
  214. package/build/esm/components/Select/Select.classname.js.map +1 -1
  215. package/build/esm/components/Select/Select.css.map +1 -1
  216. package/build/esm/components/Select/Select.d.ts +1 -1
  217. package/build/esm/components/Select/Select.scss +3 -4
  218. package/build/esm/components/Select/SelectSearch/SelectSearch.classname.js +1 -1
  219. package/build/esm/components/Select/SelectSearch/SelectSearch.classname.js.map +1 -1
  220. package/build/esm/components/Select/SelectSearch/SelectSearch.d.ts +1 -1
  221. package/build/esm/components/Select/SelectSearch/SelectSearch.js +1 -1
  222. package/build/esm/components/Select/SelectSearch/SelectSearch.js.map +1 -1
  223. package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.d.ts +2 -2
  224. package/build/esm/components/Select/SelectSearch/hooks/useSelectSearch.js.map +1 -1
  225. package/build/esm/components/Select/TagsSelect/TagsSelect.classname.js +1 -1
  226. package/build/esm/components/Select/TagsSelect/TagsSelect.classname.js.map +1 -1
  227. package/build/esm/components/Suggest/Suggest.classname.d.ts +1 -0
  228. package/build/esm/components/Suggest/Suggest.classname.js +3 -0
  229. package/build/esm/components/Suggest/Suggest.classname.js.map +1 -0
  230. package/build/esm/components/Suggest/Suggest.css +24 -0
  231. package/build/esm/components/Suggest/Suggest.css.map +1 -0
  232. package/build/esm/components/Suggest/Suggest.d.ts +147 -0
  233. package/build/esm/components/Suggest/Suggest.js +613 -0
  234. package/build/esm/components/Suggest/Suggest.js.map +1 -0
  235. package/build/esm/components/Suggest/Suggest.scss +30 -0
  236. package/build/esm/components/Suggest/i18n.d.ts +22 -0
  237. package/build/esm/components/Suggest/i18n.js +23 -0
  238. package/build/esm/components/Suggest/i18n.js.map +1 -0
  239. package/build/esm/components/Suggest/index.d.ts +1 -0
  240. package/build/esm/components/Suggest/index.js +2 -0
  241. package/build/esm/components/Suggest/index.js.map +1 -0
  242. package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.js +1 -1
  243. package/build/esm/components/TrackerDisclosure/TrackerDisclosure.classname.js.map +1 -1
  244. package/build/esm/components/TrackerSelect/TrackerSelect.classname.js +1 -1
  245. package/build/esm/components/TrackerSelect/TrackerSelect.classname.js.map +1 -1
  246. package/build/esm/components/TrackerSelect/TrackerSelect.css.map +1 -1
  247. package/build/esm/components/TrackerSelect/TrackerSelect.scss +3 -5
  248. package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.d.ts +9 -0
  249. package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.js +24 -0
  250. package/build/esm/components/useOnFocusOutside/OutsideFocusHandlerContainer.js.map +1 -0
  251. package/build/esm/components/useOnFocusOutside/useOnFocusOutside.d.ts +1 -0
  252. package/build/esm/components/useOnFocusOutside/useOnFocusOutside.js +31 -0
  253. package/build/esm/components/useOnFocusOutside/useOnFocusOutside.js.map +1 -0
  254. package/build/esm/hooks/useConditionallyControlledState.d.ts +1 -0
  255. package/build/esm/hooks/useConditionallyControlledState.js +9 -0
  256. package/build/esm/hooks/useConditionallyControlledState.js.map +1 -0
  257. package/build/esm/hooks/useLocalizedString.d.ts +1 -1
  258. package/build/esm/hooks/useLocalizedString.js.map +1 -1
  259. package/build/esm/index.d.ts +1 -0
  260. package/build/esm/index.js +1 -0
  261. package/build/esm/index.js.map +1 -1
  262. package/build/esm/styles/mixins.scss +8 -0
  263. package/package.json +3 -4
@@ -0,0 +1,621 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SuggestView = exports.Suggest = void 0;
7
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
+ var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ require("core-js/modules/es.symbol.js");
17
+ require("core-js/modules/es.symbol.description.js");
18
+ require("core-js/modules/es.array.concat.js");
19
+ require("core-js/modules/es.array.for-each.js");
20
+ require("core-js/modules/es.iterator.constructor.js");
21
+ require("core-js/modules/es.iterator.for-each.js");
22
+ require("core-js/modules/es.number.constructor.js");
23
+ require("core-js/modules/es.object.to-string.js");
24
+ require("core-js/modules/es.promise.js");
25
+ require("core-js/modules/web.dom-collections.for-each.js");
26
+ require("core-js/modules/web.timers.js");
27
+ var _react = _interopRequireWildcard(require("react"));
28
+ var _illustrations = require("@gravity-ui/illustrations");
29
+ var _uikit = require("@gravity-ui/uikit");
30
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
31
+ var _noop = _interopRequireDefault(require("lodash/noop"));
32
+ var _sortBy4 = _interopRequireDefault(require("lodash/sortBy"));
33
+ var _throttle = _interopRequireDefault(require("lodash/throttle"));
34
+ var _uniqueId = _interopRequireDefault(require("lodash/uniqueId"));
35
+ var _useLocalizedString2 = require("./../../hooks/useLocalizedString");
36
+ var _OutsideFocusHandlerContainer = require("../useOnFocusOutside/OutsideFocusHandlerContainer");
37
+ var _Suggest = require("./Suggest.classname");
38
+ var _i18n = require("./i18n");
39
+ require("./Suggest.css");
40
+ var _jsxRuntime = require("react/jsx-runtime");
41
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
42
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
43
+ var _excluded = ["id"];
44
+ var PopupWrapper = function PopupWrapper(_ref) {
45
+ var open = _ref.open,
46
+ _ref$onOpenChange = _ref.onOpenChange,
47
+ onOpenChange = _ref$onOpenChange === void 0 ? _noop.default : _ref$onOpenChange,
48
+ children = _ref.children;
49
+ var isFirstRender = (0, _react.useRef)(true);
50
+ (0, _react.useEffect)(function () {
51
+ if (isFirstRender.current) {
52
+ isFirstRender.current = false;
53
+ } else {
54
+ onOpenChange(open);
55
+ }
56
+ }, [onOpenChange, open]);
57
+ return children;
58
+ };
59
+ var SuggestView = exports.SuggestView = /*#__PURE__*/function (_React$PureComponent) {
60
+ function SuggestView() {
61
+ var _this;
62
+ (0, _classCallCheck2.default)(this, SuggestView);
63
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
64
+ args[_key] = arguments[_key];
65
+ }
66
+ _this = (0, _callSuper2.default)(this, SuggestView, [].concat(args));
67
+ _this.state = {
68
+ progress: false,
69
+ focused: false,
70
+ items: [],
71
+ progressTimerId: null,
72
+ fetchError: null,
73
+ showEmptyMessage: false
74
+ };
75
+ _this.throttledForceUpdate = (0, _throttle.default)(function () {
76
+ return _this.forceUpdate();
77
+ }, 300);
78
+ _this.textInputRef = /*#__PURE__*/_react.default.createRef();
79
+ _this.inputRef = /*#__PURE__*/_react.default.createRef();
80
+ _this.listRef = /*#__PURE__*/_react.default.createRef();
81
+ _this.latestPromise = void 0;
82
+ _this._getItems = (0, _debounce.default)(/*#__PURE__*/function () {
83
+ var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(text) {
84
+ var _items;
85
+ var items, result, index, keyDownEvent, _t;
86
+ return (0, _regeneratorRuntime2.default)().wrap(function (_context) {
87
+ while (1) switch (_context.prev = _context.next) {
88
+ case 0:
89
+ items = [];
90
+ result = _this.props.getItems(text);
91
+ if (result instanceof Promise) {
92
+ _this.latestPromise = result;
93
+ }
94
+ _context.prev = 1;
95
+ _context.next = 2;
96
+ return result;
97
+ case 2:
98
+ items = _context.sent;
99
+ _this.setState({
100
+ fetchError: null
101
+ });
102
+ _context.next = 4;
103
+ break;
104
+ case 3:
105
+ _context.prev = 3;
106
+ _t = _context["catch"](1);
107
+ _this.setState({
108
+ fetchError: _t
109
+ });
110
+ case 4:
111
+ if (!(result instanceof Promise)) {
112
+ _context.next = 6;
113
+ break;
114
+ }
115
+ if (!(result !== _this.latestPromise)) {
116
+ _context.next = 5;
117
+ break;
118
+ }
119
+ return _context.abrupt("return");
120
+ case 5:
121
+ delete _this.latestPromise;
122
+ case 6:
123
+ _this.setState({
124
+ items: items,
125
+ showEmptyMessage: !((_items = items) !== null && _items !== void 0 && _items.length)
126
+ });
127
+ _this.clearProgress();
128
+ if (items.length && !_this.props.applicableInputValue) {
129
+ if (_this.props.getInitialActiveItemIndex) {
130
+ index = _this.props.getInitialActiveItemIndex(items) || 0;
131
+ _this.setState({
132
+ activeIndex: index
133
+ });
134
+ } else if (_this.listRef.current) {
135
+ keyDownEvent = new KeyboardEvent('keydown', {
136
+ key: 'ArrowDown'
137
+ });
138
+ _this.listRef.current.onKeyDown(keyDownEvent);
139
+ }
140
+ }
141
+ case 7:
142
+ case "end":
143
+ return _context.stop();
144
+ }
145
+ }, _callee, null, [[1, 3]]);
146
+ }));
147
+ return function (_x) {
148
+ return _ref2.apply(this, arguments);
149
+ };
150
+ }(), _this.props.debounce);
151
+ _this.handleClosePopup = function () {
152
+ _this.setState(function (state) {
153
+ return state.focused ? {
154
+ focused: false
155
+ } : null;
156
+ });
157
+ };
158
+ _this.renderItem = function (item, _active, index) {
159
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
160
+ className: (0, _Suggest.cnSuggest)('item'),
161
+ children: _this.props.renderItem(item)
162
+ }, index);
163
+ };
164
+ _this.onItemClick = function (item, index, fromKeyboard) {
165
+ var focused = false;
166
+ if (_this.props.onItemClick) {
167
+ focused = Boolean(_this.props.onItemClick(item, index, fromKeyboard));
168
+ }
169
+ _this.setState({
170
+ focused: focused
171
+ });
172
+ };
173
+ _this.onChangeActive = function (index) {
174
+ _this.setState({
175
+ activeIndex: index
176
+ });
177
+ };
178
+ _this.onUpdate = function (text) {
179
+ var _this$props = _this.props,
180
+ onUpdate = _this$props.onUpdate,
181
+ showItemsOnNoText = _this$props.showItemsOnNoText;
182
+ onUpdate(text);
183
+ if (text && !_this.state.focused) {
184
+ _this.setState({
185
+ focused: true
186
+ });
187
+ }
188
+ if (showItemsOnNoText || text) {
189
+ _this.getItems(text);
190
+ }
191
+ };
192
+ _this.onInputKeyDown = function (event) {
193
+ if (typeof _this.props.onTabKeyDown === 'function' && event.key === 'Tab' && _this.listRef.current) {
194
+ var _this$listRef$current;
195
+ var activeItemIndex = (_this$listRef$current = _this.listRef.current.getActiveItem()) !== null && _this$listRef$current !== void 0 ? _this$listRef$current : undefined;
196
+ var focused = _this.props.onTabKeyDown(_this.props.text, event, {
197
+ items: _this.state.items,
198
+ activeItem: activeItemIndex
199
+ });
200
+ if (_this.state.focused !== focused && typeof focused === 'boolean') {
201
+ _this.setState({
202
+ focused: focused
203
+ });
204
+ }
205
+ }
206
+ if (typeof _this.props.onInputKeyDown === 'function' && (!_this.listRef.current || typeof _this.listRef.current.getActiveItem() !== 'number')) {
207
+ _this.props.onInputKeyDown(_this.props.text, event);
208
+ }
209
+ if (event.key === 'Enter' && _this.props.applicableInputValue && typeof _this.props.onInputEnterKeyDown === 'function' && (!_this.listRef.current || typeof _this.listRef.current.getActiveItem() !== 'number')) {
210
+ _this.props.onInputEnterKeyDown(_this.props.text, event);
211
+ } else if (_this.listRef.current) {
212
+ _this.listRef.current.onKeyDown(event);
213
+ }
214
+ // Prevent outside form submission on Enter if Popup is opened. In order to submit the form, User has
215
+ // to press Enter twice - first to select item and close the Popup, then to submit.
216
+ if (event.key === 'Enter' && _this.state.focused) {
217
+ event.preventDefault();
218
+ }
219
+ if (event.key === 'Home' || event.key === 'End') {
220
+ // List component calls event.preventDefault() as result TextInput ignores Home/End hits
221
+ // and cursor is not moved appropriately, so we have to manage it manually
222
+ _this.moveCursorToEdge(event.key === 'Home', event.shiftKey);
223
+ event.preventDefault();
224
+ }
225
+ };
226
+ _this.updateTextInputRef = function (element) {
227
+ (0, _uikit.setRef)(_this.textInputRef, element);
228
+ (0, _uikit.setRef)(_this.props.controlRef, element);
229
+ };
230
+ return _this;
231
+ }
232
+ (0, _inherits2.default)(SuggestView, _React$PureComponent);
233
+ return (0, _createClass2.default)(SuggestView, [{
234
+ key: "componentDidMount",
235
+ value: function componentDidMount() {
236
+ var _this$props2 = this.props,
237
+ getItemsOnMount = _this$props2.getItemsOnMount,
238
+ text = _this$props2.text;
239
+ if (this.props.syncPopupOnResize) {
240
+ window.addEventListener('resize', this.throttledForceUpdate);
241
+ }
242
+ if (getItemsOnMount) {
243
+ this.getItems(text);
244
+ }
245
+ }
246
+ }, {
247
+ key: "componentDidUpdate",
248
+ value: function componentDidUpdate(prevProps) {
249
+ var _this$props3 = this.props,
250
+ text = _this$props3.text,
251
+ showItemsOnNoText = _this$props3.showItemsOnNoText;
252
+ if (text !== prevProps.text && (text || showItemsOnNoText)) {
253
+ this.getItems(text);
254
+ }
255
+ }
256
+ }, {
257
+ key: "componentWillUnmount",
258
+ value: function componentWillUnmount() {
259
+ window.removeEventListener('resize', this.throttledForceUpdate);
260
+ this.clearProgress();
261
+ }
262
+ }, {
263
+ key: "render",
264
+ value: function render() {
265
+ var _this2 = this;
266
+ var _this$props4 = this.props,
267
+ text = _this$props4.text,
268
+ size = _this$props4.size,
269
+ className = _this$props4.className,
270
+ popupClassName = _this$props4.popupClassName,
271
+ popupPlacement = _this$props4.popupPlacement,
272
+ popupDisablePortal = _this$props4.popupDisablePortal,
273
+ disabled = _this$props4.disabled,
274
+ autoComplete = _this$props4.autoComplete,
275
+ autoFocus = _this$props4.autoFocus,
276
+ placeholder = _this$props4.placeholder,
277
+ onBlur = _this$props4.onBlur,
278
+ onOpenChange = _this$props4.onOpenChange,
279
+ pin = _this$props4.pin,
280
+ id = _this$props4.id,
281
+ renderStyle = _this$props4.renderStyle,
282
+ hasClear = _this$props4.hasClear,
283
+ children = _this$props4.children,
284
+ inputClassName = _this$props4.inputClassName,
285
+ error = _this$props4.error,
286
+ errorPlacement = _this$props4.errorPlacement,
287
+ popupOffset = _this$props4.popupOffset,
288
+ applicableInputValue = _this$props4.applicableInputValue,
289
+ controlProps = _this$props4.controlProps,
290
+ startContent = _this$props4.startContent,
291
+ endContent = _this$props4.endContent,
292
+ style = _this$props4.style,
293
+ qa = _this$props4.qa;
294
+ var _this$state = this.state,
295
+ progress = _this$state.progress,
296
+ items = _this$state.items,
297
+ focused = _this$state.focused;
298
+ var input = /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.TextInput, {
299
+ size: size,
300
+ value: text,
301
+ placeholder: placeholder,
302
+ disabled: disabled,
303
+ autoComplete: autoComplete,
304
+ autoFocus: autoFocus,
305
+ ref: this.inputRef,
306
+ controlRef: this.updateTextInputRef,
307
+ onBlur: onBlur,
308
+ onUpdate: this.onUpdate,
309
+ onFocus: function onFocus() {
310
+ return _this2.setState({
311
+ focused: true
312
+ });
313
+ },
314
+ onKeyDown: this.onInputKeyDown,
315
+ className: (0, _Suggest.cnSuggest)('input', inputClassName),
316
+ pin: pin,
317
+ id: id,
318
+ hasClear: hasClear,
319
+ error: error,
320
+ errorPlacement: errorPlacement,
321
+ qa: qa,
322
+ style: style,
323
+ controlProps: (0, _objectSpread2.default)({
324
+ role: 'combobox',
325
+ 'aria-controls': "popup-".concat(id),
326
+ 'aria-autocomplete': applicableInputValue ? 'both' : 'list',
327
+ 'aria-expanded': this.isPopupHasContent() && this.state.focused,
328
+ 'aria-activedescendant': this.state.activeIndex === undefined ? undefined : "".concat(id, "-list-item-").concat(this.state.activeIndex)
329
+ }, controlProps),
330
+ startContent: startContent,
331
+ endContent: endContent
332
+ });
333
+ if (children) {
334
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, undefined, children(input, items, progress));
335
+ }
336
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_OutsideFocusHandlerContainer.OutsideFocusHandlerContainer, {
337
+ as: "div",
338
+ className: (0, _Suggest.cnSuggest)(null, className),
339
+ enable: focused,
340
+ onFocusOutside: this.handleClosePopup,
341
+ children: [input, /*#__PURE__*/(0, _jsxRuntime.jsx)(PopupWrapper, {
342
+ open: renderStyle === 'popup' && this.isPopupHasContent() && this.state.focused,
343
+ onOpenChange: onOpenChange,
344
+ children: this.isPopupHasContent() && (renderStyle === 'inline' ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
345
+ className: (0, _Suggest.cnSuggest)('inline-content'),
346
+ children: this.renderPopupContent()
347
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Popup, {
348
+ open: this.isPopupHasContent() && this.state.focused,
349
+ className: (0, _Suggest.cnSuggest)('popup', {
350
+ 'has-fallback': Boolean(this.state.fetchError) || !items.length
351
+ }, popupClassName),
352
+ style: this.inputRef.current ? {
353
+ width: this.inputRef.current.offsetWidth
354
+ } : {},
355
+ anchorElement: this.inputRef.current,
356
+ placement: popupPlacement,
357
+ id: "popup-".concat(id),
358
+ onOutsideClick: this.handleClosePopup,
359
+ onEscapeKeyDown: this.handleClosePopup,
360
+ returnFocus: false,
361
+ disablePortal: popupDisablePortal,
362
+ offset: popupOffset,
363
+ children: this.renderPopupContent()
364
+ }, items === null || items === void 0 ? void 0 : items.length))
365
+ })]
366
+ });
367
+ }
368
+ }, {
369
+ key: "renderIllustration",
370
+ value: function renderIllustration(type) {
371
+ switch (type) {
372
+ case '404':
373
+ return _illustrations.NotFound;
374
+ case '500':
375
+ default:
376
+ return _illustrations.InternalError;
377
+ }
378
+ }
379
+ }, {
380
+ key: "getItems",
381
+ value: function getItems(text) {
382
+ this.setProgressWithDelay();
383
+ this.setState({
384
+ activeIndex: undefined,
385
+ fetchError: null,
386
+ showEmptyMessage: false
387
+ });
388
+ this._getItems(text);
389
+ }
390
+ }, {
391
+ key: "setProgressWithDelay",
392
+ value: function setProgressWithDelay() {
393
+ var _this3 = this;
394
+ if (!this.state.progressTimerId) {
395
+ this.setState({
396
+ progressTimerId: setTimeout(function () {
397
+ return _this3.setState({
398
+ progress: true
399
+ });
400
+ }, 300)
401
+ });
402
+ }
403
+ }
404
+ }, {
405
+ key: "clearProgress",
406
+ value: function clearProgress() {
407
+ var progressTimerId = this.state.progressTimerId;
408
+ this.setState({
409
+ progress: false
410
+ });
411
+ if (progressTimerId) {
412
+ clearTimeout(progressTimerId);
413
+ this.setState({
414
+ progressTimerId: null
415
+ });
416
+ }
417
+ }
418
+ }, {
419
+ key: "renderDefaultPopupFallback",
420
+ value: function renderDefaultPopupFallback(_ref3) {
421
+ var _this4 = this;
422
+ var type = _ref3.type,
423
+ RenderFallbackContent = _ref3.renderFallbackContent,
424
+ title = _ref3.title,
425
+ description = _ref3.description,
426
+ buttonText = _ref3.buttonText;
427
+ var text = this.props.text;
428
+ var fetchError = this.state.fetchError;
429
+ if (typeof RenderFallbackContent === 'function') {
430
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
431
+ className: (0, _Suggest.cnSuggest)('list', {
432
+ empty: true
433
+ }),
434
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RenderFallbackContent, {
435
+ text: text,
436
+ error: fetchError
437
+ })
438
+ });
439
+ }
440
+ var actions = buttonText ? [{
441
+ text: buttonText,
442
+ view: 'action',
443
+ onClick: function onClick() {
444
+ return _this4.getItems(text);
445
+ }
446
+ }] : [];
447
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.PlaceholderContainer, {
448
+ title: title,
449
+ description: description,
450
+ direction: "row",
451
+ size: "s",
452
+ align: "center",
453
+ image: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Icon, {
454
+ data: this.renderIllustration(type),
455
+ size: 100
456
+ }),
457
+ actions: actions
458
+ });
459
+ }
460
+ }, {
461
+ key: "getRenderFallbackContent",
462
+ value: function getRenderFallbackContent() {
463
+ var _this$props5 = this.props,
464
+ renderEmptyResult = _this$props5.renderEmptyResult,
465
+ getNoItemsMessage = _this$props5.getNoItemsMessage;
466
+ if (renderEmptyResult) {
467
+ return renderEmptyResult;
468
+ }
469
+ if (getNoItemsMessage) {
470
+ return function (_ref4) {
471
+ var text = _ref4.text;
472
+ return getNoItemsMessage === null || getNoItemsMessage === void 0 ? void 0 : getNoItemsMessage(text);
473
+ };
474
+ }
475
+ return null;
476
+ }
477
+ }, {
478
+ key: "renderPopupContent",
479
+ value: function renderPopupContent() {
480
+ var _this$props6 = this.props,
481
+ text = _this$props6.text,
482
+ virtualized = _this$props6.virtualized,
483
+ itemHeight = _this$props6.itemHeight,
484
+ id = _this$props6.id,
485
+ renderFetchItemsError = _this$props6.renderFetchItemsError;
486
+ var _this$state2 = this.state,
487
+ progress = _this$state2.progress,
488
+ items = _this$state2.items,
489
+ fetchError = _this$state2.fetchError,
490
+ showEmptyMessage = _this$state2.showEmptyMessage;
491
+ var t = this.props.t;
492
+ if (progress) {
493
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
494
+ className: (0, _Suggest.cnSuggest)('loader'),
495
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Loader, {})
496
+ });
497
+ }
498
+ if (fetchError) {
499
+ return this.renderDefaultPopupFallback({
500
+ type: '500',
501
+ renderFallbackContent: renderFetchItemsError,
502
+ title: t('fetch_error_title'),
503
+ description: t('fetch_error_description'),
504
+ buttonText: t('retry')
505
+ });
506
+ }
507
+ if (items.length) {
508
+ var style = {};
509
+ if (virtualized) {
510
+ var height = 0;
511
+ if (typeof itemHeight === 'function') {
512
+ items.forEach(function (item) {
513
+ height += itemHeight(item);
514
+ });
515
+ }
516
+ if (typeof itemHeight === 'number') {
517
+ height = items.length * itemHeight;
518
+ }
519
+ if (height) {
520
+ style.height = height;
521
+ }
522
+ }
523
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
524
+ className: (0, _Suggest.cnSuggest)('list'),
525
+ style: style,
526
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.List, {
527
+ filterable: false,
528
+ items: items,
529
+ renderItem: this.renderItem,
530
+ onItemClick: this.onItemClick,
531
+ virtualized: virtualized,
532
+ itemHeight: itemHeight,
533
+ ref: this.listRef,
534
+ id: "".concat(id, "-list"),
535
+ role: 'listbox',
536
+ onChangeActive: this.onChangeActive,
537
+ activeItemIndex: this.state.activeIndex
538
+ })
539
+ });
540
+ }
541
+ if (showEmptyMessage && text) {
542
+ return this.renderDefaultPopupFallback({
543
+ type: '404',
544
+ renderFallbackContent: this.getRenderFallbackContent(),
545
+ title: t('items_not_found_title'),
546
+ description: t('items_not_found', {
547
+ text: text
548
+ })
549
+ });
550
+ }
551
+ return null;
552
+ }
553
+ }, {
554
+ key: "isPopupHasContent",
555
+ value: function isPopupHasContent() {
556
+ var _this$state3 = this.state,
557
+ progress = _this$state3.progress,
558
+ items = _this$state3.items,
559
+ fetchError = _this$state3.fetchError,
560
+ showEmptyMessage = _this$state3.showEmptyMessage;
561
+ var _this$props7 = this.props,
562
+ text = _this$props7.text,
563
+ _this$props7$showNoIt = _this$props7.showNoItemsMessage,
564
+ showNoItemsMessage = _this$props7$showNoIt === void 0 ? true : _this$props7$showNoIt;
565
+ return Boolean(progress || items.length || fetchError || text && showEmptyMessage && showNoItemsMessage);
566
+ }
567
+ }, {
568
+ key: "moveCursorToEdge",
569
+ value: function moveCursorToEdge(moveToStart, selectMode) {
570
+ if (!this.textInputRef.current) {
571
+ return;
572
+ }
573
+ var input = this.textInputRef.current;
574
+ var end = moveToStart ? 0 : input.value.length;
575
+ if (end == input.selectionStart) {
576
+ return;
577
+ }
578
+ var selStart = input.selectionStart >= 0 ? Number(input.selectionStart) : end;
579
+ var start = selectMode ? selStart : end;
580
+ var _sortBy2 = (0, _sortBy4.default)([start, end]),
581
+ _sortBy3 = (0, _slicedToArray2.default)(_sortBy2, 2),
582
+ b = _sortBy3[0],
583
+ e = _sortBy3[1];
584
+ input.setSelectionRange(b, e, start > end ? 'backward' : 'forward');
585
+ }
586
+ }], [{
587
+ key: "getDerivedStateFromProps",
588
+ value: function getDerivedStateFromProps(nextProps) {
589
+ if (!nextProps.showItemsOnNoText && !nextProps.text) {
590
+ return {
591
+ items: []
592
+ };
593
+ }
594
+ return null;
595
+ }
596
+ }]);
597
+ }(_react.default.PureComponent);
598
+ SuggestView.defaultProps = {
599
+ virtualized: false,
600
+ renderItem: function renderItem(item) {
601
+ return item;
602
+ },
603
+ debounce: 0,
604
+ renderStyle: 'popup'
605
+ };
606
+ var SuggestWithLocalization = function SuggestWithLocalization(props, ref) {
607
+ var config = (0, _uikit.getConfig)();
608
+ var _useLocalizedString = (0, _useLocalizedString2.useLocalizedString)(_i18n.defaultMessages, config.lang),
609
+ t = _useLocalizedString.t;
610
+ var _props$id = props.id,
611
+ id = _props$id === void 0 ? (0, _uniqueId.default)('suggest-') : _props$id,
612
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
613
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SuggestView, (0, _objectSpread2.default)((0, _objectSpread2.default)({
614
+ id: id
615
+ }, restProps), {}, {
616
+ ref: ref,
617
+ t: t
618
+ }));
619
+ };
620
+ var Suggest = exports.Suggest = /*#__PURE__*/(0, _react.forwardRef)(SuggestWithLocalization);
621
+ // #sourceMappingURL=Suggest.js.map