@astral/ui 4.73.1 → 4.75.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 (475) hide show
  1. package/components/CardGridInfinite/CardGridInfinite.js +11 -2
  2. package/components/CardGridInfinite/styles.js +4 -0
  3. package/components/CardGridInfinite/useLogic/useLogic.d.ts +1 -1
  4. package/components/CardGridInfinite/useLogic/useLogic.js +3 -13
  5. package/components/Chevron/Chevron.d.ts +1 -1
  6. package/components/ConfirmAction/ConfirmAction.js +3 -3
  7. package/components/ConfirmAction/constants.d.ts +1 -0
  8. package/components/ConfirmAction/constants.js +1 -0
  9. package/components/ConfirmAction/styles.js +13 -0
  10. package/components/ConfirmAction/types.d.ts +1 -1
  11. package/components/DataGrid/Body/Body.d.ts +1 -1
  12. package/components/DataGrid/Body/Body.js +5 -3
  13. package/components/DataGrid/Body/types.d.ts +5 -0
  14. package/components/DataGrid/Cell/Cell.d.ts +9 -1
  15. package/components/DataGrid/Cell/Cell.js +16 -2
  16. package/components/DataGrid/CustomRowWrapper/CustomRowWrapper.d.ts +19 -0
  17. package/components/DataGrid/CustomRowWrapper/CustomRowWrapper.js +15 -0
  18. package/components/DataGrid/CustomRowWrapper/index.d.ts +1 -0
  19. package/components/DataGrid/CustomRowWrapper/index.js +1 -0
  20. package/components/DataGrid/DataGrid.js +14 -3
  21. package/components/DataGrid/DataGridContext/DataGridContext.d.ts +9 -5
  22. package/components/DataGrid/DataGridContext/DataGridContext.js +7 -4
  23. package/components/DataGrid/DataGridContext/DataGridProvider/DataGridProvider.d.ts +3 -4
  24. package/components/DataGrid/DataGridContext/DataGridProvider/DataGridProvider.js +18 -48
  25. package/components/DataGrid/DataGridStorageContext/DataGridStorageContext.d.ts +29 -0
  26. package/components/DataGrid/DataGridStorageContext/DataGridStorageContext.js +28 -0
  27. package/components/DataGrid/DataGridStorageContext/DataGridStorageProvider/DataGridStorageProvider.d.ts +6 -0
  28. package/components/DataGrid/DataGridStorageContext/DataGridStorageProvider/DataGridStorageProvider.js +12 -0
  29. package/components/DataGrid/DataGridStorageContext/DataGridStorageProvider/index.d.ts +1 -0
  30. package/components/DataGrid/DataGridStorageContext/DataGridStorageProvider/index.js +1 -0
  31. package/components/DataGrid/DataGridStorageContext/index.d.ts +2 -0
  32. package/components/DataGrid/DataGridStorageContext/index.js +2 -0
  33. package/components/DataGrid/MobileSkeleton/MobileSkeleton.d.ts +2 -1
  34. package/components/DataGrid/MobileSkeleton/MobileSkeleton.js +21 -3
  35. package/components/DataGrid/MobileSkeleton/styles.js +12 -0
  36. package/components/DataGrid/Row/NestedChildren/NestedChildren.d.ts +1 -5
  37. package/components/DataGrid/Row/NestedChildren/NestedChildren.js +17 -7
  38. package/components/DataGrid/Row/NestedChildren/constants.d.ts +6 -0
  39. package/components/DataGrid/Row/NestedChildren/constants.js +7 -0
  40. package/components/DataGrid/Row/NestedChildren/styles.js +42 -3
  41. package/components/DataGrid/Row/NestedChildren/useLogic/useLogic.d.ts +1 -1
  42. package/components/DataGrid/Row/NestedChildren/useLogic/useLogic.js +4 -6
  43. package/components/DataGrid/Row/Row.js +34 -37
  44. package/components/DataGrid/Row/RowContext/RowContext.d.ts +10 -1
  45. package/components/DataGrid/Row/RowContext/RowContext.js +9 -0
  46. package/components/DataGrid/Row/RowContext/RowProvider/RowProvider.d.ts +3 -2
  47. package/components/DataGrid/Row/RowContext/RowProvider/RowProvider.js +25 -2
  48. package/components/DataGrid/Row/constants.d.ts +6 -0
  49. package/components/DataGrid/Row/constants.js +6 -0
  50. package/components/DataGrid/Row/styles.js +102 -3
  51. package/components/DataGrid/Row/useLogic/hooks/useMobileLogic.d.ts +1 -0
  52. package/components/DataGrid/Row/useLogic/hooks/useMobileLogic.js +1 -1
  53. package/components/DataGrid/Row/useLogic/useLogic.d.ts +5 -2
  54. package/components/DataGrid/Row/useLogic/useLogic.js +21 -19
  55. package/components/DataGrid/RowBase/GroupCell/GroupCell.d.ts +2 -0
  56. package/components/DataGrid/RowBase/GroupCell/GroupCell.js +22 -0
  57. package/components/DataGrid/RowBase/GroupCell/constants.d.ts +4 -0
  58. package/components/DataGrid/RowBase/GroupCell/constants.js +5 -0
  59. package/components/DataGrid/RowBase/GroupCell/index.d.ts +1 -0
  60. package/components/DataGrid/RowBase/GroupCell/index.js +1 -0
  61. package/components/DataGrid/RowBase/GroupCell/styles.d.ts +12 -0
  62. package/components/DataGrid/RowBase/GroupCell/styles.js +16 -0
  63. package/components/DataGrid/RowBase/GroupCell/types.d.ts +11 -0
  64. package/components/DataGrid/RowBase/GroupCell/types.js +1 -0
  65. package/components/DataGrid/RowBase/RowBase.d.ts +3 -0
  66. package/components/DataGrid/RowBase/RowBase.js +69 -0
  67. package/components/DataGrid/RowBase/constants.d.ts +9 -0
  68. package/components/DataGrid/RowBase/constants.js +10 -0
  69. package/components/DataGrid/RowBase/index.d.ts +3 -0
  70. package/components/DataGrid/RowBase/index.js +2 -0
  71. package/components/DataGrid/RowBase/styles.d.ts +17 -0
  72. package/components/DataGrid/RowBase/styles.js +87 -0
  73. package/components/DataGrid/RowBase/types.d.ts +92 -0
  74. package/components/DataGrid/RowBase/types.js +1 -0
  75. package/components/DataGrid/RowBase/useLogic/useLogic.d.ts +46 -0
  76. package/components/DataGrid/RowBase/useLogic/useLogic.js +90 -0
  77. package/components/DataGrid/constants.d.ts +8 -0
  78. package/components/DataGrid/constants.js +8 -0
  79. package/components/DataGrid/index.d.ts +3 -0
  80. package/components/DataGrid/index.js +3 -0
  81. package/components/DataGrid/styles.js +14 -0
  82. package/components/DataGrid/tests/performance/testDataGridPerformance.d.ts +21 -0
  83. package/components/DataGrid/tests/performance/testDataGridPerformance.js +102 -0
  84. package/components/DataGrid/types.d.ts +11 -0
  85. package/components/DataGrid/useLogic/hooks/useDataGridMobileLogic/useDataGridMobileLogic.d.ts +3 -1
  86. package/components/DataGrid/useLogic/hooks/useDataGridMobileLogic/useDataGridMobileLogic.js +2 -1
  87. package/components/DataGrid/useLogic/useLogic.d.ts +4 -1
  88. package/components/DataGrid/useLogic/useLogic.js +20 -7
  89. package/components/DataGridActionCell/DataGridMainActions/Action/MainIconButton/MainIconButton.js +4 -2
  90. package/components/DataGridActionCell/DataGridMainActions/Action/MobileMainButton/MobileMainButton.js +4 -2
  91. package/components/DataGridActionCell/types.d.ts +4 -0
  92. package/components/DataGridCollapsibleRow/DataGridCollapsibleRow.d.ts +2 -0
  93. package/components/DataGridCollapsibleRow/DataGridCollapsibleRow.js +29 -0
  94. package/components/DataGridCollapsibleRow/constants.d.ts +11 -0
  95. package/components/DataGridCollapsibleRow/constants.js +12 -0
  96. package/components/DataGridCollapsibleRow/index.d.ts +2 -0
  97. package/components/DataGridCollapsibleRow/index.js +1 -0
  98. package/components/DataGridCollapsibleRow/public.d.ts +2 -0
  99. package/components/DataGridCollapsibleRow/public.js +1 -0
  100. package/components/DataGridCollapsibleRow/styles.d.ts +42 -0
  101. package/components/DataGridCollapsibleRow/styles.js +99 -0
  102. package/components/DataGridCollapsibleRow/types.d.ts +19 -0
  103. package/components/DataGridCollapsibleRow/types.js +1 -0
  104. package/components/DataGridCollapsibleRow/useLogic/index.js +1 -0
  105. package/components/DataGridCollapsibleRow/useLogic/useLogic.d.ts +29 -0
  106. package/components/DataGridCollapsibleRow/useLogic/useLogic.js +62 -0
  107. package/components/DataGridInfinite/DataGridInfinite.js +37 -27
  108. package/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContext.d.ts +23 -0
  109. package/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContext.js +21 -0
  110. package/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContextProvider/DataGridInfiniteContextProvider.d.ts +7 -0
  111. package/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContextProvider/DataGridInfiniteContextProvider.js +5 -0
  112. package/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContextProvider/index.d.ts +1 -0
  113. package/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContextProvider/index.js +1 -0
  114. package/components/DataGridInfinite/DataGridInfiniteContext/index.d.ts +2 -0
  115. package/components/DataGridInfinite/DataGridInfiniteContext/index.js +2 -0
  116. package/components/DataGridInfinite/List/List.js +2 -1
  117. package/components/DataGridInfinite/List/constants.d.ts +3 -0
  118. package/components/DataGridInfinite/List/constants.js +4 -0
  119. package/components/DataGridInfinite/List/index.d.ts +1 -0
  120. package/components/DataGridInfinite/List/index.js +1 -0
  121. package/components/DataGridInfinite/Row/Row.d.ts +2 -0
  122. package/components/DataGridInfinite/Row/Row.js +10 -0
  123. package/components/DataGridInfinite/Row/index.d.ts +1 -0
  124. package/components/DataGridInfinite/Row/index.js +1 -0
  125. package/components/DataGridInfinite/Row/types.d.ts +2 -0
  126. package/components/DataGridInfinite/Row/types.js +1 -0
  127. package/components/DataGridInfinite/Row/useLogic/index.d.ts +1 -0
  128. package/components/DataGridInfinite/Row/useLogic/index.js +1 -0
  129. package/components/DataGridInfinite/Row/useLogic/useLogic.d.ts +33 -0
  130. package/components/DataGridInfinite/Row/useLogic/useLogic.js +35 -0
  131. package/components/DataGridInfinite/faker.js +1 -1
  132. package/components/DataGridInfinite/styles.d.ts +6 -0
  133. package/components/DataGridInfinite/styles.js +11 -0
  134. package/components/DataGridInfinite/useLogic/useLogic.d.ts +6 -3
  135. package/components/DataGridInfinite/useLogic/useLogic.js +29 -10
  136. package/components/DialogActions/styles.js +2 -0
  137. package/components/DonutChart/DonutChart.d.ts +2 -0
  138. package/components/DonutChart/DonutChart.js +9 -0
  139. package/components/DonutChart/constants.d.ts +15 -0
  140. package/components/DonutChart/constants.js +16 -0
  141. package/components/DonutChart/index.d.ts +3 -0
  142. package/components/DonutChart/index.js +2 -0
  143. package/components/DonutChart/public.d.ts +3 -0
  144. package/components/DonutChart/public.js +2 -0
  145. package/components/DonutChart/styles.d.ts +21 -0
  146. package/components/DonutChart/styles.js +41 -0
  147. package/components/DonutChart/types.d.ts +27 -0
  148. package/components/DonutChart/types.js +1 -0
  149. package/components/DonutChart/useLogic/hooks/index.d.ts +1 -0
  150. package/components/DonutChart/useLogic/hooks/index.js +1 -0
  151. package/components/DonutChart/useLogic/hooks/useRenderWidth/index.d.ts +1 -0
  152. package/components/DonutChart/useLogic/hooks/useRenderWidth/index.js +1 -0
  153. package/components/DonutChart/useLogic/hooks/useRenderWidth/useRenderWidth.d.ts +9 -0
  154. package/components/DonutChart/useLogic/hooks/useRenderWidth/useRenderWidth.js +30 -0
  155. package/components/DonutChart/useLogic/index.d.ts +1 -0
  156. package/components/DonutChart/useLogic/index.js +1 -0
  157. package/components/DonutChart/useLogic/useLogic.d.ts +15 -0
  158. package/components/DonutChart/useLogic/useLogic.js +40 -0
  159. package/components/DonutChart/useLogic/utils/getDonutChartCssVars/getDonutChartCssVars.d.ts +16 -0
  160. package/components/DonutChart/useLogic/utils/getDonutChartCssVars/getDonutChartCssVars.js +10 -0
  161. package/components/DonutChart/useLogic/utils/getDonutChartCssVars/index.d.ts +1 -0
  162. package/components/DonutChart/useLogic/utils/getDonutChartCssVars/index.js +1 -0
  163. package/components/DonutChart/useLogic/utils/getGeometry/getGeometry.d.ts +10 -0
  164. package/components/DonutChart/useLogic/utils/getGeometry/getGeometry.js +13 -0
  165. package/components/DonutChart/useLogic/utils/getGeometry/index.d.ts +1 -0
  166. package/components/DonutChart/useLogic/utils/getGeometry/index.js +1 -0
  167. package/components/DonutChart/useLogic/utils/getMeterAriaValue/getMeterAriaValue.d.ts +13 -0
  168. package/components/DonutChart/useLogic/utils/getMeterAriaValue/getMeterAriaValue.js +22 -0
  169. package/components/DonutChart/useLogic/utils/getMeterAriaValue/index.d.ts +1 -0
  170. package/components/DonutChart/useLogic/utils/getMeterAriaValue/index.js +1 -0
  171. package/components/DonutChart/useLogic/utils/getProgressCirclePath/getProgressCirclePath.d.ts +9 -0
  172. package/components/DonutChart/useLogic/utils/getProgressCirclePath/getProgressCirclePath.js +29 -0
  173. package/components/DonutChart/useLogic/utils/getProgressCirclePath/index.d.ts +1 -0
  174. package/components/DonutChart/useLogic/utils/getProgressCirclePath/index.js +1 -0
  175. package/components/DonutChart/useLogic/utils/getProgressOffset/getProgressOffset.d.ts +8 -0
  176. package/components/DonutChart/useLogic/utils/getProgressOffset/getProgressOffset.js +21 -0
  177. package/components/DonutChart/useLogic/utils/getProgressOffset/index.d.ts +1 -0
  178. package/components/DonutChart/useLogic/utils/getProgressOffset/index.js +1 -0
  179. package/components/DonutChart/useLogic/utils/getProgressPercent/getProgressPercent.d.ts +8 -0
  180. package/components/DonutChart/useLogic/utils/getProgressPercent/getProgressPercent.js +16 -0
  181. package/components/DonutChart/useLogic/utils/getProgressPercent/index.d.ts +1 -0
  182. package/components/DonutChart/useLogic/utils/getProgressPercent/index.js +1 -0
  183. package/components/DonutChart/useLogic/utils/index.d.ts +6 -0
  184. package/components/DonutChart/useLogic/utils/index.js +6 -0
  185. package/components/ExpansionPanel/Summary/styles.d.ts +1 -1
  186. package/components/MenuOrganization/OrganizationButton/styles.d.ts +1 -1
  187. package/components/NewStepper/StepIcon/StepIcon.js +3 -1
  188. package/components/NewStepper/StepIcon/useLogic/index.d.ts +1 -0
  189. package/components/NewStepper/StepIcon/useLogic/index.js +1 -0
  190. package/components/NewStepper/StepIcon/useLogic/useLogic.d.ts +8 -0
  191. package/components/NewStepper/StepIcon/useLogic/useLogic.js +6 -0
  192. package/components/PageContent/PageContent.js +23 -5
  193. package/components/PageContent/constants.d.ts +2 -0
  194. package/components/PageContent/constants.js +2 -0
  195. package/components/PageContent/styles.d.ts +0 -2
  196. package/components/PageContent/styles.js +17 -11
  197. package/components/PageContent/types.d.ts +4 -0
  198. package/components/Profile/styles.d.ts +1 -1
  199. package/components/SearchField/types.d.ts +9 -0
  200. package/components/SearchField/useLogic/useLogic.d.ts +1 -1
  201. package/components/SearchField/useLogic/useLogic.js +28 -16
  202. package/components/constants/classnames.d.ts +1 -0
  203. package/components/constants/classnames.js +2 -0
  204. package/components/constants/index.d.ts +1 -0
  205. package/components/constants/index.js +1 -0
  206. package/components/fileUploading/FileUploaderDropzone/HintPlaceholder/HintPlaceholder.d.ts +2 -1
  207. package/components/fileUploading/FileUploaderDropzone/HintPlaceholder/HintPlaceholder.js +4 -1
  208. package/components/fileUploading/FileUploaderDropzone/HintPlaceholder/useLogic/useLogic.d.ts +5 -4
  209. package/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/HintPlaceholder.js +11 -2
  210. package/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/useLogic/useLogic.d.ts +5 -5
  211. package/components/fileUploading/hooks/useFileUploader/useFileUploader.d.ts +1 -1
  212. package/components/fileUploading/hooks/usePreviewFileUploader/usePreviewFileUploader.d.ts +1 -1
  213. package/components/fileUploading/types.d.ts +2 -2
  214. package/components/useProfiler/index.d.ts +1 -0
  215. package/components/useProfiler/index.js +1 -0
  216. package/components/useProfiler/useProfiler.d.ts +14 -0
  217. package/components/useProfiler/useProfiler.js +46 -0
  218. package/components/useProfiler/utils/index.d.ts +1 -0
  219. package/components/useProfiler/utils/index.js +1 -0
  220. package/components/useProfiler/utils/shallowEqual/index.d.ts +1 -0
  221. package/components/useProfiler/utils/shallowEqual/index.js +1 -0
  222. package/components/useProfiler/utils/shallowEqual/shallowEqual.d.ts +5 -0
  223. package/components/useProfiler/utils/shallowEqual/shallowEqual.js +26 -0
  224. package/hook-form/FormFilters/FormFilters.js +1 -1
  225. package/hook-form/FormFilters/FormFiltersSkeleton/FormFiltersSkeleton.d.ts +5 -1
  226. package/hook-form/FormFilters/FormFiltersSkeleton/FormFiltersSkeleton.js +4 -3
  227. package/hook-form/FormFilters/FormQuickFiltersSkeleton/FormQuickFiltersSkeleton.d.ts +1 -0
  228. package/hook-form/FormFilters/FormQuickFiltersSkeleton/FormQuickFiltersSkeleton.js +9 -0
  229. package/hook-form/FormFilters/FormQuickFiltersSkeleton/index.d.ts +1 -0
  230. package/hook-form/FormFilters/FormQuickFiltersSkeleton/index.js +1 -0
  231. package/hook-form/FormFilters/FormQuickFiltersSkeleton/styles.d.ts +5 -0
  232. package/hook-form/FormFilters/FormQuickFiltersSkeleton/styles.js +5 -0
  233. package/node/components/CardGridInfinite/CardGridInfinite.js +13 -4
  234. package/node/components/CardGridInfinite/styles.js +4 -0
  235. package/node/components/CardGridInfinite/useLogic/useLogic.d.ts +1 -1
  236. package/node/components/CardGridInfinite/useLogic/useLogic.js +1 -11
  237. package/node/components/Chevron/Chevron.d.ts +1 -1
  238. package/node/components/ConfirmAction/ConfirmAction.js +2 -2
  239. package/node/components/ConfirmAction/constants.d.ts +1 -0
  240. package/node/components/ConfirmAction/constants.js +2 -1
  241. package/node/components/ConfirmAction/styles.js +13 -0
  242. package/node/components/ConfirmAction/types.d.ts +1 -1
  243. package/node/components/DataGrid/Body/Body.d.ts +1 -1
  244. package/node/components/DataGrid/Body/Body.js +5 -3
  245. package/node/components/DataGrid/Body/types.d.ts +5 -0
  246. package/node/components/DataGrid/Cell/Cell.d.ts +9 -1
  247. package/node/components/DataGrid/Cell/Cell.js +16 -2
  248. package/node/components/DataGrid/CustomRowWrapper/CustomRowWrapper.d.ts +19 -0
  249. package/node/components/DataGrid/CustomRowWrapper/CustomRowWrapper.js +18 -0
  250. package/node/components/DataGrid/CustomRowWrapper/index.d.ts +1 -0
  251. package/node/components/DataGrid/CustomRowWrapper/index.js +5 -0
  252. package/node/components/DataGrid/DataGrid.js +27 -16
  253. package/node/components/DataGrid/DataGridContext/DataGridContext.d.ts +9 -5
  254. package/node/components/DataGrid/DataGridContext/DataGridContext.js +7 -4
  255. package/node/components/DataGrid/DataGridContext/DataGridProvider/DataGridProvider.d.ts +3 -4
  256. package/node/components/DataGrid/DataGridContext/DataGridProvider/DataGridProvider.js +17 -47
  257. package/node/components/DataGrid/DataGridStorageContext/DataGridStorageContext.d.ts +29 -0
  258. package/node/components/DataGrid/DataGridStorageContext/DataGridStorageContext.js +31 -0
  259. package/node/components/DataGrid/DataGridStorageContext/DataGridStorageProvider/DataGridStorageProvider.d.ts +6 -0
  260. package/node/components/DataGrid/DataGridStorageContext/DataGridStorageProvider/DataGridStorageProvider.js +16 -0
  261. package/node/components/DataGrid/DataGridStorageContext/DataGridStorageProvider/index.d.ts +1 -0
  262. package/node/components/DataGrid/DataGridStorageContext/DataGridStorageProvider/index.js +17 -0
  263. package/node/components/DataGrid/DataGridStorageContext/index.d.ts +2 -0
  264. package/node/components/DataGrid/DataGridStorageContext/index.js +18 -0
  265. package/node/components/DataGrid/MobileSkeleton/MobileSkeleton.d.ts +2 -1
  266. package/node/components/DataGrid/MobileSkeleton/MobileSkeleton.js +21 -3
  267. package/node/components/DataGrid/MobileSkeleton/styles.js +12 -0
  268. package/node/components/DataGrid/Row/NestedChildren/NestedChildren.d.ts +1 -5
  269. package/node/components/DataGrid/Row/NestedChildren/NestedChildren.js +18 -7
  270. package/node/components/DataGrid/Row/NestedChildren/constants.d.ts +6 -0
  271. package/node/components/DataGrid/Row/NestedChildren/constants.js +10 -0
  272. package/node/components/DataGrid/Row/NestedChildren/styles.js +41 -2
  273. package/node/components/DataGrid/Row/NestedChildren/useLogic/useLogic.d.ts +1 -1
  274. package/node/components/DataGrid/Row/NestedChildren/useLogic/useLogic.js +3 -5
  275. package/node/components/DataGrid/Row/Row.js +33 -36
  276. package/node/components/DataGrid/Row/RowContext/RowContext.d.ts +10 -1
  277. package/node/components/DataGrid/Row/RowContext/RowContext.js +9 -0
  278. package/node/components/DataGrid/Row/RowContext/RowProvider/RowProvider.d.ts +3 -2
  279. package/node/components/DataGrid/Row/RowContext/RowProvider/RowProvider.js +25 -2
  280. package/node/components/DataGrid/Row/constants.d.ts +6 -0
  281. package/node/components/DataGrid/Row/constants.js +6 -0
  282. package/node/components/DataGrid/Row/styles.js +99 -0
  283. package/node/components/DataGrid/Row/useLogic/hooks/useMobileLogic.d.ts +1 -0
  284. package/node/components/DataGrid/Row/useLogic/hooks/useMobileLogic.js +1 -1
  285. package/node/components/DataGrid/Row/useLogic/useLogic.d.ts +5 -2
  286. package/node/components/DataGrid/Row/useLogic/useLogic.js +20 -18
  287. package/node/components/DataGrid/RowBase/GroupCell/GroupCell.d.ts +2 -0
  288. package/node/components/DataGrid/RowBase/GroupCell/GroupCell.js +26 -0
  289. package/node/components/DataGrid/RowBase/GroupCell/constants.d.ts +4 -0
  290. package/node/components/DataGrid/RowBase/GroupCell/constants.js +8 -0
  291. package/node/components/DataGrid/RowBase/GroupCell/index.d.ts +1 -0
  292. package/node/components/DataGrid/RowBase/GroupCell/index.js +5 -0
  293. package/node/components/DataGrid/RowBase/GroupCell/styles.d.ts +12 -0
  294. package/node/components/DataGrid/RowBase/GroupCell/styles.js +19 -0
  295. package/node/components/DataGrid/RowBase/GroupCell/types.d.ts +11 -0
  296. package/node/components/DataGrid/RowBase/GroupCell/types.js +2 -0
  297. package/node/components/DataGrid/RowBase/RowBase.d.ts +3 -0
  298. package/node/components/DataGrid/RowBase/RowBase.js +72 -0
  299. package/node/components/DataGrid/RowBase/constants.d.ts +9 -0
  300. package/node/components/DataGrid/RowBase/constants.js +13 -0
  301. package/node/components/DataGrid/RowBase/index.d.ts +3 -0
  302. package/node/components/DataGrid/RowBase/index.js +7 -0
  303. package/node/components/DataGrid/RowBase/styles.d.ts +17 -0
  304. package/node/components/DataGrid/RowBase/styles.js +90 -0
  305. package/node/components/DataGrid/RowBase/types.d.ts +92 -0
  306. package/node/components/DataGrid/RowBase/types.js +2 -0
  307. package/node/components/DataGrid/RowBase/useLogic/index.d.ts +1 -0
  308. package/node/components/DataGrid/RowBase/useLogic/useLogic.d.ts +46 -0
  309. package/node/components/DataGrid/RowBase/useLogic/useLogic.js +94 -0
  310. package/node/components/DataGrid/constants.d.ts +8 -0
  311. package/node/components/DataGrid/constants.js +9 -1
  312. package/node/components/DataGrid/index.d.ts +3 -0
  313. package/node/components/DataGrid/index.js +7 -1
  314. package/node/components/DataGrid/styles.js +40 -26
  315. package/node/components/DataGrid/tests/performance/testDataGridPerformance.d.ts +21 -0
  316. package/node/components/DataGrid/tests/performance/testDataGridPerformance.js +106 -0
  317. package/node/components/DataGrid/types.d.ts +11 -0
  318. package/node/components/DataGrid/useLogic/hooks/useDataGridMobileLogic/useDataGridMobileLogic.d.ts +3 -1
  319. package/node/components/DataGrid/useLogic/hooks/useDataGridMobileLogic/useDataGridMobileLogic.js +2 -1
  320. package/node/components/DataGrid/useLogic/useLogic.d.ts +4 -1
  321. package/node/components/DataGrid/useLogic/useLogic.js +19 -6
  322. package/node/components/DataGridActionCell/DataGridMainActions/Action/MainIconButton/MainIconButton.js +4 -2
  323. package/node/components/DataGridActionCell/DataGridMainActions/Action/MobileMainButton/MobileMainButton.js +4 -2
  324. package/node/components/DataGridActionCell/types.d.ts +4 -0
  325. package/node/components/DataGridCollapsibleRow/DataGridCollapsibleRow.d.ts +2 -0
  326. package/node/components/DataGridCollapsibleRow/DataGridCollapsibleRow.js +33 -0
  327. package/node/components/DataGridCollapsibleRow/constants.d.ts +11 -0
  328. package/node/components/DataGridCollapsibleRow/constants.js +15 -0
  329. package/node/components/DataGridCollapsibleRow/index.d.ts +2 -0
  330. package/node/components/DataGridCollapsibleRow/index.js +5 -0
  331. package/node/components/DataGridCollapsibleRow/public.d.ts +2 -0
  332. package/node/components/DataGridCollapsibleRow/public.js +5 -0
  333. package/node/components/DataGridCollapsibleRow/styles.d.ts +42 -0
  334. package/node/components/DataGridCollapsibleRow/styles.js +102 -0
  335. package/node/components/DataGridCollapsibleRow/types.d.ts +19 -0
  336. package/node/components/DataGridCollapsibleRow/types.js +2 -0
  337. package/node/components/DataGridCollapsibleRow/useLogic/index.d.ts +1 -0
  338. package/node/components/DataGridCollapsibleRow/useLogic/index.js +17 -0
  339. package/node/components/DataGridCollapsibleRow/useLogic/useLogic.d.ts +29 -0
  340. package/node/components/DataGridCollapsibleRow/useLogic/useLogic.js +66 -0
  341. package/node/components/DataGridInfinite/DataGridInfinite.js +45 -35
  342. package/node/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContext.d.ts +23 -0
  343. package/node/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContext.js +24 -0
  344. package/node/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContextProvider/DataGridInfiniteContextProvider.d.ts +7 -0
  345. package/node/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContextProvider/DataGridInfiniteContextProvider.js +9 -0
  346. package/node/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContextProvider/index.d.ts +1 -0
  347. package/node/components/DataGridInfinite/DataGridInfiniteContext/DataGridInfiniteContextProvider/index.js +17 -0
  348. package/node/components/DataGridInfinite/DataGridInfiniteContext/index.d.ts +2 -0
  349. package/node/components/DataGridInfinite/DataGridInfiniteContext/index.js +18 -0
  350. package/node/components/DataGridInfinite/List/List.js +2 -1
  351. package/node/components/DataGridInfinite/List/constants.d.ts +3 -0
  352. package/node/components/DataGridInfinite/List/constants.js +7 -0
  353. package/node/components/DataGridInfinite/List/index.d.ts +1 -0
  354. package/node/components/DataGridInfinite/List/index.js +3 -0
  355. package/node/components/DataGridInfinite/Row/Row.d.ts +2 -0
  356. package/node/components/DataGridInfinite/Row/Row.js +14 -0
  357. package/node/components/DataGridInfinite/Row/index.d.ts +1 -0
  358. package/node/components/DataGridInfinite/Row/index.js +17 -0
  359. package/node/components/DataGridInfinite/Row/types.d.ts +2 -0
  360. package/node/components/DataGridInfinite/Row/types.js +2 -0
  361. package/node/components/DataGridInfinite/Row/useLogic/index.d.ts +1 -0
  362. package/node/components/DataGridInfinite/Row/useLogic/index.js +17 -0
  363. package/node/components/DataGridInfinite/Row/useLogic/useLogic.d.ts +33 -0
  364. package/node/components/DataGridInfinite/Row/useLogic/useLogic.js +39 -0
  365. package/node/components/DataGridInfinite/faker.js +1 -1
  366. package/node/components/DataGridInfinite/styles.d.ts +6 -0
  367. package/node/components/DataGridInfinite/styles.js +12 -1
  368. package/node/components/DataGridInfinite/useLogic/useLogic.d.ts +6 -3
  369. package/node/components/DataGridInfinite/useLogic/useLogic.js +33 -14
  370. package/node/components/DialogActions/styles.js +2 -0
  371. package/node/components/DonutChart/DonutChart.d.ts +2 -0
  372. package/node/components/DonutChart/DonutChart.js +13 -0
  373. package/node/components/DonutChart/constants.d.ts +15 -0
  374. package/node/components/DonutChart/constants.js +19 -0
  375. package/node/components/DonutChart/index.d.ts +3 -0
  376. package/node/components/DonutChart/index.js +7 -0
  377. package/node/components/DonutChart/public.d.ts +3 -0
  378. package/node/components/DonutChart/public.js +7 -0
  379. package/node/components/DonutChart/styles.d.ts +21 -0
  380. package/node/components/DonutChart/styles.js +44 -0
  381. package/node/components/DonutChart/types.d.ts +27 -0
  382. package/node/components/DonutChart/types.js +2 -0
  383. package/node/components/DonutChart/useLogic/hooks/index.d.ts +1 -0
  384. package/node/components/DonutChart/useLogic/hooks/index.js +17 -0
  385. package/node/components/DonutChart/useLogic/hooks/useRenderWidth/index.d.ts +1 -0
  386. package/node/components/DonutChart/useLogic/hooks/useRenderWidth/index.js +17 -0
  387. package/node/components/DonutChart/useLogic/hooks/useRenderWidth/useRenderWidth.d.ts +9 -0
  388. package/node/components/DonutChart/useLogic/hooks/useRenderWidth/useRenderWidth.js +34 -0
  389. package/node/components/DonutChart/useLogic/index.d.ts +1 -0
  390. package/node/components/DonutChart/useLogic/index.js +17 -0
  391. package/node/components/DonutChart/useLogic/useLogic.d.ts +15 -0
  392. package/node/components/DonutChart/useLogic/useLogic.js +44 -0
  393. package/node/components/DonutChart/useLogic/utils/getDonutChartCssVars/getDonutChartCssVars.d.ts +16 -0
  394. package/node/components/DonutChart/useLogic/utils/getDonutChartCssVars/getDonutChartCssVars.js +14 -0
  395. package/node/components/DonutChart/useLogic/utils/getDonutChartCssVars/index.d.ts +1 -0
  396. package/node/components/DonutChart/useLogic/utils/getDonutChartCssVars/index.js +5 -0
  397. package/node/components/DonutChart/useLogic/utils/getGeometry/getGeometry.d.ts +10 -0
  398. package/node/components/DonutChart/useLogic/utils/getGeometry/getGeometry.js +17 -0
  399. package/node/components/DonutChart/useLogic/utils/getGeometry/index.d.ts +1 -0
  400. package/node/components/DonutChart/useLogic/utils/getGeometry/index.js +5 -0
  401. package/node/components/DonutChart/useLogic/utils/getMeterAriaValue/getMeterAriaValue.d.ts +13 -0
  402. package/node/components/DonutChart/useLogic/utils/getMeterAriaValue/getMeterAriaValue.js +26 -0
  403. package/node/components/DonutChart/useLogic/utils/getMeterAriaValue/index.d.ts +1 -0
  404. package/node/components/DonutChart/useLogic/utils/getMeterAriaValue/index.js +5 -0
  405. package/node/components/DonutChart/useLogic/utils/getProgressCirclePath/getProgressCirclePath.d.ts +9 -0
  406. package/node/components/DonutChart/useLogic/utils/getProgressCirclePath/getProgressCirclePath.js +33 -0
  407. package/node/components/DonutChart/useLogic/utils/getProgressCirclePath/index.d.ts +1 -0
  408. package/node/components/DonutChart/useLogic/utils/getProgressCirclePath/index.js +5 -0
  409. package/node/components/DonutChart/useLogic/utils/getProgressOffset/getProgressOffset.d.ts +8 -0
  410. package/node/components/DonutChart/useLogic/utils/getProgressOffset/getProgressOffset.js +25 -0
  411. package/node/components/DonutChart/useLogic/utils/getProgressOffset/index.d.ts +1 -0
  412. package/node/components/DonutChart/useLogic/utils/getProgressOffset/index.js +5 -0
  413. package/node/components/DonutChart/useLogic/utils/getProgressPercent/getProgressPercent.d.ts +8 -0
  414. package/node/components/DonutChart/useLogic/utils/getProgressPercent/getProgressPercent.js +20 -0
  415. package/node/components/DonutChart/useLogic/utils/getProgressPercent/index.d.ts +1 -0
  416. package/node/components/DonutChart/useLogic/utils/getProgressPercent/index.js +5 -0
  417. package/node/components/DonutChart/useLogic/utils/index.d.ts +6 -0
  418. package/node/components/DonutChart/useLogic/utils/index.js +15 -0
  419. package/node/components/ExpansionPanel/Summary/styles.d.ts +1 -1
  420. package/node/components/MenuOrganization/OrganizationButton/styles.d.ts +1 -1
  421. package/node/components/NewStepper/StepIcon/StepIcon.js +3 -1
  422. package/node/components/NewStepper/StepIcon/useLogic/index.d.ts +1 -0
  423. package/node/components/NewStepper/StepIcon/useLogic/index.js +17 -0
  424. package/node/components/NewStepper/StepIcon/useLogic/useLogic.d.ts +8 -0
  425. package/node/components/NewStepper/StepIcon/useLogic/useLogic.js +10 -0
  426. package/node/components/PageContent/PageContent.js +22 -4
  427. package/node/components/PageContent/constants.d.ts +2 -0
  428. package/node/components/PageContent/constants.js +2 -0
  429. package/node/components/PageContent/styles.d.ts +0 -2
  430. package/node/components/PageContent/styles.js +17 -11
  431. package/node/components/PageContent/types.d.ts +4 -0
  432. package/node/components/Profile/styles.d.ts +1 -1
  433. package/node/components/SearchField/types.d.ts +9 -0
  434. package/node/components/SearchField/useLogic/useLogic.d.ts +1 -1
  435. package/node/components/SearchField/useLogic/useLogic.js +27 -15
  436. package/node/components/constants/classnames.d.ts +1 -0
  437. package/node/components/constants/classnames.js +5 -0
  438. package/node/components/constants/index.d.ts +1 -0
  439. package/node/components/constants/index.js +1 -0
  440. package/node/components/fileUploading/FileUploaderDropzone/HintPlaceholder/HintPlaceholder.d.ts +2 -1
  441. package/node/components/fileUploading/FileUploaderDropzone/HintPlaceholder/HintPlaceholder.js +4 -1
  442. package/node/components/fileUploading/FileUploaderDropzone/HintPlaceholder/useLogic/useLogic.d.ts +5 -4
  443. package/node/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/HintPlaceholder.js +10 -1
  444. package/node/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/useLogic/useLogic.d.ts +5 -5
  445. package/node/components/fileUploading/hooks/useFileUploader/useFileUploader.d.ts +1 -1
  446. package/node/components/fileUploading/hooks/usePreviewFileUploader/usePreviewFileUploader.d.ts +1 -1
  447. package/node/components/fileUploading/types.d.ts +2 -2
  448. package/node/components/useProfiler/index.d.ts +1 -0
  449. package/node/components/useProfiler/index.js +5 -0
  450. package/node/components/useProfiler/useProfiler.d.ts +14 -0
  451. package/node/components/useProfiler/useProfiler.js +50 -0
  452. package/node/components/useProfiler/utils/index.d.ts +1 -0
  453. package/node/components/useProfiler/utils/index.js +17 -0
  454. package/node/components/useProfiler/utils/shallowEqual/index.d.ts +1 -0
  455. package/node/components/useProfiler/utils/shallowEqual/index.js +6 -0
  456. package/node/components/useProfiler/utils/shallowEqual/shallowEqual.d.ts +5 -0
  457. package/node/components/useProfiler/utils/shallowEqual/shallowEqual.js +31 -0
  458. package/node/hook-form/FormFilters/FormFilters.js +1 -1
  459. package/node/hook-form/FormFilters/FormFiltersSkeleton/FormFiltersSkeleton.d.ts +5 -1
  460. package/node/hook-form/FormFilters/FormFiltersSkeleton/FormFiltersSkeleton.js +3 -2
  461. package/node/hook-form/FormFilters/FormQuickFiltersSkeleton/FormQuickFiltersSkeleton.d.ts +1 -0
  462. package/node/hook-form/FormFilters/FormQuickFiltersSkeleton/FormQuickFiltersSkeleton.js +13 -0
  463. package/node/hook-form/FormFilters/FormQuickFiltersSkeleton/index.d.ts +1 -0
  464. package/node/hook-form/FormFilters/FormQuickFiltersSkeleton/index.js +17 -0
  465. package/node/hook-form/FormFilters/FormQuickFiltersSkeleton/styles.d.ts +5 -0
  466. package/node/hook-form/FormFilters/FormQuickFiltersSkeleton/styles.js +8 -0
  467. package/package.json +1 -1
  468. package/components/PageContent/useLogic/useLogic.d.ts +0 -7
  469. package/components/PageContent/useLogic/useLogic.js +0 -11
  470. package/node/components/PageContent/useLogic/useLogic.d.ts +0 -7
  471. package/node/components/PageContent/useLogic/useLogic.js +0 -15
  472. /package/components/{PageContent → DataGrid/RowBase}/useLogic/index.d.ts +0 -0
  473. /package/components/{PageContent → DataGrid/RowBase}/useLogic/index.js +0 -0
  474. /package/{node/components/PageContent → components/DataGridCollapsibleRow}/useLogic/index.d.ts +0 -0
  475. /package/node/components/{PageContent → DataGrid/RowBase}/useLogic/index.js +0 -0
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProgressPercent = void 0;
4
+ /**
5
+ * Преобразует value/maxValue в целый процент 0–100.
6
+ * Дробная часть отбрасывается вниз, некорректные значения дают 0.
7
+ * @param value - Текущее значение
8
+ * @param maxValue - Максимальное значение (должно быть положительным и конечным)
9
+ * @returns Целый процент от 0 до 100
10
+ */
11
+ const getProgressPercent = (value, maxValue) => {
12
+ if (!Number.isFinite(maxValue) || maxValue <= 0) {
13
+ return 0;
14
+ }
15
+ if (!Number.isFinite(value)) {
16
+ return 0;
17
+ }
18
+ return Math.max(0, Math.min(100, Math.floor((value / maxValue) * 100)));
19
+ };
20
+ exports.getProgressPercent = getProgressPercent;
@@ -0,0 +1 @@
1
+ export { getProgressPercent } from './getProgressPercent';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProgressPercent = void 0;
4
+ var getProgressPercent_1 = require("./getProgressPercent");
5
+ Object.defineProperty(exports, "getProgressPercent", { enumerable: true, get: function () { return getProgressPercent_1.getProgressPercent; } });
@@ -0,0 +1,6 @@
1
+ export { getMeterAriaValue } from './getMeterAriaValue';
2
+ export { getDonutChartCssVars } from './getDonutChartCssVars';
3
+ export { getGeometry } from './getGeometry';
4
+ export { getProgressCirclePath } from './getProgressCirclePath';
5
+ export { getProgressOffset } from './getProgressOffset';
6
+ export { getProgressPercent } from './getProgressPercent';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProgressPercent = exports.getProgressOffset = exports.getProgressCirclePath = exports.getGeometry = exports.getDonutChartCssVars = exports.getMeterAriaValue = void 0;
4
+ var getMeterAriaValue_1 = require("./getMeterAriaValue");
5
+ Object.defineProperty(exports, "getMeterAriaValue", { enumerable: true, get: function () { return getMeterAriaValue_1.getMeterAriaValue; } });
6
+ var getDonutChartCssVars_1 = require("./getDonutChartCssVars");
7
+ Object.defineProperty(exports, "getDonutChartCssVars", { enumerable: true, get: function () { return getDonutChartCssVars_1.getDonutChartCssVars; } });
8
+ var getGeometry_1 = require("./getGeometry");
9
+ Object.defineProperty(exports, "getGeometry", { enumerable: true, get: function () { return getGeometry_1.getGeometry; } });
10
+ var getProgressCirclePath_1 = require("./getProgressCirclePath");
11
+ Object.defineProperty(exports, "getProgressCirclePath", { enumerable: true, get: function () { return getProgressCirclePath_1.getProgressCirclePath; } });
12
+ var getProgressOffset_1 = require("./getProgressOffset");
13
+ Object.defineProperty(exports, "getProgressOffset", { enumerable: true, get: function () { return getProgressOffset_1.getProgressOffset; } });
14
+ var getProgressPercent_1 = require("./getProgressPercent");
15
+ Object.defineProperty(exports, "getProgressPercent", { enumerable: true, get: function () { return getProgressPercent_1.getProgressPercent; } });
@@ -13,6 +13,6 @@ export declare const Title: import("@emotion/styled/dist/declarations/src/types"
13
13
  export declare const StyledChevron: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
14
14
  isActive?: boolean | undefined;
15
15
  className?: string | undefined;
16
- } & Omit<import("../..").WithoutEmotionSpecific<import("@mui/material").SvgIconProps>, "classes" | "children" | "ref"> & {
16
+ } & Omit<import("../..").WithoutEmotionSpecific<import("../..").SvgIconProps>, "classes" | "children" | "ref"> & {
17
17
  theme?: import("@emotion/react").Theme | undefined;
18
18
  }, {}, {}>;
@@ -12,7 +12,7 @@ export declare const StyledButton: import("@emotion/styled/dist/declarations/src
12
12
  export declare const StyledChevron: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
13
13
  isActive?: boolean | undefined;
14
14
  className?: string | undefined;
15
- } & Omit<import("../..").WithoutEmotionSpecific<import("@mui/material").SvgIconProps>, "classes" | "children" | "ref"> & {
15
+ } & Omit<import("../..").WithoutEmotionSpecific<import("../..").SvgIconProps>, "classes" | "children" | "ref"> & {
16
16
  theme?: import("@emotion/react").Theme | undefined;
17
17
  }, {}, {}>;
18
18
  export declare const Container: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
@@ -7,6 +7,7 @@ const StepErrorFillMd_1 = require("../../../icons/StepErrorFillMd");
7
7
  const StepSuccessFillMd_1 = require("../../../icons/StepSuccessFillMd");
8
8
  const cva_1 = require("../../utils/cva");
9
9
  const constants_1 = require("./constants");
10
+ const useLogic_1 = require("./useLogic");
10
11
  const stepIcon = (0, cva_1.cva)(constants_1.stepIconClassnames.root, {
11
12
  variants: {
12
13
  isActive: {
@@ -24,10 +25,11 @@ const stepIcon = (0, cva_1.cva)(constants_1.stepIconClassnames.root, {
24
25
  },
25
26
  });
26
27
  const StepIcon = ({ icon: Icon, isActive, isCompleted, isError, isWarning, }) => {
28
+ const { isShowError } = (0, useLogic_1.useLogic)({ isError, isActive, isCompleted });
27
29
  if (Icon) {
28
30
  return ((0, jsx_runtime_1.jsx)(Icon, { isActive: isActive, isCompleted: isCompleted, isError: isError, isWarning: isWarning, className: stepIcon({ isActive, isCompleted, isError, isWarning }) }));
29
31
  }
30
- if (isError && !isActive) {
32
+ if (isShowError) {
31
33
  return (0, jsx_runtime_1.jsx)(StepErrorFillMd_1.StepErrorFillMd, { className: stepIcon({ isError: true }) });
32
34
  }
33
35
  if (isCompleted) {
@@ -0,0 +1 @@
1
+ export * from './useLogic';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useLogic"), exports);
@@ -0,0 +1,8 @@
1
+ export type UseLogicParams = {
2
+ isActive?: boolean;
3
+ isCompleted?: boolean;
4
+ isError?: boolean;
5
+ };
6
+ export declare const useLogic: ({ isError, isActive, isCompleted, }: UseLogicParams) => {
7
+ isShowError: boolean | undefined;
8
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLogic = void 0;
4
+ const useLogic = ({ isError, isActive, isCompleted, }) => {
5
+ const isShowError = (isError && !isActive) || (isError && isCompleted && isActive);
6
+ return {
7
+ isShowError,
8
+ };
9
+ };
10
+ exports.useLogic = useLogic;
@@ -3,13 +3,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PageContent = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
+ const PageContext_1 = require("../PageContext");
6
7
  const PageLayoutFooter_1 = require("../PageLayoutFooter");
7
8
  const classNames_1 = require("../utils/classNames");
9
+ const cva_1 = require("../utils/cva");
8
10
  const constants_1 = require("./constants");
9
11
  const styles_1 = require("./styles");
10
- const useLogic_1 = require("./useLogic");
12
+ const contentCva = (0, cva_1.cva)(constants_1.pageContentClassnames.content, {
13
+ variants: {
14
+ isUnconstrained: {
15
+ true: constants_1.pageContentClassnames.isUnconstrained,
16
+ },
17
+ hasHeader: {
18
+ true: constants_1.pageContentClassnames.contentHasHeader,
19
+ },
20
+ hasAside: {
21
+ true: constants_1.pageContentClassnames.hasAside,
22
+ },
23
+ },
24
+ });
11
25
  exports.PageContent = (0, react_1.forwardRef)((props, forwardedRef) => {
12
- const { hasAside, contentClassnames } = (0, useLogic_1.useLogic)(props);
13
- const { className, children, isFullHeight = true, footer, scrollRef, header, } = props;
14
- return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: (0, classNames_1.classNames)(className, constants_1.pageContentClassnames.pageContent), ref: forwardedRef, "$isFullHeight": isFullHeight, "$isSeparatorShown": hasAside || Boolean(header), children: [header && header, (0, jsx_runtime_1.jsx)(styles_1.Content, { ref: scrollRef, className: contentClassnames, "$hasAside": hasAside || Boolean(header), children: children }), footer && !(0, react_1.isValidElement)(footer) && ((0, jsx_runtime_1.jsx)(PageLayoutFooter_1.PageLayoutFooter, { ...footer })), (0, react_1.isValidElement)(footer) && footer] }));
26
+ const { hasAside } = (0, react_1.useContext)(PageContext_1.PageContext);
27
+ const { className, children, isFullHeight = true, footer, scrollRef, header, isUnconstrained = false, } = props;
28
+ return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: (0, classNames_1.classNames)(className, constants_1.pageContentClassnames.pageContent), ref: forwardedRef, "$isFullHeight": isFullHeight, "$isSeparatorShown": hasAside || Boolean(header), children: [header && header, (0, jsx_runtime_1.jsx)(styles_1.Content, { ref: scrollRef, className: contentCva({
29
+ isUnconstrained,
30
+ hasHeader: Boolean(header),
31
+ hasAside,
32
+ }), children: children }), footer && !(0, react_1.isValidElement)(footer) && ((0, jsx_runtime_1.jsx)(PageLayoutFooter_1.PageLayoutFooter, { ...footer })), (0, react_1.isValidElement)(footer) && footer] }));
15
33
  });
@@ -1,7 +1,9 @@
1
1
  export declare const pageContentClassnames: {
2
2
  pageContent: string;
3
3
  content: string;
4
+ isUnconstrained: string;
4
5
  contentHasHeader: string;
6
+ hasAside: string;
5
7
  animation: string;
6
8
  withPdfViewer: string;
7
9
  };
@@ -5,7 +5,9 @@ const createUIKitClassname_1 = require("../utils/createUIKitClassname");
5
5
  exports.pageContentClassnames = {
6
6
  pageContent: (0, createUIKitClassname_1.createUIKitClassname)('page-content'),
7
7
  content: (0, createUIKitClassname_1.createUIKitClassname)('page-content__content'),
8
+ isUnconstrained: (0, createUIKitClassname_1.createUIKitClassname)('page-content__content_unconstrained'),
8
9
  contentHasHeader: (0, createUIKitClassname_1.createUIKitClassname)('page-content__content_has-header'),
10
+ hasAside: (0, createUIKitClassname_1.createUIKitClassname)('page-content__content_has-aside'),
9
11
  animation: (0, createUIKitClassname_1.createUIKitClassname)('page-content_animation'),
10
12
  withPdfViewer: (0, createUIKitClassname_1.createUIKitClassname)('page-content_with-pdf-viewer'),
11
13
  };
@@ -10,7 +10,5 @@ export declare const Wrapper: import("@emotion/styled/dist/declarations/src/type
10
10
  export declare const Content: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
11
11
  theme?: import("@emotion/react").Theme | undefined;
12
12
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
13
- } & {
14
- $hasAside?: boolean | undefined;
15
13
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
16
14
  export {};
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Content = exports.Wrapper = void 0;
4
- const constants_1 = require("../CardGridInfinite/constants");
4
+ const constants_1 = require("../constants");
5
5
  const PdfViewer_1 = require("../PdfViewer");
6
6
  const styled_1 = require("../styled");
7
7
  const constants_2 = require("./constants");
8
- const getPaddingContent = (theme, hasAside) => {
9
- return hasAside ? theme.spacing(4, 6, 4) : theme.spacing(0, 6, 4);
10
- };
11
8
  exports.Wrapper = (0, styled_1.styled)('article', {
12
9
  shouldForwardProp: (prop) => !['$isFullHeight', '$isSeparatorShown'].includes(prop),
13
10
  }) `
@@ -63,7 +60,11 @@ exports.Content = styled_1.styled.div `
63
60
  overflow: auto;
64
61
  flex-grow: 1;
65
62
 
66
- padding: ${({ theme, $hasAside }) => getPaddingContent(theme, $hasAside)};
63
+ padding: ${({ theme }) => theme.spacing(0, 6, 4)};
64
+
65
+ &.${constants_2.pageContentClassnames.contentHasHeader}, &.${constants_2.pageContentClassnames.hasAside} {
66
+ padding: ${({ theme }) => theme.spacing(4, 6, 4)};
67
+ }
67
68
 
68
69
  ${({ theme }) => theme.breakpoints.down('laptop')} {
69
70
  padding-right: ${({ theme }) => theme.spacing(4)};
@@ -83,16 +84,21 @@ exports.Content = styled_1.styled.div `
83
84
  border: 1px solid ${({ theme }) => theme.palette.components.border.default};
84
85
  border-radius: ${({ theme }) => theme.shape.medium};
85
86
 
86
- /* Причина игнора: Не критично для отображения */
87
- /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
88
- &:has(.${constants_1.cardGridClassnames.root}) {
89
- border: none;
90
- }
91
-
92
87
  &.${constants_2.pageContentClassnames.contentHasHeader} {
93
88
  border-top-left-radius: 0;
94
89
  border-top-right-radius: 0;
95
90
  }
91
+
92
+ /* Причина игнора: Не критично для отображения */
93
+ /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
94
+ &.${constants_2.pageContentClassnames.isUnconstrained}, &:has(> .${constants_1.selfContainedClassname}) {
95
+ margin: 0;
96
+ padding: 0;
97
+
98
+ background-color: unset;
99
+ border: none;
100
+ border-radius: 0;
101
+ }
96
102
  }
97
103
 
98
104
  /* Причина игнора: Не критично для отображения */
@@ -30,4 +30,8 @@ export type PageContentProps = {
30
30
  * Header контентной части
31
31
  */
32
32
  header?: ReactNode;
33
+ /**
34
+ * Флаг, позволяющий контенту занимать всю доступную ширину контейнера
35
+ */
36
+ isUnconstrained?: boolean;
33
37
  };
@@ -21,7 +21,7 @@ export declare const Credentials: import("@emotion/styled/dist/declarations/src/
21
21
  export declare const StyledChevron: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
22
22
  isActive?: boolean | undefined;
23
23
  className?: string | undefined;
24
- } & Omit<import("..").WithoutEmotionSpecific<import("@mui/material").SvgIconProps>, "classes" | "children" | "ref"> & {
24
+ } & Omit<import("..").WithoutEmotionSpecific<import("..").SvgIconProps>, "classes" | "children" | "ref"> & {
25
25
  theme?: import("@emotion/react").Theme | undefined;
26
26
  }, {}, {}>;
27
27
  export declare const StyledAvatar: import("@emotion/styled/dist/declarations/src/types").StyledComponent<Omit<AvatarProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & {
@@ -12,4 +12,13 @@ export type SearchFieldProps = Omit<TextFieldProps, 'startAdornment' | 'endAdorn
12
12
  * Если true, будет отображаться лоадер в конце инпута
13
13
  */
14
14
  isLoading?: boolean;
15
+ /**
16
+ * Если true, вводимое пользователем значение будет применяться с debounce задержкой
17
+ */
18
+ isDebounced?: boolean;
19
+ /**
20
+ * Время, на которое будет откладываться вызов onChange при вводе символов в инпут
21
+ * @default 250
22
+ */
23
+ debounceDelay?: number;
15
24
  };
@@ -15,5 +15,5 @@ type UseLogicResult = {
15
15
  onBlur: (event: FocusEvent<HTMLInputElement>) => void;
16
16
  hideHelperText?: boolean;
17
17
  };
18
- export declare const useLogic: ({ onChange: propsOnChange, defaultValue, value, inputRef: externalInputRef, disabled, onBlur: propsOnBlur, fullWidth, isLoading, placeholder, inputComponent, hideHelperText, ...restProps }: SearchFieldProps) => UseLogicResult;
18
+ export declare const useLogic: ({ onChange: propsOnChange, defaultValue, value, inputRef: externalInputRef, disabled, onBlur: propsOnBlur, fullWidth, isLoading, placeholder, inputComponent, hideHelperText, isDebounced, debounceDelay, ...restProps }: SearchFieldProps) => UseLogicResult;
19
19
  export {};
@@ -4,7 +4,9 @@ exports.useLogic = void 0;
4
4
  const react_1 = require("react");
5
5
  const useFirstMountState_1 = require("../../useFirstMountState");
6
6
  const useForwardedRef_1 = require("../../useForwardedRef");
7
- const useLogic = ({ onChange: propsOnChange, defaultValue, value, inputRef: externalInputRef, disabled, onBlur: propsOnBlur, fullWidth, isLoading, placeholder = 'Поиск', inputComponent, hideHelperText = true, ...restProps }) => {
7
+ const debounce_1 = require("../../utils/debounce");
8
+ const DEFAULT_DEBOUNCE_TIME = 250;
9
+ const useLogic = ({ onChange: propsOnChange, defaultValue, value, inputRef: externalInputRef, disabled, onBlur: propsOnBlur, fullWidth, isLoading, placeholder = 'Поиск', inputComponent, hideHelperText = true, isDebounced, debounceDelay = DEFAULT_DEBOUNCE_TIME, ...restProps }) => {
8
10
  const inputRef = (0, useForwardedRef_1.useForwardedRef)(externalInputRef);
9
11
  const [internalValue, setInternalValue] = (0, react_1.useState)(defaultValue || value || '');
10
12
  const isFirstRender = (0, useFirstMountState_1.useFirstMountState)();
@@ -16,13 +18,29 @@ const useLogic = ({ onChange: propsOnChange, defaultValue, value, inputRef: exte
16
18
  setInternalValue('');
17
19
  }
18
20
  }, [value]);
21
+ const createChangeEvent = (0, react_1.useCallback)((eventValue) => ({
22
+ target: {
23
+ value: eventValue,
24
+ },
25
+ }), []);
26
+ const debouncedOnChange = (0, react_1.useMemo)(() => isDebounced
27
+ ? (0, debounce_1.debounce)((targetValue) => propsOnChange?.(createChangeEvent(targetValue)), {
28
+ waitMs: debounceDelay,
29
+ }).call
30
+ : () => undefined, [createChangeEvent, propsOnChange, isDebounced]);
19
31
  const onChange = (event) => {
20
- const trimmedEvent = {
21
- ...event,
22
- target: { ...event.target, value: event.target.value.trim() },
23
- };
24
- propsOnChange?.(trimmedEvent);
25
- setInternalValue(event.target.value);
32
+ const originalValue = event.target.value;
33
+ setInternalValue(originalValue);
34
+ if (!propsOnChange) {
35
+ return;
36
+ }
37
+ const trimmedValue = originalValue.trim();
38
+ return isDebounced
39
+ ? debouncedOnChange(trimmedValue)
40
+ : propsOnChange({
41
+ ...event,
42
+ target: { ...event.target, value: trimmedValue },
43
+ });
26
44
  };
27
45
  const onBlur = (event) => {
28
46
  propsOnBlur?.(event);
@@ -30,15 +48,9 @@ const useLogic = ({ onChange: propsOnChange, defaultValue, value, inputRef: exte
30
48
  setInternalValue(value);
31
49
  }
32
50
  };
33
- const createChangeEvent = (eventValue) => {
34
- return {
35
- target: {
36
- value: eventValue,
37
- },
38
- };
39
- };
40
51
  const onClearValue = () => {
41
- onChange?.(createChangeEvent(''));
52
+ setInternalValue('');
53
+ propsOnChange?.(createChangeEvent(''));
42
54
  inputRef.current.value = '';
43
55
  inputRef.current?.focus();
44
56
  };
@@ -0,0 +1 @@
1
+ export declare const selfContainedClassname: string;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selfContainedClassname = void 0;
4
+ const createUIKitClassname_1 = require("../utils/createUIKitClassname");
5
+ exports.selfContainedClassname = (0, createUIKitClassname_1.createUIKitClassname)('self-contained');
@@ -1,3 +1,4 @@
1
1
  export * from './date';
2
2
  export * from './scrollbar';
3
3
  export * from './footer';
4
+ export * from './classnames';
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./date"), exports);
18
18
  __exportStar(require("./scrollbar"), exports);
19
19
  __exportStar(require("./footer"), exports);
20
+ __exportStar(require("./classnames"), exports);
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { type UseLogicParams } from './useLogic';
2
3
  export type HintPlaceholderProps = UseLogicParams;
3
- export declare const HintPlaceholder: (props: HintPlaceholderProps) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const HintPlaceholder: (props: HintPlaceholderProps) => number | bigint | true | import("react/jsx-runtime").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined>;
@@ -10,7 +10,10 @@ const useLogic_1 = require("./useLogic");
10
10
  const HintPlaceholder = (props) => {
11
11
  const { extensions, className, isMultiple, maxFileCount, maxFileSize, placeholder, } = (0, useLogic_1.useLogic)(props);
12
12
  if (placeholder) {
13
- return ((0, jsx_runtime_1.jsx)(Typography_1.Typography, { className: className, color: "grey", colorIntensity: "600", variant: "caption", align: "center", children: placeholder }));
13
+ if (typeof placeholder === 'string') {
14
+ return ((0, jsx_runtime_1.jsx)(Typography_1.Typography, { className: className, color: "grey", colorIntensity: "600", variant: "caption", align: "center", children: placeholder }));
15
+ }
16
+ return placeholder;
14
17
  }
15
18
  if (isMultiple) {
16
19
  return ((0, jsx_runtime_1.jsxs)(Typography_1.Typography, { className: className, color: "grey", colorIntensity: "600", variant: "caption", align: "center", children: ["\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u043B\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B. \u041D\u0435 \u0431\u043E\u043B\u0435\u0435 ", maxFileCount, ' ', (0, declensionFile_1.declensionFile)(maxFileCount), " \u0440\u0430\u0437\u043C\u0435\u0440\u043E\u043C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435", ' ', (0, formatFileSizeToView_1.formatFileSizeToView)(maxFileSize), extensions && ' в формате ', (0, jsx_runtime_1.jsx)(styles_1.Extensions, { children: extensions })] }));
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from 'react';
1
2
  export type UseLogicParams = {
2
3
  /**
3
4
  * Флаг доступности множественной загрузки файлов
@@ -16,9 +17,9 @@ export type UseLogicParams = {
16
17
  */
17
18
  maxFileSize: number;
18
19
  /**
19
- * Вспомогательный текст
20
+ * Вспомогательный текст или контент
20
21
  */
21
- placeholder?: string;
22
+ placeholder?: ReactNode;
22
23
  className?: string;
23
24
  };
24
25
  export declare const useLogic: ({ accept, ...restProps }: UseLogicParams) => {
@@ -35,9 +36,9 @@ export declare const useLogic: ({ accept, ...restProps }: UseLogicParams) => {
35
36
  */
36
37
  maxFileSize: number;
37
38
  /**
38
- * Вспомогательный текст
39
+ * Вспомогательный текст или контент
39
40
  */
40
- placeholder?: string | undefined;
41
+ placeholder?: ReactNode;
41
42
  className?: string | undefined;
42
43
  extensions: string;
43
44
  };
@@ -8,6 +8,15 @@ const styles_1 = require("./styles");
8
8
  const useLogic_1 = require("./useLogic");
9
9
  const HintPlaceholder = (props) => {
10
10
  const { extensions, imageProps, maxFileSize, placeholder, className, RenderImage, } = (0, useLogic_1.useLogic)(props);
11
- return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: className, children: [(0, jsx_runtime_1.jsx)(RenderImage, { ...imageProps, alt: "\u0424\u0430\u0439\u043B\u044B \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438" }), (0, jsx_runtime_1.jsx)(Typography_1.Typography, { component: "p", color: "textSecondary", variant: "caption", align: "center", children: placeholder || ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u043B\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u0430\u0439\u043B. \u0420\u0430\u0437\u043C\u0435\u0440\u043E\u043C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435", ' ', (0, formatFileSizeToView_1.formatFileSizeToView)(maxFileSize), extensions && ' в формате ', (0, jsx_runtime_1.jsx)(styles_1.Extensions, { children: extensions })] })) })] }));
11
+ const renderPlaceholder = () => {
12
+ if (!placeholder) {
13
+ return ((0, jsx_runtime_1.jsxs)(Typography_1.Typography, { component: "p", color: "textSecondary", variant: "caption", align: "center", children: ["\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u043B\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u0430\u0439\u043B. \u0420\u0430\u0437\u043C\u0435\u0440\u043E\u043C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435", ' ', (0, formatFileSizeToView_1.formatFileSizeToView)(maxFileSize), extensions && ' в формате ', (0, jsx_runtime_1.jsx)(styles_1.Extensions, { children: extensions })] }));
14
+ }
15
+ if (typeof placeholder === 'string') {
16
+ return ((0, jsx_runtime_1.jsx)(Typography_1.Typography, { component: "p", color: "textSecondary", variant: "caption", align: "center", children: placeholder }));
17
+ }
18
+ return placeholder;
19
+ };
20
+ return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: className, children: [(0, jsx_runtime_1.jsx)(RenderImage, { ...imageProps, alt: "\u0424\u0430\u0439\u043B\u044B \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438" }), renderPlaceholder()] }));
12
21
  };
13
22
  exports.HintPlaceholder = HintPlaceholder;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import { type ReactNode } from 'react';
2
2
  export type UseLogicParams = {
3
3
  /**
4
4
  * Массив разрешенных расширений
@@ -9,9 +9,9 @@ export type UseLogicParams = {
9
9
  */
10
10
  maxFileSize: number;
11
11
  /**
12
- * Вспомогательный текст
12
+ * Вспомогательный текст или контент
13
13
  */
14
- placeholder?: string;
14
+ placeholder?: ReactNode;
15
15
  /**
16
16
  * Кастомное изображение для placeholder. Дефолтное берется из configProvider, если было прокинуто
17
17
  */
@@ -24,9 +24,9 @@ export declare const useLogic: ({ accept, placeholderImgSrc, ...rest }: UseLogic
24
24
  */
25
25
  maxFileSize: number;
26
26
  /**
27
- * Вспомогательный текст
27
+ * Вспомогательный текст или контент
28
28
  */
29
- placeholder?: string | undefined;
29
+ placeholder?: ReactNode;
30
30
  className?: string | undefined;
31
31
  RenderImage: import("@emotion/styled").StyledComponent<{
32
32
  theme?: import("@emotion/react").Theme | undefined;
@@ -12,7 +12,7 @@ export declare const useFileUploader: ({ value, isDisabled, isMultiple, accept,
12
12
  accept: string[];
13
13
  maxFileCount: number;
14
14
  maxFileSize: number;
15
- placeholder: string | undefined;
15
+ placeholder: import("react").ReactNode;
16
16
  };
17
17
  fileInputProps: {
18
18
  id: string | undefined;
@@ -53,7 +53,7 @@ export declare const usePreviewFileUploader: ({ placeholderImgSrc, isHidePersona
53
53
  accept: string[];
54
54
  maxFileCount: number;
55
55
  maxFileSize: number;
56
- placeholder: string | undefined;
56
+ placeholder: import("react").ReactNode;
57
57
  };
58
58
  isLimitMaxFileCount: boolean;
59
59
  maxFileCount: number;
@@ -160,9 +160,9 @@ type BaseFileUploaderProps = {
160
160
  */
161
161
  restrictions?: RestrictionFn[];
162
162
  /**
163
- * Вспомогательный текст
163
+ * Вспомогательный текст или контент
164
164
  */
165
- placeholder?: string;
165
+ placeholder?: ReactNode;
166
166
  /**
167
167
  * Реф для доступа к input элементу
168
168
  */
@@ -0,0 +1 @@
1
+ export { useProfiler } from './useProfiler';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useProfiler = void 0;
4
+ var useProfiler_1 = require("./useProfiler");
5
+ Object.defineProperty(exports, "useProfiler", { enumerable: true, get: function () { return useProfiler_1.useProfiler; } });
@@ -0,0 +1,14 @@
1
+ type UseProfilerParams = {
2
+ componentName: string;
3
+ props: Record<string, unknown>;
4
+ id?: string;
5
+ };
6
+ /**
7
+ * Хук для отладки ререндеров компонентов.
8
+ * Логирует номер рендера, изменившиеся props и предупреждает,
9
+ * если ссылка на объект изменилась при неизменном содержимом.
10
+ *
11
+ * Только для внутреннего использования в uikit, не является публичным API.
12
+ */
13
+ export declare const useProfiler: ({ componentName, props, id, }: UseProfilerParams) => void;
14
+ export {};
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useProfiler = void 0;
4
+ /** biome-ignore-all lint/suspicious/noConsole: сообщения для отладки */
5
+ const react_1 = require("react");
6
+ const utils_1 = require("./utils");
7
+ /**
8
+ * Хук для отладки ререндеров компонентов.
9
+ * Логирует номер рендера, изменившиеся props и предупреждает,
10
+ * если ссылка на объект изменилась при неизменном содержимом.
11
+ *
12
+ * Только для внутреннего использования в uikit, не является публичным API.
13
+ */
14
+ const useProfiler = ({ componentName, props, id, }) => {
15
+ const renderCountRef = (0, react_1.useRef)(0);
16
+ const prevPropsRef = (0, react_1.useRef)(props);
17
+ renderCountRef.current += 1;
18
+ const prevProps = prevPropsRef.current;
19
+ const entityId = id ? ` [id:${id}]` : '';
20
+ const changedProps = {};
21
+ Object.keys(props).forEach((key) => {
22
+ const prevValue = prevProps[key];
23
+ const currentValue = props[key];
24
+ if (!Object.is(prevValue, currentValue)) {
25
+ const isContentEqual = (0, utils_1.isObject)(currentValue) && (0, utils_1.shallowEqual)(prevValue, currentValue);
26
+ changedProps[key] = {
27
+ from: prevValue,
28
+ to: currentValue,
29
+ isLinkChangedButContentEqual: isContentEqual,
30
+ };
31
+ }
32
+ });
33
+ (0, react_1.useEffect)(() => {
34
+ console.group(`🔍 [${componentName}${entityId}] Рендер #${renderCountRef.current}`);
35
+ if (Object.keys(changedProps).length > 0) {
36
+ console.log('Изменились параметры компонента:', changedProps);
37
+ Object.keys(changedProps).forEach((key) => {
38
+ if (changedProps[key].isLinkChangedButContentEqual) {
39
+ console.warn(`Параметр "${key}" изменил ссылку, хотя данные внутри остались прежними`);
40
+ }
41
+ });
42
+ }
43
+ else {
44
+ console.log('Изменений не произошло, но происходит ререндер');
45
+ }
46
+ console.groupEnd();
47
+ });
48
+ prevPropsRef.current = props;
49
+ };
50
+ exports.useProfiler = useProfiler;
@@ -0,0 +1 @@
1
+ export * from './shallowEqual';