pne-ui 4.3.0-rc.21 → 4.3.0-rc.23

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 (66) hide show
  1. package/README.md +17 -3
  2. package/cjs/component/cloudscape/CloudscapeBoardStyles.d.ts +2 -1
  3. package/cjs/component/cloudscape/CloudscapeBoardStyles.js +11 -1
  4. package/cjs/component/cloudscape/CloudscapeBoardStyles.js.map +1 -1
  5. package/cjs/component/widget-board/WidgetBoard.js +128 -46
  6. package/cjs/component/widget-board/WidgetBoard.js.map +1 -1
  7. package/cjs/component/widget-board/WidgetBoardCloudscapeEngine.js +1 -1
  8. package/cjs/component/widget-board/WidgetBoardCloudscapeEngine.js.map +1 -1
  9. package/cjs/component/widget-board/WidgetBoardReactGridLayoutEngine.d.ts +35 -4
  10. package/cjs/component/widget-board/WidgetBoardReactGridLayoutEngine.js +192 -40
  11. package/cjs/component/widget-board/WidgetBoardReactGridLayoutEngine.js.map +1 -1
  12. package/cjs/component/widget-board/layoutPersistence.d.ts +1 -1
  13. package/cjs/component/widget-board/layoutPersistence.js +54 -13
  14. package/cjs/component/widget-board/layoutPersistence.js.map +1 -1
  15. package/cjs/component/widget-board/types.d.ts +11 -2
  16. package/cjs/component/widget-board/useWidgetBoardAutosize.d.ts +2 -4
  17. package/cjs/component/widget-board/useWidgetBoardAutosize.js +9 -17
  18. package/cjs/component/widget-board/useWidgetBoardAutosize.js.map +1 -1
  19. package/cjs/component/widget-board/useWidgetBoardLayoutActions.d.ts +3 -1
  20. package/cjs/component/widget-board/useWidgetBoardLayoutActions.js +49 -13
  21. package/cjs/component/widget-board/useWidgetBoardLayoutActions.js.map +1 -1
  22. package/cjs/component/widget-board/useWidgetBoardLayoutSource.d.ts +5 -7
  23. package/cjs/component/widget-board/useWidgetBoardLayoutSource.js +4 -10
  24. package/cjs/component/widget-board/useWidgetBoardLayoutSource.js.map +1 -1
  25. package/cjs/component/widget-board/useWidgetBoardStateActions.d.ts +2 -4
  26. package/cjs/component/widget-board/useWidgetBoardStateActions.js +7 -31
  27. package/cjs/component/widget-board/useWidgetBoardStateActions.js.map +1 -1
  28. package/cjs/component/widget-board/widgetBoardBreakpoints.d.ts +14 -0
  29. package/cjs/component/widget-board/widgetBoardBreakpoints.js +88 -0
  30. package/cjs/component/widget-board/widgetBoardBreakpoints.js.map +1 -0
  31. package/cjs/component/widget-board/widgetBoardLayoutUtils.d.ts +6 -1
  32. package/cjs/component/widget-board/widgetBoardLayoutUtils.js +116 -11
  33. package/cjs/component/widget-board/widgetBoardLayoutUtils.js.map +1 -1
  34. package/esm/component/cloudscape/CloudscapeBoardStyles.d.ts +2 -1
  35. package/esm/component/cloudscape/CloudscapeBoardStyles.js +11 -1
  36. package/esm/component/cloudscape/CloudscapeBoardStyles.js.map +1 -1
  37. package/esm/component/widget-board/WidgetBoard.js +131 -49
  38. package/esm/component/widget-board/WidgetBoard.js.map +1 -1
  39. package/esm/component/widget-board/WidgetBoardCloudscapeEngine.js +1 -1
  40. package/esm/component/widget-board/WidgetBoardCloudscapeEngine.js.map +1 -1
  41. package/esm/component/widget-board/WidgetBoardReactGridLayoutEngine.d.ts +35 -4
  42. package/esm/component/widget-board/WidgetBoardReactGridLayoutEngine.js +188 -40
  43. package/esm/component/widget-board/WidgetBoardReactGridLayoutEngine.js.map +1 -1
  44. package/esm/component/widget-board/layoutPersistence.d.ts +1 -1
  45. package/esm/component/widget-board/layoutPersistence.js +54 -13
  46. package/esm/component/widget-board/layoutPersistence.js.map +1 -1
  47. package/esm/component/widget-board/types.d.ts +11 -2
  48. package/esm/component/widget-board/useWidgetBoardAutosize.d.ts +2 -4
  49. package/esm/component/widget-board/useWidgetBoardAutosize.js +9 -17
  50. package/esm/component/widget-board/useWidgetBoardAutosize.js.map +1 -1
  51. package/esm/component/widget-board/useWidgetBoardLayoutActions.d.ts +3 -1
  52. package/esm/component/widget-board/useWidgetBoardLayoutActions.js +49 -13
  53. package/esm/component/widget-board/useWidgetBoardLayoutActions.js.map +1 -1
  54. package/esm/component/widget-board/useWidgetBoardLayoutSource.d.ts +5 -7
  55. package/esm/component/widget-board/useWidgetBoardLayoutSource.js +5 -11
  56. package/esm/component/widget-board/useWidgetBoardLayoutSource.js.map +1 -1
  57. package/esm/component/widget-board/useWidgetBoardStateActions.d.ts +2 -4
  58. package/esm/component/widget-board/useWidgetBoardStateActions.js +7 -31
  59. package/esm/component/widget-board/useWidgetBoardStateActions.js.map +1 -1
  60. package/esm/component/widget-board/widgetBoardBreakpoints.d.ts +14 -0
  61. package/esm/component/widget-board/widgetBoardBreakpoints.js +82 -0
  62. package/esm/component/widget-board/widgetBoardBreakpoints.js.map +1 -0
  63. package/esm/component/widget-board/widgetBoardLayoutUtils.d.ts +6 -1
  64. package/esm/component/widget-board/widgetBoardLayoutUtils.js +113 -10
  65. package/esm/component/widget-board/widgetBoardLayoutUtils.js.map +1 -1
  66. package/package.json +1 -1
package/README.md CHANGED
@@ -1663,9 +1663,17 @@ color overrides (`pneNeutral`, `pnePrimaryLight`, `pneAccentuated` и др.), о
1663
1663
  Основные пропсы:
1664
1664
  - `widgets`: список `{ id, title, render }` — содержимое виджетов.
1665
1665
  - `layoutByBreakpoint`: базовый пресет для дефолтного лейаута.
1666
+ - `breakpoints`: семантические брейкпоинты `{ id, minWidth, editBehavior? }`. Значение
1667
+ `editBehavior: 'order-only'` превращает edit-mode в полноширинный draggable-список без содержимого
1668
+ и resize; остальные брейкпоинты по умолчанию используют обычный grid-editor.
1666
1669
  - `loadLayouts(): Promise<{ options; selectedId? } | null>`: обязательная функция загрузки пользовательских схем (вызывается при маунте). `WidgetBoard` сам добавляет и блокирует встроенный `default`-лейаут.
1667
1670
  - `saveLayouts(options, selectedId?)`: обязательная функция сохранения пользовательских схем (вызывается при select/add/delete и автосохранении изменений в выбранном пользовательском лейауте).
1668
1671
 
1672
+ В grid-editor пользователь меняет только ширину и положение виджета. Высота всегда вычисляется из содержимого
1673
+ autosize-механизмом: runtime-значение `rowSpan` не сохраняется в пользовательский лейаут и не превращается в
1674
+ фиксированную высоту после resize. `heightMode: 'fixed'` остаётся только code-owned opt-out для специальных
1675
+ виджетов, которым фиксированная высота задана самим приложением.
1676
+
1669
1677
  Панель `WidgetLayoutsPanel` — презентационный компонент. Передавайте `items/selectedId/onSelect/onAdd/onDelete`
1670
1678
  и прочие данные из scoped store (`useWidgetBoardScopeStore`).
1671
1679
 
@@ -1711,14 +1719,19 @@ const widgets: WidgetDefinition[] = [
1711
1719
  ]
1712
1720
 
1713
1721
  const baseLayoutByBreakpoint = {
1714
- 12: {
1722
+ narrow: {
1723
+ columns: 1,
1715
1724
  widgets: {
1716
- traffic: { defaultSize: { columnSpan: 6, rowSpan: 2 } },
1717
- sales: { defaultSize: { columnSpan: 6, rowSpan: 2 } },
1725
+ traffic: { defaultSize: { columnSpan: 1, rowSpan: 2 } },
1726
+ sales: { defaultSize: { columnSpan: 1, rowSpan: 2 } },
1718
1727
  },
1719
1728
  },
1720
1729
  }
1721
1730
 
1731
+ const boardBreakpoints = [
1732
+ { id: 'narrow', minWidth: 0, editBehavior: 'order-only' },
1733
+ ] as const
1734
+
1722
1735
  // Загрузка/сохранение пресетов
1723
1736
  const loadLayouts = async (): Promise<{ options: WidgetBoardLayoutOption[]; selectedId?: string }> => {
1724
1737
  const response = await api.getUserLayouts() // верните { options, selectedId }
@@ -1751,6 +1764,7 @@ const DashboardContent = () => {
1751
1764
  <WidgetBoard
1752
1765
  widgets={widgets}
1753
1766
  layoutByBreakpoint={baseLayoutByBreakpoint}
1767
+ breakpoints={boardBreakpoints}
1754
1768
  loadLayouts={loadLayouts}
1755
1769
  saveLayouts={saveLayouts}
1756
1770
  />
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  type CloudscapeBoardStylesProps = {
3
3
  hideNavigationArrows?: boolean;
4
+ hideResizers?: boolean;
4
5
  };
5
6
  /**
6
7
  * Global CSS overrides for Cloudscape Board containers to flatten chrome
7
8
  * and trim padding on small screens. Keeps arrows hidden by default.
8
9
  */
9
- export declare function CloudscapeBoardStyles({ hideNavigationArrows }: CloudscapeBoardStylesProps): React.JSX.Element;
10
+ export declare function CloudscapeBoardStyles({ hideNavigationArrows, hideResizers, }: CloudscapeBoardStylesProps): React.JSX.Element;
10
11
  export {};
@@ -8,7 +8,7 @@ const react_1 = tslib_1.__importDefault(require("react"));
8
8
  * Global CSS overrides for Cloudscape Board containers to flatten chrome
9
9
  * and trim padding on small screens. Keeps arrows hidden by default.
10
10
  */
11
- function CloudscapeBoardStyles({ hideNavigationArrows = true }) {
11
+ function CloudscapeBoardStyles({ hideNavigationArrows = true, hideResizers = false, }) {
12
12
  const boardGridSelector = '[data-pne-widget-board="true"] [class*="awsui_grid_"][class*="awsui_columns-"]';
13
13
  const navigationStyles = hideNavigationArrows
14
14
  ? {
@@ -20,6 +20,15 @@ function CloudscapeBoardStyles({ hideNavigationArrows = true }) {
20
20
  },
21
21
  }
22
22
  : {};
23
+ const resizerStyles = hideResizers
24
+ ? {
25
+ '[data-pne-widget-board="true"] [data-height-mode] > [class*="awsui_resizer_"]': {
26
+ display: 'none !important',
27
+ visibility: 'hidden !important',
28
+ pointerEvents: 'none !important',
29
+ },
30
+ }
31
+ : {};
23
32
  return (react_1.default.createElement(material_1.GlobalStyles, { styles: {
24
33
  '[class^="awsui_container-override"], [class*=" awsui_container-override"]': {
25
34
  boxShadow: 'none !important',
@@ -72,6 +81,7 @@ function CloudscapeBoardStyles({ hideNavigationArrows = true }) {
72
81
  gap: '16px !important',
73
82
  },
74
83
  ...navigationStyles,
84
+ ...resizerStyles,
75
85
  '@media (max-width: 600px)': {
76
86
  '[data-awsui-board]': {
77
87
  paddingLeft: '0 !important',
@@ -1 +1 @@
1
- {"version":3,"file":"CloudscapeBoardStyles.js","sourceRoot":"","sources":["../../../src/component/cloudscape/CloudscapeBoardStyles.tsx"],"names":[],"mappings":";;AAWA,sDAqFC;;AAhGD,4CAA4C;AAC5C,0DAAyB;AAMzB;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,EAAE,oBAAoB,GAAG,IAAI,EAA8B;IAC7F,MAAM,iBAAiB,GAAG,gFAAgF,CAAA;IAC1G,MAAM,gBAAgB,GAAG,oBAAoB;QACzC,CAAC,CAAC;YACE,sEAAsE,EAAE;gBACpE,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,mBAAmB;gBAC/B,OAAO,EAAE,cAAc;gBACvB,aAAa,EAAE,iBAAiB;aACnC;SACJ;QACD,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,CACH,8BAAC,uBAAY,IACT,MAAM,EAAE;YACJ,2EAA2E,EAAE;gBACzE,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAE,8BAA8B;gBACtC,YAAY,EAAE,cAAc;aAC/B;YACD,iDAAiD,EAAE;gBAC/C,SAAS,EAAE,iBAAiB;gBAC5B,YAAY,EAAE,cAAc;aAC/B;YACD,wEAAwE,EAAE;gBACtE,QAAQ,EAAE,mBAAmB;aAChC;YACD,gFAAgF,EAAE;gBAC9E,QAAQ,EAAE,mBAAmB;aAChC;YACD,kEAAkE,EAAE;gBAChE,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,mBAAmB;gBAC/B,aAAa,EAAE,iBAAiB;aACnC;YACD,sEAAsE;YACtE,sFAAsF;YACtF,2EAA2E;YAC3E,0DAA0D,EAAE;gBACxD,UAAU,EAAE,mBAAmB;gBAC/B,eAAe,EAAE,cAAc;aAClC;YACD,qDAAqD,EAAE;gBACnD,gBAAgB,EAAE,cAAc;aACnC;YACD,uDAAuD,EAAE;gBACrD,gBAAgB,EAAE,cAAc;aACnC;YACD,qCAAqC;YACrC,iFAAiF;YACjF,yDAAyD;YACzD,8EAA8E,EAAE;gBAC5E,gBAAgB,EAAE,cAAc;aACnC;YACD,gFAAgF,EAAE;gBAC9E,gBAAgB,EAAE,cAAc;aACnC;YACD,yCAAyC,EAAE;gBACvC,gBAAgB,EAAE;oBACd,WAAW,EAAE,yBAAyB;iBACzC;aACJ;YACD,CAAC,iBAAiB,CAAC,EAAE;gBACjB,GAAG,EAAE,iBAAiB;aACzB;YACD,GAAG,gBAAgB;YACnB,2BAA2B,EAAE;gBACzB,oBAAoB,EAAE;oBAClB,WAAW,EAAE,cAAc;oBAC3B,YAAY,EAAE,cAAc;iBAC/B;gBACD,yBAAyB,EAAE;oBACvB,UAAU,EAAE,cAAc;oBAC1B,WAAW,EAAE,cAAc;iBAC9B;aACJ;YACD,8BAA8B,EAAE;gBAC5B,CAAC,iBAAiB,CAAC,EAAE;oBACjB,GAAG,EAAE,gBAAgB;iBACxB;aACJ;SACJ,GACH,CACL,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"CloudscapeBoardStyles.js","sourceRoot":"","sources":["../../../src/component/cloudscape/CloudscapeBoardStyles.tsx"],"names":[],"mappings":";;AAYA,sDAkGC;;AA9GD,4CAA4C;AAC5C,0DAAyB;AAOzB;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,EAClC,oBAAoB,GAAG,IAAI,EAC3B,YAAY,GAAG,KAAK,GACK;IACzB,MAAM,iBAAiB,GAAG,gFAAgF,CAAA;IAC1G,MAAM,gBAAgB,GAAG,oBAAoB;QACzC,CAAC,CAAC;YACE,sEAAsE,EAAE;gBACpE,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,mBAAmB;gBAC/B,OAAO,EAAE,cAAc;gBACvB,aAAa,EAAE,iBAAiB;aACnC;SACJ;QACD,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,aAAa,GAAG,YAAY;QAC9B,CAAC,CAAC;YACE,+EAA+E,EAAE;gBAC7E,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,mBAAmB;gBAC/B,aAAa,EAAE,iBAAiB;aACnC;SACJ;QACD,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,CACH,8BAAC,uBAAY,IACT,MAAM,EAAE;YACJ,2EAA2E,EAAE;gBACzE,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAE,8BAA8B;gBACtC,YAAY,EAAE,cAAc;aAC/B;YACD,iDAAiD,EAAE;gBAC/C,SAAS,EAAE,iBAAiB;gBAC5B,YAAY,EAAE,cAAc;aAC/B;YACD,wEAAwE,EAAE;gBACtE,QAAQ,EAAE,mBAAmB;aAChC;YACD,gFAAgF,EAAE;gBAC9E,QAAQ,EAAE,mBAAmB;aAChC;YACD,kEAAkE,EAAE;gBAChE,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,mBAAmB;gBAC/B,aAAa,EAAE,iBAAiB;aACnC;YACD,sEAAsE;YACtE,sFAAsF;YACtF,2EAA2E;YAC3E,0DAA0D,EAAE;gBACxD,UAAU,EAAE,mBAAmB;gBAC/B,eAAe,EAAE,cAAc;aAClC;YACD,qDAAqD,EAAE;gBACnD,gBAAgB,EAAE,cAAc;aACnC;YACD,uDAAuD,EAAE;gBACrD,gBAAgB,EAAE,cAAc;aACnC;YACD,qCAAqC;YACrC,iFAAiF;YACjF,yDAAyD;YACzD,8EAA8E,EAAE;gBAC5E,gBAAgB,EAAE,cAAc;aACnC;YACD,gFAAgF,EAAE;gBAC9E,gBAAgB,EAAE,cAAc;aACnC;YACD,yCAAyC,EAAE;gBACvC,gBAAgB,EAAE;oBACd,WAAW,EAAE,yBAAyB;iBACzC;aACJ;YACD,CAAC,iBAAiB,CAAC,EAAE;gBACjB,GAAG,EAAE,iBAAiB;aACzB;YACD,GAAG,gBAAgB;YACnB,GAAG,aAAa;YAChB,2BAA2B,EAAE;gBACzB,oBAAoB,EAAE;oBAClB,WAAW,EAAE,cAAc;oBAC3B,YAAY,EAAE,cAAc;iBAC/B;gBACD,yBAAyB,EAAE;oBACvB,UAAU,EAAE,cAAc;oBAC1B,WAAW,EAAE,cAAc;iBAC9B;aACJ;YACD,8BAA8B,EAAE;gBAC5B,CAAC,iBAAiB,CAAC,EAAE;oBACjB,GAAG,EAAE,gBAAgB;iBACxB;aACJ;SACJ,GACH,CACL,CAAA;AACL,CAAC"}
@@ -13,6 +13,7 @@ const useWidgetBoardStateActions_1 = require("./useWidgetBoardStateActions");
13
13
  const WidgetBoardCloudscapeEngine_1 = require("./WidgetBoardCloudscapeEngine");
14
14
  const WidgetBoardItem_1 = require("./WidgetBoardItem");
15
15
  const WidgetBoardReactGridLayoutEngine_1 = require("./WidgetBoardReactGridLayoutEngine");
16
+ const widgetBoardBreakpoints_1 = require("./widgetBoardBreakpoints");
16
17
  const widgetBoardLayoutUtils_1 = require("./widgetBoardLayoutUtils");
17
18
  const resolveLayoutForBreakpoint = (layoutByBreakpoint, breakpointKey) => layoutByBreakpoint[breakpointKey] ??
18
19
  layoutByBreakpoint[String(breakpointKey)] ??
@@ -20,13 +21,25 @@ const resolveLayoutForBreakpoint = (layoutByBreakpoint, breakpointKey) => layout
20
21
  Object.values(layoutByBreakpoint)[0];
21
22
  const normalizeHeightMode = (value) => value ?? 'auto';
22
23
  const stringifyColumnOffset = (value) => JSON.stringify(value ?? null);
23
- const getFixedHeightModeLocks = (layoutByBreakpoint, breakpointKey) => {
24
- const layout = resolveLayoutForBreakpoint(layoutByBreakpoint, breakpointKey);
25
- if (!layout)
26
- return {};
27
- return Object.fromEntries(Object.entries(layout.widgets)
28
- .filter(([, widget]) => normalizeHeightMode(widget.heightMode) === 'fixed')
29
- .map(([id]) => [id, true]));
24
+ const resolveCompleteWidgetOrder = (layout) => {
25
+ const widgetIds = Object.keys(layout.widgets);
26
+ const widgetIdSet = new Set(widgetIds);
27
+ const seen = new Set();
28
+ const order = [];
29
+ const configuredOrder = layout.widgetOrder ?? widgetIds;
30
+ configuredOrder.forEach(widgetId => {
31
+ if (!widgetIdSet.has(widgetId) || seen.has(widgetId))
32
+ return;
33
+ seen.add(widgetId);
34
+ order.push(widgetId);
35
+ });
36
+ widgetIds.forEach(widgetId => {
37
+ if (seen.has(widgetId))
38
+ return;
39
+ seen.add(widgetId);
40
+ order.push(widgetId);
41
+ });
42
+ return order;
30
43
  };
31
44
  const isSameWidgetLayout = (current, base, { ignoreHiddenState = false } = {}) => {
32
45
  if (!current || !base)
@@ -41,10 +54,6 @@ const isSameWidgetLayout = (current, base, { ignoreHiddenState = false } = {}) =
41
54
  stringifyColumnOffset(currentSize.columnOffset) !== stringifyColumnOffset(baseSize.columnOffset)) {
42
55
  return false;
43
56
  }
44
- // For auto-height widgets rowSpan is runtime-derived by autosize and should not mark layout as user-modified.
45
- if (currentHeightMode === 'fixed' && currentSize.rowSpan !== baseSize.rowSpan) {
46
- return false;
47
- }
48
57
  if (!ignoreHiddenState && Boolean(current.initialState?.isHidden) !== Boolean(base.initialState?.isHidden))
49
58
  return false;
50
59
  if (Boolean(current.initialState?.isCollapsed) !== Boolean(base.initialState?.isCollapsed))
@@ -54,6 +63,12 @@ const isSameWidgetLayout = (current, base, { ignoreHiddenState = false } = {}) =
54
63
  const differsFromBaseLayout = (current, base, { hiddenWidgetIds, ignoreHiddenState = false } = {}) => {
55
64
  if (!current || !base)
56
65
  return false;
66
+ const currentOrder = resolveCompleteWidgetOrder(current);
67
+ const baseOrder = resolveCompleteWidgetOrder(base);
68
+ if (currentOrder.length !== baseOrder.length ||
69
+ currentOrder.some((widgetId, index) => widgetId !== baseOrder[index])) {
70
+ return true;
71
+ }
57
72
  const hiddenSet = hiddenWidgetIds ? new Set(hiddenWidgetIds) : null;
58
73
  const widgetIds = new Set([...Object.keys(current.widgets), ...Object.keys(base.widgets)]);
59
74
  for (const widgetId of widgetIds) {
@@ -72,10 +87,29 @@ const useWidgetBoardInteraction = () => react_1.default.useContext(exports.Widge
72
87
  exports.useWidgetBoardInteraction = useWidgetBoardInteraction;
73
88
  const DEFAULT_WIDGET_BOARD_ENGINE = 'react-grid-layout';
74
89
  const DEFAULT_WIDGET_BOARD_INTERACTION_MODE = 'view';
75
- exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, layoutByBreakpoint, loadLayouts, saveLayouts, onActionsStateChange, autoHeightEnabled = true, engine = DEFAULT_WIDGET_BOARD_ENGINE, interactionMode = DEFAULT_WIDGET_BOARD_INTERACTION_MODE, reactGridLayoutOptions, }, ref) {
90
+ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, layoutByBreakpoint, loadLayouts, saveLayouts, onActionsStateChange, autoHeightEnabled = true, engine = DEFAULT_WIDGET_BOARD_ENGINE, interactionMode = DEFAULT_WIDGET_BOARD_INTERACTION_MODE, reactGridLayoutOptions, breakpoints: configuredBreakpoints, breakpointSource = 'viewport', }, ref) {
76
91
  const [isLoadingLayouts, setIsLoadingLayouts] = (0, react_1.useState)(true);
77
92
  const scopeFabStore = (0, WidgetBoardScope_1.useWidgetBoardScopeStore)();
78
- const { breakpoints, currentBreakpointKey, defaultOption, layoutOptions, layoutOptionsMap, layoutPreset, layoutSource, layoutSourceOwnerIdRef, loadRequestIdRef, lockedLayoutIdRef, selectedLayoutId, selectedLayoutRef, setLayoutOptions, setLayoutPreset, setLayoutSource, setSelectedLayoutId, } = (0, useWidgetBoardLayoutSource_1.useWidgetBoardLayoutSource)({ layoutByBreakpoint });
93
+ const resolvedBreakpoints = (0, react_1.useMemo)(() => (0, widgetBoardBreakpoints_1.buildWidgetBoardBreakpoints)(layoutByBreakpoint, configuredBreakpoints), [configuredBreakpoints, layoutByBreakpoint]);
94
+ const breakpointIds = (0, react_1.useMemo)(() => resolvedBreakpoints.map(breakpoint => breakpoint.id), [resolvedBreakpoints]);
95
+ const { activeBreakpoint, containerRef: breakpointContainerRef, } = (0, widgetBoardBreakpoints_1.useWidgetBoardBreakpoint)({
96
+ breakpoints: resolvedBreakpoints,
97
+ source: breakpointSource,
98
+ });
99
+ const currentBreakpointKey = activeBreakpoint.id;
100
+ const currentEditBehavior = interactionMode === 'edit'
101
+ ? (activeBreakpoint.editBehavior ?? 'grid')
102
+ : 'grid';
103
+ const currentBreakpointKeyRef = (0, react_1.useRef)(currentBreakpointKey);
104
+ currentBreakpointKeyRef.current = currentBreakpointKey;
105
+ const { breakpoints, defaultOption, layoutOptions, layoutOptionsMap, layoutPreset, layoutSource, layoutSourceOwnerIdRef, loadRequestIdRef, lockedLayoutIdRef, selectedLayoutId, selectedLayoutRef, setLayoutOptions, setLayoutSource, setSelectedLayoutId, } = (0, useWidgetBoardLayoutSource_1.useWidgetBoardLayoutSource)({
106
+ layoutByBreakpoint,
107
+ breakpointIds,
108
+ currentBreakpointKey,
109
+ });
110
+ const breakpointsRef = (0, react_1.useRef)(breakpoints);
111
+ breakpointsRef.current = breakpoints;
112
+ const breakpointIdsKey = breakpoints.join('\u0000');
79
113
  (0, react_1.useEffect)(() => {
80
114
  let cancelled = false;
81
115
  const requestId = ++loadRequestIdRef.current;
@@ -84,7 +118,8 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
84
118
  .then(result => {
85
119
  if (cancelled || loadRequestIdRef.current !== requestId || !result?.options)
86
120
  return;
87
- const nextOptions = (0, widgetBoardLayoutUtils_1.buildLayoutOptions)(result.options, defaultOption);
121
+ const activeBreakpoints = breakpointsRef.current;
122
+ const nextOptions = (0, widgetBoardLayoutUtils_1.buildLayoutOptions)(result.options, defaultOption, activeBreakpoints);
88
123
  setLayoutOptions(prev => ((0, widgetBoardLayoutUtils_1.layoutOptionsEqual)(prev, nextOptions) ? prev : nextOptions));
89
124
  lockedLayoutIdRef.current = defaultOption.id;
90
125
  const currentSelected = selectedLayoutRef.current;
@@ -97,17 +132,19 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
97
132
  }
98
133
  const nextOptionsMap = new Map(nextOptions.map(option => [option.id, option]));
99
134
  const nextLayoutSource = nextOptionsMap.get(nextSelected ?? '')?.layoutByBreakpoint ?? defaultOption.layoutByBreakpoint;
100
- const nextBreakpoints = Object.keys(nextLayoutSource)
101
- .map(Number)
102
- .sort((a, b) => a - b);
103
- const nextPreset = (0, widgetBoardLayoutUtils_1.getLayoutConfigForWidth)(typeof window !== 'undefined' ? window.innerWidth : undefined, nextLayoutSource, nextBreakpoints);
104
- const nextBreakpointKey = String(nextPreset.breakpoint ?? nextBreakpoints[0]);
105
- const fallbackForNext = nextLayoutSource[nextBreakpoints[0]] ?? Object.values(nextLayoutSource)[0] ?? { widgets: {} };
135
+ const activeBreakpointKey = currentBreakpointKeyRef.current;
136
+ const nextPreset = (0, widgetBoardLayoutUtils_1.getLayoutConfigForBreakpoint)(activeBreakpointKey, nextLayoutSource);
137
+ const nextBreakpointKey = String(nextPreset.breakpoint ?? activeBreakpoints[0]);
138
+ const fallbackForNext = nextLayoutSource[activeBreakpoints[0]] ?? Object.values(nextLayoutSource)[0] ?? { widgets: {} };
106
139
  const nextDefinitions = (0, widgetBoardLayoutUtils_1.withLayout)(widgets, nextPreset.layout ?? fallbackForNext);
107
140
  layoutSourceOwnerIdRef.current = nextSelected ?? defaultOption.id;
108
141
  setLayoutSource(prev => (prev === nextLayoutSource ? prev : nextLayoutSource));
109
- setLayoutPreset(nextPreset);
110
142
  setLayoutState((0, widgetBoardLayoutUtils_1.buildDefaultState)(nextDefinitions, nextBreakpointKey));
143
+ setLayoutStateContext({
144
+ breakpointKey: nextBreakpointKey,
145
+ layoutId: nextSelected ?? defaultOption.id,
146
+ widgets,
147
+ });
111
148
  if (nextSelected && nextSelected !== currentSelected) {
112
149
  setSelectedLayoutId(nextSelected);
113
150
  }
@@ -128,18 +165,19 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
128
165
  };
129
166
  }, [
130
167
  defaultOption,
168
+ breakpointIdsKey,
169
+ breakpointsRef,
170
+ currentBreakpointKeyRef,
131
171
  layoutSourceOwnerIdRef,
132
172
  loadLayouts,
133
173
  loadRequestIdRef,
134
174
  lockedLayoutIdRef,
135
175
  selectedLayoutRef,
136
176
  setLayoutOptions,
137
- setLayoutPreset,
138
177
  setLayoutSource,
139
178
  setSelectedLayoutId,
140
179
  widgets,
141
180
  ]);
142
- const lockedHeightModeByWidgetId = (0, react_1.useMemo)(() => getFixedHeightModeLocks(layoutByBreakpoint, currentBreakpointKey), [currentBreakpointKey, layoutByBreakpoint]);
143
181
  const fallbackLayoutConfig = (0, react_1.useMemo)(() => {
144
182
  const firstKey = breakpoints[0];
145
183
  return layoutSource[firstKey] ?? Object.values(layoutSource)[0];
@@ -151,21 +189,68 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
151
189
  const defaultDefinitionsMap = (0, react_1.useMemo)(() => new Map(defaultDefinitionsWithLayout.map(def => [def.id, def])), [defaultDefinitionsWithLayout]);
152
190
  const effectiveSelectedLayoutId = selectedLayoutId ?? defaultOption.id;
153
191
  const [layoutState, setLayoutState] = (0, react_1.useState)(() => (0, widgetBoardLayoutUtils_1.buildDefaultState)(definitionsWithLayout, currentBreakpointKey));
192
+ const [layoutStateContext, setLayoutStateContext] = (0, react_1.useState)(() => ({
193
+ breakpointKey: currentBreakpointKey,
194
+ layoutId: effectiveSelectedLayoutId,
195
+ widgets,
196
+ }));
154
197
  const isInteractionLocked = (0, useWidgetBoardInteractionLock_1.useWidgetBoardInteractionLock)();
155
198
  const interactionState = (0, react_1.useMemo)(() => ({ isInteractionLocked }), [isInteractionLocked]);
156
- const { boardRootRef, handleContentRef, measuredRowsRef, remeasureAll } = (0, useWidgetBoardAutosize_1.useWidgetBoardAutosize)({
199
+ const { boardRootRef, handleContentRef, remeasureAll } = (0, useWidgetBoardAutosize_1.useWidgetBoardAutosize)({
157
200
  autoHeightEnabled,
158
- lockedHeightModeByWidgetId,
159
201
  definitionsMap,
160
- currentBreakpointKey,
161
202
  isInteractionLocked,
203
+ isSuspended: currentEditBehavior === 'order-only',
162
204
  layoutPresetBreakpoint: layoutPreset.breakpoint,
163
205
  setLayoutState,
164
206
  });
165
207
  (0, react_1.useEffect)(() => {
166
- measuredRowsRef.current = {};
208
+ if (currentEditBehavior === 'order-only')
209
+ return;
210
+ const frameId = requestAnimationFrame(remeasureAll);
211
+ return () => cancelAnimationFrame(frameId);
212
+ }, [currentEditBehavior, remeasureAll]);
213
+ const handleBoardRootRef = (0, react_1.useCallback)((node) => {
214
+ boardRootRef.current = node;
215
+ breakpointContainerRef(node);
216
+ }, [boardRootRef, breakpointContainerRef]);
217
+ const layoutResetContextRef = (0, react_1.useRef)(null);
218
+ const layoutSourceOwnerId = layoutSourceOwnerIdRef.current;
219
+ (0, react_1.useEffect)(() => {
220
+ if (layoutSourceOwnerId !== effectiveSelectedLayoutId)
221
+ return;
222
+ const previous = layoutResetContextRef.current;
223
+ const isDefaultLayout = effectiveSelectedLayoutId === defaultOption.id;
224
+ const shouldReset = !previous ||
225
+ previous.breakpointKey !== currentBreakpointKey ||
226
+ previous.layoutId !== effectiveSelectedLayoutId ||
227
+ previous.ownerId !== layoutSourceOwnerId ||
228
+ previous.widgets !== widgets ||
229
+ (isDefaultLayout && previous.layoutSource !== layoutSource);
230
+ if (!shouldReset)
231
+ return;
232
+ layoutResetContextRef.current = {
233
+ breakpointKey: currentBreakpointKey,
234
+ layoutId: effectiveSelectedLayoutId,
235
+ layoutSource: isDefaultLayout ? layoutSource : undefined,
236
+ ownerId: layoutSourceOwnerId,
237
+ widgets,
238
+ };
167
239
  setLayoutState((0, widgetBoardLayoutUtils_1.buildDefaultState)(definitionsWithLayout, currentBreakpointKey));
168
- }, [currentBreakpointKey, definitionsWithLayout, measuredRowsRef]);
240
+ setLayoutStateContext({
241
+ breakpointKey: currentBreakpointKey,
242
+ layoutId: effectiveSelectedLayoutId,
243
+ widgets,
244
+ });
245
+ }, [
246
+ currentBreakpointKey,
247
+ defaultOption.id,
248
+ definitionsWithLayout,
249
+ effectiveSelectedLayoutId,
250
+ layoutSource,
251
+ layoutSourceOwnerId,
252
+ widgets,
253
+ ]);
169
254
  (0, react_1.useEffect)(() => {
170
255
  if (typeof window === 'undefined')
171
256
  return;
@@ -173,7 +258,6 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
173
258
  const run = () => {
174
259
  frameId = null;
175
260
  remeasureAll();
176
- setLayoutPreset((0, widgetBoardLayoutUtils_1.getLayoutConfigForWidth)(window.innerWidth, layoutSource, breakpoints));
177
261
  };
178
262
  const handleResize = () => {
179
263
  if (frameId !== null)
@@ -187,16 +271,18 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
187
271
  window.cancelAnimationFrame(frameId);
188
272
  }
189
273
  };
190
- }, [breakpoints, layoutSource, remeasureAll, setLayoutPreset]);
274
+ }, [remeasureAll]);
191
275
  const buildCurrentPreset = (0, react_1.useCallback)(() => (0, layoutPersistence_1.buildPresetFromState)(layoutState, layoutSource, breakpoints, currentBreakpointKey), [breakpoints, currentBreakpointKey, layoutSource, layoutState]);
276
+ const isLayoutStateCurrent = layoutStateContext.breakpointKey === currentBreakpointKey &&
277
+ layoutStateContext.layoutId === effectiveSelectedLayoutId &&
278
+ layoutStateContext.widgets === widgets &&
279
+ layoutSourceOwnerIdRef.current === effectiveSelectedLayoutId;
192
280
  const { handleItemsChange, hideItem, setWidgetVisibility, resetLayout, restoreHidden, toggleCollapse } = (0, useWidgetBoardStateActions_1.useWidgetBoardStateActions)({
193
281
  currentBreakpointKey,
194
282
  defaultDefinitionsMap,
195
283
  definitionsMap,
196
284
  definitionsWithLayout,
197
285
  isDefaultLayoutSelected: effectiveSelectedLayoutId === defaultOption.id,
198
- lockedHeightModeByWidgetId,
199
- measuredRowsRef,
200
286
  setLayoutState,
201
287
  });
202
288
  const actionsState = (0, react_1.useMemo)(() => {
@@ -218,14 +304,13 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
218
304
  .filter(definition => definitionsMap.has(definition.id) && !hiddenSet.has(definition.id))
219
305
  .map(definition => definition.id);
220
306
  const hasDifferentVisibleWidgets = visibleItems.length !== defaultVisibleIds.length || defaultVisibleIds.some(id => !visibleItemIdSet.has(id));
221
- const hasDifferentOrder = !hasHiddenWidgets && defaultVisibleIds.some((id, index) => visibleItems[index]?.id !== id);
307
+ const hasDifferentOrder = defaultVisibleIds.some((id, index) => visibleItems[index]?.id !== id);
222
308
  if (hasDifferentVisibleWidgets || hasDifferentOrder) {
223
309
  canResetLayout = true;
224
310
  }
225
311
  else {
226
312
  const visibleItemsMap = new Map(visibleItems.map(item => [item.id, item]));
227
313
  const collapsedSet = new Set(layoutState.collapsed);
228
- const heightModeById = layoutState.heightModeMemory[currentBreakpointKey] ?? {};
229
314
  canResetLayout = defaultVisibleIds.some(id => {
230
315
  const item = visibleItemsMap.get(id);
231
316
  const currentDefinition = definitionsMap.get(id);
@@ -237,12 +322,6 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
237
322
  return true;
238
323
  if (!hasHiddenWidgets && stringifyColumnOffset(item.columnOffset) !== stringifyColumnOffset(defaultSize.columnOffset))
239
324
  return true;
240
- const currentHeightMode = normalizeHeightMode(heightModeById[id] ?? currentDefinition.layout.heightMode);
241
- const defaultHeightMode = normalizeHeightMode(defaultDefinition.layout.heightMode);
242
- if (currentHeightMode !== defaultHeightMode)
243
- return true;
244
- if (currentHeightMode === 'fixed' && item.rowSpan !== defaultSize.rowSpan)
245
- return true;
246
325
  const isCollapsed = collapsedSet.has(id);
247
326
  const defaultIsCollapsed = Boolean(defaultDefinition.layout.initialState?.isCollapsed);
248
327
  if (isCollapsed !== defaultIsCollapsed)
@@ -268,7 +347,6 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
268
347
  definitionsMap,
269
348
  effectiveSelectedLayoutId,
270
349
  layoutState.collapsed,
271
- layoutState.heightModeMemory,
272
350
  layoutState.hidden,
273
351
  layoutState.items,
274
352
  ]);
@@ -283,6 +361,7 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
283
361
  (0, useWidgetBoardLayoutActions_1.useWidgetBoardLayoutActions)({
284
362
  buildCurrentPreset,
285
363
  defaultLayoutId: defaultOption.id,
364
+ isLayoutStateCurrent,
286
365
  isLoadingLayouts,
287
366
  layoutOptions,
288
367
  layoutOptionsMap,
@@ -297,6 +376,7 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
297
376
  onRestoreHidden: restoreHidden,
298
377
  selectedLayoutId,
299
378
  setLayoutOptions,
379
+ setLayoutSource,
300
380
  setSelectedLayoutId,
301
381
  });
302
382
  (0, react_1.useEffect)(() => {
@@ -308,6 +388,9 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
308
388
  getActionsState: () => actionsState,
309
389
  }), [actionsState, resetLayout, restoreHidden]);
310
390
  const visibleItems = (0, react_1.useMemo)(() => layoutState.items.filter(item => definitionsMap.has(item.id)), [layoutState.items, definitionsMap]);
391
+ const minWidthPxByWidgetId = (0, react_1.useMemo)(() => Object.fromEntries(definitionsWithLayout
392
+ .filter(definition => definition.minWidthPx !== undefined)
393
+ .map(definition => [definition.id, definition.minWidthPx])), [definitionsWithLayout]);
311
394
  const activeLayoutConfig = layoutPreset.layout ?? fallbackLayoutConfig;
312
395
  const reactGridLayoutColumns = activeLayoutConfig?.columns ?? reactGridLayoutOptions?.columns ?? 12;
313
396
  const reactGridLayoutRowHeight = activeLayoutConfig?.rowHeight ?? reactGridLayoutOptions?.rowHeight ?? 96;
@@ -320,8 +403,7 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
320
403
  if (!definition)
321
404
  return null;
322
405
  const isCollapsed = layoutState.collapsed.includes(widgetId);
323
- const isHeightModeLocked = Boolean(lockedHeightModeByWidgetId[widgetId]);
324
- const baseHeightMode = isHeightModeLocked ? 'fixed' : layoutState.heightModeMemory[currentBreakpointKey]?.[widgetId] ?? definition.layout.heightMode ?? 'auto';
406
+ const baseHeightMode = definition.layout.heightMode ?? 'auto';
325
407
  const heightMode = autoHeightEnabled ? baseHeightMode : 'fixed';
326
408
  return { definition, heightMode, isCollapsed };
327
409
  };
@@ -331,12 +413,12 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
331
413
  return react_1.default.createElement(react_1.default.Fragment, null);
332
414
  return (react_1.default.createElement(WidgetBoardItem_1.WidgetBoardItem, { item: item, definition: renderState.definition, heightMode: renderState.heightMode, isCollapsed: renderState.isCollapsed, isInteractionLocked: isInteractionLocked, onContentRef: handleContentRef, onHide: hideItem, onToggleCollapse: toggleCollapse }));
333
415
  };
334
- const renderReactGridLayoutItem = (item) => {
416
+ const renderReactGridLayoutItem = (item, context) => {
335
417
  const renderState = resolveItemRenderState(item);
336
418
  if (!renderState)
337
419
  return react_1.default.createElement(react_1.default.Fragment, null);
338
- return (react_1.default.createElement(WidgetBoardReactGridLayoutEngine_1.WidgetBoardReactGridLayoutItem, { item: item, definition: renderState.definition, heightMode: renderState.heightMode, isCollapsed: renderState.isCollapsed, interactionMode: interactionMode, onContentRef: handleContentRef, onHide: hideItem }));
420
+ return (react_1.default.createElement(WidgetBoardReactGridLayoutEngine_1.WidgetBoardReactGridLayoutItem, { item: item, definition: renderState.definition, heightMode: renderState.heightMode, isCollapsed: renderState.isCollapsed, editBehavior: currentEditBehavior, interactionMode: interactionMode, itemCount: context.itemCount, onContentRef: handleContentRef, onHide: hideItem, onMove: context.onMove, position: context.position }));
339
421
  };
340
- return (react_1.default.createElement(exports.WidgetBoardInteractionContext.Provider, { value: interactionState }, engine === 'react-grid-layout' ? (react_1.default.createElement(WidgetBoardReactGridLayoutEngine_1.WidgetBoardReactGridLayoutEngine, { boardRootRef: boardRootRef, columns: reactGridLayoutColumns, containerPadding: reactGridLayoutContainerPadding, interactionMode: interactionMode, isLoadingLayouts: isLoadingLayouts, items: visibleItems, margin: reactGridLayoutMargin, onItemsChange: handleItemsChange, renderItem: renderReactGridLayoutItem, rowHeight: reactGridLayoutRowHeight, useCSSTransforms: reactGridLayoutUseCSSTransforms })) : (react_1.default.createElement(WidgetBoardCloudscapeEngine_1.WidgetBoardCloudscapeEngine, { boardRootRef: boardRootRef, items: visibleItems, isLoadingLayouts: isLoadingLayouts, onItemsChange: handleItemsChange, renderItem: renderCloudscapeItem }))));
422
+ return (react_1.default.createElement(exports.WidgetBoardInteractionContext.Provider, { value: interactionState }, engine === 'react-grid-layout' ? (react_1.default.createElement(WidgetBoardReactGridLayoutEngine_1.WidgetBoardReactGridLayoutEngine, { boardRootRef: handleBoardRootRef, columns: reactGridLayoutColumns, containerPadding: reactGridLayoutContainerPadding, editBehavior: currentEditBehavior, interactionMode: interactionMode, isLoadingLayouts: isLoadingLayouts, items: visibleItems, margin: reactGridLayoutMargin, minWidthPxByWidgetId: minWidthPxByWidgetId, onItemsChange: handleItemsChange, renderItem: renderReactGridLayoutItem, rowHeight: reactGridLayoutRowHeight, useCSSTransforms: reactGridLayoutUseCSSTransforms })) : (react_1.default.createElement(WidgetBoardCloudscapeEngine_1.WidgetBoardCloudscapeEngine, { boardRootRef: handleBoardRootRef, items: visibleItems, isLoadingLayouts: isLoadingLayouts, onItemsChange: handleItemsChange, renderItem: renderCloudscapeItem }))));
341
423
  });
342
424
  //# sourceMappingURL=WidgetBoard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetBoard.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetBoard.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoard.tsx"],"names":[],"mappings":";;;;AAAA,uDAAiH;AAEjH,2DAA0D;AAC1D,qEAAiE;AACjE,mFAA+E;AAC/E,+EAA2E;AAC3E,6EAAyE;AACzE,yDAA6D;AAC7D,6EAAyE;AACzE,+EAA2E;AAC3E,uDAAmD;AACnD,yFAI2C;AAC3C,qEAAgG;AAChG,qEAOiC;AAcjC,MAAM,0BAA0B,GAAG,CAC/B,kBAAmE,EACnE,aAA8B,EACI,EAAE,CACpC,kBAAkB,CAAC,aAAa,CAAC;IACjC,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,mBAAmB,GAAG,CAAC,KAAuC,EAAE,EAAE,CAAC,KAAK,IAAI,MAAM,CAAA;AACxF,MAAM,qBAAqB,GAAG,CAAC,KAAwD,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;AACzH,MAAM,0BAA0B,GAAG,CAAC,MAA8B,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAEvD,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAM;QAC5D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IACF,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAM;QAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAOD,MAAM,kBAAkB,GAAG,CACvB,OAAuC,EACvC,IAAoC,EACpC,EAAE,iBAAiB,GAAG,KAAK,KAAwB,EAAE,EACvD,EAAE;IACA,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAA;IACjC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACjE,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAE3D,IAAI,iBAAiB,KAAK,cAAc;QAAE,OAAO,KAAK,CAAA;IAEtD,IACI,WAAW,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;QAC9C,qBAAqB,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAClG,CAAC;QACC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IACxH,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;QAAE,OAAO,KAAK,CAAA;IAExG,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAC1B,OAA2C,EAC3C,IAAwC,EACxC,EAAE,eAAe,EAAE,iBAAiB,GAAG,KAAK,KAAwB,EAAE,EACxE,EAAE;IACA,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAEnC,MAAM,YAAY,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAA;IAClD,IACI,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QACxC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,EACvE,CAAC;QACC,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACnE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1F,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAQ;QAEtC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;YAChG,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAYY,QAAA,6BAA6B,GAAG,eAAK,CAAC,aAAa,CAA8B;IAC1F,mBAAmB,EAAE,KAAK;CAC7B,CAAC,CAAA;AAEK,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,eAAK,CAAC,UAAU,CAAC,qCAA6B,CAAC,CAAA;AAAjF,QAAA,yBAAyB,6BAAwD;AAE9F,MAAM,2BAA2B,GAAsB,mBAAmB,CAAA;AAC1E,MAAM,qCAAqC,GAA+B,MAAM,CAAA;AAEnE,QAAA,WAAW,GAAG,IAAA,kBAAU,EAAsC,SAAS,WAAW,CAC3F,EACI,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,iBAAiB,GAAG,IAAI,EACxB,MAAM,GAAG,2BAA2B,EACpC,eAAe,GAAG,qCAAqC,EACvD,sBAAsB,EACtB,WAAW,EAAE,qBAAqB,EAClC,gBAAgB,GAAG,UAAU,GAChC,EACD,GAAG;IAEH,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IAC9D,MAAM,aAAa,GAAG,IAAA,2CAAwB,GAAE,CAAA;IAChD,MAAM,mBAAmB,GAAG,IAAA,eAAO,EAC/B,GAAG,EAAE,CAAC,IAAA,oDAA2B,EAAC,kBAAkB,EAAE,qBAAqB,CAAC,EAC5E,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAC9C,CAAA;IACD,MAAM,aAAa,GAAG,IAAA,eAAO,EACzB,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAC1D,CAAC,mBAAmB,CAAC,CACxB,CAAA;IACD,MAAM,EACF,gBAAgB,EAChB,YAAY,EAAE,sBAAsB,GACvC,GAAG,IAAA,iDAAwB,EAAC;QACzB,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,gBAAgB;KAC3B,CAAC,CAAA;IACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,EAAE,CAAA;IAChD,MAAM,mBAAmB,GACrB,eAAe,KAAK,MAAM;QACtB,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,IAAI,MAAM,CAAC;QAC3C,CAAC,CAAC,MAAM,CAAA;IAChB,MAAM,uBAAuB,GAAG,IAAA,cAAM,EAAC,oBAAoB,CAAC,CAAA;IAC5D,uBAAuB,CAAC,OAAO,GAAG,oBAAoB,CAAA;IACtD,MAAM,EACF,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACtB,GAAG,IAAA,uDAA0B,EAAC;QAC3B,kBAAkB;QAClB,aAAa;QACb,oBAAoB;KACvB,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,IAAA,cAAM,EAAC,WAAW,CAAC,CAAA;IAC1C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAA;IACpC,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEnD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAA;QAErB,MAAM,SAAS,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAA;QAC5C,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACzB,WAAW,EAAE;aACR,IAAI,CAAC,MAAM,CAAC,EAAE;YACX,IAAI,SAAS,IAAI,gBAAgB,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO;gBAAE,OAAM;YACnF,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAA;YAChD,MAAM,WAAW,GAAG,IAAA,2CAAkB,EAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAA;YACxF,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAA,2CAAkB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;YACtF,iBAAiB,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,CAAA;YAE5C,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAA;YACjD,IAAI,YAAY,GAAG,eAAe,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAA;YAE7H,IAAI,MAAM,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnF,YAAY,GAAG,MAAM,CAAC,UAAU,CAAA;YACpC,CAAC;iBAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;YACrC,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;YAC9E,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAA;YACvH,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,OAAO,CAAA;YAC3D,MAAM,UAAU,GAAG,IAAA,qDAA4B,EAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAA;YACtF,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/E,MAAM,eAAe,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;YACvH,MAAM,eAAe,GAAG,IAAA,mCAAU,EAAC,OAAO,EAAE,UAAU,CAAC,MAAM,IAAI,eAAe,CAAC,CAAA;YAEjF,sBAAsB,CAAC,OAAO,GAAG,YAAY,IAAI,aAAa,CAAC,EAAE,CAAA;YACjE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAA;YAC9E,cAAc,CAAC,IAAA,0CAAiB,EAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAA;YACrE,qBAAqB,CAAC;gBAClB,aAAa,EAAE,iBAAiB;gBAChC,QAAQ,EAAE,YAAY,IAAI,aAAa,CAAC,EAAE;gBAC1C,OAAO;aACV,CAAC,CAAA;YAEF,IAAI,YAAY,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;gBACnD,mBAAmB,CAAC,YAAY,CAAC,CAAA;YACrC,CAAC;iBAAM,IAAI,CAAC,eAAe,IAAI,YAAY,EAAE,CAAC;gBAC1C,mBAAmB,CAAC,YAAY,CAAC,CAAA;YACrC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;QACxD,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACV,IAAI,SAAS,IAAI,gBAAgB,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAM;YAC/D,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEN,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAA;QACpB,CAAC,CAAA;IACL,CAAC,EAAE;QACC,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,uBAAuB;QACvB,sBAAsB;QACtB,WAAW;QACX,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,gBAAgB;QAChB,eAAe;QACf,mBAAmB;QACnB,OAAO;KACV,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;IAE/B,MAAM,qBAAqB,GAAG,IAAA,eAAO,EACjC,GAAG,EAAE,CAAC,IAAA,mCAAU,EAAC,OAAO,EAAE,YAAY,CAAC,MAAM,IAAI,oBAAoB,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EACzF,CAAC,oBAAoB,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CACvD,CAAA;IAED,MAAM,cAAc,GAAG,IAAA,eAAO,EAC1B,GAAG,EAAE,CAAC,IAAI,GAAG,CAAqC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAClG,CAAC,qBAAqB,CAAC,CAC1B,CAAA;IACD,MAAM,uBAAuB,GAAG,IAAA,eAAO,EACnC,GAAG,EAAE,CAAC,0BAA0B,CAAC,aAAa,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EACjK,CAAC,oBAAoB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAC3D,CAAA;IACD,MAAM,4BAA4B,GAAG,IAAA,eAAO,EACxC,GAAG,EAAE,CAAC,IAAA,mCAAU,EAAC,OAAO,EAAE,uBAAuB,CAAC,EAClD,CAAC,uBAAuB,EAAE,OAAO,CAAC,CACrC,CAAA;IACD,MAAM,qBAAqB,GAAG,IAAA,eAAO,EACjC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAqC,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EACzG,CAAC,4BAA4B,CAAC,CACjC,CAAA;IACD,MAAM,yBAAyB,GAAG,gBAAgB,IAAI,aAAa,CAAC,EAAE,CAAA;IAEtE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAmB,GAAG,EAAE,CAAC,IAAA,0CAAiB,EAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACtI,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,CAAC;QAChE,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,yBAAyB;QACnC,OAAO;KACV,CAAC,CAAC,CAAA;IACH,MAAM,mBAAmB,GAAG,IAAA,6DAA6B,GAAE,CAAA;IAC3D,MAAM,gBAAgB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACxF,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAA,+CAAsB,EAAC;QAC5E,iBAAiB;QACjB,cAAc;QACd,mBAAmB;QACnB,WAAW,EAAE,mBAAmB,KAAK,YAAY;QACjD,sBAAsB,EAAE,YAAY,CAAC,UAAU;QAC/C,cAAc;KACjB,CAAC,CAAA;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,mBAAmB,KAAK,YAAY;YAAE,OAAM;QAChD,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAA;QACnD,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAA;IACvC,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAClC,CAAC,IAA2B,EAAE,EAAE;QAC5B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;QAC3B,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC,EACD,CAAC,YAAY,EAAE,sBAAsB,CAAC,CACzC,CAAA;IACD,MAAM,qBAAqB,GAAG,IAAA,cAAM,EAM1B,IAAI,CAAC,CAAA;IACf,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,CAAA;IAE1D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,mBAAmB,KAAK,yBAAyB;YAAE,OAAM;QAC7D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAA;QAC9C,MAAM,eAAe,GAAG,yBAAyB,KAAK,aAAa,CAAC,EAAE,CAAA;QACtE,MAAM,WAAW,GACb,CAAC,QAAQ;YACT,QAAQ,CAAC,aAAa,KAAK,oBAAoB;YAC/C,QAAQ,CAAC,QAAQ,KAAK,yBAAyB;YAC/C,QAAQ,CAAC,OAAO,KAAK,mBAAmB;YACxC,QAAQ,CAAC,OAAO,KAAK,OAAO;YAC5B,CAAC,eAAe,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC,CAAA;QAC/D,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,qBAAqB,CAAC,OAAO,GAAG;YAC5B,aAAa,EAAE,oBAAoB;YACnC,QAAQ,EAAE,yBAAyB;YACnC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YACxD,OAAO,EAAE,mBAAmB;YAC5B,OAAO;SACV,CAAA;QACD,cAAc,CAAC,IAAA,0CAAiB,EAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAA;QAC9E,qBAAqB,CAAC;YAClB,aAAa,EAAE,oBAAoB;YACnC,QAAQ,EAAE,yBAAyB;YACnC,OAAO;SACV,CAAC,CAAA;IACN,CAAC,EAAE;QACC,oBAAoB;QACpB,aAAa,CAAC,EAAE;QAChB,qBAAqB;QACrB,yBAAyB;QACzB,YAAY;QACZ,mBAAmB;QACnB,OAAO;KACV,CAAC,CAAA;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,IAAI,OAAO,GAAkB,IAAI,CAAA;QACjC,MAAM,GAAG,GAAG,GAAG,EAAE;YACb,OAAO,GAAG,IAAI,CAAA;YACd,YAAY,EAAE,CAAA;QAClB,CAAC,CAAA;QACD,MAAM,YAAY,GAAG,GAAG,EAAE;YACtB,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAM;YAC5B,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAC/C,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC/C,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YAClD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;YACxC,CAAC;QACL,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAClC,GAAG,EAAE,CAAC,IAAA,wCAAoB,EAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,CAAC,EACxF,CAAC,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,CAAC,CACjE,CAAA;IACD,MAAM,oBAAoB,GACtB,kBAAkB,CAAC,aAAa,KAAK,oBAAoB;QACzD,kBAAkB,CAAC,QAAQ,KAAK,yBAAyB;QACzD,kBAAkB,CAAC,OAAO,KAAK,OAAO;QACtC,sBAAsB,CAAC,OAAO,KAAK,yBAAyB,CAAA;IAEhE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,IAAA,uDAA0B,EAAC;QAChI,oBAAoB;QACpB,qBAAqB;QACrB,cAAc;QACd,qBAAqB;QACrB,uBAAuB,EAAE,yBAAyB,KAAK,aAAa,CAAC,EAAE;QACvE,cAAc;KACjB,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,IAAA,eAAO,EAA0B,GAAG,EAAE;QACvD,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAA;QAC1C,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAA;QAE/F,IAAI,cAAuB,CAAA;QAC3B,IAAI,yBAAyB,KAAK,aAAa,CAAC,EAAE,EAAE,CAAC;YACjD,cAAc,GAAG,qBAAqB,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAA;QAC5F,CAAC;aAAM,CAAC;YACJ,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC7C,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAA;YAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAY,CAAA;gBAClC,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACnE,CAAC,CAAC,CAAA;YACF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC,CAAA;YAC7E,MAAM,iBAAiB,GAAG,4BAA4B;iBACjD,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;iBACxF,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YAErC,MAAM,0BAA0B,GAC5B,YAAY,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAE/G,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YAE/F,IAAI,0BAA0B,IAAI,iBAAiB,EAAE,CAAC;gBAClD,cAAc,GAAG,IAAI,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACJ,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;gBACnD,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACzC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACpC,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBAChD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACvD,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB;wBAAE,OAAO,IAAI,CAAA;oBAElE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAA;oBACxD,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU;wBAAE,OAAO,IAAI,CAAA;oBAC3D,IAAI,CAAC,gBAAgB,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,qBAAqB,CAAC,WAAW,CAAC,YAAY,CAAC;wBAAE,OAAO,IAAI,CAAA;oBAElI,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACxC,MAAM,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;oBACtF,IAAI,WAAW,KAAK,kBAAkB;wBAAE,OAAO,IAAI,CAAA;oBAEnD,OAAO,KAAK,CAAA;gBAChB,CAAC,CAAC,CAAA;YACN,CAAC;QACL,CAAC;QAED,OAAO;YACH,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnF,cAAc;YACd,uBAAuB,EAAE,yBAAyB,KAAK,aAAa,CAAC,EAAE;YACvE,gBAAgB,EAAE,yBAAyB;YAC3C,eAAe,EAAE,aAAa,CAAC,EAAE;SACpC,CAAA;IACL,CAAC,EAAE;QACC,kBAAkB;QAClB,oBAAoB;QACpB,uBAAuB;QACvB,qBAAqB;QACrB,4BAA4B;QAC5B,aAAa,CAAC,EAAE;QAChB,cAAc;QACd,yBAAyB;QACzB,WAAW,CAAC,SAAS;QACrB,WAAW,CAAC,MAAM;QAClB,WAAW,CAAC,KAAK;KACpB,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;SACzC,CAAC,CAAC,CAAA;IACP,CAAC,EAAE,CAAC,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;IAE/C,IAAA,yDAA2B,EAAC;QACxB,kBAAkB;QAClB,eAAe,EAAE,aAAa,CAAC,EAAE;QACjC,oBAAoB;QACpB,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,sBAAsB;QACtB,iBAAiB;QACjB,WAAW;QACX,QAAQ,EAAE,aAAa;QACvB,YAAY;QACZ,eAAe;QACf,qBAAqB,EAAE,mBAAmB;QAC1C,aAAa,EAAE,WAAW;QAC1B,eAAe,EAAE,aAAa;QAC9B,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,mBAAmB;KACtB,CAAC,CAAA;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,oBAAoB,EAAE,CAAC,YAAY,CAAC,CAAA;IACxC,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAExC,IAAA,2BAAmB,EACf,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACH,WAAW;QACX,aAAa;QACb,eAAe,EAAE,GAAG,EAAE,CAAC,YAAY;KACtC,CAAC,EACF,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAC7C,CAAA;IAED,MAAM,YAAY,GAAG,IAAA,eAAO,EACxB,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC,EAC7E,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CACtC,CAAA;IACD,MAAM,oBAAoB,GAAG,IAAA,eAAO,EAChC,GAAG,EAAE,CACD,MAAM,CAAC,WAAW,CACd,qBAAqB;SAChB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC;SACzD,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAC9B,EACxC,CAAC,qBAAqB,CAAC,CAC1B,CAAA;IAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,IAAI,oBAAoB,CAAA;IACtE,MAAM,sBAAsB,GAAG,kBAAkB,EAAE,OAAO,IAAI,sBAAsB,EAAE,OAAO,IAAI,EAAE,CAAA;IACnG,MAAM,wBAAwB,GAAG,kBAAkB,EAAE,SAAS,IAAI,sBAAsB,EAAE,SAAS,IAAI,EAAE,CAAA;IACzG,MAAM,qBAAqB,GAAG,kBAAkB,EAAE,MAAM,IAAI,sBAAsB,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpG,MAAM,+BAA+B,GAAG,kBAAkB,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClI,MAAM,+BAA+B,GAAG,sBAAsB,EAAE,gBAAgB,IAAI,IAAI,CAAA;IAExF,MAAM,sBAAsB,GAAG,CAAC,IAA0C,EAAE,EAAE;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAY,CAAA;QAClC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAE5B,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5D,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAA;QAC7D,MAAM,UAAU,GAAqB,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAA;QAEjF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAA;IAClD,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,CAAC,IAA0C,EAAE,EAAE;QACxE,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,6DAAK,CAAA;QAE9B,OAAO,CACH,8BAAC,iCAAe,IACZ,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,WAAW,CAAC,UAAU,EAClC,UAAU,EAAE,WAAW,CAAC,UAAU,EAClC,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,cAAc,GAClC,CACL,CAAA;IACL,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,CAC9B,IAA0C,EAC1C,OAAgD,EAClD,EAAE;QACA,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,6DAAK,CAAA;QAE9B,OAAO,CACH,8BAAC,iEAA8B,IAC3B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,WAAW,CAAC,UAAU,EAClC,UAAU,EAAE,WAAW,CAAC,UAAU,EAClC,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,YAAY,EAAE,mBAAmB,EACjC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAC5B,CACL,CAAA;IACL,CAAC,CAAA;IAED,OAAO,CACH,8BAAC,qCAA6B,CAAC,QAAQ,IAAC,KAAK,EAAE,gBAAgB,IAC1D,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAC9B,8BAAC,mEAAgC,IAC7B,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,sBAAsB,EAC/B,gBAAgB,EAAE,+BAA+B,EACjD,YAAY,EAAE,mBAAmB,EACjC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,qBAAqB,EAC7B,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,iBAAiB,EAChC,UAAU,EAAE,yBAAyB,EACrC,SAAS,EAAE,wBAAwB,EACnC,gBAAgB,EAAE,+BAA+B,GACnD,CACL,CAAC,CAAC,CAAC,CACA,8BAAC,yDAA2B,IACxB,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,iBAAiB,EAChC,UAAU,EAAE,oBAAoB,GAClC,CACL,CACoC,CAC5C,CAAA;AACL,CAAC,CAAC,CAAA"}
@@ -17,7 +17,7 @@ const WidgetBoardCloudscapeEngine = ({ boardRootRef, items, isLoadingLayouts, on
17
17
  const boardI18nStrings = (0, react_1.useMemo)(() => (0, boardI18n_1.createBoardI18nStrings)(item => item.data.title), []);
18
18
  const boardElement = (react_1.default.createElement(board_1.default, { items: items, renderItem: renderItem, i18nStrings: boardI18nStrings, onItemsChange: onItemsChange, empty: react_1.default.createElement(material_1.Box, { sx: { p: 2, color: 'text.secondary' } }, "No widgets available") }));
19
19
  return (react_1.default.createElement(CloudscapeThemeProvider_1.CloudscapeThemeProvider, null,
20
- react_1.default.createElement(CloudscapeBoardStyles_1.CloudscapeBoardStyles, { hideNavigationArrows: true }),
20
+ react_1.default.createElement(CloudscapeBoardStyles_1.CloudscapeBoardStyles, { hideNavigationArrows: true, hideResizers: true }),
21
21
  react_1.default.createElement(material_1.Box, { "data-pne-widget-board": 'true', ref: boardRootRef, sx: { position: 'relative', display: 'flex', flexDirection: 'column', gap: 2 } }, isLoadingLayouts ? react_1.default.createElement(WidgetBoardSkeleton_1.WidgetBoardSkeleton, null) : boardElement)));
22
22
  };
23
23
  exports.WidgetBoardCloudscapeEngine = WidgetBoardCloudscapeEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetBoardCloudscapeEngine.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoardCloudscapeEngine.tsx"],"names":[],"mappings":";;;;AAAA,uDAAsC;AACtC,8FAAkF;AAClF,4CAAmC;AACnC,+EAA2E;AAC3E,mFAA+E;AAC/E,uDAAgE;AAChE,+DAA2D;AAW3D;;;GAGG;AACI,MAAM,2BAA2B,GAAG,CAAC,EACxC,YAAY,EACZ,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,UAAU,GACqB,EAAE,EAAE;IACnC,MAAM,gBAAgB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,kCAAsB,EAAsB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAEhH,MAAM,YAAY,GAAG,CACjB,8BAAC,eAAK,IACF,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,gBAAgB,EAC7B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,8BAAC,cAAG,IAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,2BAA4B,GAC/E,CACL,CAAA;IAED,OAAO,CACH,8BAAC,iDAAuB;QACpB,8BAAC,6CAAqB,IAAC,oBAAoB,SAAG;QAC9C,8BAAC,cAAG,6BAAuB,MAAM,EAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,IAC9H,gBAAgB,CAAC,CAAC,CAAC,8BAAC,yCAAmB,OAAG,CAAC,CAAC,CAAC,YAAY,CACxD,CACgB,CAC7B,CAAA;AACL,CAAC,CAAA;AA3BY,QAAA,2BAA2B,+BA2BvC"}
1
+ {"version":3,"file":"WidgetBoardCloudscapeEngine.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoardCloudscapeEngine.tsx"],"names":[],"mappings":";;;;AAAA,uDAAsC;AACtC,8FAAkF;AAClF,4CAAmC;AACnC,+EAA2E;AAC3E,mFAA+E;AAC/E,uDAAgE;AAChE,+DAA2D;AAW3D;;;GAGG;AACI,MAAM,2BAA2B,GAAG,CAAC,EACxC,YAAY,EACZ,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,UAAU,GACqB,EAAE,EAAE;IACnC,MAAM,gBAAgB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,kCAAsB,EAAsB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAEhH,MAAM,YAAY,GAAG,CACjB,8BAAC,eAAK,IACF,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,gBAAgB,EAC7B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,8BAAC,cAAG,IAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,2BAA4B,GAC/E,CACL,CAAA;IAED,OAAO,CACH,8BAAC,iDAAuB;QACpB,8BAAC,6CAAqB,IAAC,oBAAoB,QAAC,YAAY,SAAG;QAC3D,8BAAC,cAAG,6BAAuB,MAAM,EAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,IAC9H,gBAAgB,CAAC,CAAC,CAAC,8BAAC,yCAAmB,OAAG,CAAC,CAAC,CAAC,YAAY,CACxD,CACgB,CAC7B,CAAA;AACL,CAAC,CAAA;AA3BY,QAAA,2BAA2B,+BA2BvC"}
@@ -1,30 +1,61 @@
1
1
  import React from 'react';
2
2
  import type { BoardProps } from '@cloudscape-design/board-components/board';
3
+ import { type Layout } from 'react-grid-layout';
3
4
  import 'react-grid-layout/css/styles.css';
4
- import type { WidgetBoardInteractionMode, WidgetBoardItemData, WidgetHeightMode } from './types';
5
+ import type { WidgetBoardEditBehavior, WidgetBoardInteractionMode, WidgetBoardItemData, WidgetHeightMode } from './types';
5
6
  import type { WidgetDefinitionWithLayout } from './widgetBoardLayoutUtils';
7
+ type WidgetBoardOrderMoveDirection = -1 | 1;
8
+ export type WidgetBoardReactGridLayoutRenderContext = {
9
+ itemCount: number;
10
+ position: number;
11
+ onMove: (widgetId: string, direction: WidgetBoardOrderMoveDirection) => void;
12
+ };
6
13
  type WidgetBoardReactGridLayoutItemProps = {
7
14
  item: BoardProps.Item<WidgetBoardItemData>;
8
15
  definition: WidgetDefinitionWithLayout;
16
+ editBehavior: WidgetBoardEditBehavior;
9
17
  heightMode: WidgetHeightMode;
10
18
  isCollapsed: boolean;
11
19
  interactionMode: WidgetBoardInteractionMode;
20
+ itemCount: number;
12
21
  onContentRef: (widgetId: string, node: HTMLDivElement | null) => void;
13
22
  onHide: (widgetId: string) => void;
23
+ onMove: (widgetId: string, direction: WidgetBoardOrderMoveDirection) => void;
24
+ position: number;
14
25
  };
15
26
  type WidgetBoardReactGridLayoutEngineProps = {
16
27
  boardRootRef: React.Ref<HTMLDivElement>;
17
28
  columns: number;
18
29
  containerPadding: readonly [number, number] | null;
30
+ editBehavior: WidgetBoardEditBehavior;
19
31
  interactionMode: WidgetBoardInteractionMode;
20
32
  isLoadingLayouts: boolean;
21
33
  items: BoardProps.Item<WidgetBoardItemData>[];
22
34
  margin: readonly [number, number];
35
+ minWidthPxByWidgetId: Partial<Record<string, number>>;
23
36
  onItemsChange: BoardProps<WidgetBoardItemData>['onItemsChange'];
24
- renderItem: (item: BoardProps.Item<WidgetBoardItemData>) => React.ReactElement;
37
+ renderItem: (item: BoardProps.Item<WidgetBoardItemData>, context: WidgetBoardReactGridLayoutRenderContext) => React.ReactElement;
25
38
  rowHeight: number;
26
39
  useCSSTransforms: boolean;
27
40
  };
28
- export declare const WidgetBoardReactGridLayoutItem: ({ item, definition, heightMode, isCollapsed, interactionMode, onContentRef, onHide, }: WidgetBoardReactGridLayoutItemProps) => React.JSX.Element;
29
- export declare const WidgetBoardReactGridLayoutEngine: ({ boardRootRef, columns, containerPadding, interactionMode, isLoadingLayouts, items, margin, onItemsChange, renderItem, rowHeight, useCSSTransforms, }: WidgetBoardReactGridLayoutEngineProps) => React.JSX.Element;
41
+ export declare const getResizeMinColumnSpan: ({ columns, containerPadding, containerWidth, margin, minWidthPx, }: {
42
+ columns: number;
43
+ containerPadding: readonly [number, number] | null;
44
+ containerWidth: number;
45
+ margin: readonly [number, number];
46
+ minWidthPx: number;
47
+ }) => number;
48
+ export declare const applyUserResizeMinWidths: ({ columns, containerPadding, containerWidth, interactionMode, layout, margin, minWidthPxByWidgetId, }: {
49
+ columns: number;
50
+ containerPadding: readonly [number, number] | null;
51
+ containerWidth: number;
52
+ interactionMode: WidgetBoardInteractionMode;
53
+ layout: Layout;
54
+ margin: readonly [number, number];
55
+ minWidthPxByWidgetId: Partial<Record<string, number>>;
56
+ }) => Layout;
57
+ export declare const toReactGridLayout: (items: BoardProps.Item<WidgetBoardItemData>[], columns: number, interactionMode: WidgetBoardInteractionMode, editBehavior?: WidgetBoardEditBehavior) => Layout;
58
+ export declare const toBoardItems: (layout: Layout, sourceItems: BoardProps.Item<WidgetBoardItemData>[], columns: number, preserveGeometry?: boolean) => BoardProps.Item<WidgetBoardItemData>[];
59
+ export declare const WidgetBoardReactGridLayoutItem: ({ item, definition, editBehavior, heightMode, isCollapsed, interactionMode, itemCount, onContentRef, onHide, onMove, position, }: WidgetBoardReactGridLayoutItemProps) => React.JSX.Element;
60
+ export declare const WidgetBoardReactGridLayoutEngine: ({ boardRootRef, columns, containerPadding, editBehavior, interactionMode, isLoadingLayouts, items, margin, minWidthPxByWidgetId, onItemsChange, renderItem, rowHeight, useCSSTransforms, }: WidgetBoardReactGridLayoutEngineProps) => React.JSX.Element;
30
61
  export {};