@gravity-ui/dashkit 8.26.1 → 9.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/build/cjs/components/ActionPanel/ActionPanel.d.ts +2 -2
  2. package/build/cjs/components/ActionPanel/ActionPanel.js +4 -2
  3. package/build/cjs/components/ActionPanel/ActionPanel.js.map +1 -0
  4. package/build/cjs/components/ActionPanel/types.d.ts +1 -1
  5. package/build/cjs/components/ActionPanel/types.js +1 -0
  6. package/build/cjs/components/ActionPanel/types.js.map +1 -0
  7. package/build/cjs/components/DashKit/DashKit.d.ts +5 -5
  8. package/build/cjs/components/DashKit/DashKit.js +8 -7
  9. package/build/cjs/components/DashKit/DashKit.js.map +1 -0
  10. package/build/cjs/components/DashKit/index.d.ts +1 -1
  11. package/build/cjs/components/DashKit/index.js +2 -1
  12. package/build/cjs/components/DashKit/index.js.map +1 -0
  13. package/build/cjs/components/DashKitDnDWrapper/DashKitDnDWrapper.d.ts +1 -1
  14. package/build/cjs/components/DashKitDnDWrapper/DashKitDnDWrapper.js +2 -1
  15. package/build/cjs/components/DashKitDnDWrapper/DashKitDnDWrapper.js.map +1 -0
  16. package/build/cjs/components/DashKitView/DashKitView.d.ts +3 -2
  17. package/build/cjs/components/DashKitView/DashKitView.js +8 -6
  18. package/build/cjs/components/DashKitView/DashKitView.js.map +1 -0
  19. package/build/cjs/components/GridItem/GridItem.js +7 -5
  20. package/build/cjs/components/GridItem/GridItem.js.map +1 -0
  21. package/build/cjs/components/GridLayout/GridLayout.d.ts +1 -1
  22. package/build/cjs/components/GridLayout/GridLayout.js +6 -5
  23. package/build/cjs/components/GridLayout/GridLayout.js.map +1 -0
  24. package/build/cjs/components/GridLayout/ReactGridLayout.js +2 -1
  25. package/build/cjs/components/GridLayout/ReactGridLayout.js.map +1 -0
  26. package/build/cjs/components/Item/Item.d.ts +1 -1
  27. package/build/cjs/components/Item/Item.js +4 -2
  28. package/build/cjs/components/Item/Item.js.map +1 -0
  29. package/build/cjs/components/MobileLayout/MobileLayout.d.ts +6 -5
  30. package/build/cjs/components/MobileLayout/MobileLayout.js +8 -6
  31. package/build/cjs/components/MobileLayout/MobileLayout.js.map +1 -0
  32. package/build/cjs/components/MobileLayout/helpers.d.ts +3 -3
  33. package/build/cjs/components/MobileLayout/helpers.js +1 -0
  34. package/build/cjs/components/MobileLayout/helpers.js.map +1 -0
  35. package/build/cjs/components/OverlayControls/OverlayControls.d.ts +4 -3
  36. package/build/cjs/components/OverlayControls/OverlayControls.js +10 -8
  37. package/build/cjs/components/OverlayControls/OverlayControls.js.map +1 -0
  38. package/build/cjs/components/index.d.ts +5 -5
  39. package/build/cjs/components/index.js +4 -3
  40. package/build/cjs/components/index.js.map +1 -0
  41. package/build/cjs/constants/common.js +1 -0
  42. package/build/cjs/constants/common.js.map +1 -0
  43. package/build/cjs/constants/index.d.ts +1 -1
  44. package/build/cjs/constants/index.js +2 -1
  45. package/build/cjs/constants/index.js.map +1 -0
  46. package/build/cjs/context/DashKitContext.d.ts +3 -4
  47. package/build/cjs/context/DashKitContext.js +1 -0
  48. package/build/cjs/context/DashKitContext.js.map +1 -0
  49. package/build/cjs/context/DashKitDnDContext.d.ts +1 -1
  50. package/build/cjs/context/DashKitDnDContext.js +1 -0
  51. package/build/cjs/context/DashKitDnDContext.js.map +1 -0
  52. package/build/cjs/context/DashkitOverlayControlsContext.d.ts +3 -3
  53. package/build/cjs/context/DashkitOverlayControlsContext.js +1 -0
  54. package/build/cjs/context/DashkitOverlayControlsContext.js.map +1 -0
  55. package/build/cjs/context/index.d.ts +3 -3
  56. package/build/cjs/context/index.js +4 -3
  57. package/build/cjs/context/index.js.map +1 -0
  58. package/build/cjs/helpers.d.ts +3 -3
  59. package/build/cjs/helpers.js +4 -3
  60. package/build/cjs/helpers.js.map +1 -0
  61. package/build/cjs/hocs/prepareItem.d.ts +1 -1
  62. package/build/cjs/hocs/prepareItem.js +4 -4
  63. package/build/cjs/hocs/prepareItem.js.map +1 -0
  64. package/build/cjs/hocs/withContext.js +9 -9
  65. package/build/cjs/hocs/withContext.js.map +1 -0
  66. package/build/cjs/hooks/useCalcLayout.d.ts +5 -5
  67. package/build/cjs/hooks/useCalcLayout.js +2 -1
  68. package/build/cjs/hooks/useCalcLayout.js.map +1 -0
  69. package/build/cjs/hooks/useDeepEqualMemo.js +2 -1
  70. package/build/cjs/hooks/useDeepEqualMemo.js.map +1 -0
  71. package/build/cjs/hooks/useDnDItemProps.d.ts +1 -1
  72. package/build/cjs/hooks/useDnDItemProps.js +2 -1
  73. package/build/cjs/hooks/useDnDItemProps.js.map +1 -0
  74. package/build/cjs/i18n/index.d.ts +1 -1
  75. package/build/cjs/i18n/index.js +1 -0
  76. package/build/cjs/i18n/index.js.map +1 -0
  77. package/build/cjs/index.d.ts +4 -4
  78. package/build/cjs/index.js +5 -4
  79. package/build/cjs/index.js.map +1 -0
  80. package/build/cjs/package.json +1 -0
  81. package/build/cjs/plugins/Text/Text.d.ts +2 -1
  82. package/build/cjs/plugins/Text/Text.js +5 -3
  83. package/build/cjs/plugins/Text/Text.js.map +1 -0
  84. package/build/cjs/plugins/Text/index.d.ts +2 -2
  85. package/build/cjs/plugins/Text/index.js +3 -2
  86. package/build/cjs/plugins/Text/index.js.map +1 -0
  87. package/build/cjs/plugins/Title/Title.d.ts +3 -2
  88. package/build/cjs/plugins/Title/Title.js +6 -4
  89. package/build/cjs/plugins/Title/Title.js.map +1 -0
  90. package/build/cjs/plugins/Title/constants.d.ts +1 -1
  91. package/build/cjs/plugins/Title/constants.js +1 -0
  92. package/build/cjs/plugins/Title/constants.js.map +1 -0
  93. package/build/cjs/plugins/Title/index.d.ts +4 -4
  94. package/build/cjs/plugins/Title/index.js +4 -3
  95. package/build/cjs/plugins/Title/index.js.map +1 -0
  96. package/build/cjs/plugins/Title/types.js +1 -0
  97. package/build/cjs/plugins/Title/types.js.map +1 -0
  98. package/build/cjs/plugins/Title/utils.d.ts +1 -1
  99. package/build/cjs/plugins/Title/utils.js +2 -2
  100. package/build/cjs/plugins/Title/utils.js.map +1 -0
  101. package/build/cjs/plugins/constants.js +1 -0
  102. package/build/cjs/plugins/constants.js.map +1 -0
  103. package/build/cjs/plugins/index.d.ts +3 -3
  104. package/build/cjs/plugins/index.js +4 -3
  105. package/build/cjs/plugins/index.js.map +1 -0
  106. package/build/cjs/shared/constants/common.js +1 -0
  107. package/build/cjs/shared/constants/common.js.map +1 -0
  108. package/build/cjs/shared/constants/index.d.ts +1 -1
  109. package/build/cjs/shared/constants/index.js +2 -1
  110. package/build/cjs/shared/constants/index.js.map +1 -0
  111. package/build/cjs/shared/index.d.ts +4 -4
  112. package/build/cjs/shared/index.js +5 -4
  113. package/build/cjs/shared/index.js.map +1 -0
  114. package/build/cjs/shared/modules/__tests__/helpers.test.js +3 -2
  115. package/build/cjs/shared/modules/__tests__/helpers.test.js.map +1 -0
  116. package/build/cjs/shared/modules/__tests__/uniq-id.test.js +2 -1
  117. package/build/cjs/shared/modules/__tests__/uniq-id.test.js.map +1 -0
  118. package/build/cjs/shared/modules/helpers.d.ts +1 -1
  119. package/build/cjs/shared/modules/helpers.js +25 -25
  120. package/build/cjs/shared/modules/helpers.js.map +1 -0
  121. package/build/cjs/shared/modules/index.d.ts +3 -3
  122. package/build/cjs/shared/modules/index.js +4 -3
  123. package/build/cjs/shared/modules/index.js.map +1 -0
  124. package/build/cjs/shared/modules/state-and-params.d.ts +1 -1
  125. package/build/cjs/shared/modules/state-and-params.js +7 -7
  126. package/build/cjs/shared/modules/state-and-params.js.map +1 -0
  127. package/build/cjs/shared/modules/uniq-id.d.ts +1 -1
  128. package/build/cjs/shared/modules/uniq-id.js +4 -4
  129. package/build/cjs/shared/modules/uniq-id.js.map +1 -0
  130. package/build/cjs/shared/types/common.d.ts +1 -1
  131. package/build/cjs/shared/types/common.js +1 -0
  132. package/build/cjs/shared/types/common.js.map +1 -0
  133. package/build/cjs/shared/types/config.d.ts +1 -1
  134. package/build/cjs/shared/types/config.js +1 -0
  135. package/build/cjs/shared/types/config.js.map +1 -0
  136. package/build/cjs/shared/types/index.d.ts +4 -4
  137. package/build/cjs/shared/types/index.js +5 -4
  138. package/build/cjs/shared/types/index.js.map +1 -0
  139. package/build/cjs/shared/types/plugin.d.ts +1 -1
  140. package/build/cjs/shared/types/plugin.js +1 -0
  141. package/build/cjs/shared/types/plugin.js.map +1 -0
  142. package/build/cjs/shared/types/state-and-params.d.ts +2 -2
  143. package/build/cjs/shared/types/state-and-params.js +2 -1
  144. package/build/cjs/shared/types/state-and-params.js.map +1 -0
  145. package/build/cjs/shared/units/__tests__/state-and-params.test.js +4 -3
  146. package/build/cjs/shared/units/__tests__/state-and-params.test.js.map +1 -0
  147. package/build/cjs/shared/units/datalens/index.d.ts +2 -2
  148. package/build/cjs/shared/units/datalens/index.js +6 -5
  149. package/build/cjs/shared/units/datalens/index.js.map +1 -0
  150. package/build/cjs/shared/units/index.d.ts +1 -1
  151. package/build/cjs/shared/units/index.js +2 -1
  152. package/build/cjs/shared/units/index.js.map +1 -0
  153. package/build/cjs/typings/common.d.ts +3 -3
  154. package/build/cjs/typings/common.js +1 -0
  155. package/build/cjs/typings/common.js.map +1 -0
  156. package/build/cjs/typings/config.d.ts +2 -3
  157. package/build/cjs/typings/config.js +1 -0
  158. package/build/cjs/typings/config.js.map +1 -0
  159. package/build/cjs/typings/index.d.ts +3 -3
  160. package/build/cjs/typings/index.js +4 -3
  161. package/build/cjs/typings/index.js.map +1 -0
  162. package/build/cjs/typings/plugin.d.ts +2 -2
  163. package/build/cjs/typings/plugin.js +1 -0
  164. package/build/cjs/typings/plugin.js.map +1 -0
  165. package/build/cjs/utils/__tests__/update-manager.test.js +2 -1
  166. package/build/cjs/utils/__tests__/update-manager.test.js.map +1 -0
  167. package/build/cjs/utils/cn.js +1 -0
  168. package/build/cjs/utils/cn.js.map +1 -0
  169. package/build/cjs/utils/get-new-id.d.ts +1 -1
  170. package/build/cjs/utils/get-new-id.js +3 -3
  171. package/build/cjs/utils/get-new-id.js.map +1 -0
  172. package/build/cjs/utils/grid-layout.d.ts +1 -1
  173. package/build/cjs/utils/grid-layout.js +1 -0
  174. package/build/cjs/utils/grid-layout.js.map +1 -0
  175. package/build/cjs/utils/group-helpers.d.ts +1 -1
  176. package/build/cjs/utils/group-helpers.js +2 -1
  177. package/build/cjs/utils/group-helpers.js.map +1 -0
  178. package/build/cjs/utils/index.d.ts +3 -3
  179. package/build/cjs/utils/index.js +4 -3
  180. package/build/cjs/utils/index.js.map +1 -0
  181. package/build/cjs/utils/register-manager.d.ts +1 -1
  182. package/build/cjs/utils/register-manager.js +1 -0
  183. package/build/cjs/utils/register-manager.js.map +1 -0
  184. package/build/cjs/utils/update-manager.d.ts +4 -4
  185. package/build/cjs/utils/update-manager.js +10 -9
  186. package/build/cjs/utils/update-manager.js.map +1 -0
  187. package/build/esm/components/ActionPanel/ActionPanel.d.ts +2 -3
  188. package/build/esm/components/ActionPanel/ActionPanel.js +4 -3
  189. package/build/esm/components/ActionPanel/ActionPanel.js.map +1 -0
  190. package/build/esm/components/ActionPanel/types.d.ts +1 -1
  191. package/build/esm/components/ActionPanel/types.js +1 -0
  192. package/build/esm/components/ActionPanel/types.js.map +1 -0
  193. package/build/esm/components/DashKit/DashKit.d.ts +5 -5
  194. package/build/esm/components/DashKit/DashKit.js +8 -7
  195. package/build/esm/components/DashKit/DashKit.js.map +1 -0
  196. package/build/esm/components/DashKit/index.d.ts +1 -1
  197. package/build/esm/components/DashKit/index.js +2 -1
  198. package/build/esm/components/DashKit/index.js.map +1 -0
  199. package/build/esm/components/DashKitDnDWrapper/DashKitDnDWrapper.d.ts +1 -1
  200. package/build/esm/components/DashKitDnDWrapper/DashKitDnDWrapper.js +2 -1
  201. package/build/esm/components/DashKitDnDWrapper/DashKitDnDWrapper.js.map +1 -0
  202. package/build/esm/components/DashKitView/DashKitView.d.ts +3 -3
  203. package/build/esm/components/DashKitView/DashKitView.js +8 -7
  204. package/build/esm/components/DashKitView/DashKitView.js.map +1 -0
  205. package/build/esm/components/GridItem/GridItem.js +7 -6
  206. package/build/esm/components/GridItem/GridItem.js.map +1 -0
  207. package/build/esm/components/GridLayout/GridLayout.d.ts +1 -1
  208. package/build/esm/components/GridLayout/GridLayout.js +6 -5
  209. package/build/esm/components/GridLayout/GridLayout.js.map +1 -0
  210. package/build/esm/components/GridLayout/ReactGridLayout.js +2 -1
  211. package/build/esm/components/GridLayout/ReactGridLayout.js.map +1 -0
  212. package/build/esm/components/Item/Item.d.ts +1 -1
  213. package/build/esm/components/Item/Item.js +4 -3
  214. package/build/esm/components/Item/Item.js.map +1 -0
  215. package/build/esm/components/MobileLayout/MobileLayout.d.ts +6 -6
  216. package/build/esm/components/MobileLayout/MobileLayout.js +8 -7
  217. package/build/esm/components/MobileLayout/MobileLayout.js.map +1 -0
  218. package/build/esm/components/MobileLayout/helpers.d.ts +3 -3
  219. package/build/esm/components/MobileLayout/helpers.js +1 -0
  220. package/build/esm/components/MobileLayout/helpers.js.map +1 -0
  221. package/build/esm/components/OverlayControls/OverlayControls.d.ts +4 -4
  222. package/build/esm/components/OverlayControls/OverlayControls.js +10 -9
  223. package/build/esm/components/OverlayControls/OverlayControls.js.map +1 -0
  224. package/build/esm/components/index.d.ts +5 -5
  225. package/build/esm/components/index.js +4 -3
  226. package/build/esm/components/index.js.map +1 -0
  227. package/build/esm/constants/common.js +1 -0
  228. package/build/esm/constants/common.js.map +1 -0
  229. package/build/esm/constants/index.d.ts +1 -1
  230. package/build/esm/constants/index.js +2 -1
  231. package/build/esm/constants/index.js.map +1 -0
  232. package/build/esm/context/DashKitContext.d.ts +3 -4
  233. package/build/esm/context/DashKitContext.js +1 -0
  234. package/build/esm/context/DashKitContext.js.map +1 -0
  235. package/build/esm/context/DashKitDnDContext.d.ts +1 -1
  236. package/build/esm/context/DashKitDnDContext.js +1 -0
  237. package/build/esm/context/DashKitDnDContext.js.map +1 -0
  238. package/build/esm/context/DashkitOverlayControlsContext.d.ts +3 -3
  239. package/build/esm/context/DashkitOverlayControlsContext.js +1 -0
  240. package/build/esm/context/DashkitOverlayControlsContext.js.map +1 -0
  241. package/build/esm/context/index.d.ts +3 -3
  242. package/build/esm/context/index.js +4 -3
  243. package/build/esm/context/index.js.map +1 -0
  244. package/build/esm/helpers.d.ts +3 -3
  245. package/build/esm/helpers.js +4 -3
  246. package/build/esm/helpers.js.map +1 -0
  247. package/build/esm/hocs/prepareItem.d.ts +1 -1
  248. package/build/esm/hocs/prepareItem.js +3 -2
  249. package/build/esm/hocs/prepareItem.js.map +1 -0
  250. package/build/esm/hocs/withContext.js +8 -7
  251. package/build/esm/hocs/withContext.js.map +1 -0
  252. package/build/esm/hooks/useCalcLayout.d.ts +5 -5
  253. package/build/esm/hooks/useCalcLayout.js +2 -1
  254. package/build/esm/hooks/useCalcLayout.js.map +1 -0
  255. package/build/esm/hooks/useDeepEqualMemo.js +2 -1
  256. package/build/esm/hooks/useDeepEqualMemo.js.map +1 -0
  257. package/build/esm/hooks/useDnDItemProps.d.ts +1 -1
  258. package/build/esm/hooks/useDnDItemProps.js +2 -1
  259. package/build/esm/hooks/useDnDItemProps.js.map +1 -0
  260. package/build/esm/i18n/index.d.ts +1 -1
  261. package/build/esm/i18n/index.js +3 -2
  262. package/build/esm/i18n/index.js.map +1 -0
  263. package/build/esm/index.d.ts +4 -4
  264. package/build/esm/index.js +5 -4
  265. package/build/esm/index.js.map +1 -0
  266. package/build/esm/package.json +1 -0
  267. package/build/esm/plugins/Text/Text.d.ts +2 -2
  268. package/build/esm/plugins/Text/Text.js +5 -4
  269. package/build/esm/plugins/Text/Text.js.map +1 -0
  270. package/build/esm/plugins/Text/index.d.ts +2 -2
  271. package/build/esm/plugins/Text/index.js +3 -2
  272. package/build/esm/plugins/Text/index.js.map +1 -0
  273. package/build/esm/plugins/Title/Title.d.ts +3 -3
  274. package/build/esm/plugins/Title/Title.js +6 -5
  275. package/build/esm/plugins/Title/Title.js.map +1 -0
  276. package/build/esm/plugins/Title/constants.d.ts +1 -1
  277. package/build/esm/plugins/Title/constants.js +1 -0
  278. package/build/esm/plugins/Title/constants.js.map +1 -0
  279. package/build/esm/plugins/Title/index.d.ts +4 -4
  280. package/build/esm/plugins/Title/index.js +4 -3
  281. package/build/esm/plugins/Title/index.js.map +1 -0
  282. package/build/esm/plugins/Title/types.js +1 -0
  283. package/build/esm/plugins/Title/types.js.map +1 -0
  284. package/build/esm/plugins/Title/utils.d.ts +1 -1
  285. package/build/esm/plugins/Title/utils.js +1 -0
  286. package/build/esm/plugins/Title/utils.js.map +1 -0
  287. package/build/esm/plugins/constants.js +1 -0
  288. package/build/esm/plugins/constants.js.map +1 -0
  289. package/build/esm/plugins/index.d.ts +3 -3
  290. package/build/esm/plugins/index.js +4 -3
  291. package/build/esm/plugins/index.js.map +1 -0
  292. package/build/esm/shared/constants/common.js +1 -0
  293. package/build/esm/shared/constants/common.js.map +1 -0
  294. package/build/esm/shared/constants/index.d.ts +1 -1
  295. package/build/esm/shared/constants/index.js +2 -1
  296. package/build/esm/shared/constants/index.js.map +1 -0
  297. package/build/esm/shared/index.d.ts +4 -4
  298. package/build/esm/shared/index.js +5 -4
  299. package/build/esm/shared/index.js.map +1 -0
  300. package/build/esm/shared/modules/__tests__/helpers.test.js +3 -2
  301. package/build/esm/shared/modules/__tests__/helpers.test.js.map +1 -0
  302. package/build/esm/shared/modules/__tests__/uniq-id.test.js +2 -1
  303. package/build/esm/shared/modules/__tests__/uniq-id.test.js.map +1 -0
  304. package/build/esm/shared/modules/helpers.d.ts +1 -1
  305. package/build/esm/shared/modules/helpers.js +7 -6
  306. package/build/esm/shared/modules/helpers.js.map +1 -0
  307. package/build/esm/shared/modules/index.d.ts +3 -3
  308. package/build/esm/shared/modules/index.js +4 -3
  309. package/build/esm/shared/modules/index.js.map +1 -0
  310. package/build/esm/shared/modules/state-and-params.d.ts +1 -1
  311. package/build/esm/shared/modules/state-and-params.js +4 -3
  312. package/build/esm/shared/modules/state-and-params.js.map +1 -0
  313. package/build/esm/shared/modules/uniq-id.d.ts +1 -1
  314. package/build/esm/shared/modules/uniq-id.js +2 -1
  315. package/build/esm/shared/modules/uniq-id.js.map +1 -0
  316. package/build/esm/shared/types/common.d.ts +1 -1
  317. package/build/esm/shared/types/common.js +1 -0
  318. package/build/esm/shared/types/common.js.map +1 -0
  319. package/build/esm/shared/types/config.d.ts +1 -1
  320. package/build/esm/shared/types/config.js +1 -0
  321. package/build/esm/shared/types/config.js.map +1 -0
  322. package/build/esm/shared/types/index.d.ts +4 -4
  323. package/build/esm/shared/types/index.js +5 -4
  324. package/build/esm/shared/types/index.js.map +1 -0
  325. package/build/esm/shared/types/plugin.d.ts +1 -1
  326. package/build/esm/shared/types/plugin.js +1 -0
  327. package/build/esm/shared/types/plugin.js.map +1 -0
  328. package/build/esm/shared/types/state-and-params.d.ts +2 -2
  329. package/build/esm/shared/types/state-and-params.js +2 -1
  330. package/build/esm/shared/types/state-and-params.js.map +1 -0
  331. package/build/esm/shared/units/__tests__/state-and-params.test.js +5 -4
  332. package/build/esm/shared/units/__tests__/state-and-params.test.js.map +1 -0
  333. package/build/esm/shared/units/datalens/index.d.ts +2 -2
  334. package/build/esm/shared/units/datalens/index.js +4 -3
  335. package/build/esm/shared/units/datalens/index.js.map +1 -0
  336. package/build/esm/shared/units/index.d.ts +1 -1
  337. package/build/esm/shared/units/index.js +2 -1
  338. package/build/esm/shared/units/index.js.map +1 -0
  339. package/build/esm/typings/common.d.ts +3 -3
  340. package/build/esm/typings/common.js +1 -0
  341. package/build/esm/typings/common.js.map +1 -0
  342. package/build/esm/typings/config.d.ts +2 -3
  343. package/build/esm/typings/config.js +1 -0
  344. package/build/esm/typings/config.js.map +1 -0
  345. package/build/esm/typings/index.d.ts +3 -3
  346. package/build/esm/typings/index.js +4 -3
  347. package/build/esm/typings/index.js.map +1 -0
  348. package/build/esm/typings/plugin.d.ts +2 -2
  349. package/build/esm/typings/plugin.js +1 -0
  350. package/build/esm/typings/plugin.js.map +1 -0
  351. package/build/esm/utils/__tests__/update-manager.test.js +2 -1
  352. package/build/esm/utils/__tests__/update-manager.test.js.map +1 -0
  353. package/build/esm/utils/cn.js +1 -0
  354. package/build/esm/utils/cn.js.map +1 -0
  355. package/build/esm/utils/get-new-id.d.ts +1 -1
  356. package/build/esm/utils/get-new-id.js +2 -1
  357. package/build/esm/utils/get-new-id.js.map +1 -0
  358. package/build/esm/utils/grid-layout.d.ts +1 -1
  359. package/build/esm/utils/grid-layout.js +1 -0
  360. package/build/esm/utils/grid-layout.js.map +1 -0
  361. package/build/esm/utils/group-helpers.d.ts +1 -1
  362. package/build/esm/utils/group-helpers.js +2 -1
  363. package/build/esm/utils/group-helpers.js.map +1 -0
  364. package/build/esm/utils/index.d.ts +3 -3
  365. package/build/esm/utils/index.js +4 -3
  366. package/build/esm/utils/index.js.map +1 -0
  367. package/build/esm/utils/register-manager.d.ts +1 -1
  368. package/build/esm/utils/register-manager.js +1 -0
  369. package/build/esm/utils/register-manager.js.map +1 -0
  370. package/build/esm/utils/update-manager.d.ts +4 -4
  371. package/build/esm/utils/update-manager.js +8 -7
  372. package/build/esm/utils/update-manager.js.map +1 -0
  373. package/package.json +14 -14
@@ -1,3 +1,3 @@
1
- import type { ConfigItem, ConfigLayout } from '../../shared';
2
- import { DashKitProps } from '../DashKit';
3
- export declare const getSortedConfigItems: (config: DashKitProps['config'], hasOrderId: boolean) => (ConfigItem & ConfigLayout)[];
1
+ import type { ConfigItem, ConfigLayout } from "../../shared/index.js";
2
+ import { DashKitProps } from "../DashKit/index.js";
3
+ export declare const getSortedConfigItems: (config: DashKitProps["config"], hasOrderId: boolean) => (ConfigItem & ConfigLayout)[];
@@ -26,3 +26,4 @@ export const getSortedConfigItems = (config, hasOrderId) => {
26
26
  .map((item, index) => Object.assign({}, item, config.layout[index]))
27
27
  .sort(sortComparator);
28
28
  };
29
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"../../../../src","sources":["components/MobileLayout/helpers.ts"],"names":[],"mappings":"AAGA,MAAM,qBAAqB,GAAG,CAAC,IAAgB,EAAE,IAAgB,EAAE,SAA2B,EAAE,EAAE;IAC9F,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACb,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,UAAmB,EAAE,EAAE;IACrD,OAAO,UAAU;QACb,CAAC,CAAC,CAAC,IAAgB,EAAE,IAAgB,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;QACtF,CAAC,CAAC,CAAC,IAAkB,EAAE,IAAkB,EAAE,EAAE,CACvC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAA8B,EAAE,UAAmB,EAAE,EAAE;IACxF,MAAM,cAAc,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE5D,OAAO,MAAM,CAAC,KAAK;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACnE,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9B,CAAC,CAAC","sourcesContent":["import type {ConfigItem, ConfigLayout} from '../../shared';\nimport {DashKitProps} from '../DashKit';\n\nconst sortByOrderComparator = (prev: ConfigItem, next: ConfigItem, fieldName: keyof ConfigItem) => {\n const prevOrderId = prev[fieldName];\n const nextOrderId = next[fieldName];\n\n if (prevOrderId === undefined) {\n return 1;\n }\n if (nextOrderId === undefined) {\n return -1;\n }\n if (prevOrderId > nextOrderId) {\n return 1;\n } else if (prevOrderId < nextOrderId) {\n return -1;\n }\n return 0;\n};\n\nconst getWidgetsSortComparator = (hasOrderId: boolean) => {\n return hasOrderId\n ? (prev: ConfigItem, next: ConfigItem) => sortByOrderComparator(prev, next, 'orderId')\n : (prev: ConfigLayout, next: ConfigLayout) =>\n prev.y === next.y ? prev.x - next.x : prev.y - next.y;\n};\n\nexport const getSortedConfigItems = (config: DashKitProps['config'], hasOrderId: boolean) => {\n const sortComparator = getWidgetsSortComparator(hasOrderId);\n\n return config.items\n .map((item, index) => Object.assign({}, item, config.layout[index]))\n .sort(sortComparator);\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { ButtonSize, ButtonView, IconProps, MenuItemProps } from '@gravity-ui/uikit';
3
- import { OverlayControlsCtxShape } from '../../context';
4
- import { type ConfigItem, type ItemParams, type ItemState, type PluginBase } from '../../shared';
5
- import './OverlayControls.css';
3
+ import { OverlayControlsCtxShape } from "../../context/index.js";
4
+ import { type ConfigItem, type ItemParams, type ItemState, type PluginBase } from "../../shared/index.js";
5
+ import "./OverlayControls.css";
6
6
  export declare enum OverlayControlsPosition {
7
7
  TopRight = "top_right",
8
8
  TopLeft = "top_left",
@@ -23,7 +23,7 @@ export interface OverlayControlItem {
23
23
  export interface OverlayCustomControlItem {
24
24
  id: string;
25
25
  title?: string;
26
- icon?: MenuItemProps['icon'];
26
+ icon?: MenuItemProps['iconStart'];
27
27
  iconSize?: number | string;
28
28
  handler?: (item: ConfigItem, params: ItemParams, state: ItemState) => void;
29
29
  visible?: (item: ConfigItem) => boolean;
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { Ellipsis, Gear, Xmark } from '@gravity-ui/icons';
3
3
  import { Button, DropdownMenu, Icon, } from '@gravity-ui/uikit';
4
- import noop from 'lodash/noop';
5
- import { COPIED_WIDGET_STORE_KEY, DRAGGABLE_CANCEL_CLASS_NAME, MenuItems, OVERLAY_CONTROLS_CLASS_NAME, OVERLAY_ICON_SIZE, } from '../../constants';
6
- import { DashkitOvelayControlsContext } from '../../context';
7
- import { i18n } from '../../i18n';
8
- import { isItemWithTabs, resolveItemInnerId, } from '../../shared';
9
- import { cn } from '../../utils/cn';
10
- import './OverlayControls.css';
4
+ import noop from "lodash/noop.js";
5
+ import { COPIED_WIDGET_STORE_KEY, DRAGGABLE_CANCEL_CLASS_NAME, MenuItems, OVERLAY_CONTROLS_CLASS_NAME, OVERLAY_ICON_SIZE, } from "../../constants/index.js";
6
+ import { DashkitOvelayControlsContext } from "../../context/index.js";
7
+ import { i18n } from "../../i18n/index.js";
8
+ import { isItemWithTabs, resolveItemInnerId, } from "../../shared/index.js";
9
+ import { cn } from "../../utils/cn.js";
10
+ import "./OverlayControls.css";
11
11
  const b = cn(OVERLAY_CONTROLS_CLASS_NAME);
12
12
  export var OverlayControlsPosition;
13
13
  (function (OverlayControlsPosition) {
@@ -227,7 +227,7 @@ class OverlayControls extends React.Component {
227
227
  memo.push({
228
228
  // @ts-expect-error
229
229
  text: item.title || i18n(item.id),
230
- icon: item.icon,
230
+ iconStart: item.icon,
231
231
  action: itemAction,
232
232
  className: item.className,
233
233
  qa: item.qa,
@@ -239,7 +239,7 @@ class OverlayControls extends React.Component {
239
239
  }
240
240
  return (React.createElement(DropdownMenu, { key: 'controls_dropdown', items: items, renderSwitcher: (props) => (React.createElement(Button, Object.assign({}, props, { view: view, size: size, pin: isOnlyOneItem ? 'round-round' : 'brick-round', qa: "dashkit-overlay-control-menu" }),
241
241
  React.createElement(Icon, { data: Ellipsis, size: OVERLAY_ICON_SIZE }))), popupProps: {
242
- contentClassName: DRAGGABLE_CANCEL_CLASS_NAME,
242
+ className: DRAGGABLE_CANCEL_CLASS_NAME,
243
243
  } }));
244
244
  }
245
245
  getControlItemPinStyle(index, itemsLength) {
@@ -273,3 +273,4 @@ OverlayControls.defaultProps = {
273
273
  size: 'm',
274
274
  };
275
275
  export default OverlayControls;
276
+ //# sourceMappingURL=OverlayControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverlayControls.js","sourceRoot":"../../../../src","sources":["components/OverlayControls/OverlayControls.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {Ellipsis, Gear, Xmark} from '@gravity-ui/icons';\nimport {\n Button,\n ButtonSize,\n ButtonView,\n DropdownMenu,\n DropdownMenuItem,\n Icon,\n IconProps,\n MenuItemProps,\n} from '@gravity-ui/uikit';\nimport noop from 'lodash/noop';\n\nimport {\n COPIED_WIDGET_STORE_KEY,\n DRAGGABLE_CANCEL_CLASS_NAME,\n MenuItems,\n OVERLAY_CONTROLS_CLASS_NAME,\n OVERLAY_ICON_SIZE,\n} from '../../constants';\nimport {DashkitOvelayControlsContext, OverlayControlsCtxShape} from '../../context';\nimport {i18n} from '../../i18n';\nimport {\n type ConfigItem,\n type ItemParams,\n type ItemState,\n type PluginBase,\n isItemWithTabs,\n resolveItemInnerId,\n} from '../../shared';\nimport {MenuItem, Settings} from '../../typings';\nimport {cn} from '../../utils/cn';\n\nimport './OverlayControls.scss';\n\nconst b = cn(OVERLAY_CONTROLS_CLASS_NAME);\n\nexport enum OverlayControlsPosition {\n TopRight = 'top_right',\n TopLeft = 'top_left',\n BottomRight = 'bottom_right',\n BottomLeft = 'bottom_left',\n}\n\nexport interface OverlayControlItem {\n title?: string;\n icon?: IconProps['data'];\n iconSize?: number | string;\n handler?: (item: ConfigItem) => void;\n visible?: (item: ConfigItem) => boolean;\n allWidgetsControls?: boolean; // флаг кастомного контрола (без кастомного виджета), которые показываются не в списке меню\n excludeWidgetsTypes?: Array<PluginBase['type']>; // массив с типами виджетов (плагинов), которые исключаем из отображения контрола по настройке allWidgetsControls\n id?: string; // id дефолтного пункта меню для возможноти использования дефолтного action в кастомных контролах\n qa?: string;\n}\n\nexport interface OverlayCustomControlItem {\n id: string;\n title?: string;\n icon?: MenuItemProps['iconStart'];\n iconSize?: number | string;\n handler?: (item: ConfigItem, params: ItemParams, state: ItemState) => void;\n visible?: (item: ConfigItem) => boolean;\n className?: string;\n qa?: string;\n}\n\ninterface OverlayControlsDefaultProps {\n position: OverlayControlsPosition;\n view: ButtonView;\n size: ButtonSize;\n}\n\ninterface OverlayControlsProps extends OverlayControlsDefaultProps {\n configItem: ConfigItem;\n onItemClick?: () => void | null;\n}\n\ntype PreparedCopyItemOptionsArg = Pick<ConfigItem, 'data' | 'type' | 'defaults' | 'namespace'> & {\n timestamp: number;\n layout: {\n w: number;\n h: number;\n };\n targetId?: string;\n targetInnerId?: string;\n};\n\nexport type PreparedCopyItemOptions<C extends object = {}> = PreparedCopyItemOptionsArg & {\n copyContext?: C;\n};\n\ntype OverlayControlsCtx = React.Context<OverlayControlsCtxShape>;\n\nconst DEFAULT_DROPDOWN_MENU = [MenuItems.Copy, MenuItems.Delete];\n\nclass OverlayControls extends React.Component<OverlayControlsProps> {\n static contextType = DashkitOvelayControlsContext;\n static defaultProps: OverlayControlsDefaultProps = {\n position: OverlayControlsPosition.TopRight,\n view: 'flat',\n size: 'm',\n };\n context!: React.ContextType<OverlayControlsCtx>;\n render() {\n const {position} = this.props;\n const items = this.getItems();\n const hasCustomControlsWithWidgets = items.length > 0;\n\n const controls = hasCustomControlsWithWidgets\n ? this.getCustomControlsWithWidgets()\n : this.renderControls();\n\n return <div className={b({position}, [DRAGGABLE_CANCEL_CLASS_NAME])}>{controls}</div>;\n }\n\n private getItems = () => {\n const {overlayControls} = this.context;\n const {configItem} = this.props;\n\n return (overlayControls && overlayControls[configItem.type]) || [];\n };\n\n private renderControlsItem = (item: OverlayControlItem, index: number, length: number) => {\n const {view, size, onItemClick} = this.props;\n const {title, handler, icon, iconSize, qa} = item;\n\n const onItemClickHandler = typeof handler === 'function' ? handler : noop;\n return (\n <Button\n key={`control_${index}`}\n view={view}\n size={size}\n title={title}\n pin={this.getControlItemPinStyle(index, length)}\n onClick={() => {\n onItemClickHandler(this.props.configItem);\n onItemClick?.();\n }}\n qa={qa}\n >\n <Icon data={icon || Gear} size={icon ? iconSize : OVERLAY_ICON_SIZE} />\n </Button>\n );\n };\n\n private getDropDownMenuItemConfig(menuName: string, isDefaultMenu?: boolean) {\n switch (menuName) {\n case MenuItems.Copy: {\n return {\n action: this.onCopyItem,\n text: i18n('label_copy'),\n };\n }\n case MenuItems.Delete: {\n return {\n action: this.onRemoveItem,\n text: i18n('label_delete'),\n };\n }\n case MenuItems.Settings: {\n // для дефолтного состояния меню нет настройки settings, а для кастомного можно использовать дефолтный action и text\n if (isDefaultMenu) {\n return null;\n }\n return {\n action: this.onEditItem,\n text: i18n('label_settings'),\n };\n }\n }\n return null;\n }\n\n private getDefaultControls = () => {\n const {view, size} = this.props;\n\n if (this.context.overlayControls === null) {\n return null;\n }\n\n return (\n <Button\n key={'control_default'}\n view={view}\n size={size}\n title={i18n('label_settings')}\n pin=\"round-brick\"\n onClick={this.onEditItem}\n qa=\"dashkit-overlay-control-settings\"\n >\n <Icon data={Gear} size={OVERLAY_ICON_SIZE} />\n </Button>\n );\n };\n\n private renderControls() {\n const customLeftControls = this.getCustomLeftOverlayControls();\n const hasCustomOverlayLeftControls = Boolean(customLeftControls.length);\n\n const controls = hasCustomOverlayLeftControls\n ? customLeftControls.map(\n (item: OverlayControlItem, index: number, items: OverlayControlItem[]) =>\n this.renderControlsItem(item, index, items.length + 1),\n )\n : this.getDefaultControls();\n\n const menu = this.renderMenu(controls === null);\n\n return (\n <div\n className={b('default-controls', {\n 'with-custom-left': hasCustomOverlayLeftControls,\n })}\n >\n {controls}\n {menu}\n </div>\n );\n }\n private renderMenu(isOnlyOneItem: boolean) {\n const {view, size} = this.props;\n\n const dropdown = this.renderDropdownMenu(isOnlyOneItem);\n\n if (dropdown) {\n return dropdown;\n }\n\n return (\n <Button\n key={'delete-control'}\n view={view}\n size={size}\n title={i18n('label_delete')}\n pin={isOnlyOneItem ? 'round-round' : 'brick-round'}\n onClick={this.onRemoveItem}\n qa=\"dashkit-overlay-control-menu\"\n >\n <Icon data={Xmark} size={OVERLAY_ICON_SIZE} />\n </Button>\n );\n }\n\n private isDefaultMenu(menu: Settings['menu']) {\n return menu?.every((item) =>\n (Object.values(MenuItems) as Array<string>).includes(String(item)),\n );\n }\n private renderDropdownMenu(isOnlyOneItem: boolean) {\n const {view, size, onItemClick} = this.props;\n const {menu: contextMenu, itemsParams, itemsState} = this.context;\n\n const configItem = this.props.configItem;\n const itemParams = itemsParams[configItem.id];\n const itemState = itemsState?.[configItem.id] || {};\n\n const menu = contextMenu && contextMenu.length > 0 ? contextMenu : DEFAULT_DROPDOWN_MENU;\n\n const isDefaultMenu = this.isDefaultMenu(menu);\n\n const items: DropdownMenuItem[] = isDefaultMenu\n ? ((menu || []) as string[]).reduce<DropdownMenuItem[]>((memo, name: string) => {\n const item = this.getDropDownMenuItemConfig(name, true);\n if (item) {\n memo.push(item);\n }\n\n return memo;\n }, [])\n : menu.reduce<DropdownMenuItem[]>((memo, item: MenuItem) => {\n if (typeof item === 'string') {\n return memo;\n }\n // custom menu dropdown item filter\n if (item.visible && !item.visible(configItem)) {\n return memo;\n }\n\n const itemHandler = item.handler;\n\n const itemAction =\n typeof itemHandler === 'function'\n ? () => {\n const result = itemHandler(configItem, itemParams, itemState);\n onItemClick?.();\n return result;\n }\n : this.getDropDownMenuItemConfig(item.id)?.action || (() => {});\n\n memo.push({\n // @ts-expect-error\n text: item.title || i18n(item.id),\n iconStart: item.icon,\n action: itemAction,\n className: item.className,\n qa: item.qa,\n });\n\n return memo;\n }, []);\n\n if (items.length === 0) {\n return null;\n }\n\n return (\n <DropdownMenu\n key={'controls_dropdown'}\n items={items}\n renderSwitcher={(props) => (\n <Button\n {...props}\n view={view}\n size={size}\n pin={isOnlyOneItem ? 'round-round' : 'brick-round'}\n qa=\"dashkit-overlay-control-menu\"\n >\n <Icon data={Ellipsis} size={OVERLAY_ICON_SIZE} />\n </Button>\n )}\n popupProps={{\n className: DRAGGABLE_CANCEL_CLASS_NAME,\n }}\n />\n );\n }\n private getCustomLeftOverlayControls = () => {\n // выбираем только items-ы у которых проставлено поле `allWidgetsControls:true`\n // те контролы, которые будут показываться слева от меню\n let controls: OverlayControlItem[] = [];\n const {onItemClick} = this.props;\n\n for (const controlItem of Object.values(this.context.overlayControls || {})) {\n controls = controls.concat(\n (\n (controlItem as OverlayControlItem[]).filter((item) => {\n // если тип виджета-плагина в списке исключаемых, то не показываем такой контрол\n if (item.excludeWidgetsTypes?.includes(this.props.configItem.type)) {\n return false;\n }\n\n return item.visible\n ? item.visible(this.props.configItem)\n : item.allWidgetsControls;\n }) || []\n ).map((item) => {\n if (!item?.id) {\n return item;\n }\n return {\n ...item,\n handler:\n typeof item.handler === 'function'\n ? (...args) => {\n const result = item.handler?.(...args);\n onItemClick?.();\n return result;\n }\n : this.getDropDownMenuItemConfig(item.id)?.action || (() => {}),\n };\n }),\n );\n }\n\n return controls;\n };\n private onCopyItem = () => {\n const {configItem} = this.props;\n const correspondedItemLayout = this.context.getLayoutItem(configItem.id);\n\n let targetInnerId;\n\n if (isItemWithTabs(this.props.configItem)) {\n targetInnerId = resolveItemInnerId({\n item: this.props.configItem,\n itemsStateAndParams: this.context.itemsStateAndParams,\n });\n }\n\n let options: PreparedCopyItemOptions = {\n timestamp: Date.now(),\n data: configItem.data,\n type: configItem.type,\n defaults: configItem.defaults,\n namespace: configItem.namespace,\n layout: {\n w: correspondedItemLayout!.w,\n h: correspondedItemLayout!.h,\n },\n targetId: this.props.configItem.id,\n targetInnerId,\n };\n\n if (this.context.context?.getPreparedCopyItemOptions) {\n console.warn?.(\n '`context.getPreparedCopyItemOptions` is deprecated. Please use `getPreparedCopyItemOptions` prop instead',\n );\n }\n\n const getPreparedCopyItemOptions =\n this.context?.getPreparedCopyItemOptions ??\n this.context.context?.getPreparedCopyItemOptions;\n\n if (typeof getPreparedCopyItemOptions === 'function') {\n options = getPreparedCopyItemOptions(options);\n }\n\n try {\n localStorage.setItem(COPIED_WIDGET_STORE_KEY, JSON.stringify(options));\n this.context.onCopyFulfill?.(null, options);\n } catch (e) {\n const error = e instanceof Error ? e : new Error('Unknown error while copying item');\n this.context.onCopyFulfill?.(error);\n }\n // https://stackoverflow.com/questions/35865481/storage-event-not-firing\n window.dispatchEvent(new Event('storage'));\n this.props.onItemClick?.();\n };\n private onEditItem = () => {\n this.context.editItem?.(this.props.configItem);\n this.props.onItemClick?.();\n };\n private onRemoveItem = () => {\n const {id} = this.props.configItem;\n this.context.removeItem(id);\n this.props.onItemClick?.();\n };\n private getControlItemPinStyle(index: number, itemsLength: number) {\n const isOnlyOneItem = itemsLength === 1;\n const isFirstItem = index === 0;\n const isLastItem = index === itemsLength - 1;\n\n if (isOnlyOneItem) {\n return 'round-round';\n }\n\n if (isFirstItem) {\n return 'round-brick';\n }\n\n if (isLastItem) {\n return 'brick-round';\n }\n\n return 'brick-brick';\n }\n private getCustomControlsWithWidgets() {\n const items = this.getItems();\n\n const result = items.map(\n (item: OverlayControlItem, index: number, controlItems: OverlayControlItem[]) =>\n this.renderControlsItem(item, index, controlItems.length),\n );\n const isOnlyOneItem = items.length === 0;\n\n // Добавляем контрол удаления или меню виджета по умолчанию\n result.push(this.renderMenu(isOnlyOneItem));\n\n return result;\n }\n}\n\nexport default OverlayControls;\n"]}
@@ -1,5 +1,5 @@
1
- export * from './DashKit';
2
- export type { OverlayControlItem, PreparedCopyItemOptions } from './OverlayControls/OverlayControls';
3
- export * from './ActionPanel/ActionPanel';
4
- export type { ActionPanelItem, ActionPanelProps } from './ActionPanel/types';
5
- export * from './DashKitDnDWrapper/DashKitDnDWrapper';
1
+ export * from "./DashKit/index.js";
2
+ export type { OverlayControlItem, PreparedCopyItemOptions } from "./OverlayControls/OverlayControls.js";
3
+ export * from "./ActionPanel/ActionPanel.js";
4
+ export type { ActionPanelItem, ActionPanelProps } from "./ActionPanel/types.js";
5
+ export * from "./DashKitDnDWrapper/DashKitDnDWrapper.js";
@@ -1,3 +1,4 @@
1
- export * from './DashKit';
2
- export * from './ActionPanel/ActionPanel';
3
- export * from './DashKitDnDWrapper/DashKitDnDWrapper';
1
+ export * from "./DashKit/index.js";
2
+ export * from "./ActionPanel/ActionPanel.js";
3
+ export * from "./DashKitDnDWrapper/DashKitDnDWrapper.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["components/index.ts"],"names":[],"mappings":"AAAA,mCAA0B;AAE1B,6CAA0C;AAE1C,yDAAsD","sourcesContent":["export * from './DashKit';\nexport type {OverlayControlItem, PreparedCopyItemOptions} from './OverlayControls/OverlayControls';\nexport * from './ActionPanel/ActionPanel';\nexport type {ActionPanelItem, ActionPanelProps} from './ActionPanel/types';\nexport * from './DashKitDnDWrapper/DashKitDnDWrapper';\n"]}
@@ -17,3 +17,4 @@ export const COMPACT_TYPE_HORIZONTAL_NOWRAP = 'horizontal-nowrap';
17
17
  export const DRAGGABLE_CANCEL_CLASS_NAME = 'dashkit_draggable_cancel';
18
18
  export const FOCUSED_CLASS_NAME = 'dashkit_focused';
19
19
  export const DROPPING_ELEMENT_CLASS_NAME = 'dropping';
20
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"../../../src","sources":["constants/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AAEzC,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAElE,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC","sourcesContent":["export const COPIED_WIDGET_STORE_KEY = 'dashCopiedItem';\n\nexport const DEFAULT_NAMESPACE = 'default';\n\nexport const OVERLAY_CONTROLS_CLASS_NAME = 'dashkit-overlay-controls';\n\nexport const OVERLAY_CLASS_NAME = 'dashkit-grid-item__overlay';\n\nexport const ITEM_CLASS_NAME = 'dashkit-grid-item';\n\nexport const OVERLAY_ICON_SIZE = 16;\n\nexport const TEMPORARY_ITEM_ID = '__dropping-elem__';\n\nexport const MenuItems = {\n Copy: 'copy',\n Delete: 'delete',\n Settings: 'settings',\n} as const;\n\nexport const DEFAULT_WIDGET_HEIGHT = 3;\nexport const DEFAULT_WIDGET_WIDTH = 3;\n\nexport const DEFAULT_GROUP = '__default';\n\nexport const COMPACT_TYPE_HORIZONTAL_NOWRAP = 'horizontal-nowrap';\n\nexport const DRAGGABLE_CANCEL_CLASS_NAME = 'dashkit_draggable_cancel';\n\nexport const FOCUSED_CLASS_NAME = 'dashkit_focused';\n\nexport const DROPPING_ELEMENT_CLASS_NAME = 'dropping';\n"]}
@@ -1 +1 @@
1
- export * from './common';
1
+ export * from "./common.js";
@@ -1 +1,2 @@
1
- export * from './common';
1
+ export * from "./common.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["constants/index.ts"],"names":[],"mappings":"AAAA,4BAAyB","sourcesContent":["export * from './common';\n"]}
@@ -1,8 +1,7 @@
1
- /// <reference types="react-grid-layout" />
2
1
  import React from 'react';
3
- import type { RegisterManager } from '..//utils';
4
- import type { DashKitProps } from '../components/DashKit';
5
- import type { ConfigItem, ConfigLayout, ItemParams, ItemState, ItemStateAndParams, ItemStateAndParamsChangeOptions } from '../shared';
2
+ import type { RegisterManager } from "../utils/index.js";
3
+ import type { DashKitProps } from "../components/DashKit/index.js";
4
+ import type { ConfigItem, ConfigLayout, ItemParams, ItemState, ItemStateAndParams, ItemStateAndParamsChangeOptions } from "../shared/index.js";
6
5
  type DashkitPropsPassedToCtx = Pick<DashKitProps, 'config' | 'groups' | 'context' | 'noOverlay' | 'focusable' | 'globalParams' | 'editMode' | 'settings' | 'onItemMountChange' | 'onItemRender' | 'draggableHandleClassName' | 'onDragStart' | 'onDrag' | 'onDragStop' | 'onResizeStart' | 'onResize' | 'onResizeStop'>;
7
6
  type PluginType = string;
8
7
  export type DashKitCtxShape = DashkitPropsPassedToCtx & {
@@ -1,3 +1,4 @@
1
1
  import React from 'react';
2
2
  const DashKitContext = React.createContext({});
3
3
  export { DashKitContext };
4
+ //# sourceMappingURL=DashKitContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashKitContext.js","sourceRoot":"../../../src","sources":["context/DashKitContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA4E1B,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAkB,EAAqB,CAAC,CAAC;AAEnF,OAAO,EAAC,cAAc,EAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport type {RegisterManager} from '..//utils';\nimport type {DashKitProps} from '../components/DashKit';\nimport type {\n ConfigItem,\n ConfigLayout,\n ItemParams,\n ItemState,\n ItemStateAndParams,\n ItemStateAndParamsChangeOptions,\n} from '../shared';\n\ntype DashkitPropsPassedToCtx = Pick<\n DashKitProps,\n | 'config'\n | 'groups'\n | 'context'\n | 'noOverlay'\n | 'focusable'\n | 'globalParams'\n | 'editMode'\n | 'settings'\n | 'onItemMountChange'\n | 'onItemRender'\n | 'draggableHandleClassName'\n // default handlers bypass\n | 'onDragStart'\n | 'onDrag'\n | 'onDragStop'\n | 'onResizeStart'\n | 'onResize'\n | 'onResizeStop'\n>;\n\ntype PluginType = string;\n\nexport type DashKitCtxShape = DashkitPropsPassedToCtx & {\n registerManager: RegisterManager;\n forwardedMetaRef: React.ForwardedRef<any>;\n\n layout: ConfigLayout[];\n temporaryLayout: ConfigLayout[] | null;\n memorizeOriginalLayout: (\n widgetId: string,\n preAutoHeightLayout: ConfigLayout,\n postAutoHeightLayout: ConfigLayout,\n ) => void;\n revertToOriginalLayout: (widgetId: string) => void;\n\n itemsState?: Record<string, ItemState>;\n itemsParams: Record<string, ItemParams>;\n onItemStateAndParamsChange: (\n id: string,\n stateAndParams: ItemStateAndParams,\n options: ItemStateAndParamsChangeOptions,\n ) => void;\n\n getItemsMeta: (pluginsRefs: Array<React.RefObject<any>>) => Array<Promise<any>>;\n reloadItems: (\n pluginsRefs: Array<React.RefObject<any>>,\n data: {silentLoading: boolean; noVeil: boolean},\n ) => void;\n\n onDrop: (newLayout: ConfigLayout, item: ConfigItem) => void;\n onDropDragOver: (\n e: DragEvent | MouseEvent,\n group: string | void,\n gridProps: Partial<ReactGridLayout.ReactGridLayoutProps>,\n groupLayout: ConfigLayout[],\n sharedItem: (Partial<ConfigLayout> & {type: PluginType}) | void,\n ) => void | boolean;\n outerDnDEnable: boolean;\n dragOverPlugin: null | PluginType;\n};\n\nconst DashKitContext = React.createContext<DashKitCtxShape>({} as DashKitCtxShape);\n\nexport {DashKitContext};\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { DraggedOverItem, ItemDragProps } from '../shared/types';
2
+ import type { DraggedOverItem, ItemDragProps } from "../shared/types/index.js";
3
3
  export type DashKitDnDCtxShape = {
4
4
  dragProps: ItemDragProps | null;
5
5
  dragImagePreview: HTMLImageElement;
@@ -1,2 +1,3 @@
1
1
  import React from 'react';
2
2
  export const DashKitDnDContext = React.createContext(undefined);
3
+ //# sourceMappingURL=DashKitDnDContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashKitDnDContext.js","sourceRoot":"../../../src","sources":["context/DashKitDnDContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAA4B,SAAS,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport type {DraggedOverItem, ItemDragProps} from '../shared/types';\n\nexport type DashKitDnDCtxShape = {\n dragProps: ItemDragProps | null;\n dragImagePreview: HTMLImageElement;\n onDragStart: (e: React.DragEvent<Element>, itemDragProps: ItemDragProps) => void;\n onDragEnd: (e: React.DragEvent<Element>) => void;\n onDropDragOver?: (\n draggedItem: DraggedOverItem,\n sharedItem: DraggedOverItem | null,\n ) => void | boolean;\n};\n\nexport const DashKitDnDContext = React.createContext<DashKitDnDCtxShape | void>(undefined);\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import type { DashKitProps } from '../components';
3
- import type { ConfigLayout, ItemParams, ItemState } from '../shared';
4
- import type { MenuItem } from '../typings';
2
+ import type { DashKitProps } from "../components/index.js";
3
+ import type { ConfigLayout, ItemParams, ItemState } from "../shared/index.js";
4
+ import type { MenuItem } from "../typings/index.js";
5
5
  export type OverlayControlsCtxShape = Pick<DashKitProps, 'context' | 'overlayControls' | 'itemsStateAndParams' | 'getPreparedCopyItemOptions' | 'onCopyFulfill'> & {
6
6
  menu: DashKitProps['overlayMenuItems'] | MenuItem[];
7
7
  itemsState?: Record<string, ItemState>;
@@ -1,2 +1,3 @@
1
1
  import React from 'react';
2
2
  export const DashkitOvelayControlsContext = React.createContext(undefined);
3
+ //# sourceMappingURL=DashkitOverlayControlsContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashkitOverlayControlsContext.js","sourceRoot":"../../../src","sources":["context/DashkitOverlayControlsContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC,aAAa,CAC3D,SAAS,CACZ,CAAC","sourcesContent":["import React from 'react';\n\nimport type {DashKitProps} from '../components';\nimport type {ConfigLayout, ItemParams, ItemState} from '../shared';\nimport type {MenuItem} from '../typings';\n\nexport type OverlayControlsCtxShape = Pick<\n DashKitProps,\n | 'context'\n | 'overlayControls'\n | 'itemsStateAndParams'\n | 'getPreparedCopyItemOptions'\n | 'onCopyFulfill'\n> & {\n menu: DashKitProps['overlayMenuItems'] | MenuItem[];\n itemsState?: Record<string, ItemState>;\n itemsParams: Record<string, ItemParams>;\n\n editItem: DashKitProps['onItemEdit'];\n removeItem: (id: string) => void;\n getLayoutItem: (id: string) => ConfigLayout | void;\n};\n\nexport const DashkitOvelayControlsContext = React.createContext<OverlayControlsCtxShape | void>(\n undefined,\n);\n"]}
@@ -1,3 +1,3 @@
1
- export * from './DashKitContext';
2
- export * from './DashkitOverlayControlsContext';
3
- export * from './DashKitDnDContext';
1
+ export * from "./DashKitContext.js";
2
+ export * from "./DashkitOverlayControlsContext.js";
3
+ export * from "./DashKitDnDContext.js";
@@ -1,3 +1,4 @@
1
- export * from './DashKitContext';
2
- export * from './DashkitOverlayControlsContext';
3
- export * from './DashKitDnDContext';
1
+ export * from "./DashKitContext.js";
2
+ export * from "./DashkitOverlayControlsContext.js";
3
+ export * from "./DashKitDnDContext.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["context/index.ts"],"names":[],"mappings":"AAAA,oCAAiC;AACjC,mDAAgD;AAChD,uCAAoC","sourcesContent":["export * from './DashKitContext';\nexport * from './DashkitOverlayControlsContext';\nexport * from './DashKitDnDContext';\n"]}
@@ -1,3 +1,3 @@
1
- export * from './utils';
2
- export * from './constants';
3
- export * from './shared';
1
+ export * from "./utils/index.js";
2
+ export * from "./constants/index.js";
3
+ export * from "./shared/index.js";
@@ -1,3 +1,4 @@
1
- export * from './utils';
2
- export * from './constants';
3
- export * from './shared';
1
+ export * from "./utils/index.js";
2
+ export * from "./constants/index.js";
3
+ export * from "./shared/index.js";
4
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"../../src","sources":["helpers.ts"],"names":[],"mappings":"AAAA,iCAAwB;AACxB,qCAA4B;AAC5B,kCAAyB","sourcesContent":["export * from './utils';\nexport * from './constants';\nexport * from './shared';\n"]}
@@ -66,7 +66,7 @@ export function prepareItem(Component: any): {
66
66
  onItemMountChange: PropTypes.Requireable<(...args: any[]) => any>;
67
67
  forwardedPluginRef: PropTypes.Requireable<any>;
68
68
  };
69
- contextType: React.Context<import("../context").DashKitCtxShape>;
69
+ contextType: React.Context<import("../context/index.js").DashKitCtxShape>;
70
70
  };
71
71
  import React from 'react';
72
72
  import PropTypes from 'prop-types';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import isEqual from 'lodash/isEqual';
2
+ import isEqual from "lodash/isEqual.js";
3
3
  import PropTypes from 'prop-types';
4
- import { DashKitContext } from '../context';
4
+ import { DashKitContext } from "../context/index.js";
5
5
  export function prepareItem(Component) {
6
6
  var _a;
7
7
  return _a = class PrepareItem extends React.Component {
@@ -82,3 +82,4 @@ export function prepareItem(Component) {
82
82
  _a.contextType = DashKitContext,
83
83
  _a;
84
84
  }
85
+ //# sourceMappingURL=prepareItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareItem.js","sourceRoot":"../../../src","sources":["hocs/prepareItem.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\nimport PropTypes from 'prop-types';\n\nimport {DashKitContext} from '../context';\n\nexport function prepareItem(Component) {\n return class PrepareItem extends React.Component {\n static propTypes = {\n gridLayout: PropTypes.object,\n adjustWidgetLayout: PropTypes.func.isRequired,\n layout: PropTypes.array,\n id: PropTypes.string,\n item: PropTypes.object,\n shouldItemUpdate: PropTypes.bool,\n width: PropTypes.number,\n height: PropTypes.number,\n transform: PropTypes.string,\n isPlaceholder: PropTypes.bool,\n\n onItemRender: PropTypes.func,\n onItemMountChange: PropTypes.func,\n\n forwardedPluginRef: PropTypes.any,\n };\n\n shouldComponentUpdate(nextProps) {\n const {width, height, transform} = this.props;\n const {width: widthNext, height: heightNext, transform: transformNext} = nextProps;\n if (\n !nextProps.shouldItemUpdate &&\n width === widthNext &&\n height === heightNext &&\n transform === transformNext\n ) {\n return false;\n }\n return true;\n }\n\n static contextType = DashKitContext;\n\n _onStateAndParamsChange = (stateAndParams, options) => {\n this.context.onItemStateAndParamsChange(this.props.id, stateAndParams, options);\n };\n\n _currentRenderProps = {};\n getRenderProps = () => {\n const {id, width, height, item, adjustWidgetLayout, layout, isPlaceholder, gridLayout} =\n this.props;\n const {itemsState, itemsParams, registerManager, settings, context, editMode} =\n this.context;\n const {data, defaults, namespace} = item;\n\n const rendererProps = {\n data,\n editMode,\n params: itemsParams[id],\n state: itemsState[id],\n onStateAndParamsChange: this._onStateAndParamsChange,\n width,\n height,\n id,\n defaults,\n namespace,\n settings,\n context,\n layout,\n gridLayout: gridLayout || registerManager.gridLayout,\n adjustWidgetLayout,\n isPlaceholder,\n };\n\n const changedProp = Object.entries(rendererProps).find(([key, value]) => {\n // Checking gridLayoout deep as groups gridProperties method has tendancy to creat new objects\n if (key === 'gridLayout') {\n return !isEqual(this._currentRenderProps[key], value);\n }\n\n return this._currentRenderProps[key] !== value;\n });\n\n if (changedProp) {\n this._currentRenderProps = rendererProps;\n }\n\n return this._currentRenderProps;\n };\n\n render() {\n const {item, isPlaceholder, forwardedPluginRef, onItemMountChange, onItemRender} =\n this.props;\n const {registerManager} = this.context;\n const {type} = item;\n\n return (\n <Component\n forwardedPluginRef={forwardedPluginRef}\n rendererProps={this.getRenderProps()}\n registerManager={registerManager}\n type={type}\n isPlaceholder={isPlaceholder}\n onItemMountChange={onItemMountChange}\n onItemRender={onItemRender}\n item={item}\n />\n );\n }\n };\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import { __rest } from "tslib";
2
2
  import React from 'react';
3
- import isEqual from 'lodash/isEqual';
4
- import pick from 'lodash/pick';
5
- import { COMPACT_TYPE_HORIZONTAL_NOWRAP, DEFAULT_GROUP, DEFAULT_WIDGET_HEIGHT, DEFAULT_WIDGET_WIDTH, TEMPORARY_ITEM_ID, } from '../constants/common';
6
- import { DashKitContext, DashKitDnDContext, DashkitOvelayControlsContext } from '../context';
7
- import { useDeepEqualMemo } from '../hooks/useDeepEqualMemo';
8
- import { getItemsParams, getItemsState } from '../shared';
9
- import { UpdateManager, resolveLayoutGroup } from '../utils';
3
+ import isEqual from "lodash/isEqual.js";
4
+ import pick from "lodash/pick.js";
5
+ import { COMPACT_TYPE_HORIZONTAL_NOWRAP, DEFAULT_GROUP, DEFAULT_WIDGET_HEIGHT, DEFAULT_WIDGET_WIDTH, TEMPORARY_ITEM_ID, } from "../constants/common.js";
6
+ import { DashKitContext, DashKitDnDContext, DashkitOvelayControlsContext } from "../context/index.js";
7
+ import { useDeepEqualMemo } from "../hooks/useDeepEqualMemo.js";
8
+ import { getItemsParams, getItemsState } from "../shared/index.js";
9
+ import { UpdateManager, resolveLayoutGroup } from "../utils/index.js";
10
10
  const ITEM_PROPS = ['i', 'h', 'w', 'x', 'y', 'parent'];
11
11
  function useMemoStateContext(props) {
12
12
  // так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный
@@ -424,3 +424,4 @@ export function withContext(Component) {
424
424
  WithContext.displayName = `withContext(${Component.displayName || Component.name || 'Component'}`;
425
425
  return WithContext;
426
426
  }
427
+ //# sourceMappingURL=withContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withContext.js","sourceRoot":"../../../src","sources":["hocs/withContext.js"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,0BAAuB;AACrC,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EACH,8BAA8B,EAC9B,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,GACpB,+BAA4B;AAC7B,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAE,4BAA4B,EAAC,4BAAmB;AAC3F,OAAO,EAAC,gBAAgB,EAAC,qCAAkC;AAC3D,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,2BAAkB;AACxD,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,0BAAiB;AAE3D,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AAEvD,SAAS,mBAAmB,CAAC,KAAK;IAC9B,8GAA8G;IAC9G,mGAAmG;IACnG,0GAA0G;IAC1G,yGAAyG;IACzG,oGAAoG;IAEpG,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE/C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAC1C,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAC9B,CAAC,kBAAkB,CAAC,CACvB,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,4DAA4D;IAC5D,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,EACG,MAAM,GAAG,KAAK,CAAC,MAAM,EACrB,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,EAC/C,MAAM,GAAG,KAAK,CAAC,MAAM,GACxB,EAAE,EAAE;QACD,IACI,CAAC,CACG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,CAAC;YACvD,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAChC,EACH,CAAC;YACC,KAAK,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAC,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC,EACD,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC1E,CAAC;IAEF,0GAA0G;IAC1G,qGAAqG;IACrG,yGAAyG;IACzG,0FAA0F;IAC1F,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,MAAM,EAAE,EAAE;QACP,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBACpC,0CAA0C;gBAC1C,MAAM,KAA4B,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAA3D,EAAC,MAAM,OAAoD,EAA/C,YAAY,cAAxB,UAAyB,CAAkC,CAAC;gBAElE,sEAAsE;gBACtE,qBAAqB;gBACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACtC,CAAC;gBACD,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxB,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxB,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAExB,OAAO,YAAY,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,yBAAW,IAAI,EAAE;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC;YACzC,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,QAAQ,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC;QAClC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC3B,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,EAAE,EAAE,EAAE;QACH,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC,EACD,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAClC,CAAC,EAAE,EAAE,EAAE;QACH,OAAO,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnC,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;YAC3B,oBAAoB,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,IAAI,eAAe,EAAE,CAAC;gBAClB,kBAAkB,iCACX,eAAe,KAClB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,IACtD,CAAC;YACP,CAAC;YAED,QAAQ,CACJ,aAAa,CAAC,UAAU,CAAC;gBACrB,EAAE;gBACF,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;aACjD,CAAC,CACL,CAAC;QACN,CAAC;IACL,CAAC,EACD;QACI,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,mBAAmB;QACzB,eAAe;QACf,QAAQ;QACR,kBAAkB;QAClB,oBAAoB;KACvB,CACJ,CAAC;IAEF,MAAM,0BAA0B,GAAG,KAAK,CAAC,WAAW,CAChD,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;QAC5B,QAAQ,CAAC;YACL,mBAAmB,EAAE,aAAa,CAAC,oBAAoB,CAAC;gBACpD,EAAE;gBACF,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,cAAc;gBACd,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,OAAO;aACV,CAAC;SACL,CAAC,CAAC;IACP,CAAC,EACD,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CACtD,CAAC;IAEF,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC5C,CAAC,QAAQ,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,EAAE;QACpD,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC;YACxD,gBAAgB,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,oBAAoB,EAAE,CAAC;YAC7D,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC;YACzD,gBAAgB,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC,EACD,EAAE,CACL,CAAC;IAEF,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1D,MAAM,gBAAgB,GAClB,QAAQ,IAAI,eAAe,CAAC,OAAO,IAAI,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC;QAC/E,OAAO,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACf,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,YAAY,CAAC,WAAW,KAAK,8BAA8B,EAAE,CAAC;YAC9D,YAAY,CAAC,aAAa,CAAC,GAAG;gBAC1B,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,YAAY,CAAC,IAAI;aAC/B,CAAC;YACF,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;gBACrB,MAAM,WAAW,GAAG,CAAA,MAAA,KAAK,CAAC,cAAc,sDAAG,YAAY,CAAC,KAAI,EAAE,CAAC;gBAE/D,IAAI,WAAW,CAAC,WAAW,KAAK,8BAA8B,EAAE,CAAC;oBAC7D,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;wBACrB,KAAK,EAAE,EAAE;wBACT,SAAS,EAAE,WAAW,CAAC,IAAI;qBAC9B,CAAC;oBACF,eAAe,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAE1C,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzB,6BAA6B;oBAC7B,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxC,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC/C,CAAC;qBAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjD,uFAAuF;oBACvF,OAAO,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnD,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,EAAE,EAAE;gBAC5D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,4DAA4D;oBAC5D,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,gBAAgB,CAChC,GAAG,EAAE,CACD,cAAc,CAAC;QACX,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE;KAC9C,CAAC,EACN;QACI,KAAK,CAAC,mBAAmB;QACzB,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,mBAAmB;QACzB,KAAK,CAAC,eAAe;KACxB,CACJ,CAAC;IAEF,MAAM,UAAU,GAAG,gBAAgB,CAC/B,GAAG,EAAE,CACD,aAAa,CAAC;QACV,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;KACjD,CAAC,EACN,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAC5C,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE;QACnD,OAAO,WAAW;aACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACT,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,CAAC,EAAE,CAAC;gBAC9C,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;QACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;QACzC,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC;QAEnD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;YAExB,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;gBACnD,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;gBAC1B,0CAA0C;gBAC1C,MAAM,KAA4B,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAtD,EAAC,MAAM,OAA+C,EAA1C,YAAY,cAAxB,UAAyB,CAA6B,CAAC;gBAE7D,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxB,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxB,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAExB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACtC,CAAC;gBAED,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;oBAC3B,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBAED,OAAO,YAAY,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBACvB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC9B,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE;QACxD,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAC;IAC/C,MAAM,qBAAqB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,cAAc,CAAC;IAEzD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAEzC,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;QAC9C,IAAI,eAAe,EAAE,CAAC;YAClB,oBAAoB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,aAAa,CAAC;QAClB,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,UAAU,CAAC;YAChC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtD,aAAa,GAAG,SAAS,CAAC,CAAC,iCAAK,SAAS,CAAC,aAAa,KAAE,CAAC,EAAE,CAAC,IAAE,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YACxB,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,QAAQ,EAAE,aAAa,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;QAErF,IAAI,SAAS,CAAC,WAAW,KAAK,8BAA8B,EAAE,CAAC;YAC3D,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;QAED,IACI,IAAI,KAAK,CAAC;YACV,IAAI,KAAK,CAAC;YACV,IAAI,GAAG,aAAa,CAAC,IAAI;YACzB,IAAI,GAAG,aAAa,CAAC,IAAI,EAC3B,CAAC;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,EACF,CAAC,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,CAAC,KAAI,qBAAqB,EAC7C,CAAC,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,CAAC,KAAI,oBAAoB,GAC/C,GAAG,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,KAAI,EAAE,CAAC;QAEnC,MAAM,UAAU,GAAG;YACf,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC,CAAC;QAEF,IACI,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,+CAEV,UAAU,GACV,UAAU,KACb,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,MAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAA,KAElD,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI,CACrB,MAAK,KAAK,EACb,CAAC;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC,EACD;QACI,KAAK,CAAC,eAAe;QACrB,oBAAoB;QACpB,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,qBAAqB;KACxB,CACJ,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC5B,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;QAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAED,kBAAkB,CAAC;YACf,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC;YAC1B,SAAS,EAAE,gBAAgB;SAC9B,CAAC,CAAC;QAEH,UAAU,CAAC;YACP,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnC,CAAC;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC,EAAE,EAAE,CAAC;YACN,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,MAAM,EAAE,oBAAoB;YAC5B,SAAS,EAAE,gBAAgB;SAC9B,CAAC,CAAC;IACP,CAAC,EACD,CAAC,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAC3E,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC,CAAC;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,mBAAmB,EAAE,KAAK,CAAC,YAAY;QACvC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;QAExD,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QAExC,MAAM,EAAE,YAAY;QACpB,eAAe;QACf,YAAY,EAAE,cAAc;QAC5B,sBAAsB;QACtB,sBAAsB;QAEtB,UAAU;QACV,WAAW;QACX,0BAA0B;QAE1B,YAAY;QACZ,WAAW;QAEX,MAAM;QACN,cAAc;QACd,cAAc;QACd,cAAc;QAEd,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAE5B,6BAA6B;QAC7B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;KACnC,CAAC,EACF;QACI,YAAY;QACZ,eAAe;QACf,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,QAAQ;QACd,UAAU;QACV,WAAW;QACX,KAAK,CAAC,eAAe;QACrB,0BAA0B;QAC1B,MAAM;QACN,cAAc;QACd,cAAc;QACd,KAAK,CAAC,iBAAiB;QACvB,KAAK,CAAC,YAAY;QAClB,YAAY;QACZ,WAAW;QACX,sBAAsB;QACtB,sBAAsB;QACtB,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,wBAAwB;QAC9B,cAAc;QACd,cAAc;QAEd,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,UAAU;QAEhB,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,YAAY;KACrB,CACJ,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;IACvF,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CACtC,GAAG,EAAE,CAAC,CAAC;QACH,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO;QAEtB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,UAAU;QACV,WAAW;QAEX,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;QAC5D,aAAa,EAAE,KAAK,CAAC,aAAa;QAElC,IAAI,EAAE,gBAAgB;QAEtB,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,aAAa;KAC/B,CAAC,EACF;QACI,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,mBAAmB;QACzB,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,0BAA0B;QAChC,KAAK,CAAC,aAAa;QACnB,gBAAgB;QAChB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,aAAa;KAChB,CACJ,CAAC;IAEF,OAAO,EAAC,oBAAoB,EAAE,mBAAmB,EAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAS;IACjC,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,EAAC,mBAAmB,EAAE,oBAAoB,EAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAE/E,OAAO,CACH,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,mBAAmB;YAC/C,oBAAC,4BAA4B,CAAC,QAAQ,IAAC,KAAK,EAAE,oBAAoB;gBAC9D,oBAAC,SAAS,OAAG,CACuB,CAClB,CAC7B,CAAC;IACN,CAAC,CAAC;IAEF,WAAW,CAAC,WAAW,GAAG,eACtB,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,WAC/C,EAAE,CAAC;IAEH,OAAO,WAAW,CAAC;AACvB,CAAC","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\nimport pick from 'lodash/pick';\n\nimport {\n COMPACT_TYPE_HORIZONTAL_NOWRAP,\n DEFAULT_GROUP,\n DEFAULT_WIDGET_HEIGHT,\n DEFAULT_WIDGET_WIDTH,\n TEMPORARY_ITEM_ID,\n} from '../constants/common';\nimport {DashKitContext, DashKitDnDContext, DashkitOvelayControlsContext} from '../context';\nimport {useDeepEqualMemo} from '../hooks/useDeepEqualMemo';\nimport {getItemsParams, getItemsState} from '../shared';\nimport {UpdateManager, resolveLayoutGroup} from '../utils';\n\nconst ITEM_PROPS = ['i', 'h', 'w', 'x', 'y', 'parent'];\n\nfunction useMemoStateContext(props) {\n // так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный\n // (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,\n // расположении конкретного виджета на сетке) будет храниться в стейте, но, для того, чтобы в стор попадал\n // лэйаут без учета вижетов с активированной автовысотой, в момент \"подстройки\" высоты виджета значение h\n // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts\n\n const originalLayouts = React.useRef({});\n const adjustedLayouts = React.useRef({});\n const nowrapAdjustedLayouts = React.useRef({});\n\n const [temporaryLayout, setTemporaryLayout] = React.useState(null);\n const resetTemporaryLayout = React.useCallback(\n () => setTemporaryLayout(null),\n [setTemporaryLayout],\n );\n\n const dndContext = React.useContext(DashKitDnDContext);\n const outerDnDEnable = Boolean(dndContext);\n\n // TODO: need move originalLayouts, adjustedLayouts to state\n const [layoutUpdateCounter, forceUpdateLayout] = React.useState(0);\n\n const onChange = React.useCallback(\n ({\n config = props.config,\n itemsStateAndParams = props.itemsStateAndParams,\n groups = props.groups,\n }) => {\n if (\n !(\n isEqual(config, props.config) &&\n isEqual(itemsStateAndParams, props.itemsStateAndParams) &&\n isEqual(groups, props.groups)\n )\n ) {\n props.onChange({config, itemsStateAndParams, groups});\n }\n },\n [props.config, props.groups, props.itemsStateAndParams, props.onChange],\n );\n\n // каллбэк вызывающийся при изменение лэйаута сетки, первым аргументом приходит актуальный конфиг лэйаута,\n // т.е. если на текущей сетке есть виджеты, с активированной опцией автовысоты, их параметр \"h\" будет\n // \"подстроенный\"; чтобы, для сохранения в сторе \"ушли\" значения без учёта подстройки (как если бы у этих\n // виджетов автовысота была деактивирована) корректируем их используя this.originalLayouts\n const onLayoutChange = React.useCallback(\n (layout) => {\n const currentInnerLayout = layout.map((item) => {\n if (item.i in originalLayouts.current) {\n // eslint-disable-next-line no-unused-vars\n const {parent, ...originalCopy} = originalLayouts.current[item.i];\n\n // Updating original if parent has changed and saving copy as original\n // or leaving default\n if (item.parent) {\n originalCopy.parent = item.parent;\n }\n originalCopy.w = item.w;\n originalCopy.x = item.x;\n originalCopy.y = item.y;\n\n return originalCopy;\n } else {\n return {...item};\n }\n });\n\n const newConfig = UpdateManager.updateLayout({\n layout: currentInnerLayout,\n config: props.config,\n });\n\n if (!isEqual(newConfig.layout, props.config.layout)) {\n onChange({config: newConfig});\n }\n },\n [props.config, onChange],\n );\n\n const getLayoutItem = React.useCallback(\n (id) => {\n return props.config.layout.find(({i}) => i === id);\n },\n [props.config.layout],\n );\n\n const onItemRemove = React.useCallback(\n (id) => {\n delete nowrapAdjustedLayouts.current[id];\n delete adjustedLayouts.current[id];\n delete originalLayouts.current[id];\n\n if (id === TEMPORARY_ITEM_ID) {\n resetTemporaryLayout();\n } else {\n if (temporaryLayout) {\n setTemporaryLayout({\n ...temporaryLayout,\n data: temporaryLayout.data.filter(({i}) => i !== id),\n });\n }\n\n onChange(\n UpdateManager.removeItem({\n id,\n config: props.config,\n itemsStateAndParams: props.itemsStateAndParams,\n }),\n );\n }\n },\n [\n props.config,\n props.itemsStateAndParams,\n temporaryLayout,\n onChange,\n setTemporaryLayout,\n resetTemporaryLayout,\n ],\n );\n\n const onItemStateAndParamsChange = React.useCallback(\n (id, stateAndParams, options) => {\n onChange({\n itemsStateAndParams: UpdateManager.changeStateAndParams({\n id,\n config: props.config,\n stateAndParams,\n itemsStateAndParams: props.itemsStateAndParams,\n options,\n }),\n });\n },\n [props.config, props.itemsStateAndParams, onChange],\n );\n\n const memorizeOriginalLayout = React.useCallback(\n (widgetId, preAutoHeightLayout, postAutoHeightLayout) => {\n let needUpdateLayout = false;\n if (!(widgetId in originalLayouts.current)) {\n originalLayouts.current[widgetId] = preAutoHeightLayout;\n needUpdateLayout = true;\n }\n if (adjustedLayouts.current[widgetId] !== postAutoHeightLayout) {\n adjustedLayouts.current[widgetId] = postAutoHeightLayout;\n needUpdateLayout = true;\n }\n\n if (needUpdateLayout) {\n forceUpdateLayout((prev) => prev + 1);\n }\n },\n [],\n );\n\n const revertToOriginalLayout = React.useCallback((widgetId) => {\n const needUpdateLayout =\n widgetId in adjustedLayouts.current || widgetId in originalLayouts.current;\n delete adjustedLayouts.current[widgetId];\n delete originalLayouts.current[widgetId];\n if (needUpdateLayout) {\n forceUpdateLayout((prev) => prev + 1);\n }\n }, []);\n\n React.useMemo(() => {\n const groups = props.groups;\n const layout = props.layout;\n const defaultProps = props.registerManager.gridLayout || {};\n const nowrapGroups = {};\n let hasNowrapGroups = false;\n\n if (defaultProps.compactType === COMPACT_TYPE_HORIZONTAL_NOWRAP) {\n nowrapGroups[DEFAULT_GROUP] = {\n items: [],\n leftSpace: defaultProps.cols,\n };\n hasNowrapGroups = true;\n }\n\n if (groups) {\n groups.forEach((group) => {\n const resultProps = group.gridProperties?.(defaultProps) || {};\n\n if (resultProps.compactType === COMPACT_TYPE_HORIZONTAL_NOWRAP) {\n nowrapGroups[group.id] = {\n items: [],\n leftSpace: resultProps.cols,\n };\n hasNowrapGroups = true;\n }\n });\n }\n\n if (hasNowrapGroups) {\n layout.forEach((item) => {\n const widgetId = item.i;\n const parentId = resolveLayoutGroup(item);\n\n if (nowrapGroups[parentId]) {\n // Collecting nowrap elements\n nowrapGroups[parentId].items.push(item);\n nowrapGroups[parentId].leftSpace -= item.w;\n } else if (nowrapAdjustedLayouts.current[widgetId]) {\n // If element is not in horizontal-nowrap cleaning up and reverting adjustLayout values\n delete nowrapAdjustedLayouts.current[widgetId];\n }\n });\n\n Object.entries(nowrapGroups).forEach(([, {items, leftSpace}]) => {\n items.forEach((item) => {\n // setting maxW with adjustLayout fields and saving previous\n nowrapAdjustedLayouts.current[item.i] = item.w + leftSpace;\n });\n });\n }\n }, [props.registerManager, props.groups, props.layout]);\n\n const itemsParams = useDeepEqualMemo(\n () =>\n getItemsParams({\n defaultGlobalParams: props.defaultGlobalParams,\n globalParams: props.globalParams,\n config: props.config,\n itemsStateAndParams: props.itemsStateAndParams,\n plugins: props.registerManager.getPlugins(),\n }),\n [\n props.defaultGlobalParams,\n props.globalParams,\n props.config,\n props.itemsStateAndParams,\n props.registerManager,\n ],\n );\n\n const itemsState = useDeepEqualMemo(\n () =>\n getItemsState({\n config: props.config,\n itemsStateAndParams: props.itemsStateAndParams,\n }),\n [props.config, props.itemsStateAndParams],\n );\n\n const getItemsMeta = React.useCallback((pluginsRefs) => {\n return pluginsRefs\n .map((ref) => {\n if (!(ref && typeof ref.getMeta === 'function')) {\n return undefined;\n }\n return ref.getMeta();\n })\n .filter(Boolean);\n }, []);\n\n const resultLayout = React.useMemo(() => {\n const adjusted = adjustedLayouts.current;\n const original = originalLayouts.current;\n const nowrapAdjust = nowrapAdjustedLayouts.current;\n\n return props.layout.map((item) => {\n const widgetId = item.i;\n\n if (widgetId in adjusted || widgetId in nowrapAdjust) {\n original[widgetId] = item;\n // eslint-disable-next-line no-unused-vars\n const {parent, ...adjustedItem} = adjusted[widgetId] || item;\n\n adjustedItem.w = item.w;\n adjustedItem.x = item.x;\n adjustedItem.y = item.y;\n\n if (item.parent) {\n adjustedItem.parent = item.parent;\n }\n\n if (widgetId in nowrapAdjust) {\n adjustedItem.maxW = nowrapAdjust[widgetId];\n }\n\n return adjustedItem;\n } else {\n if (widgetId in original) {\n delete original[widgetId];\n }\n return item;\n }\n });\n }, [props.layout, layoutUpdateCounter]);\n\n const reloadItems = React.useCallback((pluginsRefs, data) => {\n pluginsRefs.forEach((ref) => ref && ref.reload && ref.reload(data));\n }, []);\n\n const dragPropsContext = dndContext?.dragProps;\n const onDropDragOverContext = dndContext?.onDropDragOver;\n\n const dragOverPlugin = React.useMemo(() => {\n if (!dragPropsContext) {\n return null;\n }\n\n const pluginType = dragPropsContext.type;\n\n if (props.registerManager.check(pluginType)) {\n return props.registerManager.getItem(pluginType);\n } else {\n // eslint-disable-next-line no-console\n console.error(`Uknown pluginType: ${pluginType}`);\n return null;\n }\n }, [dragPropsContext, props.registerManager]);\n\n const onDropDragOver = React.useCallback(\n (_e, group, gridProps, groupLayout, sharedItem) => {\n if (temporaryLayout) {\n resetTemporaryLayout();\n return false;\n }\n\n let defaultLayout;\n if (sharedItem) {\n const {type, h, w} = sharedItem;\n const _defaults = props.registerManager.getItem(type);\n defaultLayout = _defaults ? {..._defaults.defaultLayout, h, w} : {h, w};\n } else if (dragOverPlugin) {\n defaultLayout = dragOverPlugin.defaultLayout;\n } else {\n return false;\n }\n\n let maxW = gridProps.cols;\n const maxH = Math.min(gridProps.maxRows || Infinity, defaultLayout.maxH || Infinity);\n\n if (gridProps.compactType === COMPACT_TYPE_HORIZONTAL_NOWRAP) {\n maxW = groupLayout.reduce((memo, item) => memo - item.w, gridProps.cols);\n }\n\n if (\n maxW === 0 ||\n maxH === 0 ||\n maxW < defaultLayout.minW ||\n maxH < defaultLayout.minH\n ) {\n return false;\n }\n\n const {\n h = defaultLayout?.h || DEFAULT_WIDGET_HEIGHT,\n w = defaultLayout?.w || DEFAULT_WIDGET_WIDTH,\n } = dragPropsContext?.layout || {};\n\n const itemLayout = {\n h: maxH ? Math.min(h, maxH) : h,\n w: maxW ? Math.min(w, maxW) : w,\n };\n\n if (\n onDropDragOverContext?.(\n {\n ...sharedItem,\n ...itemLayout,\n parent: group,\n type: sharedItem?.type || dragOverPlugin?.type,\n },\n sharedItem ?? null,\n ) === false\n ) {\n return false;\n }\n\n return itemLayout;\n },\n [\n props.registerManager,\n resetTemporaryLayout,\n temporaryLayout,\n dragOverPlugin,\n dragPropsContext,\n onDropDragOverContext,\n ],\n );\n\n const onDropProp = props.onDrop;\n const onDrop = React.useCallback(\n (newLayout, item) => {\n if (!dragPropsContext) {\n return;\n }\n\n setTemporaryLayout({\n data: [...newLayout, item],\n dragProps: dragPropsContext,\n });\n\n onDropProp({\n newLayout: newLayout.reduce((memo, l) => {\n if (l.i !== item.i) {\n memo.push(pick(l, ITEM_PROPS));\n }\n\n return memo;\n }, []),\n itemLayout: pick(item, ITEM_PROPS),\n commit: resetTemporaryLayout,\n dragProps: dragPropsContext,\n });\n },\n [dragPropsContext, onDropProp, setTemporaryLayout, resetTemporaryLayout],\n );\n\n const dashkitContextValue = React.useMemo(\n () => ({\n config: props.config,\n groups: props.groups,\n context: props.context,\n noOverlay: props.noOverlay,\n focusable: props.focusable,\n defaultGlobalParams: props.globalParams,\n globalParams: props.globalParams,\n editMode: props.editMode,\n settings: props.settings,\n onItemMountChange: props.onItemMountChange,\n onItemRender: props.onItemRender,\n draggableHandleClassName: props.draggableHandleClassName,\n\n registerManager: props.registerManager,\n forwardedMetaRef: props.forwardedMetaRef,\n\n layout: resultLayout,\n temporaryLayout,\n layoutChange: onLayoutChange,\n memorizeOriginalLayout,\n revertToOriginalLayout,\n\n itemsState,\n itemsParams,\n onItemStateAndParamsChange,\n\n getItemsMeta,\n reloadItems,\n\n onDrop,\n onDropDragOver,\n outerDnDEnable,\n dragOverPlugin,\n\n onItemFocus: props.onItemFocus,\n onItemBlur: props.onItemBlur,\n\n /* default handlers bypass */\n onDragStart: props.onDragStart,\n onDrag: props.onDrag,\n onDragStop: props.onDragStop,\n onResizeStart: props.onResizeStart,\n onResize: props.onResize,\n onResizeStop: props.onResizeStop,\n }),\n [\n resultLayout,\n temporaryLayout,\n props.config,\n props.groups,\n props.context,\n props.noOverlay,\n props.focusable,\n props.globalParams,\n props.editMode,\n props.settings,\n itemsState,\n itemsParams,\n props.registerManager,\n onItemStateAndParamsChange,\n onDrop,\n onDropDragOver,\n onLayoutChange,\n props.onItemMountChange,\n props.onItemRender,\n getItemsMeta,\n reloadItems,\n memorizeOriginalLayout,\n revertToOriginalLayout,\n props.forwardedMetaRef,\n props.draggableHandleClassName,\n outerDnDEnable,\n dragOverPlugin,\n\n props.onItemFocus,\n props.onItemBlur,\n\n props.onDragStart,\n props.onDrag,\n props.onDragStop,\n props.onResizeStart,\n props.onResize,\n props.onResizeStop,\n ],\n );\n\n const overlayMenuItems = props.overlayMenuItems || props.registerManager.settings.menu;\n const controlsContextValue = React.useMemo(\n () => ({\n overlayControls: props.overlayControls,\n context: props.context,\n\n itemsStateAndParams: props.itemsStateAndParams,\n itemsState,\n itemsParams,\n\n getPreparedCopyItemOptions: props.getPreparedCopyItemOptions,\n onCopyFulfill: props.onCopyFulfill,\n\n menu: overlayMenuItems,\n\n editItem: props.onItemEdit,\n removeItem: onItemRemove,\n getLayoutItem: getLayoutItem,\n }),\n [\n props.overlayControls,\n props.context,\n props.itemsStateAndParams,\n props.onItemEdit,\n props.getPreparedCopyItemOptions,\n props.onCopyFulfill,\n overlayMenuItems,\n itemsState,\n itemsParams,\n onItemRemove,\n getLayoutItem,\n ],\n );\n\n return {controlsContextValue, dashkitContextValue};\n}\n\nexport function withContext(Component) {\n const WithContext = (props) => {\n const {dashkitContextValue, controlsContextValue} = useMemoStateContext(props);\n\n return (\n <DashKitContext.Provider value={dashkitContextValue}>\n <DashkitOvelayControlsContext.Provider value={controlsContextValue}>\n <Component />\n </DashkitOvelayControlsContext.Provider>\n </DashKitContext.Provider>\n );\n };\n\n WithContext.displayName = `withContext(${\n Component.displayName || Component.name || 'Component'\n }`;\n\n return WithContext;\n}\n"]}
@@ -1,14 +1,14 @@
1
- import type { Config } from '../shared';
2
- import { RegisterManager } from '../utils';
1
+ import type { Config } from "../shared/index.js";
2
+ import { RegisterManager } from "../utils/index.js";
3
3
  export declare const useCalcPropsLayout: (config: Config, registerManager: RegisterManager) => {
4
4
  i: string;
5
5
  h: number;
6
6
  w: number;
7
7
  x: number;
8
8
  y: number;
9
- parent?: string | undefined;
10
- minW?: number | undefined;
11
- minH?: number | undefined;
9
+ parent?: string;
10
+ minW?: number;
11
+ minH?: number;
12
12
  maxW?: number | undefined;
13
13
  maxH?: number | undefined;
14
14
  }[];
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import isEqual from 'lodash/isEqual';
2
+ import isEqual from "lodash/isEqual.js";
3
3
  function onUpdatePropsConfig(config, registerManager) {
4
4
  return config.layout.map((itemLayout, i) => {
5
5
  const { type } = config.items[i];
@@ -24,3 +24,4 @@ export const useCalcPropsLayout = (config, registerManager) => {
24
24
  // // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts
25
25
  // const [currentLayout, setCurrentLayout] = React.useState(propsLayout);
26
26
  // };
27
+ //# sourceMappingURL=useCalcLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCalcLayout.js","sourceRoot":"../../../src","sources":["hooks/useCalcLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,0BAAuB;AAKrC,SAAS,mBAAmB,CAAC,MAAc,EAAE,eAAgC;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,uCACO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,GAC3C,UAAU,EACf;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,eAAgC,EAAE,EAAE;IACnF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,YAAY,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,yFAAyF;AACzF,uEAAuE;AAEvE,qHAAqH;AACrH,0GAA0G;AAC1G,iHAAiH;AACjH,gHAAgH;AAChH,2GAA2G;AAC3G,6EAA6E;AAE7E,KAAK","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nimport type {Config} from '../shared';\nimport {RegisterManager} from '../utils';\n\nfunction onUpdatePropsConfig(config: Config, registerManager: RegisterManager) {\n return config.layout.map((itemLayout, i) => {\n const {type} = config.items[i];\n return {\n ...registerManager.getItem(type).defaultLayout,\n ...itemLayout,\n };\n });\n}\n\nexport const useCalcPropsLayout = (config: Config, registerManager: RegisterManager) => {\n const [prevConfig, setPrevConfig] = React.useState(config);\n const [layout, updateLayout] = React.useState(onUpdatePropsConfig(config, registerManager));\n\n if (!isEqual(prevConfig.layout, config.layout)) {\n setPrevConfig(config);\n updateLayout(onUpdatePropsConfig(config, registerManager));\n }\n\n return layout;\n};\n\n// export const useManageLayout = (config: Config, registerManager: RegisterManager) => {\n// const propsLayout = useCalcPropsLayout(config, registerManager);\n\n// // так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный\n// // (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,\n// // расположении конкретного виджета на сетке) будет храниться в стейте, но, для того, чтобы в стор попадал\n// // лэйаут без учета вижетов с активированной автовысотой, в момент \"подстройки\" высоты виджета значение h\n// // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts\n// const [currentLayout, setCurrentLayout] = React.useState(propsLayout);\n\n// };\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import isEqual from 'lodash/isEqual';
2
+ import isEqual from "lodash/isEqual.js";
3
3
  export const useDeepEqualMemo = (predicate, deps) => {
4
4
  const previousValueRef = React.useRef({});
5
5
  return React.useMemo(() => {
@@ -10,3 +10,4 @@ export const useDeepEqualMemo = (predicate, deps) => {
10
10
  return previousValueRef.current;
11
11
  }, [previousValueRef, ...deps]);
12
12
  };
13
+ //# sourceMappingURL=useDeepEqualMemo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDeepEqualMemo.js","sourceRoot":"../../../src","sources":["hooks/useDeepEqualMemo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,0BAAuB;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,SAAkB,EAClB,IAA0B,EACzB,EAAE;IACH,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAI,EAAS,CAAC,CAAC;IAEpD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QACrC,CAAC;QAED,OAAO,gBAAgB,CAAC,OAAO,CAAC;IACpC,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nexport const useDeepEqualMemo = <T extends any>(\n predicate: () => T,\n deps: React.DependencyList,\n): T => {\n const previousValueRef = React.useRef<T>({} as any);\n\n return React.useMemo(() => {\n const value = predicate();\n\n if (!isEqual(previousValueRef.current, value)) {\n previousValueRef.current = value;\n }\n\n return previousValueRef.current;\n }, [previousValueRef, ...deps]);\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ActionPanelItem } from '../components';
2
+ import { ActionPanelItem } from "../components/index.js";
3
3
  type DndProps = null | {
4
4
  draggable: true;
5
5
  unselectable: 'on';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { DashKitDnDContext } from '../context';
2
+ import { DashKitDnDContext } from "../context/index.js";
3
3
  export const useDnDItemProps = (item) => {
4
4
  const dragContext = React.useContext(DashKitDnDContext);
5
5
  const onDragStart = React.useCallback((e) => {
@@ -23,3 +23,4 @@ export const useDnDItemProps = (item) => {
23
23
  }
24
24
  return null;
25
25
  };
26
+ //# sourceMappingURL=useDnDItemProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDnDItemProps.js","sourceRoot":"../../../src","sources":["hooks/useDnDItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,iBAAiB,EAAC,4BAAmB;AAS7C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAqB,EAAY,EAAE;IAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,CAAkB,EAAE,EAAE;QACnB,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC,EACD,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAChC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,CAAC,EAAE,EAAE;QACF,IAAI,WAAW,EAAE,CAAC;YACd,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC,EACD,CAAC,WAAW,CAAC,CAChB,CAAC;IAEF,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO;YACH,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,IAAI;YAClB,WAAW;YACX,SAAS;SACZ,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport {ActionPanelItem} from '../components';\nimport {DashKitDnDContext} from '../context';\n\ntype DndProps = null | {\n draggable: true;\n unselectable: 'on';\n onDragStart: React.DragEventHandler<HTMLDivElement>;\n onDragEnd: React.DragEventHandler<HTMLDivElement>;\n};\n\nexport const useDnDItemProps = (item: ActionPanelItem): DndProps => {\n const dragContext = React.useContext(DashKitDnDContext);\n\n const onDragStart = React.useCallback(\n (e: React.DragEvent) => {\n if (dragContext && item.dragProps) {\n dragContext.onDragStart(e, item.dragProps);\n e.dataTransfer.setDragImage(dragContext.dragImagePreview, 0, 0);\n }\n },\n [dragContext, item.dragProps],\n );\n\n const onDragEnd = React.useCallback<React.DragEventHandler<HTMLDivElement>>(\n (e) => {\n if (dragContext) {\n dragContext.onDragEnd(e);\n }\n },\n [dragContext],\n );\n\n if (dragContext && item.dragProps) {\n return {\n draggable: true,\n unselectable: 'on',\n onDragStart,\n onDragEnd,\n };\n }\n\n return null;\n};\n"]}
@@ -1,4 +1,4 @@
1
- export declare const i18n: ((key: "button_retry" | "label_render-markdown-error" | "label_settings" | "label_copy" | "label_delete" | "label_error", params?: import("@gravity-ui/i18n").Params | undefined) => string) & {
1
+ export declare const i18n: ((key: "button_retry" | "label_render-markdown-error" | "label_settings" | "label_copy" | "label_delete" | "label_error", params?: import("@gravity-ui/i18n").Params) => string) & {
2
2
  keysetData: {
3
3
  dashkit: Record<"button_retry" | "label_render-markdown-error" | "label_settings" | "label_copy" | "label_delete" | "label_error", import("@gravity-ui/i18n").KeyData>;
4
4
  };
@@ -1,4 +1,5 @@
1
1
  import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import en from './en.json';
3
- import ru from './ru.json';
2
+ import en from "./en.json";
3
+ import ru from "./ru.json";
4
4
  export const i18n = addComponentKeysets({ en, ru }, 'dashkit');
5
+ //# sourceMappingURL=index.js.map