@gravity-ui/dashkit 10.2.0 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +95 -19
  2. package/build/cjs/components/DashKit/DashKit.d.ts +11 -1
  3. package/build/cjs/components/DashKit/DashKit.js +55 -7
  4. package/build/cjs/components/DashKit/DashKit.js.map +1 -1
  5. package/build/cjs/components/DashKit/__tests__/controlled-layout.test.d.ts +4 -0
  6. package/build/cjs/components/DashKit/__tests__/controlled-layout.test.js +196 -0
  7. package/build/cjs/components/DashKit/__tests__/controlled-layout.test.js.map +1 -0
  8. package/build/cjs/components/DashKit/__tests__/events.test.d.ts +1 -0
  9. package/build/cjs/components/DashKit/__tests__/events.test.js +227 -0
  10. package/build/cjs/components/DashKit/__tests__/events.test.js.map +1 -0
  11. package/build/cjs/components/DashKitView/DashKitView.d.ts +1 -1
  12. package/build/cjs/components/DashKitView/DashKitView.js +1 -3
  13. package/build/cjs/components/DashKitView/DashKitView.js.map +1 -1
  14. package/build/cjs/components/GridLayout/GroupLayout.js +2 -2
  15. package/build/cjs/components/GridLayout/GroupLayout.js.map +1 -1
  16. package/build/cjs/components/GridLayout/ReactGridLayout.d.ts +1 -0
  17. package/build/cjs/components/GridLayout/ReactGridLayout.js +37 -0
  18. package/build/cjs/components/GridLayout/ReactGridLayout.js.map +1 -1
  19. package/build/cjs/components/OverlayControls/OverlayControls.js +1 -1
  20. package/build/cjs/components/OverlayControls/OverlayControls.js.map +1 -1
  21. package/build/cjs/context/DashKitContext.d.ts +1 -0
  22. package/build/cjs/context/DashKitContext.js.map +1 -1
  23. package/build/cjs/context/DashkitOverlayControlsContext.d.ts +1 -1
  24. package/build/cjs/context/DashkitOverlayControlsContext.js +2 -2
  25. package/build/cjs/context/DashkitOverlayControlsContext.js.map +1 -1
  26. package/build/cjs/hocs/withContext.d.ts +2 -2
  27. package/build/cjs/hocs/withContext.js +61 -31
  28. package/build/cjs/hocs/withContext.js.map +1 -1
  29. package/build/cjs/package.json +1 -1
  30. package/build/cjs/plugins/Text/Text.js +1 -1
  31. package/build/cjs/plugins/Text/Text.js.map +1 -1
  32. package/build/cjs/shared/types/config.d.ts +2 -0
  33. package/build/cjs/shared/types/config.js +9 -0
  34. package/build/cjs/shared/types/config.js.map +1 -1
  35. package/build/cjs/typings/events.d.ts +34 -0
  36. package/build/cjs/typings/events.js +3 -0
  37. package/build/cjs/typings/events.js.map +1 -0
  38. package/build/cjs/typings/index.d.ts +1 -0
  39. package/build/cjs/typings/index.js +1 -0
  40. package/build/cjs/typings/index.js.map +1 -1
  41. package/build/cjs/utils/__tests__/get-layout-patches.test.d.ts +1 -0
  42. package/build/cjs/utils/__tests__/get-layout-patches.test.js +51 -0
  43. package/build/cjs/utils/__tests__/get-layout-patches.test.js.map +1 -0
  44. package/build/cjs/utils/enrichLayoutWithDefaults.d.ts +5 -0
  45. package/build/cjs/utils/enrichLayoutWithDefaults.js +29 -0
  46. package/build/cjs/utils/enrichLayoutWithDefaults.js.map +1 -0
  47. package/build/cjs/utils/events.d.ts +10 -0
  48. package/build/cjs/utils/events.js +34 -0
  49. package/build/cjs/utils/events.js.map +1 -0
  50. package/build/cjs/utils/get-layout-patches.d.ts +3 -0
  51. package/build/cjs/utils/get-layout-patches.js +23 -0
  52. package/build/cjs/utils/get-layout-patches.js.map +1 -0
  53. package/build/cjs/utils/index.d.ts +3 -0
  54. package/build/cjs/utils/index.js +3 -0
  55. package/build/cjs/utils/index.js.map +1 -1
  56. package/build/cjs/utils/update-manager.js +2 -2
  57. package/build/cjs/utils/update-manager.js.map +1 -1
  58. package/build/esm/components/DashKit/DashKit.d.ts +11 -1
  59. package/build/esm/components/DashKit/DashKit.js +54 -6
  60. package/build/esm/components/DashKit/DashKit.js.map +1 -1
  61. package/build/esm/components/DashKit/__tests__/controlled-layout.test.d.ts +4 -0
  62. package/build/esm/components/DashKit/__tests__/controlled-layout.test.js +193 -0
  63. package/build/esm/components/DashKit/__tests__/controlled-layout.test.js.map +1 -0
  64. package/build/esm/components/DashKit/__tests__/events.test.d.ts +1 -0
  65. package/build/esm/components/DashKit/__tests__/events.test.js +225 -0
  66. package/build/esm/components/DashKit/__tests__/events.test.js.map +1 -0
  67. package/build/esm/components/DashKitView/DashKitView.d.ts +1 -1
  68. package/build/esm/components/DashKitView/DashKitView.js +1 -3
  69. package/build/esm/components/DashKitView/DashKitView.js.map +1 -1
  70. package/build/esm/components/GridLayout/GroupLayout.js +2 -2
  71. package/build/esm/components/GridLayout/GroupLayout.js.map +1 -1
  72. package/build/esm/components/GridLayout/ReactGridLayout.d.ts +1 -0
  73. package/build/esm/components/GridLayout/ReactGridLayout.js +37 -0
  74. package/build/esm/components/GridLayout/ReactGridLayout.js.map +1 -1
  75. package/build/esm/components/OverlayControls/OverlayControls.js +2 -2
  76. package/build/esm/components/OverlayControls/OverlayControls.js.map +1 -1
  77. package/build/esm/context/DashKitContext.d.ts +1 -0
  78. package/build/esm/context/DashKitContext.js.map +1 -1
  79. package/build/esm/context/DashkitOverlayControlsContext.d.ts +1 -1
  80. package/build/esm/context/DashkitOverlayControlsContext.js +1 -1
  81. package/build/esm/context/DashkitOverlayControlsContext.js.map +1 -1
  82. package/build/esm/hocs/withContext.d.ts +2 -2
  83. package/build/esm/hocs/withContext.js +64 -34
  84. package/build/esm/hocs/withContext.js.map +1 -1
  85. package/build/esm/package.json +1 -1
  86. package/build/esm/plugins/Text/Text.js +1 -1
  87. package/build/esm/plugins/Text/Text.js.map +1 -1
  88. package/build/esm/shared/types/config.d.ts +2 -0
  89. package/build/esm/shared/types/config.js +8 -1
  90. package/build/esm/shared/types/config.js.map +1 -1
  91. package/build/esm/typings/events.d.ts +34 -0
  92. package/build/esm/typings/events.js +2 -0
  93. package/build/esm/typings/events.js.map +1 -0
  94. package/build/esm/typings/index.d.ts +1 -0
  95. package/build/esm/typings/index.js +1 -0
  96. package/build/esm/typings/index.js.map +1 -1
  97. package/build/esm/utils/__tests__/get-layout-patches.test.d.ts +1 -0
  98. package/build/esm/utils/__tests__/get-layout-patches.test.js +49 -0
  99. package/build/esm/utils/__tests__/get-layout-patches.test.js.map +1 -0
  100. package/build/esm/utils/enrichLayoutWithDefaults.d.ts +5 -0
  101. package/build/esm/utils/enrichLayoutWithDefaults.js +25 -0
  102. package/build/esm/utils/enrichLayoutWithDefaults.js.map +1 -0
  103. package/build/esm/utils/events.d.ts +10 -0
  104. package/build/esm/utils/events.js +30 -0
  105. package/build/esm/utils/events.js.map +1 -0
  106. package/build/esm/utils/get-layout-patches.d.ts +3 -0
  107. package/build/esm/utils/get-layout-patches.js +19 -0
  108. package/build/esm/utils/get-layout-patches.js.map +1 -0
  109. package/build/esm/utils/index.d.ts +3 -0
  110. package/build/esm/utils/index.js +3 -0
  111. package/build/esm/utils/index.js.map +1 -1
  112. package/build/esm/utils/update-manager.js +3 -3
  113. package/build/esm/utils/update-manager.js.map +1 -1
  114. package/package.json +4 -1
  115. package/build/cjs/hooks/useCalcLayout.d.ts +0 -3
  116. package/build/cjs/hooks/useCalcLayout.js +0 -40
  117. package/build/cjs/hooks/useCalcLayout.js.map +0 -1
  118. package/build/esm/hooks/useCalcLayout.d.ts +0 -3
  119. package/build/esm/hooks/useCalcLayout.js +0 -35
  120. package/build/esm/hooks/useCalcLayout.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCalcLayout.js","sourceRoot":"../../../src","sources":["hooks/useCalcLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,0BAAuB;AAErC,OAAO,EAAkD,iBAAiB,EAAC,2BAAkB;AAG7F,SAAS,mBAAmB,CAAC,MAAc,EAAE,eAAgC;IACzE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,IAAI,GAA2B,WAAW,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,SAAS,GACX,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;YAC5B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;QAE3E,IAAI,SAAS,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,iCACD,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,aAAa,GACrD,UAAU,EACf,CAAC;QACP,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,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;IAE3D,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, type ConfigItem, type ConfigLayout, getAllConfigItems} from '../shared';\nimport {RegisterManager} from '../utils';\n\nfunction onUpdatePropsConfig(config: Config, registerManager: RegisterManager) {\n const configItems = getAllConfigItems(config);\n\n return config.layout.reduce<ConfigLayout[]>((acc, itemLayout, i) => {\n const item: ConfigItem | undefined = configItems[i];\n const foundItem =\n item && item.id === itemLayout.i\n ? item\n : configItems.find((configItem) => configItem.id === itemLayout.i);\n\n if (foundItem) {\n acc.push({\n ...registerManager.getItem(foundItem.type).defaultLayout,\n ...itemLayout,\n });\n }\n\n return acc;\n }, []);\n}\n\nexport const useCalcPropsLayout = (config: Config, registerManager: RegisterManager) => {\n const [prevConfig, setPrevConfig] = React.useState(config);\n\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"]}