pne-ui 4.0.36 → 4.0.38

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 (23) hide show
  1. package/cjs/component/widget-board/WidgetBoard.js +26 -16
  2. package/cjs/component/widget-board/WidgetBoard.js.map +1 -1
  3. package/cjs/component/widget-board/WidgetBoardCloudscapeEngine.d.ts +15 -0
  4. package/cjs/component/widget-board/WidgetBoardCloudscapeEngine.js +24 -0
  5. package/cjs/component/widget-board/WidgetBoardCloudscapeEngine.js.map +1 -0
  6. package/cjs/component/widget-board/WidgetBoardReactGridLayoutEngine.d.ts +30 -0
  7. package/cjs/component/widget-board/WidgetBoardReactGridLayoutEngine.js +192 -0
  8. package/cjs/component/widget-board/WidgetBoardReactGridLayoutEngine.js.map +1 -0
  9. package/cjs/component/widget-board/layoutPersistence.js +11 -1
  10. package/cjs/component/widget-board/layoutPersistence.js.map +1 -1
  11. package/cjs/component/widget-board/types.d.ts +19 -0
  12. package/esm/component/widget-board/WidgetBoard.js +26 -16
  13. package/esm/component/widget-board/WidgetBoard.js.map +1 -1
  14. package/esm/component/widget-board/WidgetBoardCloudscapeEngine.d.ts +15 -0
  15. package/esm/component/widget-board/WidgetBoardCloudscapeEngine.js +19 -0
  16. package/esm/component/widget-board/WidgetBoardCloudscapeEngine.js.map +1 -0
  17. package/esm/component/widget-board/WidgetBoardReactGridLayoutEngine.d.ts +30 -0
  18. package/esm/component/widget-board/WidgetBoardReactGridLayoutEngine.js +186 -0
  19. package/esm/component/widget-board/WidgetBoardReactGridLayoutEngine.js.map +1 -0
  20. package/esm/component/widget-board/layoutPersistence.js +11 -1
  21. package/esm/component/widget-board/layoutPersistence.js.map +1 -1
  22. package/esm/component/widget-board/types.d.ts +19 -0
  23. package/package.json +2 -1
@@ -3,11 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WidgetBoard = exports.useWidgetBoardInteraction = exports.WidgetBoardInteractionContext = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importStar(require("react"));
6
- const board_1 = tslib_1.__importDefault(require("@cloudscape-design/board-components/board"));
7
- const material_1 = require("@mui/material");
8
- const CloudscapeBoardStyles_1 = require("../cloudscape/CloudscapeBoardStyles");
9
- const CloudscapeThemeProvider_1 = require("../cloudscape/CloudscapeThemeProvider");
10
- const boardI18n_1 = require("../cloudscape/boardI18n");
11
6
  const layoutPersistence_1 = require("./layoutPersistence");
12
7
  const useWidgetBoardAutosize_1 = require("./useWidgetBoardAutosize");
13
8
  const useWidgetBoardInteractionLock_1 = require("./useWidgetBoardInteractionLock");
@@ -15,8 +10,9 @@ const useWidgetBoardLayoutActions_1 = require("./useWidgetBoardLayoutActions");
15
10
  const useWidgetBoardLayoutSource_1 = require("./useWidgetBoardLayoutSource");
16
11
  const WidgetBoardScope_1 = require("./WidgetBoardScope");
17
12
  const useWidgetBoardStateActions_1 = require("./useWidgetBoardStateActions");
13
+ const WidgetBoardCloudscapeEngine_1 = require("./WidgetBoardCloudscapeEngine");
18
14
  const WidgetBoardItem_1 = require("./WidgetBoardItem");
19
- const WidgetBoardSkeleton_1 = require("./WidgetBoardSkeleton");
15
+ const WidgetBoardReactGridLayoutEngine_1 = require("./WidgetBoardReactGridLayoutEngine");
20
16
  const widgetBoardLayoutUtils_1 = require("./widgetBoardLayoutUtils");
21
17
  const resolveLayoutForBreakpoint = (layoutByBreakpoint, breakpointKey) => layoutByBreakpoint[breakpointKey] ??
22
18
  layoutByBreakpoint[String(breakpointKey)] ??
@@ -74,7 +70,9 @@ exports.WidgetBoardInteractionContext = react_1.default.createContext({
74
70
  });
75
71
  const useWidgetBoardInteraction = () => react_1.default.useContext(exports.WidgetBoardInteractionContext);
76
72
  exports.useWidgetBoardInteraction = useWidgetBoardInteraction;
77
- exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, layoutByBreakpoint, loadLayouts, saveLayouts, onActionsStateChange, autoHeightEnabled = true, }, ref) {
73
+ const DEFAULT_WIDGET_BOARD_ENGINE = 'react-grid-layout';
74
+ 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) {
78
76
  const [isLoadingLayouts, setIsLoadingLayouts] = (0, react_1.useState)(true);
79
77
  const scopeFabStore = (0, WidgetBoardScope_1.useWidgetBoardScopeStore)();
80
78
  const { breakpoints, currentBreakpointKey, defaultOption, layoutOptions, layoutOptionsMap, layoutPreset, layoutSource, layoutSourceOwnerIdRef, loadRequestIdRef, lockedLayoutIdRef, selectedLayoutId, selectedLayoutRef, setLayoutOptions, setLayoutPreset, setLayoutSource, setSelectedLayoutId, } = (0, useWidgetBoardLayoutSource_1.useWidgetBoardLayoutSource)({ layoutByBreakpoint });
@@ -310,22 +308,34 @@ exports.WidgetBoard = (0, react_1.forwardRef)(function WidgetBoard({ widgets, la
310
308
  getActionsState: () => actionsState,
311
309
  }), [actionsState, resetLayout, restoreHidden]);
312
310
  const visibleItems = (0, react_1.useMemo)(() => layoutState.items.filter(item => definitionsMap.has(item.id)), [layoutState.items, definitionsMap]);
313
- const boardI18nStrings = (0, react_1.useMemo)(() => (0, boardI18n_1.createBoardI18nStrings)(item => item.data.title), []);
314
- const renderItem = (item) => {
311
+ const activeLayoutConfig = layoutPreset.layout ?? fallbackLayoutConfig;
312
+ const reactGridLayoutColumns = activeLayoutConfig?.columns ?? reactGridLayoutOptions?.columns ?? 12;
313
+ const reactGridLayoutRowHeight = activeLayoutConfig?.rowHeight ?? reactGridLayoutOptions?.rowHeight ?? 96;
314
+ const reactGridLayoutMargin = activeLayoutConfig?.margin ?? reactGridLayoutOptions?.margin ?? [0, 0];
315
+ const reactGridLayoutContainerPadding = activeLayoutConfig?.containerPadding ?? reactGridLayoutOptions?.containerPadding ?? [0, 0];
316
+ const resolveItemRenderState = (item) => {
315
317
  const widgetId = item.id;
316
318
  const definition = definitionsMap.get(widgetId);
317
319
  if (!definition)
318
- return react_1.default.createElement(react_1.default.Fragment, null);
320
+ return null;
319
321
  const isCollapsed = layoutState.collapsed.includes(widgetId);
320
322
  const isHeightModeLocked = Boolean(lockedHeightModeByWidgetId[widgetId]);
321
323
  const baseHeightMode = isHeightModeLocked ? 'fixed' : layoutState.heightModeMemory[currentBreakpointKey]?.[widgetId] ?? definition.layout.heightMode ?? 'auto';
322
324
  const heightMode = autoHeightEnabled ? baseHeightMode : 'fixed';
323
- return (react_1.default.createElement(WidgetBoardItem_1.WidgetBoardItem, { item: item, definition: definition, heightMode: heightMode, isCollapsed: isCollapsed, isInteractionLocked: isInteractionLocked, onContentRef: handleContentRef, onHide: hideItem, onToggleCollapse: toggleCollapse }));
325
+ return { definition, heightMode, isCollapsed };
326
+ };
327
+ const renderCloudscapeItem = (item) => {
328
+ const renderState = resolveItemRenderState(item);
329
+ if (!renderState)
330
+ return react_1.default.createElement(react_1.default.Fragment, null);
331
+ 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 }));
332
+ };
333
+ const renderReactGridLayoutItem = (item) => {
334
+ const renderState = resolveItemRenderState(item);
335
+ if (!renderState)
336
+ return react_1.default.createElement(react_1.default.Fragment, null);
337
+ 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, onToggleCollapse: toggleCollapse }));
324
338
  };
325
- const boardElement = (react_1.default.createElement(board_1.default, { items: visibleItems, renderItem: renderItem, i18nStrings: boardI18nStrings, onItemsChange: handleItemsChange, empty: react_1.default.createElement(material_1.Box, { sx: { p: 2, color: 'text.secondary' } }, "No widgets available") }));
326
- return (react_1.default.createElement(CloudscapeThemeProvider_1.CloudscapeThemeProvider, null,
327
- react_1.default.createElement(CloudscapeBoardStyles_1.CloudscapeBoardStyles, { hideNavigationArrows: true }),
328
- react_1.default.createElement(exports.WidgetBoardInteractionContext.Provider, { value: interactionState },
329
- 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))));
339
+ 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 })) : (react_1.default.createElement(WidgetBoardCloudscapeEngine_1.WidgetBoardCloudscapeEngine, { boardRootRef: boardRootRef, items: visibleItems, isLoadingLayouts: isLoadingLayouts, onItemsChange: handleItemsChange, renderItem: renderCloudscapeItem }))));
330
340
  });
331
341
  //# 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":"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"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { type BoardProps } from '@cloudscape-design/board-components/board';
3
+ import type { WidgetBoardItemData } from './types';
4
+ export type WidgetBoardCloudscapeEngineProps = {
5
+ boardRootRef: React.Ref<HTMLDivElement>;
6
+ items: BoardProps.Item<WidgetBoardItemData>[];
7
+ isLoadingLayouts: boolean;
8
+ onItemsChange: BoardProps<WidgetBoardItemData>['onItemsChange'];
9
+ renderItem: (item: BoardProps.Item<WidgetBoardItemData>) => React.ReactElement;
10
+ };
11
+ /**
12
+ * Deprecated compatibility engine kept only for explicit rollback while downstream
13
+ * widget boards migrate to the default React Grid Layout engine.
14
+ */
15
+ export declare const WidgetBoardCloudscapeEngine: ({ boardRootRef, items, isLoadingLayouts, onItemsChange, renderItem, }: WidgetBoardCloudscapeEngineProps) => React.JSX.Element;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WidgetBoardCloudscapeEngine = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const board_1 = tslib_1.__importDefault(require("@cloudscape-design/board-components/board"));
7
+ const material_1 = require("@mui/material");
8
+ const CloudscapeBoardStyles_1 = require("../cloudscape/CloudscapeBoardStyles");
9
+ const CloudscapeThemeProvider_1 = require("../cloudscape/CloudscapeThemeProvider");
10
+ const boardI18n_1 = require("../cloudscape/boardI18n");
11
+ const WidgetBoardSkeleton_1 = require("./WidgetBoardSkeleton");
12
+ /**
13
+ * Deprecated compatibility engine kept only for explicit rollback while downstream
14
+ * widget boards migrate to the default React Grid Layout engine.
15
+ */
16
+ const WidgetBoardCloudscapeEngine = ({ boardRootRef, items, isLoadingLayouts, onItemsChange, renderItem, }) => {
17
+ const boardI18nStrings = (0, react_1.useMemo)(() => (0, boardI18n_1.createBoardI18nStrings)(item => item.data.title), []);
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
+ return (react_1.default.createElement(CloudscapeThemeProvider_1.CloudscapeThemeProvider, null,
20
+ react_1.default.createElement(CloudscapeBoardStyles_1.CloudscapeBoardStyles, { hideNavigationArrows: true }),
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
+ };
23
+ exports.WidgetBoardCloudscapeEngine = WidgetBoardCloudscapeEngine;
24
+ //# sourceMappingURL=WidgetBoardCloudscapeEngine.js.map
@@ -0,0 +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"}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import type { BoardProps } from '@cloudscape-design/board-components/board';
3
+ import 'react-grid-layout/css/styles.css';
4
+ import type { WidgetBoardInteractionMode, WidgetBoardItemData, WidgetHeightMode } from './types';
5
+ import type { WidgetDefinitionWithLayout } from './widgetBoardLayoutUtils';
6
+ type WidgetBoardReactGridLayoutItemProps = {
7
+ item: BoardProps.Item<WidgetBoardItemData>;
8
+ definition: WidgetDefinitionWithLayout;
9
+ heightMode: WidgetHeightMode;
10
+ isCollapsed: boolean;
11
+ interactionMode: WidgetBoardInteractionMode;
12
+ onContentRef: (widgetId: string, node: HTMLDivElement | null) => void;
13
+ onHide: (widgetId: string) => void;
14
+ onToggleCollapse: (widgetId: string) => void;
15
+ };
16
+ type WidgetBoardReactGridLayoutEngineProps = {
17
+ boardRootRef: React.Ref<HTMLDivElement>;
18
+ columns: number;
19
+ containerPadding: readonly [number, number] | null;
20
+ interactionMode: WidgetBoardInteractionMode;
21
+ isLoadingLayouts: boolean;
22
+ items: BoardProps.Item<WidgetBoardItemData>[];
23
+ margin: readonly [number, number];
24
+ onItemsChange: BoardProps<WidgetBoardItemData>['onItemsChange'];
25
+ renderItem: (item: BoardProps.Item<WidgetBoardItemData>) => React.ReactElement;
26
+ rowHeight: number;
27
+ };
28
+ export declare const WidgetBoardReactGridLayoutItem: ({ item, definition, heightMode, isCollapsed, interactionMode, onContentRef, onHide, onToggleCollapse, }: WidgetBoardReactGridLayoutItemProps) => React.JSX.Element;
29
+ export declare const WidgetBoardReactGridLayoutEngine: ({ boardRootRef, columns, containerPadding, interactionMode, isLoadingLayouts, items, margin, onItemsChange, renderItem, rowHeight, }: WidgetBoardReactGridLayoutEngineProps) => React.JSX.Element;
30
+ export {};
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WidgetBoardReactGridLayoutEngine = exports.WidgetBoardReactGridLayoutItem = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const CloseRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/CloseRounded"));
7
+ const ExpandLessRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/ExpandLessRounded"));
8
+ const ExpandMoreRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/ExpandMoreRounded"));
9
+ const material_1 = require("@mui/material");
10
+ const styles_1 = require("@mui/material/styles");
11
+ const react_grid_layout_1 = tslib_1.__importStar(require("react-grid-layout"));
12
+ require("react-grid-layout/css/styles.css");
13
+ const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
14
+ const getItemColumnSpan = (item, columns) => {
15
+ const minColumnSpan = item.definition?.minColumnSpan ?? 1;
16
+ const columnSpan = item.columnSpan ?? item.definition?.defaultColumnSpan ?? minColumnSpan;
17
+ return clamp(columnSpan, minColumnSpan, columns);
18
+ };
19
+ const getItemRowSpan = (item) => {
20
+ const minRowSpan = item.definition?.minRowSpan ?? 1;
21
+ const rowSpan = item.rowSpan ?? item.definition?.defaultRowSpan ?? minRowSpan;
22
+ return Math.max(minRowSpan, rowSpan);
23
+ };
24
+ const getColumnOffset = (item, columns, currentOffset, columnHeights) => {
25
+ const columnSpan = getItemColumnSpan(item, columns);
26
+ const itemOffset = item.columnOffset?.[columns];
27
+ if (typeof itemOffset === 'number' && itemOffset >= 0 && itemOffset + columnSpan <= columns) {
28
+ return itemOffset;
29
+ }
30
+ const getRowOffset = (columnOffset) => {
31
+ let rowOffset = 0;
32
+ for (let column = columnOffset; column < columnOffset + columnSpan; column += 1) {
33
+ rowOffset = Math.max(rowOffset, columnHeights[column] ?? 0);
34
+ }
35
+ return rowOffset;
36
+ };
37
+ const fullRowOffset = () => getRowOffset(0);
38
+ for (let columnOffset = currentOffset; columnOffset + columnSpan <= columns; columnOffset += 1) {
39
+ if (getRowOffset(columnOffset) + getItemRowSpan(item) <= fullRowOffset()) {
40
+ return columnOffset;
41
+ }
42
+ }
43
+ for (let columnOffset = 0; columnOffset + columnSpan <= columns; columnOffset += 1) {
44
+ if (getRowOffset(columnOffset) + getItemRowSpan(item) <= fullRowOffset()) {
45
+ return columnOffset;
46
+ }
47
+ }
48
+ return 0;
49
+ };
50
+ const toReactGridLayout = (items, columns, interactionMode) => {
51
+ const columnHeights = Array(columns).fill(0);
52
+ let currentColumnOffset = 0;
53
+ return items.map(item => {
54
+ const width = getItemColumnSpan(item, columns);
55
+ const height = getItemRowSpan(item);
56
+ const x = getColumnOffset(item, columns, currentColumnOffset, columnHeights);
57
+ let y = 0;
58
+ for (let column = x; column < x + width; column += 1) {
59
+ y = Math.max(y, columnHeights[column] ?? 0);
60
+ }
61
+ for (let column = x; column < x + width; column += 1) {
62
+ columnHeights[column] = y + height;
63
+ }
64
+ currentColumnOffset = x + width;
65
+ return {
66
+ i: item.id,
67
+ x,
68
+ y,
69
+ w: width,
70
+ h: height,
71
+ minW: item.definition?.minColumnSpan,
72
+ minH: item.definition?.minRowSpan,
73
+ static: interactionMode === 'view',
74
+ isDraggable: interactionMode === 'edit',
75
+ isResizable: interactionMode === 'edit',
76
+ };
77
+ });
78
+ };
79
+ const toBoardItems = (layout, sourceItems, columns) => {
80
+ const itemMap = new Map(sourceItems.map(item => [item.id, item]));
81
+ return [...layout]
82
+ .filter(item => itemMap.has(item.i))
83
+ .sort((a, b) => a.y - b.y || a.x - b.x)
84
+ .map(layoutItem => {
85
+ const sourceItem = itemMap.get(layoutItem.i);
86
+ if (!sourceItem)
87
+ return null;
88
+ return {
89
+ ...sourceItem,
90
+ columnSpan: layoutItem.w,
91
+ rowSpan: layoutItem.h,
92
+ columnOffset: {
93
+ ...sourceItem.columnOffset,
94
+ [columns]: layoutItem.x,
95
+ },
96
+ };
97
+ })
98
+ .filter(Boolean);
99
+ };
100
+ const boardItemsEqual = (a, b, columns) => a.length === b.length &&
101
+ a.every((item, index) => {
102
+ const other = b[index];
103
+ return (item.id === other?.id &&
104
+ item.columnSpan === other.columnSpan &&
105
+ item.rowSpan === other.rowSpan &&
106
+ item.columnOffset?.[columns] === other.columnOffset?.[columns]);
107
+ });
108
+ const WidgetBoardReactGridLayoutItem = ({ item, definition, heightMode, isCollapsed, interactionMode, onContentRef, onHide, onToggleCollapse, }) => {
109
+ const widgetId = item.id;
110
+ const contentOverflow = definition.contentFullHeight ? 'hidden' : heightMode === 'fixed' ? 'auto' : 'hidden';
111
+ const showControls = interactionMode === 'edit';
112
+ return (react_1.default.createElement(material_1.Box, { "data-pne-widget-board-rgl-item": 'true', sx: {
113
+ height: '100%',
114
+ boxSizing: 'border-box',
115
+ overflow: 'hidden',
116
+ display: 'flex',
117
+ flexDirection: 'column',
118
+ bgcolor: '#fff',
119
+ border: 0,
120
+ borderRadius: 0,
121
+ boxShadow: 'none',
122
+ } },
123
+ react_1.default.createElement(material_1.Box, { className: 'pne-widget-board-rgl-drag-handle', sx: {
124
+ display: 'flex',
125
+ alignItems: 'center',
126
+ height: 32,
127
+ minHeight: 32,
128
+ px: 1.5,
129
+ pr: 0.25,
130
+ py: 0,
131
+ boxSizing: 'border-box',
132
+ bgcolor: theme => (0, styles_1.alpha)(theme.palette.primary.main, 0.06),
133
+ cursor: showControls ? 'move' : 'default',
134
+ } },
135
+ react_1.default.createElement(material_1.Typography, { component: 'h3', sx: {
136
+ flex: '1 1 min-content',
137
+ minWidth: 0,
138
+ overflow: 'hidden',
139
+ textOverflow: 'ellipsis',
140
+ whiteSpace: 'nowrap',
141
+ fontSize: 14,
142
+ fontWeight: 700,
143
+ lineHeight: '20px',
144
+ color: 'primary.main',
145
+ } }, definition.title),
146
+ showControls ? (react_1.default.createElement(material_1.Stack, { className: 'pne-widget-board-rgl-control', direction: 'row', spacing: 0.5, sx: { alignItems: 'center', flex: '0 0 auto' } },
147
+ definition.settingsActions,
148
+ react_1.default.createElement(material_1.IconButton, { "aria-label": isCollapsed ? 'Expand widget' : 'Collapse widget', onClick: () => onToggleCollapse(widgetId), size: 'small', sx: { color: 'rgba(78, 93, 120, 1)' } }, isCollapsed ? react_1.default.createElement(ExpandMoreRounded_1.default, { fontSize: 'medium' }) : react_1.default.createElement(ExpandLessRounded_1.default, { fontSize: 'medium' })),
149
+ react_1.default.createElement(material_1.IconButton, { "aria-label": 'Hide widget', onClick: () => onHide(widgetId), size: 'small', sx: { color: 'rgba(78, 93, 120, 1)' } },
150
+ react_1.default.createElement(CloseRounded_1.default, { fontSize: 'medium' })))) : null),
151
+ !isCollapsed ? (react_1.default.createElement(material_1.Box, { sx: { flex: '1 1 auto', minHeight: 0, boxSizing: 'border-box', overflow: contentOverflow } },
152
+ react_1.default.createElement(material_1.Box, { ref: (node) => onContentRef(widgetId, node), "data-widget-id": widgetId, sx: {
153
+ p: 0,
154
+ boxSizing: 'border-box',
155
+ height: definition.contentFullHeight ? '100%' : 'auto',
156
+ minHeight: definition.contentFullHeight ? 0 : undefined,
157
+ display: definition.contentFullHeight ? 'flex' : 'block',
158
+ flexDirection: definition.contentFullHeight ? 'column' : undefined,
159
+ } }, definition.render()))) : null));
160
+ };
161
+ exports.WidgetBoardReactGridLayoutItem = WidgetBoardReactGridLayoutItem;
162
+ const WidgetBoardReactGridLayoutEngine = ({ boardRootRef, columns, containerPadding, interactionMode, isLoadingLayouts, items, margin, onItemsChange, renderItem, rowHeight, }) => {
163
+ const { width, containerRef, mounted } = (0, react_grid_layout_1.useContainerWidth)({ initialWidth: 1280 });
164
+ const layout = (0, react_1.useMemo)(() => toReactGridLayout(items, columns, interactionMode), [columns, interactionMode, items]);
165
+ const handleLayoutCommit = (0, react_1.useCallback)((nextLayout) => {
166
+ const nextItems = toBoardItems(nextLayout, items, columns);
167
+ if (boardItemsEqual(nextItems, items, columns))
168
+ return;
169
+ const event = {
170
+ detail: {
171
+ items: nextItems,
172
+ },
173
+ };
174
+ onItemsChange(event);
175
+ }, [columns, items, onItemsChange]);
176
+ return (react_1.default.createElement(material_1.Box, { "data-pne-widget-board": 'true', ref: boardRootRef, sx: { position: 'relative', display: 'flex', flexDirection: 'column', gap: 0 } }, isLoadingLayouts ? (react_1.default.createElement(material_1.Box, { sx: { p: 2, color: 'text.secondary' } }, "Loading widgets...")) : (react_1.default.createElement(material_1.Box, { ref: containerRef, sx: { width: '100%' } }, mounted ? (react_1.default.createElement(react_grid_layout_1.default, { autoSize: true, width: width, layout: layout, gridConfig: {
177
+ cols: columns,
178
+ rowHeight,
179
+ margin,
180
+ containerPadding,
181
+ maxRows: Number.POSITIVE_INFINITY,
182
+ }, dragConfig: {
183
+ enabled: interactionMode === 'edit',
184
+ handle: '.pne-widget-board-rgl-drag-handle',
185
+ cancel: '.pne-widget-board-rgl-control',
186
+ }, resizeConfig: {
187
+ enabled: interactionMode === 'edit',
188
+ handles: interactionMode === 'edit' ? ['se'] : [],
189
+ }, compactor: react_grid_layout_1.noCompactor, onDragStop: handleLayoutCommit, onResizeStop: handleLayoutCommit }, items.map(item => (react_1.default.createElement("div", { key: item.id, style: { height: '100%' } }, renderItem(item)))))) : null))));
190
+ };
191
+ exports.WidgetBoardReactGridLayoutEngine = WidgetBoardReactGridLayoutEngine;
192
+ //# sourceMappingURL=WidgetBoardReactGridLayoutEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetBoardReactGridLayoutEngine.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoardReactGridLayoutEngine.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildPresetFromState = void 0;
4
4
  const breakpoints_1 = require("../../common/responsive/breakpoints");
5
5
  const cloneLayoutConfig = (config) => ({
6
+ columns: config.columns,
7
+ rowHeight: config.rowHeight,
8
+ margin: config.margin,
9
+ containerPadding: config.containerPadding,
6
10
  widgets: Object.fromEntries(Object.entries(config.widgets).map(([id, widget]) => [
7
11
  id,
8
12
  {
@@ -56,7 +60,13 @@ const buildPresetFromState = (state, baseLayoutByBreakpoint, breakpoints = break
56
60
  heightMode: heightModeForBreakpoint[id] ?? baseConfig.heightMode,
57
61
  };
58
62
  });
59
- layoutByBreakpoint[breakpoint] = { widgets };
63
+ layoutByBreakpoint[breakpoint] = {
64
+ columns: base.columns,
65
+ rowHeight: base.rowHeight,
66
+ margin: base.margin,
67
+ containerPadding: base.containerPadding,
68
+ widgets,
69
+ };
60
70
  });
61
71
  return layoutByBreakpoint;
62
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"layoutPersistence.js","sourceRoot":"","sources":["../../../src/component/widget-board/layoutPersistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layoutPersistence.js","sourceRoot":"","sources":["../../../src/component/widget-board/layoutPersistence.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,12 @@ export type WidgetLayoutLimits = {
19
19
  };
20
20
  export type WidgetHeightMode = 'auto' | 'fixed';
21
21
  export type WidgetHeightModeMemory = Record<string, Partial<Record<WidgetId, WidgetHeightMode>>>;
22
+ /**
23
+ * React Grid Layout is the default engine. `cloudscape` is retained only as an explicit
24
+ * deprecated compatibility path while downstream consumers finish migrating.
25
+ */
26
+ export type WidgetBoardEngine = 'react-grid-layout' | 'cloudscape';
27
+ export type WidgetBoardInteractionMode = 'view' | 'edit';
22
28
  export type WidgetLayoutInitialState = {
23
29
  isHidden?: boolean;
24
30
  isCollapsed?: boolean;
@@ -30,6 +36,10 @@ export type WidgetLayoutConfig = {
30
36
  heightMode?: WidgetHeightMode;
31
37
  };
32
38
  export type BreakpointLayoutConfig = {
39
+ columns?: number;
40
+ rowHeight?: number;
41
+ margin?: readonly [number, number];
42
+ containerPadding?: readonly [number, number] | null;
33
43
  widgets: Record<WidgetId, WidgetLayoutConfig>;
34
44
  };
35
45
  export type WidgetDefinition = {
@@ -65,6 +75,12 @@ export type WidgetBoardActionsState = {
65
75
  selectedLayoutId?: string;
66
76
  defaultLayoutId: string;
67
77
  };
78
+ export type WidgetBoardReactGridLayoutOptions = {
79
+ columns?: number;
80
+ rowHeight?: number;
81
+ margin?: readonly [number, number];
82
+ containerPadding?: readonly [number, number] | null;
83
+ };
68
84
  export type WidgetBoardProps = {
69
85
  widgets: WidgetDefinition[];
70
86
  layoutByBreakpoint: Record<number | string, BreakpointLayoutConfig>;
@@ -72,4 +88,7 @@ export type WidgetBoardProps = {
72
88
  saveLayouts: (options: WidgetBoardLayoutOption[], selectedId?: string) => Promise<void>;
73
89
  onActionsStateChange?: (state: WidgetBoardActionsState) => void;
74
90
  autoHeightEnabled?: boolean;
91
+ engine?: WidgetBoardEngine;
92
+ interactionMode?: WidgetBoardInteractionMode;
93
+ reactGridLayoutOptions?: WidgetBoardReactGridLayoutOptions;
75
94
  };
@@ -1,9 +1,4 @@
1
1
  import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react';
2
- import Board from '@cloudscape-design/board-components/board';
3
- import { Box } from '@mui/material';
4
- import { CloudscapeBoardStyles } from '../cloudscape/CloudscapeBoardStyles';
5
- import { CloudscapeThemeProvider } from '../cloudscape/CloudscapeThemeProvider';
6
- import { createBoardI18nStrings } from '../cloudscape/boardI18n';
7
2
  import { buildPresetFromState } from './layoutPersistence';
8
3
  import { useWidgetBoardAutosize } from './useWidgetBoardAutosize';
9
4
  import { useWidgetBoardInteractionLock } from './useWidgetBoardInteractionLock';
@@ -11,8 +6,9 @@ import { useWidgetBoardLayoutActions } from './useWidgetBoardLayoutActions';
11
6
  import { useWidgetBoardLayoutSource } from './useWidgetBoardLayoutSource';
12
7
  import { useWidgetBoardScopeStore } from './WidgetBoardScope';
13
8
  import { useWidgetBoardStateActions } from './useWidgetBoardStateActions';
9
+ import { WidgetBoardCloudscapeEngine } from './WidgetBoardCloudscapeEngine';
14
10
  import { WidgetBoardItem } from './WidgetBoardItem';
15
- import { WidgetBoardSkeleton } from './WidgetBoardSkeleton';
11
+ import { WidgetBoardReactGridLayoutEngine, WidgetBoardReactGridLayoutItem } from './WidgetBoardReactGridLayoutEngine';
16
12
  import { buildDefaultState, buildLayoutOptions, getLayoutConfigForWidth, layoutOptionsEqual, withLayout, } from './widgetBoardLayoutUtils';
17
13
  const resolveLayoutForBreakpoint = (layoutByBreakpoint, breakpointKey) => layoutByBreakpoint[breakpointKey] ??
18
14
  layoutByBreakpoint[String(breakpointKey)] ??
@@ -69,7 +65,9 @@ export const WidgetBoardInteractionContext = React.createContext({
69
65
  isInteractionLocked: false,
70
66
  });
71
67
  export const useWidgetBoardInteraction = () => React.useContext(WidgetBoardInteractionContext);
72
- export const WidgetBoard = forwardRef(function WidgetBoard({ widgets, layoutByBreakpoint, loadLayouts, saveLayouts, onActionsStateChange, autoHeightEnabled = true, }, ref) {
68
+ const DEFAULT_WIDGET_BOARD_ENGINE = 'react-grid-layout';
69
+ const DEFAULT_WIDGET_BOARD_INTERACTION_MODE = 'view';
70
+ export const WidgetBoard = forwardRef(function WidgetBoard({ widgets, layoutByBreakpoint, loadLayouts, saveLayouts, onActionsStateChange, autoHeightEnabled = true, engine = DEFAULT_WIDGET_BOARD_ENGINE, interactionMode = DEFAULT_WIDGET_BOARD_INTERACTION_MODE, reactGridLayoutOptions, }, ref) {
73
71
  const [isLoadingLayouts, setIsLoadingLayouts] = useState(true);
74
72
  const scopeFabStore = useWidgetBoardScopeStore();
75
73
  const { breakpoints, currentBreakpointKey, defaultOption, layoutOptions, layoutOptionsMap, layoutPreset, layoutSource, layoutSourceOwnerIdRef, loadRequestIdRef, lockedLayoutIdRef, selectedLayoutId, selectedLayoutRef, setLayoutOptions, setLayoutPreset, setLayoutSource, setSelectedLayoutId, } = useWidgetBoardLayoutSource({ layoutByBreakpoint });
@@ -305,22 +303,34 @@ export const WidgetBoard = forwardRef(function WidgetBoard({ widgets, layoutByBr
305
303
  getActionsState: () => actionsState,
306
304
  }), [actionsState, resetLayout, restoreHidden]);
307
305
  const visibleItems = useMemo(() => layoutState.items.filter(item => definitionsMap.has(item.id)), [layoutState.items, definitionsMap]);
308
- const boardI18nStrings = useMemo(() => createBoardI18nStrings(item => item.data.title), []);
309
- const renderItem = (item) => {
306
+ const activeLayoutConfig = layoutPreset.layout ?? fallbackLayoutConfig;
307
+ const reactGridLayoutColumns = activeLayoutConfig?.columns ?? reactGridLayoutOptions?.columns ?? 12;
308
+ const reactGridLayoutRowHeight = activeLayoutConfig?.rowHeight ?? reactGridLayoutOptions?.rowHeight ?? 96;
309
+ const reactGridLayoutMargin = activeLayoutConfig?.margin ?? reactGridLayoutOptions?.margin ?? [0, 0];
310
+ const reactGridLayoutContainerPadding = activeLayoutConfig?.containerPadding ?? reactGridLayoutOptions?.containerPadding ?? [0, 0];
311
+ const resolveItemRenderState = (item) => {
310
312
  const widgetId = item.id;
311
313
  const definition = definitionsMap.get(widgetId);
312
314
  if (!definition)
313
- return React.createElement(React.Fragment, null);
315
+ return null;
314
316
  const isCollapsed = layoutState.collapsed.includes(widgetId);
315
317
  const isHeightModeLocked = Boolean(lockedHeightModeByWidgetId[widgetId]);
316
318
  const baseHeightMode = isHeightModeLocked ? 'fixed' : layoutState.heightModeMemory[currentBreakpointKey]?.[widgetId] ?? definition.layout.heightMode ?? 'auto';
317
319
  const heightMode = autoHeightEnabled ? baseHeightMode : 'fixed';
318
- return (React.createElement(WidgetBoardItem, { item: item, definition: definition, heightMode: heightMode, isCollapsed: isCollapsed, isInteractionLocked: isInteractionLocked, onContentRef: handleContentRef, onHide: hideItem, onToggleCollapse: toggleCollapse }));
320
+ return { definition, heightMode, isCollapsed };
321
+ };
322
+ const renderCloudscapeItem = (item) => {
323
+ const renderState = resolveItemRenderState(item);
324
+ if (!renderState)
325
+ return React.createElement(React.Fragment, null);
326
+ return (React.createElement(WidgetBoardItem, { item: item, definition: renderState.definition, heightMode: renderState.heightMode, isCollapsed: renderState.isCollapsed, isInteractionLocked: isInteractionLocked, onContentRef: handleContentRef, onHide: hideItem, onToggleCollapse: toggleCollapse }));
327
+ };
328
+ const renderReactGridLayoutItem = (item) => {
329
+ const renderState = resolveItemRenderState(item);
330
+ if (!renderState)
331
+ return React.createElement(React.Fragment, null);
332
+ return (React.createElement(WidgetBoardReactGridLayoutItem, { item: item, definition: renderState.definition, heightMode: renderState.heightMode, isCollapsed: renderState.isCollapsed, interactionMode: interactionMode, onContentRef: handleContentRef, onHide: hideItem, onToggleCollapse: toggleCollapse }));
319
333
  };
320
- const boardElement = (React.createElement(Board, { items: visibleItems, renderItem: renderItem, i18nStrings: boardI18nStrings, onItemsChange: handleItemsChange, empty: React.createElement(Box, { sx: { p: 2, color: 'text.secondary' } }, "No widgets available") }));
321
- return (React.createElement(CloudscapeThemeProvider, null,
322
- React.createElement(CloudscapeBoardStyles, { hideNavigationArrows: true }),
323
- React.createElement(WidgetBoardInteractionContext.Provider, { value: interactionState },
324
- React.createElement(Box, { "data-pne-widget-board": 'true', ref: boardRootRef, sx: { position: 'relative', display: 'flex', flexDirection: 'column', gap: 2 } }, isLoadingLayouts ? React.createElement(WidgetBoardSkeleton, null) : boardElement))));
334
+ return (React.createElement(WidgetBoardInteractionContext.Provider, { value: interactionState }, engine === 'react-grid-layout' ? (React.createElement(WidgetBoardReactGridLayoutEngine, { boardRootRef: boardRootRef, columns: reactGridLayoutColumns, containerPadding: reactGridLayoutContainerPadding, interactionMode: interactionMode, isLoadingLayouts: isLoadingLayouts, items: visibleItems, margin: reactGridLayoutMargin, onItemsChange: handleItemsChange, renderItem: renderReactGridLayoutItem, rowHeight: reactGridLayoutRowHeight })) : (React.createElement(WidgetBoardCloudscapeEngine, { boardRootRef: boardRootRef, items: visibleItems, isLoadingLayouts: isLoadingLayouts, onItemsChange: handleItemsChange, renderItem: renderCloudscapeItem }))));
325
335
  });
326
336
  //# sourceMappingURL=WidgetBoard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetBoard.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACzG,OAAO,KAA0B,MAAM,2CAA2C,CAAA;AAClF,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,UAAU,GAEb,MAAM,0BAA0B,CAAA;AAUjC,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;AAEzH,MAAM,uBAAuB,GAAG,CAC5B,kBAAmE,EACnE,aAA8B,EACE,EAAE;IAClC,MAAM,MAAM,GAAG,0BAA0B,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAEtB,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC;SAC1E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CACjC,CAAA;AACL,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,8GAA8G;IAC9G,IAAI,iBAAiB,KAAK,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5E,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,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;AAYD,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC,aAAa,CAA8B;IAC1F,mBAAmB,EAAE,KAAK;CAC7B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAA;AAE9F,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAsC,SAAS,WAAW,CAC3F,EACI,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,iBAAiB,GAAG,IAAI,GAC3B,EACD,GAAG;IAEH,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9D,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAA;IAChD,MAAM,EACF,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,GACtB,GAAG,0BAA0B,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAEtD,SAAS,CAAC,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,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YACrE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,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,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;iBAChD,GAAG,CAAC,MAAM,CAAC;iBACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1B,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;YAC5I,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7E,MAAM,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;YACrH,MAAM,eAAe,GAAG,UAAU,CAAC,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,eAAe,CAAC,UAAU,CAAC,CAAA;YAC3B,cAAc,CAAC,iBAAiB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAA;YAErE,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,sBAAsB;QACtB,WAAW;QACX,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,gBAAgB;QAChB,eAAe;QACf,eAAe;QACf,mBAAmB;QACnB,OAAO;KACV,CAAC,CAAA;IAEF,MAAM,0BAA0B,GAAG,OAAO,CACtC,GAAG,EAAE,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,EACvE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAC7C,CAAA;IAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,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,OAAO,CACjC,GAAG,EAAE,CAAC,UAAU,CAAC,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,OAAO,CAC1B,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,OAAO,CACnC,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,OAAO,CACxC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAClD,CAAC,uBAAuB,EAAE,OAAO,CAAC,CACrC,CAAA;IACD,MAAM,qBAAqB,GAAG,OAAO,CACjC,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,QAAQ,CAAmB,GAAG,EAAE,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACtI,MAAM,mBAAmB,GAAG,6BAA6B,EAAE,CAAA;IAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACxF,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,sBAAsB,CAAC;QAC7F,iBAAiB;QACjB,0BAA0B;QAC1B,cAAc;QACd,oBAAoB;QACpB,mBAAmB;QACnB,sBAAsB,EAAE,YAAY,CAAC,UAAU;QAC/C,cAAc;KACjB,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,eAAe,CAAC,OAAO,GAAG,EAAE,CAAA;QAC5B,cAAc,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAClF,CAAC,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,CAAC,CAAC,CAAA;IAElE,SAAS,CAAC,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;YACd,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1F,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,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAA;IAE9D,MAAM,kBAAkB,GAAG,WAAW,CAClC,GAAG,EAAE,CAAC,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,CAAC,EACxF,CAAC,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,CAAC,CACjE,CAAA;IAED,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,0BAA0B,CAAC;QAChI,oBAAoB;QACpB,qBAAqB;QACrB,cAAc;QACd,qBAAqB;QACrB,uBAAuB,EAAE,yBAAyB,KAAK,aAAa,CAAC,EAAE;QACvE,0BAA0B;QAC1B,eAAe;QACf,cAAc;KACjB,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,OAAO,CAA0B,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,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YAEpH,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,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAA;gBAE/E,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,iBAAiB,GAAG,mBAAmB,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;oBACxG,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;oBAClF,IAAI,iBAAiB,KAAK,iBAAiB;wBAAE,OAAO,IAAI,CAAA;oBACxD,IAAI,iBAAiB,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO;wBAAE,OAAO,IAAI,CAAA;oBAEtF,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,gBAAgB;QAC5B,WAAW,CAAC,MAAM;QAClB,WAAW,CAAC,KAAK;KACpB,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,OAAO,CAAC,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,2BAA2B,CAAC;QACxB,kBAAkB;QAClB,eAAe,EAAE,aAAa,CAAC,EAAE;QACjC,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,mBAAmB;KACtB,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,oBAAoB,EAAE,CAAC,YAAY,CAAC,CAAA;IACxC,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAExC,mBAAmB,CACf,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,OAAO,CACxB,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;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAsB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAEhH,MAAM,UAAU,GAAG,CAAC,IAA0C,EAAE,EAAE;QAC9D,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,yCAAK,CAAA;QAE7B,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5D,MAAM,kBAAkB,GAAG,OAAO,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAA;QACxE,MAAM,cAAc,GAAG,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAA;QAC9J,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAA;QAE/D,OAAO,CACH,oBAAC,eAAe,IACZ,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,cAAc,GAClC,CACL,CAAA;IACL,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CACjB,oBAAC,KAAK,IACF,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,gBAAgB,EAC7B,aAAa,EAAE,iBAAiB,EAChC,KAAK,EAAE,oBAAC,GAAG,IAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,2BAA4B,GAC/E,CACL,CAAA;IAED,OAAO,CACH,oBAAC,uBAAuB;QACpB,oBAAC,qBAAqB,IAAC,oBAAoB,SAAG;QAC9C,oBAAC,6BAA6B,CAAC,QAAQ,IAAC,KAAK,EAAE,gBAAgB;YAC3D,oBAAC,GAAG,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,oBAAC,mBAAmB,OAAG,CAAC,CAAC,CAAC,YAAY,CACxD,CAC+B,CACnB,CAC7B,CAAA;AACL,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"WidgetBoard.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { type BoardProps } from '@cloudscape-design/board-components/board';
3
+ import type { WidgetBoardItemData } from './types';
4
+ export type WidgetBoardCloudscapeEngineProps = {
5
+ boardRootRef: React.Ref<HTMLDivElement>;
6
+ items: BoardProps.Item<WidgetBoardItemData>[];
7
+ isLoadingLayouts: boolean;
8
+ onItemsChange: BoardProps<WidgetBoardItemData>['onItemsChange'];
9
+ renderItem: (item: BoardProps.Item<WidgetBoardItemData>) => React.ReactElement;
10
+ };
11
+ /**
12
+ * Deprecated compatibility engine kept only for explicit rollback while downstream
13
+ * widget boards migrate to the default React Grid Layout engine.
14
+ */
15
+ export declare const WidgetBoardCloudscapeEngine: ({ boardRootRef, items, isLoadingLayouts, onItemsChange, renderItem, }: WidgetBoardCloudscapeEngineProps) => React.JSX.Element;
@@ -0,0 +1,19 @@
1
+ import React, { useMemo } from 'react';
2
+ import Board from '@cloudscape-design/board-components/board';
3
+ import { Box } from '@mui/material';
4
+ import { CloudscapeBoardStyles } from '../cloudscape/CloudscapeBoardStyles';
5
+ import { CloudscapeThemeProvider } from '../cloudscape/CloudscapeThemeProvider';
6
+ import { createBoardI18nStrings } from '../cloudscape/boardI18n';
7
+ import { WidgetBoardSkeleton } from './WidgetBoardSkeleton';
8
+ /**
9
+ * Deprecated compatibility engine kept only for explicit rollback while downstream
10
+ * widget boards migrate to the default React Grid Layout engine.
11
+ */
12
+ export const WidgetBoardCloudscapeEngine = ({ boardRootRef, items, isLoadingLayouts, onItemsChange, renderItem, }) => {
13
+ const boardI18nStrings = useMemo(() => createBoardI18nStrings(item => item.data.title), []);
14
+ const boardElement = (React.createElement(Board, { items: items, renderItem: renderItem, i18nStrings: boardI18nStrings, onItemsChange: onItemsChange, empty: React.createElement(Box, { sx: { p: 2, color: 'text.secondary' } }, "No widgets available") }));
15
+ return (React.createElement(CloudscapeThemeProvider, null,
16
+ React.createElement(CloudscapeBoardStyles, { hideNavigationArrows: true }),
17
+ React.createElement(Box, { "data-pne-widget-board": 'true', ref: boardRootRef, sx: { position: 'relative', display: 'flex', flexDirection: 'column', gap: 2 } }, isLoadingLayouts ? React.createElement(WidgetBoardSkeleton, null) : boardElement)));
18
+ };
19
+ //# sourceMappingURL=WidgetBoardCloudscapeEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetBoardCloudscapeEngine.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoardCloudscapeEngine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAA0B,MAAM,2CAA2C,CAAA;AAClF,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAW3D;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EACxC,YAAY,EACZ,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,UAAU,GACqB,EAAE,EAAE;IACnC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAsB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAEhH,MAAM,YAAY,GAAG,CACjB,oBAAC,KAAK,IACF,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,gBAAgB,EAC7B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,oBAAC,GAAG,IAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,2BAA4B,GAC/E,CACL,CAAA;IAED,OAAO,CACH,oBAAC,uBAAuB;QACpB,oBAAC,qBAAqB,IAAC,oBAAoB,SAAG;QAC9C,oBAAC,GAAG,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,oBAAC,mBAAmB,OAAG,CAAC,CAAC,CAAC,YAAY,CACxD,CACgB,CAC7B,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import type { BoardProps } from '@cloudscape-design/board-components/board';
3
+ import 'react-grid-layout/css/styles.css';
4
+ import type { WidgetBoardInteractionMode, WidgetBoardItemData, WidgetHeightMode } from './types';
5
+ import type { WidgetDefinitionWithLayout } from './widgetBoardLayoutUtils';
6
+ type WidgetBoardReactGridLayoutItemProps = {
7
+ item: BoardProps.Item<WidgetBoardItemData>;
8
+ definition: WidgetDefinitionWithLayout;
9
+ heightMode: WidgetHeightMode;
10
+ isCollapsed: boolean;
11
+ interactionMode: WidgetBoardInteractionMode;
12
+ onContentRef: (widgetId: string, node: HTMLDivElement | null) => void;
13
+ onHide: (widgetId: string) => void;
14
+ onToggleCollapse: (widgetId: string) => void;
15
+ };
16
+ type WidgetBoardReactGridLayoutEngineProps = {
17
+ boardRootRef: React.Ref<HTMLDivElement>;
18
+ columns: number;
19
+ containerPadding: readonly [number, number] | null;
20
+ interactionMode: WidgetBoardInteractionMode;
21
+ isLoadingLayouts: boolean;
22
+ items: BoardProps.Item<WidgetBoardItemData>[];
23
+ margin: readonly [number, number];
24
+ onItemsChange: BoardProps<WidgetBoardItemData>['onItemsChange'];
25
+ renderItem: (item: BoardProps.Item<WidgetBoardItemData>) => React.ReactElement;
26
+ rowHeight: number;
27
+ };
28
+ export declare const WidgetBoardReactGridLayoutItem: ({ item, definition, heightMode, isCollapsed, interactionMode, onContentRef, onHide, onToggleCollapse, }: WidgetBoardReactGridLayoutItemProps) => React.JSX.Element;
29
+ export declare const WidgetBoardReactGridLayoutEngine: ({ boardRootRef, columns, containerPadding, interactionMode, isLoadingLayouts, items, margin, onItemsChange, renderItem, rowHeight, }: WidgetBoardReactGridLayoutEngineProps) => React.JSX.Element;
30
+ export {};
@@ -0,0 +1,186 @@
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import CloseRoundedIcon from '@mui/icons-material/CloseRounded';
3
+ import ExpandLessRoundedIcon from '@mui/icons-material/ExpandLessRounded';
4
+ import ExpandMoreRoundedIcon from '@mui/icons-material/ExpandMoreRounded';
5
+ import { Box, IconButton, Stack, Typography } from '@mui/material';
6
+ import { alpha } from '@mui/material/styles';
7
+ import ReactGridLayout, { noCompactor, useContainerWidth } from 'react-grid-layout';
8
+ import 'react-grid-layout/css/styles.css';
9
+ const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
10
+ const getItemColumnSpan = (item, columns) => {
11
+ const minColumnSpan = item.definition?.minColumnSpan ?? 1;
12
+ const columnSpan = item.columnSpan ?? item.definition?.defaultColumnSpan ?? minColumnSpan;
13
+ return clamp(columnSpan, minColumnSpan, columns);
14
+ };
15
+ const getItemRowSpan = (item) => {
16
+ const minRowSpan = item.definition?.minRowSpan ?? 1;
17
+ const rowSpan = item.rowSpan ?? item.definition?.defaultRowSpan ?? minRowSpan;
18
+ return Math.max(minRowSpan, rowSpan);
19
+ };
20
+ const getColumnOffset = (item, columns, currentOffset, columnHeights) => {
21
+ const columnSpan = getItemColumnSpan(item, columns);
22
+ const itemOffset = item.columnOffset?.[columns];
23
+ if (typeof itemOffset === 'number' && itemOffset >= 0 && itemOffset + columnSpan <= columns) {
24
+ return itemOffset;
25
+ }
26
+ const getRowOffset = (columnOffset) => {
27
+ let rowOffset = 0;
28
+ for (let column = columnOffset; column < columnOffset + columnSpan; column += 1) {
29
+ rowOffset = Math.max(rowOffset, columnHeights[column] ?? 0);
30
+ }
31
+ return rowOffset;
32
+ };
33
+ const fullRowOffset = () => getRowOffset(0);
34
+ for (let columnOffset = currentOffset; columnOffset + columnSpan <= columns; columnOffset += 1) {
35
+ if (getRowOffset(columnOffset) + getItemRowSpan(item) <= fullRowOffset()) {
36
+ return columnOffset;
37
+ }
38
+ }
39
+ for (let columnOffset = 0; columnOffset + columnSpan <= columns; columnOffset += 1) {
40
+ if (getRowOffset(columnOffset) + getItemRowSpan(item) <= fullRowOffset()) {
41
+ return columnOffset;
42
+ }
43
+ }
44
+ return 0;
45
+ };
46
+ const toReactGridLayout = (items, columns, interactionMode) => {
47
+ const columnHeights = Array(columns).fill(0);
48
+ let currentColumnOffset = 0;
49
+ return items.map(item => {
50
+ const width = getItemColumnSpan(item, columns);
51
+ const height = getItemRowSpan(item);
52
+ const x = getColumnOffset(item, columns, currentColumnOffset, columnHeights);
53
+ let y = 0;
54
+ for (let column = x; column < x + width; column += 1) {
55
+ y = Math.max(y, columnHeights[column] ?? 0);
56
+ }
57
+ for (let column = x; column < x + width; column += 1) {
58
+ columnHeights[column] = y + height;
59
+ }
60
+ currentColumnOffset = x + width;
61
+ return {
62
+ i: item.id,
63
+ x,
64
+ y,
65
+ w: width,
66
+ h: height,
67
+ minW: item.definition?.minColumnSpan,
68
+ minH: item.definition?.minRowSpan,
69
+ static: interactionMode === 'view',
70
+ isDraggable: interactionMode === 'edit',
71
+ isResizable: interactionMode === 'edit',
72
+ };
73
+ });
74
+ };
75
+ const toBoardItems = (layout, sourceItems, columns) => {
76
+ const itemMap = new Map(sourceItems.map(item => [item.id, item]));
77
+ return [...layout]
78
+ .filter(item => itemMap.has(item.i))
79
+ .sort((a, b) => a.y - b.y || a.x - b.x)
80
+ .map(layoutItem => {
81
+ const sourceItem = itemMap.get(layoutItem.i);
82
+ if (!sourceItem)
83
+ return null;
84
+ return {
85
+ ...sourceItem,
86
+ columnSpan: layoutItem.w,
87
+ rowSpan: layoutItem.h,
88
+ columnOffset: {
89
+ ...sourceItem.columnOffset,
90
+ [columns]: layoutItem.x,
91
+ },
92
+ };
93
+ })
94
+ .filter(Boolean);
95
+ };
96
+ const boardItemsEqual = (a, b, columns) => a.length === b.length &&
97
+ a.every((item, index) => {
98
+ const other = b[index];
99
+ return (item.id === other?.id &&
100
+ item.columnSpan === other.columnSpan &&
101
+ item.rowSpan === other.rowSpan &&
102
+ item.columnOffset?.[columns] === other.columnOffset?.[columns]);
103
+ });
104
+ export const WidgetBoardReactGridLayoutItem = ({ item, definition, heightMode, isCollapsed, interactionMode, onContentRef, onHide, onToggleCollapse, }) => {
105
+ const widgetId = item.id;
106
+ const contentOverflow = definition.contentFullHeight ? 'hidden' : heightMode === 'fixed' ? 'auto' : 'hidden';
107
+ const showControls = interactionMode === 'edit';
108
+ return (React.createElement(Box, { "data-pne-widget-board-rgl-item": 'true', sx: {
109
+ height: '100%',
110
+ boxSizing: 'border-box',
111
+ overflow: 'hidden',
112
+ display: 'flex',
113
+ flexDirection: 'column',
114
+ bgcolor: '#fff',
115
+ border: 0,
116
+ borderRadius: 0,
117
+ boxShadow: 'none',
118
+ } },
119
+ React.createElement(Box, { className: 'pne-widget-board-rgl-drag-handle', sx: {
120
+ display: 'flex',
121
+ alignItems: 'center',
122
+ height: 32,
123
+ minHeight: 32,
124
+ px: 1.5,
125
+ pr: 0.25,
126
+ py: 0,
127
+ boxSizing: 'border-box',
128
+ bgcolor: theme => alpha(theme.palette.primary.main, 0.06),
129
+ cursor: showControls ? 'move' : 'default',
130
+ } },
131
+ React.createElement(Typography, { component: 'h3', sx: {
132
+ flex: '1 1 min-content',
133
+ minWidth: 0,
134
+ overflow: 'hidden',
135
+ textOverflow: 'ellipsis',
136
+ whiteSpace: 'nowrap',
137
+ fontSize: 14,
138
+ fontWeight: 700,
139
+ lineHeight: '20px',
140
+ color: 'primary.main',
141
+ } }, definition.title),
142
+ showControls ? (React.createElement(Stack, { className: 'pne-widget-board-rgl-control', direction: 'row', spacing: 0.5, sx: { alignItems: 'center', flex: '0 0 auto' } },
143
+ definition.settingsActions,
144
+ React.createElement(IconButton, { "aria-label": isCollapsed ? 'Expand widget' : 'Collapse widget', onClick: () => onToggleCollapse(widgetId), size: 'small', sx: { color: 'rgba(78, 93, 120, 1)' } }, isCollapsed ? React.createElement(ExpandMoreRoundedIcon, { fontSize: 'medium' }) : React.createElement(ExpandLessRoundedIcon, { fontSize: 'medium' })),
145
+ React.createElement(IconButton, { "aria-label": 'Hide widget', onClick: () => onHide(widgetId), size: 'small', sx: { color: 'rgba(78, 93, 120, 1)' } },
146
+ React.createElement(CloseRoundedIcon, { fontSize: 'medium' })))) : null),
147
+ !isCollapsed ? (React.createElement(Box, { sx: { flex: '1 1 auto', minHeight: 0, boxSizing: 'border-box', overflow: contentOverflow } },
148
+ React.createElement(Box, { ref: (node) => onContentRef(widgetId, node), "data-widget-id": widgetId, sx: {
149
+ p: 0,
150
+ boxSizing: 'border-box',
151
+ height: definition.contentFullHeight ? '100%' : 'auto',
152
+ minHeight: definition.contentFullHeight ? 0 : undefined,
153
+ display: definition.contentFullHeight ? 'flex' : 'block',
154
+ flexDirection: definition.contentFullHeight ? 'column' : undefined,
155
+ } }, definition.render()))) : null));
156
+ };
157
+ export const WidgetBoardReactGridLayoutEngine = ({ boardRootRef, columns, containerPadding, interactionMode, isLoadingLayouts, items, margin, onItemsChange, renderItem, rowHeight, }) => {
158
+ const { width, containerRef, mounted } = useContainerWidth({ initialWidth: 1280 });
159
+ const layout = useMemo(() => toReactGridLayout(items, columns, interactionMode), [columns, interactionMode, items]);
160
+ const handleLayoutCommit = useCallback((nextLayout) => {
161
+ const nextItems = toBoardItems(nextLayout, items, columns);
162
+ if (boardItemsEqual(nextItems, items, columns))
163
+ return;
164
+ const event = {
165
+ detail: {
166
+ items: nextItems,
167
+ },
168
+ };
169
+ onItemsChange(event);
170
+ }, [columns, items, onItemsChange]);
171
+ return (React.createElement(Box, { "data-pne-widget-board": 'true', ref: boardRootRef, sx: { position: 'relative', display: 'flex', flexDirection: 'column', gap: 0 } }, isLoadingLayouts ? (React.createElement(Box, { sx: { p: 2, color: 'text.secondary' } }, "Loading widgets...")) : (React.createElement(Box, { ref: containerRef, sx: { width: '100%' } }, mounted ? (React.createElement(ReactGridLayout, { autoSize: true, width: width, layout: layout, gridConfig: {
172
+ cols: columns,
173
+ rowHeight,
174
+ margin,
175
+ containerPadding,
176
+ maxRows: Number.POSITIVE_INFINITY,
177
+ }, dragConfig: {
178
+ enabled: interactionMode === 'edit',
179
+ handle: '.pne-widget-board-rgl-drag-handle',
180
+ cancel: '.pne-widget-board-rgl-control',
181
+ }, resizeConfig: {
182
+ enabled: interactionMode === 'edit',
183
+ handles: interactionMode === 'edit' ? ['se'] : [],
184
+ }, compactor: noCompactor, onDragStop: handleLayoutCommit, onResizeStop: handleLayoutCommit }, items.map(item => (React.createElement("div", { key: item.id, style: { height: '100%' } }, renderItem(item)))))) : null))));
185
+ };
186
+ //# sourceMappingURL=WidgetBoardReactGridLayoutEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetBoardReactGridLayoutEngine.js","sourceRoot":"","sources":["../../../src/component/widget-board/WidgetBoardReactGridLayoutEngine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,gBAAgB,MAAM,kCAAkC,CAAA;AAC/D,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,eAAe,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAgC,MAAM,mBAAmB,CAAA;AACjH,OAAO,kCAAkC,CAAA;AA4BzC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;AAE9F,MAAM,iBAAiB,GAAG,CAAC,IAA0C,EAAE,OAAe,EAAE,EAAE;IACtF,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,IAAI,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,iBAAiB,IAAI,aAAa,CAAA;IACzF,OAAO,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,IAA0C,EAAE,EAAE;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,cAAc,IAAI,UAAU,CAAA;IAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,IAA0C,EAAE,OAAe,EAAE,aAAqB,EAAE,aAAuB,EAAE,EAAE;IACpI,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAA;IAE/C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC;QAC1F,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,YAAoB,EAAE,EAAE;QAC1C,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,KAAK,IAAI,MAAM,GAAG,YAAY,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9E,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,OAAO,SAAS,CAAA;IACpB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAE3C,KAAK,IAAI,YAAY,GAAG,aAAa,EAAE,YAAY,GAAG,UAAU,IAAI,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,CAAC;QAC7F,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;YACvE,OAAO,YAAY,CAAA;QACvB,CAAC;IACL,CAAC;IAED,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,UAAU,IAAI,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,CAAC;QACjF,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;YACvE,OAAO,YAAY,CAAA;QACvB,CAAC;IACL,CAAC;IAED,OAAO,CAAC,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CACtB,KAA6C,EAC7C,OAAe,EACf,eAA2C,EACrC,EAAE;IACR,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAI,mBAAmB,GAAG,CAAC,CAAA;IAE3B,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACpB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAA;QAC5E,IAAI,CAAC,GAAG,CAAC,CAAA;QAET,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YACnD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/C,CAAC;QAED,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YACnD,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QACtC,CAAC;QAED,mBAAmB,GAAG,CAAC,GAAG,KAAK,CAAA;QAE/B,OAAO;YACH,CAAC,EAAE,IAAI,CAAC,EAAY;YACpB,CAAC;YACD,CAAC;YACD,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,MAAM;YACT,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa;YACpC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU;YACjC,MAAM,EAAE,eAAe,KAAK,MAAM;YAClC,WAAW,EAAE,eAAe,KAAK,MAAM;YACvC,WAAW,EAAE,eAAe,KAAK,MAAM;SAC1C,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CACjB,MAAc,EACd,WAAmD,EACnD,OAAe,EACuB,EAAE;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAE3E,OAAO,CAAC,GAAG,MAAM,CAAC;SACb,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,UAAU,CAAC,EAAE;QACd,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC5C,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAE5B,OAAO;YACH,GAAG,UAAU;YACb,UAAU,EAAE,UAAU,CAAC,CAAC;YACxB,OAAO,EAAE,UAAU,CAAC,CAAC;YACrB,YAAY,EAAE;gBACV,GAAG,UAAU,CAAC,YAAY;gBAC1B,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;aAC1B;SACJ,CAAA;IACL,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAA2C,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,CAAyC,EAAE,CAAyC,EAAE,OAAe,EAAE,EAAE,CAC9H,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;IACrB,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QACtB,OAAO,CACH,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,EAAE;YACrB,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;YACpC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CACjE,CAAA;IACL,CAAC,CAAC,CAAA;AAEN,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC3C,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,MAAM,EACN,gBAAgB,GACkB,EAAE,EAAE;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAY,CAAA;IAClC,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC5G,MAAM,YAAY,GAAG,eAAe,KAAK,MAAM,CAAA;IAE/C,OAAO,CACH,oBAAC,GAAG,sCAC+B,MAAM,EACrC,EAAE,EAAE;YACA,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,CAAC;YACT,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,MAAM;SACpB;QAED,oBAAC,GAAG,IACA,SAAS,EAAC,kCAAkC,EAC5C,EAAE,EAAE;gBACA,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,EAAE;gBACb,EAAE,EAAE,GAAG;gBACP,EAAE,EAAE,IAAI;gBACR,EAAE,EAAE,CAAC;gBACL,SAAS,EAAE,YAAY;gBACvB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;gBACzD,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAC5C;YAED,oBAAC,UAAU,IACP,SAAS,EAAC,IAAI,EACd,EAAE,EAAE;oBACA,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,QAAQ;oBAClB,YAAY,EAAE,UAAU;oBACxB,UAAU,EAAE,QAAQ;oBACpB,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,MAAM;oBAClB,KAAK,EAAE,cAAc;iBACxB,IAEA,UAAU,CAAC,KAAK,CACR;YACZ,YAAY,CAAC,CAAC,CAAC,CACZ,oBAAC,KAAK,IAAC,SAAS,EAAC,8BAA8B,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE;gBACvH,UAAU,CAAC,eAAe;gBAC3B,oBAAC,UAAU,kBACK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,EAC7D,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACzC,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAEpC,WAAW,CAAC,CAAC,CAAC,oBAAC,qBAAqB,IAAC,QAAQ,EAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,oBAAC,qBAAqB,IAAC,QAAQ,EAAC,QAAQ,GAAG,CAC/F;gBACb,oBAAC,UAAU,kBAAY,aAAa,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE;oBACpH,oBAAC,gBAAgB,IAAC,QAAQ,EAAC,QAAQ,GAAG,CAC7B,CACT,CACX,CAAC,CAAC,CAAC,IAAI,CACN;QACL,CAAC,WAAW,CAAC,CAAC,CAAC,CACZ,oBAAC,GAAG,IAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE;YAC3F,oBAAC,GAAG,IACA,GAAG,EAAE,CAAC,IAA2B,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAClD,QAAQ,EACxB,EAAE,EAAE;oBACA,CAAC,EAAE,CAAC;oBACJ,SAAS,EAAE,YAAY;oBACvB,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACtD,SAAS,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBACvD,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACxD,aAAa,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;iBACrE,IAEA,UAAU,CAAC,MAAM,EAAE,CAClB,CACJ,CACT,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,EAC7C,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,SAAS,GAC2B,EAAE,EAAE;IACxC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAA;IAEnH,MAAM,kBAAkB,GAAG,WAAW,CAClC,CAAC,UAAkB,EAAE,EAAE;QACnB,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAC1D,IAAI,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;YAAE,OAAM;QAEtD,MAAM,KAAK,GAAG;YACV,MAAM,EAAE;gBACJ,KAAK,EAAE,SAAS;aACnB;SAC8C,CAAA;QAEnD,aAAa,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAClC,CAAA;IAED,OAAO,CACH,oBAAC,GAAG,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,CAChB,oBAAC,GAAG,IAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,yBAA0B,CACvE,CAAC,CAAC,CAAC,CACA,oBAAC,GAAG,IAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IACxC,OAAO,CAAC,CAAC,CAAC,CACP,oBAAC,eAAe,IACZ,QAAQ,QACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;YACR,IAAI,EAAE,OAAO;YACb,SAAS;YACT,MAAM;YACN,gBAAgB;YAChB,OAAO,EAAE,MAAM,CAAC,iBAAiB;SACpC,EACD,UAAU,EAAE;YACR,OAAO,EAAE,eAAe,KAAK,MAAM;YACnC,MAAM,EAAE,mCAAmC;YAC3C,MAAM,EAAE,+BAA+B;SAC1C,EACD,YAAY,EAAE;YACV,OAAO,EAAE,eAAe,KAAK,MAAM;YACnC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;SACpD,EACD,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,kBAAkB,EAC9B,YAAY,EAAE,kBAAkB,IAE/B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACf,6BAAK,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IACvC,UAAU,CAAC,IAAI,CAAC,CACf,CACT,CAAC,CACY,CACrB,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CACC,CACT,CAAA;AACL,CAAC,CAAA"}
@@ -1,5 +1,9 @@
1
1
  import { DEFAULT_BREAKPOINTS } from '../../common/responsive/breakpoints';
2
2
  const cloneLayoutConfig = (config) => ({
3
+ columns: config.columns,
4
+ rowHeight: config.rowHeight,
5
+ margin: config.margin,
6
+ containerPadding: config.containerPadding,
3
7
  widgets: Object.fromEntries(Object.entries(config.widgets).map(([id, widget]) => [
4
8
  id,
5
9
  {
@@ -53,7 +57,13 @@ export const buildPresetFromState = (state, baseLayoutByBreakpoint, breakpoints
53
57
  heightMode: heightModeForBreakpoint[id] ?? baseConfig.heightMode,
54
58
  };
55
59
  });
56
- layoutByBreakpoint[breakpoint] = { widgets };
60
+ layoutByBreakpoint[breakpoint] = {
61
+ columns: base.columns,
62
+ rowHeight: base.rowHeight,
63
+ margin: base.margin,
64
+ containerPadding: base.containerPadding,
65
+ widgets,
66
+ };
57
67
  });
58
68
  return layoutByBreakpoint;
59
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"layoutPersistence.js","sourceRoot":"","sources":["../../../src/component/widget-board/layoutPersistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layoutPersistence.js","sourceRoot":"","sources":["../../../src/component/widget-board/layoutPersistence.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,12 @@ export type WidgetLayoutLimits = {
19
19
  };
20
20
  export type WidgetHeightMode = 'auto' | 'fixed';
21
21
  export type WidgetHeightModeMemory = Record<string, Partial<Record<WidgetId, WidgetHeightMode>>>;
22
+ /**
23
+ * React Grid Layout is the default engine. `cloudscape` is retained only as an explicit
24
+ * deprecated compatibility path while downstream consumers finish migrating.
25
+ */
26
+ export type WidgetBoardEngine = 'react-grid-layout' | 'cloudscape';
27
+ export type WidgetBoardInteractionMode = 'view' | 'edit';
22
28
  export type WidgetLayoutInitialState = {
23
29
  isHidden?: boolean;
24
30
  isCollapsed?: boolean;
@@ -30,6 +36,10 @@ export type WidgetLayoutConfig = {
30
36
  heightMode?: WidgetHeightMode;
31
37
  };
32
38
  export type BreakpointLayoutConfig = {
39
+ columns?: number;
40
+ rowHeight?: number;
41
+ margin?: readonly [number, number];
42
+ containerPadding?: readonly [number, number] | null;
33
43
  widgets: Record<WidgetId, WidgetLayoutConfig>;
34
44
  };
35
45
  export type WidgetDefinition = {
@@ -65,6 +75,12 @@ export type WidgetBoardActionsState = {
65
75
  selectedLayoutId?: string;
66
76
  defaultLayoutId: string;
67
77
  };
78
+ export type WidgetBoardReactGridLayoutOptions = {
79
+ columns?: number;
80
+ rowHeight?: number;
81
+ margin?: readonly [number, number];
82
+ containerPadding?: readonly [number, number] | null;
83
+ };
68
84
  export type WidgetBoardProps = {
69
85
  widgets: WidgetDefinition[];
70
86
  layoutByBreakpoint: Record<number | string, BreakpointLayoutConfig>;
@@ -72,4 +88,7 @@ export type WidgetBoardProps = {
72
88
  saveLayouts: (options: WidgetBoardLayoutOption[], selectedId?: string) => Promise<void>;
73
89
  onActionsStateChange?: (state: WidgetBoardActionsState) => void;
74
90
  autoHeightEnabled?: boolean;
91
+ engine?: WidgetBoardEngine;
92
+ interactionMode?: WidgetBoardInteractionMode;
93
+ reactGridLayoutOptions?: WidgetBoardReactGridLayoutOptions;
75
94
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pne-ui",
3
- "version": "4.0.36",
3
+ "version": "4.0.38",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -128,6 +128,7 @@
128
128
  "dayjs": "1.11.20",
129
129
  "immer": "10.0.3",
130
130
  "lodash": "4.18.1",
131
+ "react-grid-layout": "2.2.3",
131
132
  "react-imask": "^7.6.1",
132
133
  "react-is": "19.2.5",
133
134
  "react-virtuoso": "4.7.5",