@astral/ui 4.4.1 → 4.6.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 (343) hide show
  1. package/components/DataGrid/Head/Head.js +5 -4
  2. package/components/DataGrid/HeadCell/styles.js +5 -0
  3. package/components/DataGrid/types.d.ts +4 -0
  4. package/components/DataGridColumnHintIcon/DataGridColumnHintIcon.d.ts +4 -0
  5. package/components/DataGridColumnHintIcon/DataGridColumnHintIcon.js +6 -0
  6. package/components/DataGridColumnHintIcon/index.d.ts +1 -0
  7. package/components/DataGridColumnHintIcon/index.js +1 -0
  8. package/components/HintIcon/HintIcon.d.ts +2 -35
  9. package/components/HintIcon/HintIcon.js +2 -2
  10. package/components/HintIcon/Icon/Icon.d.ts +4 -5
  11. package/components/HintIcon/Icon/Icon.js +2 -1
  12. package/components/HintIcon/Icon/useLogic/hooks/useIconColor/useIconColor.d.ts +3 -1
  13. package/components/HintIcon/Icon/useLogic/hooks/useIconColor/useIconColor.js +4 -1
  14. package/components/HintIcon/Icon/useLogic/useLogic.d.ts +3 -3
  15. package/components/HintIcon/Icon/useLogic/useLogic.js +5 -2
  16. package/components/HintIcon/constants.d.ts +3 -0
  17. package/components/HintIcon/constants.js +4 -0
  18. package/components/HintIcon/index.d.ts +2 -0
  19. package/components/HintIcon/index.js +1 -0
  20. package/components/HintIcon/styles.d.ts +0 -6
  21. package/components/HintIcon/styles.js +0 -7
  22. package/components/HintIcon/types.d.ts +38 -0
  23. package/components/HintIcon/useLogic/useLogic.d.ts +3 -2
  24. package/components/HintIcon/useLogic/useLogic.js +4 -2
  25. package/components/Tree/MultipleTreeList/MultipleTreeList.d.ts +2 -2
  26. package/components/Tree/MultipleTreeList/MultipleTreeList.js +1 -1
  27. package/components/Tree/MultipleTreeList/TreeItem/TreeItem.d.ts +10 -6
  28. package/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +3 -2
  29. package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +3 -2
  30. package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +24 -18
  31. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsIndeterminate/checkIsIndeterminate.d.ts +2 -1
  32. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsIndeterminate/checkIsIndeterminate.js +2 -1
  33. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.d.ts +2 -1
  34. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js +2 -1
  35. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.d.ts +5 -0
  36. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.js +22 -0
  37. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/index.d.ts +1 -0
  38. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/index.js +1 -0
  39. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.d.ts +5 -0
  40. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.js +6 -0
  41. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/index.d.ts +1 -0
  42. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/index.js +1 -0
  43. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.d.ts +5 -0
  44. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.js +14 -0
  45. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/index.d.ts +1 -0
  46. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/index.js +1 -0
  47. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/index.d.ts +3 -0
  48. package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/index.js +3 -0
  49. package/components/Tree/MultipleTreeList/types.d.ts +8 -4
  50. package/components/TreeAsyncAutocomplete/types.d.ts +14 -2
  51. package/components/TreeLikeAsyncAutocomplete/Input/Input.d.ts +3 -0
  52. package/components/TreeLikeAsyncAutocomplete/Input/Input.js +20 -0
  53. package/components/TreeLikeAsyncAutocomplete/Input/constants.d.ts +1 -0
  54. package/components/TreeLikeAsyncAutocomplete/Input/constants.js +1 -0
  55. package/components/TreeLikeAsyncAutocomplete/Input/index.d.ts +1 -0
  56. package/components/TreeLikeAsyncAutocomplete/Input/index.js +1 -0
  57. package/components/TreeLikeAsyncAutocomplete/Input/styles.d.ts +11 -0
  58. package/components/TreeLikeAsyncAutocomplete/Input/styles.js +27 -0
  59. package/components/TreeLikeAsyncAutocomplete/Input/types.d.ts +7 -0
  60. package/components/TreeLikeAsyncAutocomplete/Input/types.js +1 -0
  61. package/components/TreeLikeAsyncAutocomplete/Input/useLogic/index.d.ts +1 -0
  62. package/components/TreeLikeAsyncAutocomplete/Input/useLogic/index.js +1 -0
  63. package/components/TreeLikeAsyncAutocomplete/Input/useLogic/useLogic.d.ts +18 -0
  64. package/components/TreeLikeAsyncAutocomplete/Input/useLogic/useLogic.js +50 -0
  65. package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/ErrorMessage.d.ts +13 -0
  66. package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/ErrorMessage.js +6 -0
  67. package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/index.d.ts +1 -0
  68. package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/index.js +1 -0
  69. package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/styles.d.ts +5 -0
  70. package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/styles.js +10 -0
  71. package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/Loader.d.ts +2 -0
  72. package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/Loader.js +4 -0
  73. package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/index.d.ts +1 -0
  74. package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/index.js +1 -0
  75. package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/styles.d.ts +5 -0
  76. package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/styles.js +8 -0
  77. package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/NoData.d.ts +2 -0
  78. package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/NoData.js +6 -0
  79. package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/index.d.ts +1 -0
  80. package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/index.js +1 -0
  81. package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.d.ts +5 -0
  82. package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +8 -0
  83. package/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.d.ts +3 -0
  84. package/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +33 -0
  85. package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.d.ts +2 -0
  86. package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.js +6 -0
  87. package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/index.d.ts +1 -0
  88. package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/index.js +1 -0
  89. package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/styles.d.ts +5 -0
  90. package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/styles.js +8 -0
  91. package/components/TreeLikeAsyncAutocomplete/OptionsModal/constants.d.ts +1 -0
  92. package/components/TreeLikeAsyncAutocomplete/OptionsModal/constants.js +1 -0
  93. package/components/TreeLikeAsyncAutocomplete/OptionsModal/index.d.ts +1 -0
  94. package/components/TreeLikeAsyncAutocomplete/OptionsModal/index.js +1 -0
  95. package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +19 -0
  96. package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +48 -0
  97. package/components/TreeLikeAsyncAutocomplete/OptionsModal/types.d.ts +69 -0
  98. package/components/TreeLikeAsyncAutocomplete/OptionsModal/types.js +1 -0
  99. package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/index.d.ts +1 -0
  100. package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/index.js +1 -0
  101. package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +27 -0
  102. package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +92 -0
  103. package/components/TreeLikeAsyncAutocomplete/TreeLikeAsyncAutocomplete.d.ts +3 -0
  104. package/components/TreeLikeAsyncAutocomplete/TreeLikeAsyncAutocomplete.js +9 -0
  105. package/components/TreeLikeAsyncAutocomplete/constants.d.ts +2 -0
  106. package/components/TreeLikeAsyncAutocomplete/constants.js +2 -0
  107. package/components/TreeLikeAsyncAutocomplete/index.d.ts +2 -0
  108. package/components/TreeLikeAsyncAutocomplete/index.js +1 -0
  109. package/components/TreeLikeAsyncAutocomplete/types.d.ts +69 -0
  110. package/components/TreeLikeAsyncAutocomplete/types.js +1 -0
  111. package/components/TreeLikeAsyncAutocomplete/useLogic/index.d.ts +1 -0
  112. package/components/TreeLikeAsyncAutocomplete/useLogic/index.js +1 -0
  113. package/components/TreeLikeAsyncAutocomplete/useLogic/useLogic.d.ts +626 -0
  114. package/components/TreeLikeAsyncAutocomplete/useLogic/useLogic.js +82 -0
  115. package/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/deepMultipleFind.d.ts +3 -0
  116. package/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/deepMultipleFind.js +12 -0
  117. package/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/index.d.ts +1 -0
  118. package/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/index.js +1 -0
  119. package/components/TreeLikeAsyncAutocomplete/useLogic/utils/index.d.ts +1 -0
  120. package/components/TreeLikeAsyncAutocomplete/useLogic/utils/index.js +1 -0
  121. package/components/TreeLikeList/TreeItem/TreeItem.d.ts +3 -51
  122. package/components/TreeLikeList/TreeItem/TreeItem.js +3 -2
  123. package/components/TreeLikeList/TreeItem/types.d.ts +56 -0
  124. package/components/TreeLikeList/TreeItem/types.js +1 -0
  125. package/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +4 -3
  126. package/components/TreeLikeList/TreeItem/useLogic/useLogic.js +22 -13
  127. package/components/TreeLikeList/TreeItem/useLogic/utils/addItem/addItem.d.ts +6 -0
  128. package/components/TreeLikeList/TreeItem/useLogic/utils/addItem/addItem.js +8 -0
  129. package/components/TreeLikeList/TreeItem/useLogic/utils/addItem/index.d.ts +1 -0
  130. package/components/TreeLikeList/TreeItem/useLogic/utils/addItem/index.js +1 -0
  131. package/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/addItemsByIds.d.ts +6 -0
  132. package/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/addItemsByIds.js +15 -0
  133. package/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/index.d.ts +1 -0
  134. package/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/index.js +1 -0
  135. package/components/TreeLikeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.d.ts +2 -1
  136. package/components/TreeLikeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js +2 -1
  137. package/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.d.ts +5 -0
  138. package/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.js +22 -0
  139. package/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/index.d.ts +1 -0
  140. package/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/index.js +1 -0
  141. package/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/getCurrentValueIds.d.ts +5 -0
  142. package/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/getCurrentValueIds.js +10 -0
  143. package/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/index.d.ts +1 -0
  144. package/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/index.js +1 -0
  145. package/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.d.ts +5 -0
  146. package/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.js +6 -0
  147. package/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/index.d.ts +1 -0
  148. package/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/index.js +1 -0
  149. package/components/TreeLikeList/TreeItem/useLogic/utils/index.d.ts +7 -0
  150. package/components/TreeLikeList/TreeItem/useLogic/utils/index.js +7 -0
  151. package/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/index.d.ts +1 -0
  152. package/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/index.js +1 -0
  153. package/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/removeItem.d.ts +5 -0
  154. package/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/removeItem.js +10 -0
  155. package/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/index.d.ts +1 -0
  156. package/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/index.js +1 -0
  157. package/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/removeItemsByIds.d.ts +5 -0
  158. package/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/removeItemsByIds.js +11 -0
  159. package/components/TreeLikeList/TreeLikeList.d.ts +2 -3
  160. package/components/TreeLikeList/TreeLikeList.js +1 -1
  161. package/components/TreeLikeList/index.d.ts +1 -0
  162. package/components/TreeLikeList/types.d.ts +8 -4
  163. package/components/TreeLikeList/useLogic/useLogic.d.ts +3 -3
  164. package/components/TreeLikeList/useLogic/useLogic.js +3 -2
  165. package/components/TreeLikeList/useLogic/utils/getChainsId/getChainsId.js +17 -10
  166. package/components/index.d.ts +1 -0
  167. package/components/index.js +1 -0
  168. package/hook-form/FormTreeLikeAsyncAutocomplete/FormTreeLikeAsyncAutocomplete.d.ts +13 -0
  169. package/hook-form/FormTreeLikeAsyncAutocomplete/FormTreeLikeAsyncAutocomplete.js +13 -0
  170. package/hook-form/FormTreeLikeAsyncAutocomplete/index.d.ts +0 -0
  171. package/hook-form/FormTreeLikeAsyncAutocomplete/index.js +1 -0
  172. package/node/components/DataGrid/Head/Head.js +4 -3
  173. package/node/components/DataGrid/HeadCell/styles.js +5 -0
  174. package/node/components/DataGrid/types.d.ts +4 -0
  175. package/node/components/DataGridColumnHintIcon/DataGridColumnHintIcon.d.ts +4 -0
  176. package/node/components/DataGridColumnHintIcon/DataGridColumnHintIcon.js +10 -0
  177. package/node/components/DataGridColumnHintIcon/index.d.ts +1 -0
  178. package/node/components/DataGridColumnHintIcon/index.js +17 -0
  179. package/node/components/HintIcon/HintIcon.d.ts +2 -35
  180. package/node/components/HintIcon/HintIcon.js +2 -2
  181. package/node/components/HintIcon/Icon/Icon.d.ts +4 -5
  182. package/node/components/HintIcon/Icon/Icon.js +2 -1
  183. package/node/components/HintIcon/Icon/useLogic/hooks/useIconColor/useIconColor.d.ts +3 -1
  184. package/node/components/HintIcon/Icon/useLogic/hooks/useIconColor/useIconColor.js +4 -1
  185. package/node/components/HintIcon/Icon/useLogic/useLogic.d.ts +3 -3
  186. package/node/components/HintIcon/Icon/useLogic/useLogic.js +5 -2
  187. package/node/components/HintIcon/constants.d.ts +3 -0
  188. package/node/components/HintIcon/constants.js +5 -1
  189. package/node/components/HintIcon/index.d.ts +2 -0
  190. package/node/components/HintIcon/index.js +3 -0
  191. package/node/components/HintIcon/styles.d.ts +0 -6
  192. package/node/components/HintIcon/styles.js +1 -8
  193. package/node/components/HintIcon/types.d.ts +38 -0
  194. package/node/components/HintIcon/useLogic/useLogic.d.ts +3 -2
  195. package/node/components/HintIcon/useLogic/useLogic.js +4 -2
  196. package/node/components/Tree/MultipleTreeList/MultipleTreeList.d.ts +2 -2
  197. package/node/components/Tree/MultipleTreeList/MultipleTreeList.js +1 -1
  198. package/node/components/Tree/MultipleTreeList/TreeItem/TreeItem.d.ts +10 -6
  199. package/node/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +3 -2
  200. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +3 -2
  201. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +23 -17
  202. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsIndeterminate/checkIsIndeterminate.d.ts +2 -1
  203. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsIndeterminate/checkIsIndeterminate.js +2 -1
  204. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.d.ts +2 -1
  205. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js +2 -1
  206. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.d.ts +5 -0
  207. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.js +26 -0
  208. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/index.d.ts +1 -0
  209. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/index.js +17 -0
  210. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.d.ts +5 -0
  211. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.js +10 -0
  212. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/index.d.ts +1 -0
  213. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/index.js +17 -0
  214. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.d.ts +5 -0
  215. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.js +18 -0
  216. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/index.d.ts +1 -0
  217. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/index.js +17 -0
  218. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/index.d.ts +3 -0
  219. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/index.js +7 -1
  220. package/node/components/Tree/MultipleTreeList/types.d.ts +8 -4
  221. package/node/components/TreeAsyncAutocomplete/types.d.ts +14 -2
  222. package/node/components/TreeLikeAsyncAutocomplete/Input/Input.d.ts +3 -0
  223. package/node/components/TreeLikeAsyncAutocomplete/Input/Input.js +23 -0
  224. package/node/components/TreeLikeAsyncAutocomplete/Input/constants.d.ts +1 -0
  225. package/node/components/TreeLikeAsyncAutocomplete/Input/constants.js +4 -0
  226. package/node/components/TreeLikeAsyncAutocomplete/Input/index.d.ts +1 -0
  227. package/node/components/TreeLikeAsyncAutocomplete/Input/index.js +17 -0
  228. package/node/components/TreeLikeAsyncAutocomplete/Input/styles.d.ts +11 -0
  229. package/node/components/TreeLikeAsyncAutocomplete/Input/styles.js +30 -0
  230. package/node/components/TreeLikeAsyncAutocomplete/Input/types.d.ts +7 -0
  231. package/node/components/TreeLikeAsyncAutocomplete/Input/types.js +2 -0
  232. package/node/components/TreeLikeAsyncAutocomplete/Input/useLogic/index.d.ts +1 -0
  233. package/node/components/TreeLikeAsyncAutocomplete/Input/useLogic/index.js +17 -0
  234. package/node/components/TreeLikeAsyncAutocomplete/Input/useLogic/useLogic.d.ts +18 -0
  235. package/node/components/TreeLikeAsyncAutocomplete/Input/useLogic/useLogic.js +54 -0
  236. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/ErrorMessage.d.ts +13 -0
  237. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/ErrorMessage.js +10 -0
  238. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/index.d.ts +1 -0
  239. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/index.js +17 -0
  240. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/styles.d.ts +5 -0
  241. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/styles.js +13 -0
  242. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/Loader.d.ts +2 -0
  243. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/Loader.js +8 -0
  244. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/index.d.ts +1 -0
  245. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/index.js +17 -0
  246. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/styles.d.ts +5 -0
  247. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/styles.js +11 -0
  248. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/NoData.d.ts +2 -0
  249. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/NoData.js +10 -0
  250. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/index.d.ts +1 -0
  251. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/index.js +17 -0
  252. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.d.ts +5 -0
  253. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +11 -0
  254. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.d.ts +3 -0
  255. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +37 -0
  256. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.d.ts +2 -0
  257. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.js +10 -0
  258. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/index.d.ts +1 -0
  259. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/index.js +17 -0
  260. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/styles.d.ts +5 -0
  261. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/styles.js +11 -0
  262. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/constants.d.ts +1 -0
  263. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/constants.js +4 -0
  264. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/index.d.ts +1 -0
  265. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/index.js +17 -0
  266. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +19 -0
  267. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +51 -0
  268. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/types.d.ts +69 -0
  269. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/types.js +2 -0
  270. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/index.d.ts +1 -0
  271. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/index.js +17 -0
  272. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +27 -0
  273. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +96 -0
  274. package/node/components/TreeLikeAsyncAutocomplete/TreeLikeAsyncAutocomplete.d.ts +3 -0
  275. package/node/components/TreeLikeAsyncAutocomplete/TreeLikeAsyncAutocomplete.js +12 -0
  276. package/node/components/TreeLikeAsyncAutocomplete/constants.d.ts +2 -0
  277. package/node/components/TreeLikeAsyncAutocomplete/constants.js +5 -0
  278. package/node/components/TreeLikeAsyncAutocomplete/index.d.ts +2 -0
  279. package/node/components/TreeLikeAsyncAutocomplete/index.js +17 -0
  280. package/node/components/TreeLikeAsyncAutocomplete/types.d.ts +69 -0
  281. package/node/components/TreeLikeAsyncAutocomplete/types.js +2 -0
  282. package/node/components/TreeLikeAsyncAutocomplete/useLogic/index.d.ts +1 -0
  283. package/node/components/TreeLikeAsyncAutocomplete/useLogic/index.js +17 -0
  284. package/node/components/TreeLikeAsyncAutocomplete/useLogic/useLogic.d.ts +626 -0
  285. package/node/components/TreeLikeAsyncAutocomplete/useLogic/useLogic.js +86 -0
  286. package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/deepMultipleFind.d.ts +3 -0
  287. package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/deepMultipleFind.js +16 -0
  288. package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/index.d.ts +1 -0
  289. package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/index.js +17 -0
  290. package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/index.d.ts +1 -0
  291. package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/index.js +5 -0
  292. package/node/components/TreeLikeList/TreeItem/TreeItem.d.ts +3 -51
  293. package/node/components/TreeLikeList/TreeItem/TreeItem.js +3 -2
  294. package/node/components/TreeLikeList/TreeItem/types.d.ts +56 -0
  295. package/node/components/TreeLikeList/TreeItem/types.js +2 -0
  296. package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +4 -3
  297. package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.js +21 -12
  298. package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItem/addItem.d.ts +6 -0
  299. package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItem/addItem.js +12 -0
  300. package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItem/index.d.ts +1 -0
  301. package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItem/index.js +5 -0
  302. package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/addItemsByIds.d.ts +6 -0
  303. package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/addItemsByIds.js +19 -0
  304. package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/index.d.ts +1 -0
  305. package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/index.js +5 -0
  306. package/node/components/TreeLikeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.d.ts +2 -1
  307. package/node/components/TreeLikeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js +2 -1
  308. package/node/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.d.ts +5 -0
  309. package/node/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.js +26 -0
  310. package/node/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/index.d.ts +1 -0
  311. package/node/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/index.js +5 -0
  312. package/node/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/getCurrentValueIds.d.ts +5 -0
  313. package/node/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/getCurrentValueIds.js +14 -0
  314. package/node/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/index.d.ts +1 -0
  315. package/node/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/index.js +5 -0
  316. package/node/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.d.ts +5 -0
  317. package/node/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.js +10 -0
  318. package/node/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/index.d.ts +1 -0
  319. package/node/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/index.js +17 -0
  320. package/node/components/TreeLikeList/TreeItem/useLogic/utils/index.d.ts +7 -0
  321. package/node/components/TreeLikeList/TreeItem/useLogic/utils/index.js +15 -1
  322. package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/index.d.ts +1 -0
  323. package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/index.js +5 -0
  324. package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/removeItem.d.ts +5 -0
  325. package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/removeItem.js +14 -0
  326. package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/index.d.ts +1 -0
  327. package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/index.js +5 -0
  328. package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/removeItemsByIds.d.ts +5 -0
  329. package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/removeItemsByIds.js +15 -0
  330. package/node/components/TreeLikeList/TreeLikeList.d.ts +2 -3
  331. package/node/components/TreeLikeList/TreeLikeList.js +1 -1
  332. package/node/components/TreeLikeList/index.d.ts +1 -0
  333. package/node/components/TreeLikeList/types.d.ts +8 -4
  334. package/node/components/TreeLikeList/useLogic/useLogic.d.ts +3 -3
  335. package/node/components/TreeLikeList/useLogic/useLogic.js +3 -2
  336. package/node/components/TreeLikeList/useLogic/utils/getChainsId/getChainsId.js +17 -10
  337. package/node/components/index.d.ts +1 -0
  338. package/node/components/index.js +4 -2
  339. package/node/hook-form/FormTreeLikeAsyncAutocomplete/FormTreeLikeAsyncAutocomplete.d.ts +13 -0
  340. package/node/hook-form/FormTreeLikeAsyncAutocomplete/FormTreeLikeAsyncAutocomplete.js +17 -0
  341. package/node/hook-form/FormTreeLikeAsyncAutocomplete/index.d.ts +0 -0
  342. package/node/hook-form/FormTreeLikeAsyncAutocomplete/index.js +1 -0
  343. package/package.json +15 -1
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
3
  import { Checkbox } from '../../Checkbox';
4
4
  import { dataGridClassnames } from '../constants';
@@ -9,13 +9,14 @@ export const Head = (props) => {
9
9
  const { checkboxProps, handleSort } = useLogic(props);
10
10
  const { columns, gridColumns, isSelectable, sorting, onSelectAllRows, isHideSelectAll, } = props;
11
11
  const renderColumns = useMemo(() => {
12
- return columns.map(({ field, label, sortable, align }, index) => {
12
+ return columns.map(({ field, label, sortable, align, columnHint }, index) => {
13
13
  const isFirstCell = !index;
14
14
  const startAdornmentRender = () => {
15
- if (isHideSelectAll || !isFirstCell || !isSelectable) {
15
+ const showCheckbox = isFirstCell && isSelectable && !isHideSelectAll;
16
+ if (!showCheckbox && !columnHint) {
16
17
  return null;
17
18
  }
18
- return (_jsx(CheckboxCell, { children: _jsx(Checkbox, { ...checkboxProps, onChange: onSelectAllRows }) }));
19
+ return (_jsxs(_Fragment, { children: [showCheckbox && (_jsx(CheckboxCell, { children: _jsx(Checkbox, { ...checkboxProps, onChange: onSelectAllRows }) })), columnHint] }));
19
20
  };
20
21
  return (_jsx(HeadCell, { sorting: sorting, field: field, label: label, isSortable: sortable, align: align, startAdornment: startAdornmentRender(), onSort: handleSort }, label));
21
22
  });
@@ -1,3 +1,4 @@
1
+ import { hintIconClassnames } from '../../HintIcon';
1
2
  import { styled } from '../../styles';
2
3
  import { alignToJustifyContent } from '../utils';
3
4
  export const Wrapper = styled('div', {
@@ -20,4 +21,8 @@ export const Wrapper = styled('div', {
20
21
  width: 16px;
21
22
  height: 16px;
22
23
  }
24
+
25
+ .${hintIconClassnames.iconWrapper} {
26
+ margin-right: ${({ theme }) => theme.spacing(1)};
27
+ }
23
28
  `;
@@ -223,6 +223,10 @@ export type DataGridColumns<TData extends Record<string, CellValue>> = {
223
223
  * Скрывает содержимое столбца от инструментов мониторинга
224
224
  */
225
225
  isHidePersonalData?: boolean;
226
+ /**
227
+ * Принимает компонент DataGridColumnHintIcon - подсказка в шапке колонки
228
+ */
229
+ columnHint?: ReactNode;
226
230
  };
227
231
  export type DataGridRowOptionColumns<TData extends Record<string, CellValue>> = {
228
232
  /**
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { type HintIconProps } from '../HintIcon';
3
+ export type DataGridColumnHintIconProps = Omit<HintIconProps, 'renderIcon' | 'variant' | 'iconOption'>;
4
+ export declare const DataGridColumnHintIcon: (props: DataGridColumnHintIconProps) => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { InfoOutlineSm } from '../../icons';
3
+ import { HintIcon } from '../HintIcon';
4
+ export const DataGridColumnHintIcon = (props) => {
5
+ return (_jsx(HintIcon, { renderIcon: () => _jsx(InfoOutlineSm, {}), variant: "info", ...props }));
6
+ };
@@ -0,0 +1 @@
1
+ export * from './DataGridColumnHintIcon';
@@ -0,0 +1 @@
1
+ export * from './DataGridColumnHintIcon';
@@ -1,36 +1,3 @@
1
1
  /// <reference types="react" />
2
- import { type TooltipPlacement } from './types';
3
- export type HintIconProps = {
4
- /**
5
- * Определяет иконку отображения
6
- */
7
- variant: 'question' | 'info';
8
- /**
9
- * Опции для иконки
10
- */
11
- iconOption?: {
12
- /**
13
- * Определяет тип иконки
14
- * @default fill
15
- */
16
- variant?: 'fill' | 'outline';
17
- /**
18
- * Определяет цвет иконки
19
- * @default lightGrey
20
- */
21
- color?: 'warning' | 'grey' | 'lightGrey';
22
- };
23
- /**
24
- * Текст заголовка BottomDrawer
25
- */
26
- title: string;
27
- /**
28
- * Текст тултипа или контента BottomDrawer
29
- */
30
- note: string;
31
- /**
32
- * Положение тултипа
33
- */
34
- tooltipPlacement?: TooltipPlacement;
35
- };
36
- export declare const HintIcon: ({ variant, title, note, iconOption, tooltipPlacement, }: HintIconProps) => JSX.Element;
2
+ import { type HintIconProps } from './types';
3
+ export declare const HintIcon: ({ variant, title, note, iconOption, tooltipPlacement, renderIcon, }: HintIconProps) => JSX.Element;
@@ -3,7 +3,7 @@ import { BottomDrawer } from '../BottomDrawer';
3
3
  import { Icon } from './Icon';
4
4
  import { DrawerContent } from './styles';
5
5
  import { useLogic } from './useLogic';
6
- export const HintIcon = ({ variant, title, note, iconOption, tooltipPlacement = 'bottom', }) => {
6
+ export const HintIcon = ({ variant, title, note, iconOption, tooltipPlacement = 'bottom', renderIcon, }) => {
7
7
  const { handleClose, handleOpen, open } = useLogic();
8
- return (_jsxs(_Fragment, { children: [_jsx(Icon, { onClick: handleOpen, variant: variant, iconOption: iconOption, note: note, tooltipPlacement: tooltipPlacement }), _jsx(BottomDrawer, { title: title, open: open, onClose: handleClose, children: _jsx(DrawerContent, { children: note }) })] }));
8
+ return (_jsxs(_Fragment, { children: [_jsx(Icon, { onClick: handleOpen, variant: variant, iconOption: iconOption, note: note, tooltipPlacement: tooltipPlacement, renderIcon: renderIcon }), _jsx(BottomDrawer, { title: title, open: open, onClose: handleClose, children: _jsx(DrawerContent, { children: note }) })] }));
9
9
  };
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
- import { type HintIconProps } from '../HintIcon';
3
- import type { TooltipPlacement } from '../types';
4
- export type IconProps = Pick<HintIconProps, 'variant' | 'iconOption' | 'note'> & {
5
- onClick: () => void;
1
+ import type { SyntheticEvent } from 'react';
2
+ import type { HintIconProps, TooltipPlacement } from '../types';
3
+ export type IconProps = Pick<HintIconProps, 'variant' | 'iconOption' | 'note' | 'renderIcon'> & {
4
+ onClick: (e: SyntheticEvent) => void;
6
5
  tooltipPlacement: TooltipPlacement;
7
6
  };
8
7
  export declare const Icon: (props: IconProps) => JSX.Element;
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Tooltip } from '../../Tooltip';
3
+ import { hintIconClassnames } from '../constants';
3
4
  import { IconWrapper } from './styles';
4
5
  import { useLogic } from './useLogic';
5
6
  export const Icon = (props) => {
6
7
  const { getIcon, iconColor } = useLogic(props);
7
8
  const { onClick, note, tooltipPlacement } = props;
8
- return (_jsx(Tooltip, { title: note, placement: tooltipPlacement, children: _jsx(IconWrapper, { onClick: onClick, "$color": iconColor, children: getIcon() }) }));
9
+ return (_jsx(Tooltip, { title: note, placement: tooltipPlacement, children: _jsx(IconWrapper, { onClick: onClick, "$color": iconColor, className: hintIconClassnames.iconWrapper, children: getIcon() }) }));
9
10
  };
@@ -1,5 +1,7 @@
1
+ import { type ReactNode } from 'react';
1
2
  type UseIconColorParams = {
2
3
  color?: 'warning' | 'grey' | 'lightGrey';
4
+ renderIcon?: () => ReactNode;
3
5
  };
4
- export declare const useIconColor: ({ color }: UseIconColorParams) => string;
6
+ export declare const useIconColor: ({ color, renderIcon }: UseIconColorParams) => string;
5
7
  export {};
@@ -1,11 +1,14 @@
1
1
  import { useTheme } from '../../../../../theme';
2
- export const useIconColor = ({ color }) => {
2
+ export const useIconColor = ({ color, renderIcon }) => {
3
3
  const theme = useTheme();
4
4
  const colorMap = {
5
5
  warning: theme.palette.yellow[800],
6
6
  grey: theme.palette.grey[800],
7
7
  lightGrey: theme.palette.grey[400],
8
8
  };
9
+ if (renderIcon) {
10
+ return 'currentColor';
11
+ }
9
12
  if (color) {
10
13
  return colorMap[color];
11
14
  }
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
1
+ import { type ReactNode } from 'react';
2
2
  import { type IconProps } from '../Icon';
3
3
  type UseLogicParams = IconProps;
4
- export declare const useLogic: ({ iconOption, variant }: UseLogicParams) => {
5
- getIcon: () => JSX.Element;
4
+ export declare const useLogic: ({ iconOption, variant, renderIcon, }: UseLogicParams) => {
5
+ getIcon: () => ReactNode;
6
6
  iconColor: string;
7
7
  };
8
8
  export {};
@@ -1,9 +1,12 @@
1
1
  import { ICONS } from '../../constants';
2
2
  import { useIconColor } from './hooks';
3
- export const useLogic = ({ iconOption, variant }) => {
4
- const iconColor = useIconColor({ color: iconOption?.color });
3
+ export const useLogic = ({ iconOption, variant, renderIcon, }) => {
4
+ const iconColor = useIconColor({ color: iconOption?.color, renderIcon });
5
5
  const { variant: iconOptionVariant = 'fill' } = iconOption || {};
6
6
  const getIcon = () => {
7
+ if (renderIcon) {
8
+ return renderIcon();
9
+ }
7
10
  const icon = ICONS[variant][iconOptionVariant];
8
11
  if (icon) {
9
12
  return icon;
@@ -1,4 +1,7 @@
1
1
  /// <reference types="react" />
2
+ export declare const hintIconClassnames: {
3
+ iconWrapper: string;
4
+ };
2
5
  export declare const ICONS: {
3
6
  question: {
4
7
  fill: JSX.Element;
@@ -1,5 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { InfoFillMd, InfoOutlineMd, QuestionFillMd, QuestionOutlineMd, } from '../../icons';
3
+ import { createUIKitClassname } from '../utils';
4
+ export const hintIconClassnames = {
5
+ iconWrapper: createUIKitClassname('hint-icon__icon-wrapper'),
6
+ };
3
7
  export const ICONS = {
4
8
  question: {
5
9
  fill: _jsx(QuestionFillMd, {}),
@@ -1 +1,3 @@
1
1
  export * from './HintIcon';
2
+ export type { HintIconProps } from './types';
3
+ export { hintIconClassnames } from './constants';
@@ -1 +1,2 @@
1
1
  export * from './HintIcon';
2
+ export { hintIconClassnames } from './constants';
@@ -3,9 +3,3 @@ export declare const DrawerContent: import("@emotion/styled").StyledComponent<{
3
3
  theme?: import("@emotion/react").Theme | undefined;
4
4
  as?: import("react").ElementType<any> | undefined;
5
5
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
- export declare const IconWrapper: import("@emotion/styled").StyledComponent<{
7
- theme?: import("@emotion/react").Theme | undefined;
8
- as?: import("react").ElementType<any> | undefined;
9
- } & {
10
- $color: string;
11
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -2,10 +2,3 @@ import { styled } from '../styles';
2
2
  export const DrawerContent = styled.div `
3
3
  padding: ${({ theme }) => theme.spacing(5, 4)};
4
4
  `;
5
- export const IconWrapper = styled('div', {
6
- shouldForwardProp: (prop) => !['$color'].includes(prop),
7
- }) `
8
- display: flex;
9
-
10
- color: ${({ $color }) => $color};
11
- `;
@@ -1 +1,39 @@
1
+ import { type ReactNode } from 'react';
1
2
  export type TooltipPlacement = 'left' | 'top' | 'right' | 'bottom';
3
+ export type HintIconProps = {
4
+ /**
5
+ * Определяет иконку отображения
6
+ */
7
+ variant: 'question' | 'info';
8
+ /**
9
+ * Опции для иконки
10
+ */
11
+ iconOption?: {
12
+ /**
13
+ * Определяет тип иконки
14
+ * @default fill
15
+ */
16
+ variant?: 'fill' | 'outline';
17
+ /**
18
+ * Определяет цвет иконки
19
+ * @default lightGrey
20
+ */
21
+ color?: 'warning' | 'grey' | 'lightGrey';
22
+ };
23
+ /**
24
+ * Текст заголовка BottomDrawer
25
+ */
26
+ title: string;
27
+ /**
28
+ * Текст тултипа или контента BottomDrawer
29
+ */
30
+ note: string;
31
+ /**
32
+ * Положение тултипа
33
+ */
34
+ tooltipPlacement?: TooltipPlacement;
35
+ /**
36
+ * Задание кастомной иконки
37
+ */
38
+ renderIcon?: () => ReactNode;
39
+ };
@@ -1,5 +1,6 @@
1
+ import { type SyntheticEvent } from 'react';
1
2
  export declare const useLogic: () => {
2
3
  open: boolean;
3
- handleOpen: () => void;
4
- handleClose: () => void;
4
+ handleOpen: (e: SyntheticEvent) => void;
5
+ handleClose: (e: SyntheticEvent) => void;
5
6
  };
@@ -3,12 +3,14 @@ import { useViewportType } from '../../hooks';
3
3
  export const useLogic = () => {
4
4
  const [open, setOpen] = useState(false);
5
5
  const { isMobile } = useViewportType();
6
- const handleOpen = () => {
6
+ const handleOpen = (e) => {
7
+ e.stopPropagation();
7
8
  if (isMobile) {
8
9
  setOpen((prevState) => !prevState);
9
10
  }
10
11
  };
11
- const handleClose = () => {
12
+ const handleClose = (e) => {
13
+ e.stopPropagation();
12
14
  if (isMobile) {
13
15
  setOpen(false);
14
16
  }
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { type MultipleTreeListProps } from './types';
2
+ import { type MultipleTreeListProps, type MultipleValue } from './types';
3
3
  export type { MultipleTreeListProps };
4
- export declare const MultipleTreeList: ({ data, value, className, expandedLevel, disabledItems, ...props }: MultipleTreeListProps) => JSX.Element;
4
+ export declare const MultipleTreeList: <TValue extends MultipleValue = string[]>({ data, value, className, expandedLevel, disabledItems, ...props }: MultipleTreeListProps<TValue>) => JSX.Element;
@@ -5,5 +5,5 @@ import { useLogic } from './useLogic';
5
5
  const INITIAL_LEVEL = 0;
6
6
  export const MultipleTreeList = ({ data, value, className, expandedLevel = 10, disabledItems, ...props }) => {
7
7
  const { formattedDisabledItems } = useLogic({ disabledItems });
8
- return (_jsx(List, { className: className, children: data.map((item) => (_jsx(TreeItem, { value: value, ...item, level: INITIAL_LEVEL, expandedLevel: expandedLevel, disabledItems: formattedDisabledItems, ...props }, item.id))) }));
8
+ return (_jsx(List, { className: className, children: data.map((item) => (_jsx(TreeItem, { item: item, value: value, level: INITIAL_LEVEL, expandedLevel: expandedLevel, disabledItems: formattedDisabledItems, ...props }, item.id))) }));
9
9
  };
@@ -1,15 +1,16 @@
1
1
  import { type FunctionComponent } from 'react';
2
2
  import type { TreeListData } from '../../types';
3
3
  import type { MultipleValue } from '../types';
4
- type FormatDisableItem = {
4
+ export type FormatDisableItem = {
5
5
  id: string;
6
6
  disabledReason?: string;
7
7
  };
8
- export type TreeItemProps = TreeListData & {
8
+ export type TreeItemProps<TValue extends MultipleValue = string[]> = {
9
+ item: TreeListData;
9
10
  /**
10
11
  * Выбранные значения
11
12
  */
12
- value?: MultipleValue;
13
+ value?: TValue;
13
14
  /**
14
15
  * Render-props, позволяет более гибко настраивать содержимое item
15
16
  */
@@ -34,7 +35,10 @@ export type TreeItemProps = TreeListData & {
34
35
  /**
35
36
  * Функция, которая запускается при выборе item
36
37
  */
37
- onChange: (value: MultipleValue) => void;
38
+ onChange: (value: TValue) => void;
39
+ /**
40
+ * Переключает компонент в режим работы с объектами а не с id элементов
41
+ */
42
+ isObjectMode?: boolean;
38
43
  };
39
- export declare const TreeItem: (props: TreeItemProps) => JSX.Element;
40
- export {};
44
+ export declare const TreeItem: <TValue extends MultipleValue = string[]>(props: TreeItemProps<TValue>) => JSX.Element;
@@ -4,12 +4,13 @@ import { List, StyledCheckbox, StyledTreeItem } from './styles';
4
4
  import { useLogic } from './useLogic';
5
5
  export const TreeItem = (props) => {
6
6
  const { isSelected, isIndeterminate, isDefaultExpanded, disabledReason, isDisabled, handleChange, } = useLogic(props);
7
- const { id, label, note, level, renderItem, children = [], value, isInitialExpanded, expandedLevel, disabledItems, options, onChange, } = props;
7
+ const { level, renderItem, value, isInitialExpanded, expandedLevel, disabledItems, onChange, item, isObjectMode, } = props;
8
+ const { id, label, note, children = [], options } = item;
8
9
  const handleClick = (event) => {
9
10
  event.stopPropagation();
10
11
  };
11
12
  if (children.length) {
12
- return (_jsx(StyledTreeItem, { isSelected: isSelected, isDefaultExpanded: isDefaultExpanded, isForceExpanded: options?.isForceExpanded, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected, indeterminate: isSelected ? false : isIndeterminate }), label: renderItem ? renderItem({ label, note, id }) : label, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange, children: _jsx(List, { children: children.map((child) => (_jsx(TreeItem, { ...child, renderItem: renderItem, level: level + 1, isInitialExpanded: isInitialExpanded, expandedLevel: expandedLevel, disabledItems: disabledItems, value: value, onChange: onChange }, child.id))) }) }));
13
+ return (_jsx(StyledTreeItem, { isSelected: isSelected, isDefaultExpanded: isDefaultExpanded, isForceExpanded: options?.isForceExpanded, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected, indeterminate: isSelected ? false : isIndeterminate }), label: renderItem ? renderItem({ label, note, id }) : label, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange, children: _jsx(List, { children: children.map((child) => (_jsx(TreeItem, { item: child, renderItem: renderItem, level: level + 1, isInitialExpanded: isInitialExpanded, expandedLevel: expandedLevel, disabledItems: disabledItems, value: value, onChange: onChange, isObjectMode: isObjectMode }, child.id))) }) }));
13
14
  }
14
15
  return (_jsx(StyledTreeItem, { isSelected: isSelected, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected }), label: renderItem ? renderItem({ label, note, id }) : label, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange }));
15
16
  };
@@ -1,6 +1,7 @@
1
+ import type { MultipleValue } from '../../types';
1
2
  import { type TreeItemProps } from '../TreeItem';
2
- type UseLogicProps = TreeItemProps;
3
- export declare const useLogic: ({ id, value, children, level, isInitialExpanded, expandedLevel, disabledItems, onChange, }: UseLogicProps) => {
3
+ type UseLogicProps<TValue extends MultipleValue = string[]> = TreeItemProps<TValue>;
4
+ export declare const useLogic: <TValue extends MultipleValue = string[]>({ item, value, level, isInitialExpanded, expandedLevel, disabledItems, onChange, isObjectMode, }: UseLogicProps<TValue>) => {
4
5
  isSelected: boolean;
5
6
  isIndeterminate: boolean;
6
7
  isDefaultExpanded: boolean | undefined;
@@ -1,38 +1,44 @@
1
1
  import { useEffect, useMemo } from 'react';
2
- import { checkIsIndeterminate, checkIsSelected, getAllChildrenId, } from './utils';
3
- export const useLogic = ({ id, value = [], children, level, isInitialExpanded, expandedLevel, disabledItems, onChange, }) => {
2
+ import { checkIsIndeterminate, checkIsSelected, getAllChildrenId, getIdFromValue, getItemsToAdd, } from './utils';
3
+ export const useLogic = ({ item, value = [], level, isInitialExpanded, expandedLevel, disabledItems, onChange, isObjectMode, }) => {
4
+ const { id, children } = item;
4
5
  const childrenIds = useMemo(() => getAllChildrenId(children, disabledItems), [children, disabledItems]);
5
6
  const isSelected = checkIsSelected(value, id);
6
7
  const isIndeterminate = checkIsIndeterminate(value, childrenIds);
7
8
  const isDefaultExpanded = isInitialExpanded && level <= expandedLevel - 1;
8
- const disabledItem = disabledItems?.find((item) => item.id === id);
9
+ const disabledItem = disabledItems?.find((formatDisableItem) => formatDisableItem.id === id);
9
10
  const isDisabled = Boolean(disabledItem);
10
11
  const disabledReason = disabledItem?.disabledReason;
11
12
  useEffect(() => {
12
13
  if (!childrenIds.length) {
13
14
  return undefined;
14
15
  }
15
- const isEveryChildChecked = childrenIds.every((childrenId) => value?.includes(childrenId));
16
+ const isEveryChildChecked = childrenIds.every((childrenId) => value?.some((treeItem) => getIdFromValue(treeItem) === childrenId));
16
17
  if (!isSelected && isEveryChildChecked) {
17
- onChange([...value, id]);
18
+ const addItem = isObjectMode ? item : id;
19
+ const newValue = value ? [...value, addItem] : [addItem];
20
+ onChange(newValue);
18
21
  }
19
22
  if (isSelected && !isEveryChildChecked) {
20
- onChange(value.filter((selectedId) => selectedId !== id));
23
+ const removeItem = value?.filter((selectedItem) => getIdFromValue(selectedItem) !== id);
24
+ onChange(removeItem);
21
25
  }
22
- }, [value, childrenIds]);
26
+ }, [value, childrenIds, isSelected]);
23
27
  const handleChange = () => {
24
- if (children) {
25
- if (value.includes(id)) {
26
- return onChange(value.filter((selectedId) => ![id, ...childrenIds].includes(selectedId)));
27
- }
28
- onChange([...value, id, ...childrenIds]);
29
- }
30
- else {
31
- if (value.includes(id)) {
32
- return onChange(value.filter((selectedId) => selectedId !== id));
33
- }
34
- onChange([...value, id]);
28
+ const isValueIncludesId = value?.some((treeItem) => getIdFromValue(treeItem) === id);
29
+ if (isValueIncludesId) {
30
+ // Удаление элемента и всех его дочерних элементов
31
+ const idsToRemove = children ? [id, ...childrenIds] : [id];
32
+ const filteredValue = value?.filter((selectedItem) => {
33
+ const selectedId = getIdFromValue(selectedItem);
34
+ return !idsToRemove.includes(selectedId);
35
+ });
36
+ return onChange(filteredValue);
35
37
  }
38
+ // Добавление элемента и всех его дочерних элементов
39
+ const itemsToAdd = getItemsToAdd(item, children, childrenIds, isObjectMode);
40
+ const newValue = value ? [...value, ...itemsToAdd] : itemsToAdd;
41
+ onChange(newValue);
36
42
  };
37
43
  return {
38
44
  isSelected,
@@ -1 +1,2 @@
1
- export declare const checkIsIndeterminate: (value: string[] | undefined, childrenIds: string[] | undefined) => boolean;
1
+ import type { MultipleValue } from '../../../../types';
2
+ export declare const checkIsIndeterminate: <TValue extends MultipleValue = string[]>(value: TValue, childrenIds: string[] | undefined) => boolean;
@@ -1,6 +1,7 @@
1
+ import { getIdFromValue } from '../getIdFromValue';
1
2
  export const checkIsIndeterminate = (value, childrenIds) => {
2
3
  if (!value || !childrenIds) {
3
4
  return false;
4
5
  }
5
- return value.some((item) => childrenIds.includes(item));
6
+ return value.some((item) => childrenIds.includes(getIdFromValue(item)));
6
7
  };
@@ -1 +1,2 @@
1
- export declare const checkIsSelected: (value: string[] | undefined, optionId: string) => boolean;
1
+ import type { MultipleValue } from '../../../../types';
2
+ export declare const checkIsSelected: <TValue extends MultipleValue = string[]>(value: TValue, optionId: string) => boolean;
@@ -1,6 +1,7 @@
1
+ import { getIdFromValue } from '../getIdFromValue';
1
2
  export const checkIsSelected = (value, optionId) => {
2
3
  if (!value || !value.length) {
3
4
  return false;
4
5
  }
5
- return value.includes(optionId);
6
+ return value.some((item) => getIdFromValue(item) === optionId);
6
7
  };
@@ -0,0 +1,5 @@
1
+ import type { TreeListData } from '../../../../../types';
2
+ /**
3
+ * Находит объекты TreeListData в дереве по массиву ID
4
+ */
5
+ export declare const findObjectsByIds: (nodes: TreeListData[], ids: string[]) => TreeListData[];
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Находит объекты TreeListData в дереве по массиву ID
3
+ */
4
+ export const findObjectsByIds = (nodes, ids) => {
5
+ if (!ids.length) {
6
+ return [];
7
+ }
8
+ // Создаем Map для быстрого поиска объектов по ID
9
+ const idToObjectMap = new Map();
10
+ const traverse = (items) => {
11
+ for (const item of items) {
12
+ idToObjectMap.set(item.id, item);
13
+ if (item.children) {
14
+ traverse(item.children);
15
+ }
16
+ }
17
+ };
18
+ traverse(nodes);
19
+ return ids
20
+ .map((id) => idToObjectMap.get(id))
21
+ .filter((obj) => obj !== undefined);
22
+ };
@@ -0,0 +1 @@
1
+ export * from './findObjectsByIds';
@@ -0,0 +1 @@
1
+ export * from './findObjectsByIds';
@@ -0,0 +1,5 @@
1
+ import type { TreeListData } from '../../../../../types';
2
+ /**
3
+ * Получает Id из значения, которое может быть строкой или объектом TreeListData
4
+ */
5
+ export declare const getIdFromValue: (item: string | TreeListData) => string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Получает Id из значения, которое может быть строкой или объектом TreeListData
3
+ */
4
+ export const getIdFromValue = (item) => {
5
+ return typeof item === 'string' ? item : item.id;
6
+ };
@@ -0,0 +1 @@
1
+ export * from './getIdFromValue';
@@ -0,0 +1 @@
1
+ export * from './getIdFromValue';
@@ -0,0 +1,5 @@
1
+ import type { TreeListData } from '../../../../../types';
2
+ /**
3
+ * Формирует массив элементов для добавления в зависимости от режима работы
4
+ */
5
+ export declare const getItemsToAdd: (item: TreeListData, children: TreeListData[] | undefined, childrenIds: string[], isObjectMode: boolean | undefined) => (string | TreeListData)[];
@@ -0,0 +1,14 @@
1
+ import { findObjectsByIds } from '../findObjectsByIds';
2
+ /**
3
+ * Формирует массив элементов для добавления в зависимости от режима работы
4
+ */
5
+ export const getItemsToAdd = (item, children, childrenIds, isObjectMode) => {
6
+ if (!children) {
7
+ return isObjectMode ? [item] : [item.id];
8
+ }
9
+ if (isObjectMode) {
10
+ const childrenObjects = findObjectsByIds(children, childrenIds);
11
+ return [item, ...childrenObjects];
12
+ }
13
+ return [item.id, ...childrenIds];
14
+ };
@@ -0,0 +1 @@
1
+ export * from './getItemsToAdd';
@@ -0,0 +1 @@
1
+ export * from './getItemsToAdd';
@@ -1,3 +1,6 @@
1
1
  export { checkIsIndeterminate } from './checkIsIndeterminate';
2
2
  export { checkIsSelected } from './checkIsSelected';
3
3
  export { getAllChildrenId } from './getAllChildrenId';
4
+ export { findObjectsByIds } from './findObjectsByIds';
5
+ export { getIdFromValue } from './getIdFromValue';
6
+ export { getItemsToAdd } from './getItemsToAdd';
@@ -1,3 +1,6 @@
1
1
  export { checkIsIndeterminate } from './checkIsIndeterminate';
2
2
  export { checkIsSelected } from './checkIsSelected';
3
3
  export { getAllChildrenId } from './getAllChildrenId';
4
+ export { findObjectsByIds } from './findObjectsByIds';
5
+ export { getIdFromValue } from './getIdFromValue';
6
+ export { getItemsToAdd } from './getItemsToAdd';