react-grid-layout 1.5.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1074 -432
- package/css/styles.css +6 -4
- package/dist/ResponsiveGridLayout-CH4s0tKj.d.ts +124 -0
- package/dist/ResponsiveGridLayout-D6lFRE3f.d.mts +124 -0
- package/dist/calculate-CwYDW8na.d.mts +168 -0
- package/dist/calculate-mgLpNJ5O.d.ts +168 -0
- package/dist/chunk-2KUHNJXF.mjs +90 -0
- package/dist/chunk-2KUHNJXF.mjs.map +1 -0
- package/dist/chunk-3WO4SAYB.js +868 -0
- package/dist/chunk-3WO4SAYB.js.map +1 -0
- package/dist/chunk-4HNUMWQK.mjs +822 -0
- package/dist/chunk-4HNUMWQK.mjs.map +1 -0
- package/dist/chunk-BFTKGAP3.js +1309 -0
- package/dist/chunk-BFTKGAP3.js.map +1 -0
- package/dist/chunk-F6NQPYKT.js +98 -0
- package/dist/chunk-F6NQPYKT.js.map +1 -0
- package/dist/chunk-H5KMDLY3.js +434 -0
- package/dist/chunk-H5KMDLY3.js.map +1 -0
- package/dist/chunk-PBQSHIID.js +4 -0
- package/dist/chunk-PBQSHIID.js.map +1 -0
- package/dist/chunk-R35HZZTA.mjs +1300 -0
- package/dist/chunk-R35HZZTA.mjs.map +1 -0
- package/dist/chunk-ZCXE6SR5.mjs +428 -0
- package/dist/chunk-ZCXE6SR5.mjs.map +1 -0
- package/dist/chunk-ZWN22PS2.mjs +3 -0
- package/dist/chunk-ZWN22PS2.mjs.map +1 -0
- package/dist/core.d.mts +33 -0
- package/dist/core.d.ts +33 -0
- package/dist/core.js +218 -0
- package/dist/core.js.map +1 -0
- package/dist/core.mjs +5 -0
- package/dist/core.mjs.map +1 -0
- package/dist/extras.d.mts +78 -0
- package/dist/extras.d.ts +78 -0
- package/dist/extras.js +91 -0
- package/dist/extras.js.map +1 -0
- package/dist/extras.mjs +89 -0
- package/dist/extras.mjs.map +1 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +154 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +7 -0
- package/dist/index.mjs.map +1 -0
- package/dist/legacy.d.mts +163 -0
- package/dist/legacy.d.ts +163 -0
- package/dist/legacy.js +319 -0
- package/dist/legacy.js.map +1 -0
- package/dist/legacy.mjs +307 -0
- package/dist/legacy.mjs.map +1 -0
- package/dist/position-BmN1z36J.d.mts +319 -0
- package/dist/position-Dk2b4ZMS.d.ts +319 -0
- package/dist/react.d.mts +351 -0
- package/dist/react.d.ts +351 -0
- package/dist/react.js +96 -0
- package/dist/react.js.map +1 -0
- package/dist/react.mjs +7 -0
- package/dist/react.mjs.map +1 -0
- package/dist/responsive-C4L1ESlm.d.ts +145 -0
- package/dist/responsive-CJxefsYw.d.mts +145 -0
- package/dist/types-Cxf4nHNr.d.mts +375 -0
- package/dist/types-Cxf4nHNr.d.ts +375 -0
- package/index-dev.js +8 -0
- package/package.json +132 -40
- package/.babelrc.js +0 -22
- package/.browserslistrc +0 -3
- package/.eslintignore +0 -4
- package/.flowconfig +0 -20
- package/.prettierignore +0 -4
- package/.prettierrc +0 -17
- package/CHANGELOG.md +0 -985
- package/build/GridItem.js +0 -638
- package/build/ReactGridLayout.js +0 -741
- package/build/ReactGridLayoutPropTypes.js +0 -210
- package/build/ResponsiveReactGridLayout.js +0 -297
- package/build/calculateUtils.js +0 -165
- package/build/components/WidthProvider.js +0 -115
- package/build/fastRGLPropsEqual.js +0 -5
- package/build/responsiveUtils.js +0 -101
- package/build/utils.js +0 -842
- package/dist/react-grid-layout.min.js +0 -2
- package/dist/react-grid-layout.min.js.map +0 -1
- package/index.js.flow +0 -8
- package/ip_fetcher +0 -0
- package/ip_fetcher.c +0 -47
- package/lib/GridItem.jsx +0 -689
- package/lib/ReactGridLayout.jsx +0 -855
- package/lib/ReactGridLayoutPropTypes.js +0 -241
- package/lib/ResponsiveReactGridLayout.jsx +0 -349
- package/lib/calculateUtils.js +0 -169
- package/lib/components/WidthProvider.jsx +0 -110
- package/lib/fastRGLPropsEqual.js +0 -46
- package/lib/responsiveUtils.js +0 -118
- package/lib/utils.js +0 -995
- package/yarn-error.log +0 -7780
package/dist/legacy.js
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var chunkBFTKGAP3_js = require('./chunk-BFTKGAP3.js');
|
|
6
|
+
var chunk3WO4SAYB_js = require('./chunk-3WO4SAYB.js');
|
|
7
|
+
require('./chunk-F6NQPYKT.js');
|
|
8
|
+
var react = require('react');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
var clsx = require('clsx');
|
|
11
|
+
|
|
12
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
15
|
+
|
|
16
|
+
function ReactGridLayout(props) {
|
|
17
|
+
const {
|
|
18
|
+
// Required
|
|
19
|
+
children,
|
|
20
|
+
width,
|
|
21
|
+
// Grid measurement
|
|
22
|
+
cols = 12,
|
|
23
|
+
rowHeight = 150,
|
|
24
|
+
maxRows = Infinity,
|
|
25
|
+
margin = [10, 10],
|
|
26
|
+
containerPadding = null,
|
|
27
|
+
// Layout data
|
|
28
|
+
layout,
|
|
29
|
+
droppingItem,
|
|
30
|
+
// Compaction
|
|
31
|
+
compactType: compactTypeProp,
|
|
32
|
+
preventCollision = false,
|
|
33
|
+
allowOverlap = false,
|
|
34
|
+
verticalCompact,
|
|
35
|
+
// Drag behavior
|
|
36
|
+
isDraggable = true,
|
|
37
|
+
isBounded = false,
|
|
38
|
+
draggableHandle,
|
|
39
|
+
draggableCancel,
|
|
40
|
+
// Resize behavior
|
|
41
|
+
isResizable = true,
|
|
42
|
+
resizeHandles = ["se"],
|
|
43
|
+
resizeHandle,
|
|
44
|
+
// Drop behavior
|
|
45
|
+
isDroppable = false,
|
|
46
|
+
// Position
|
|
47
|
+
useCSSTransforms = true,
|
|
48
|
+
transformScale = 1,
|
|
49
|
+
// Container props
|
|
50
|
+
autoSize,
|
|
51
|
+
className,
|
|
52
|
+
style,
|
|
53
|
+
innerRef,
|
|
54
|
+
// Callbacks
|
|
55
|
+
onLayoutChange,
|
|
56
|
+
onDragStart,
|
|
57
|
+
onDrag,
|
|
58
|
+
onDragStop,
|
|
59
|
+
onResizeStart,
|
|
60
|
+
onResize,
|
|
61
|
+
onResizeStop,
|
|
62
|
+
onDrop,
|
|
63
|
+
onDropDragOver
|
|
64
|
+
} = props;
|
|
65
|
+
let compactType = compactTypeProp === void 0 ? "vertical" : compactTypeProp;
|
|
66
|
+
if (verticalCompact === false) {
|
|
67
|
+
if (process.env["NODE_ENV"] !== "production") {
|
|
68
|
+
console.warn(
|
|
69
|
+
'`verticalCompact` on <ReactGridLayout> is deprecated and will be removed soon. Use `compactType`: "horizontal" | "vertical" | null.'
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
compactType = null;
|
|
73
|
+
}
|
|
74
|
+
const gridConfig = {
|
|
75
|
+
cols,
|
|
76
|
+
rowHeight,
|
|
77
|
+
maxRows,
|
|
78
|
+
margin,
|
|
79
|
+
containerPadding
|
|
80
|
+
};
|
|
81
|
+
const dragConfig = {
|
|
82
|
+
enabled: isDraggable,
|
|
83
|
+
bounded: isBounded,
|
|
84
|
+
handle: draggableHandle,
|
|
85
|
+
cancel: draggableCancel
|
|
86
|
+
};
|
|
87
|
+
const resizeConfig = {
|
|
88
|
+
enabled: isResizable,
|
|
89
|
+
handles: resizeHandles,
|
|
90
|
+
handleComponent: resizeHandle
|
|
91
|
+
};
|
|
92
|
+
const dropConfig = {
|
|
93
|
+
enabled: isDroppable
|
|
94
|
+
};
|
|
95
|
+
let positionStrategy;
|
|
96
|
+
if (!useCSSTransforms) {
|
|
97
|
+
positionStrategy = chunk3WO4SAYB_js.absoluteStrategy;
|
|
98
|
+
} else if (transformScale !== 1) {
|
|
99
|
+
positionStrategy = chunk3WO4SAYB_js.createScaledStrategy(transformScale);
|
|
100
|
+
} else {
|
|
101
|
+
positionStrategy = chunk3WO4SAYB_js.transformStrategy;
|
|
102
|
+
}
|
|
103
|
+
const compactor = chunk3WO4SAYB_js.getCompactor(compactType, allowOverlap, preventCollision);
|
|
104
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
chunkBFTKGAP3_js.GridLayout,
|
|
106
|
+
{
|
|
107
|
+
width,
|
|
108
|
+
gridConfig,
|
|
109
|
+
dragConfig,
|
|
110
|
+
resizeConfig,
|
|
111
|
+
dropConfig,
|
|
112
|
+
positionStrategy,
|
|
113
|
+
compactor,
|
|
114
|
+
layout,
|
|
115
|
+
droppingItem,
|
|
116
|
+
autoSize,
|
|
117
|
+
className,
|
|
118
|
+
style,
|
|
119
|
+
innerRef,
|
|
120
|
+
onLayoutChange,
|
|
121
|
+
onDragStart,
|
|
122
|
+
onDrag,
|
|
123
|
+
onDragStop,
|
|
124
|
+
onResizeStart,
|
|
125
|
+
onResize,
|
|
126
|
+
onResizeStop,
|
|
127
|
+
onDrop,
|
|
128
|
+
onDropDragOver,
|
|
129
|
+
children
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
ReactGridLayout.displayName = "ReactGridLayout";
|
|
134
|
+
var ReactGridLayout_default = ReactGridLayout;
|
|
135
|
+
function ResponsiveReactGridLayout(props) {
|
|
136
|
+
const {
|
|
137
|
+
// Required
|
|
138
|
+
children,
|
|
139
|
+
width,
|
|
140
|
+
// Responsive-specific
|
|
141
|
+
breakpoint,
|
|
142
|
+
breakpoints,
|
|
143
|
+
cols,
|
|
144
|
+
layouts,
|
|
145
|
+
onBreakpointChange,
|
|
146
|
+
onLayoutChange,
|
|
147
|
+
onWidthChange,
|
|
148
|
+
// Grid measurement
|
|
149
|
+
rowHeight,
|
|
150
|
+
maxRows,
|
|
151
|
+
margin,
|
|
152
|
+
containerPadding,
|
|
153
|
+
// Layout data
|
|
154
|
+
droppingItem,
|
|
155
|
+
// Compaction
|
|
156
|
+
compactType: compactTypeProp,
|
|
157
|
+
preventCollision = false,
|
|
158
|
+
allowOverlap = false,
|
|
159
|
+
verticalCompact,
|
|
160
|
+
// Drag behavior
|
|
161
|
+
isDraggable = true,
|
|
162
|
+
isBounded = false,
|
|
163
|
+
draggableHandle,
|
|
164
|
+
draggableCancel,
|
|
165
|
+
// Resize behavior
|
|
166
|
+
isResizable = true,
|
|
167
|
+
resizeHandles = ["se"],
|
|
168
|
+
resizeHandle,
|
|
169
|
+
// Drop behavior
|
|
170
|
+
isDroppable = false,
|
|
171
|
+
// Position
|
|
172
|
+
useCSSTransforms = true,
|
|
173
|
+
transformScale = 1,
|
|
174
|
+
// Container props
|
|
175
|
+
autoSize,
|
|
176
|
+
className,
|
|
177
|
+
style,
|
|
178
|
+
innerRef,
|
|
179
|
+
// Callbacks
|
|
180
|
+
onDragStart,
|
|
181
|
+
onDrag,
|
|
182
|
+
onDragStop,
|
|
183
|
+
onResizeStart,
|
|
184
|
+
onResize,
|
|
185
|
+
onResizeStop,
|
|
186
|
+
onDrop,
|
|
187
|
+
onDropDragOver
|
|
188
|
+
} = props;
|
|
189
|
+
let compactType = compactTypeProp === void 0 ? "vertical" : compactTypeProp;
|
|
190
|
+
if (verticalCompact === false) {
|
|
191
|
+
if (process.env["NODE_ENV"] !== "production") {
|
|
192
|
+
console.warn(
|
|
193
|
+
'`verticalCompact` on <ResponsiveReactGridLayout> is deprecated and will be removed soon. Use `compactType`: "horizontal" | "vertical" | null.'
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
compactType = null;
|
|
197
|
+
}
|
|
198
|
+
const dragConfig = {
|
|
199
|
+
enabled: isDraggable,
|
|
200
|
+
bounded: isBounded,
|
|
201
|
+
handle: draggableHandle,
|
|
202
|
+
cancel: draggableCancel
|
|
203
|
+
};
|
|
204
|
+
const resizeConfig = {
|
|
205
|
+
enabled: isResizable,
|
|
206
|
+
handles: resizeHandles,
|
|
207
|
+
handleComponent: resizeHandle
|
|
208
|
+
};
|
|
209
|
+
const dropConfig = {
|
|
210
|
+
enabled: isDroppable
|
|
211
|
+
};
|
|
212
|
+
let positionStrategy;
|
|
213
|
+
if (!useCSSTransforms) {
|
|
214
|
+
positionStrategy = chunk3WO4SAYB_js.absoluteStrategy;
|
|
215
|
+
} else if (transformScale !== 1) {
|
|
216
|
+
positionStrategy = chunk3WO4SAYB_js.createScaledStrategy(transformScale);
|
|
217
|
+
} else {
|
|
218
|
+
positionStrategy = chunk3WO4SAYB_js.transformStrategy;
|
|
219
|
+
}
|
|
220
|
+
const compactor = chunk3WO4SAYB_js.getCompactor(compactType, allowOverlap, preventCollision);
|
|
221
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
222
|
+
chunkBFTKGAP3_js.ResponsiveGridLayout,
|
|
223
|
+
{
|
|
224
|
+
width,
|
|
225
|
+
breakpoint,
|
|
226
|
+
breakpoints,
|
|
227
|
+
cols,
|
|
228
|
+
layouts,
|
|
229
|
+
rowHeight,
|
|
230
|
+
maxRows,
|
|
231
|
+
margin,
|
|
232
|
+
containerPadding,
|
|
233
|
+
compactor,
|
|
234
|
+
dragConfig,
|
|
235
|
+
resizeConfig,
|
|
236
|
+
dropConfig,
|
|
237
|
+
positionStrategy,
|
|
238
|
+
droppingItem,
|
|
239
|
+
autoSize,
|
|
240
|
+
className,
|
|
241
|
+
style,
|
|
242
|
+
innerRef,
|
|
243
|
+
onBreakpointChange,
|
|
244
|
+
onLayoutChange,
|
|
245
|
+
onWidthChange,
|
|
246
|
+
onDragStart,
|
|
247
|
+
onDrag,
|
|
248
|
+
onDragStop,
|
|
249
|
+
onResizeStart,
|
|
250
|
+
onResize,
|
|
251
|
+
onResizeStop,
|
|
252
|
+
onDrop,
|
|
253
|
+
onDropDragOver,
|
|
254
|
+
children
|
|
255
|
+
}
|
|
256
|
+
);
|
|
257
|
+
}
|
|
258
|
+
ResponsiveReactGridLayout.displayName = "ResponsiveReactGridLayout";
|
|
259
|
+
var ResponsiveReactGridLayout_default = ResponsiveReactGridLayout;
|
|
260
|
+
var layoutClassName = "react-grid-layout";
|
|
261
|
+
function WidthProvider(ComposedComponent) {
|
|
262
|
+
function WidthProviderWrapper(props) {
|
|
263
|
+
const { measureBeforeMount = false, className, style, ...rest } = props;
|
|
264
|
+
const [width, setWidth] = react.useState(1280);
|
|
265
|
+
const [mounted, setMounted] = react.useState(false);
|
|
266
|
+
const elementRef = react.useRef(null);
|
|
267
|
+
const resizeObserverRef = react.useRef(null);
|
|
268
|
+
react.useEffect(() => {
|
|
269
|
+
setMounted(true);
|
|
270
|
+
resizeObserverRef.current = new ResizeObserver((entries) => {
|
|
271
|
+
const node2 = elementRef.current;
|
|
272
|
+
if (node2 instanceof HTMLElement && entries[0]) {
|
|
273
|
+
const newWidth = entries[0].contentRect.width;
|
|
274
|
+
setWidth(newWidth);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
const node = elementRef.current;
|
|
278
|
+
if (node instanceof HTMLElement) {
|
|
279
|
+
resizeObserverRef.current.observe(node);
|
|
280
|
+
}
|
|
281
|
+
return () => {
|
|
282
|
+
if (node instanceof HTMLElement && resizeObserverRef.current) {
|
|
283
|
+
resizeObserverRef.current.unobserve(node);
|
|
284
|
+
}
|
|
285
|
+
resizeObserverRef.current?.disconnect();
|
|
286
|
+
};
|
|
287
|
+
}, []);
|
|
288
|
+
if (measureBeforeMount && !mounted) {
|
|
289
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
290
|
+
"div",
|
|
291
|
+
{
|
|
292
|
+
className: clsx__default.default(className, layoutClassName),
|
|
293
|
+
style,
|
|
294
|
+
ref: elementRef
|
|
295
|
+
}
|
|
296
|
+
);
|
|
297
|
+
}
|
|
298
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
+
ComposedComponent,
|
|
300
|
+
{
|
|
301
|
+
innerRef: elementRef,
|
|
302
|
+
className,
|
|
303
|
+
style,
|
|
304
|
+
...rest,
|
|
305
|
+
width
|
|
306
|
+
}
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
WidthProviderWrapper.displayName = `WidthProvider(${ComposedComponent.displayName || ComposedComponent.name || "Component"})`;
|
|
310
|
+
return WidthProviderWrapper;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
exports.ReactGridLayout = ReactGridLayout;
|
|
314
|
+
exports.Responsive = ResponsiveReactGridLayout_default;
|
|
315
|
+
exports.ResponsiveReactGridLayout = ResponsiveReactGridLayout;
|
|
316
|
+
exports.WidthProvider = WidthProvider;
|
|
317
|
+
exports.default = ReactGridLayout_default;
|
|
318
|
+
//# sourceMappingURL=legacy.js.map
|
|
319
|
+
//# sourceMappingURL=legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/legacy/ReactGridLayout.tsx","../src/legacy/ResponsiveReactGridLayout.tsx","../src/react/components/WidthProvider.tsx"],"names":["absoluteStrategy","createScaledStrategy","transformStrategy","getCompactor","jsx","GridLayout","ResponsiveGridLayout","useState","useRef","useEffect","node","clsx"],"mappings":"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","file":"legacy.js","sourcesContent":["/**\n * Legacy ReactGridLayout wrapper\n *\n * This component wraps the new TypeScript GridLayout to provide\n * backwards compatibility with the v1 API by converting flat props\n * to the new composable interface format.\n */\n\nimport React from \"react\";\nimport {\n GridLayout,\n type GridLayoutProps\n} from \"../react/components/GridLayout.js\";\nimport type {\n Layout,\n LayoutItem,\n CompactType,\n ResizeHandleAxis,\n GridConfig,\n DragConfig,\n ResizeConfig,\n DropConfig,\n PositionStrategy\n} from \"../core/types.js\";\nimport { getCompactor } from \"../core/compactors.js\";\nimport {\n transformStrategy,\n absoluteStrategy,\n createScaledStrategy\n} from \"../core/position.js\";\n\n// ============================================================================\n// Legacy Props Interface\n// ============================================================================\n\n/**\n * Legacy props interface for backwards compatibility with v1 API.\n * These flat props are converted to composable interfaces internally.\n */\nexport interface LegacyReactGridLayoutProps {\n // Required\n children: React.ReactNode;\n width: number;\n\n // Grid measurement (→ gridConfig)\n cols?: number;\n rowHeight?: number;\n maxRows?: number;\n margin?: readonly [number, number];\n containerPadding?: readonly [number, number] | null;\n\n // Layout data\n layout?: Layout;\n droppingItem?: LayoutItem;\n\n // Compaction (→ compactor)\n compactType?: CompactType;\n preventCollision?: boolean;\n allowOverlap?: boolean;\n /** @deprecated Use compactType instead */\n verticalCompact?: boolean;\n\n // Drag behavior (→ dragConfig)\n isDraggable?: boolean;\n isBounded?: boolean;\n draggableHandle?: string;\n draggableCancel?: string;\n\n // Resize behavior (→ resizeConfig)\n isResizable?: boolean;\n resizeHandles?: ResizeHandleAxis[];\n resizeHandle?:\n | React.ReactElement\n | ((\n axis: ResizeHandleAxis,\n ref: React.Ref<HTMLElement>\n ) => React.ReactElement);\n\n // Drop behavior (→ dropConfig)\n isDroppable?: boolean;\n\n // Position (→ positionStrategy)\n useCSSTransforms?: boolean;\n transformScale?: number;\n\n // Container props (passed through)\n autoSize?: boolean;\n className?: string;\n style?: React.CSSProperties;\n innerRef?: React.Ref<HTMLDivElement>;\n\n // Callbacks (passed through)\n onLayoutChange?: (layout: Layout) => void;\n onDragStart?: GridLayoutProps[\"onDragStart\"];\n onDrag?: GridLayoutProps[\"onDrag\"];\n onDragStop?: GridLayoutProps[\"onDragStop\"];\n onResizeStart?: GridLayoutProps[\"onResizeStart\"];\n onResize?: GridLayoutProps[\"onResize\"];\n onResizeStop?: GridLayoutProps[\"onResizeStop\"];\n onDrop?: (layout: Layout, item: LayoutItem | undefined, e: Event) => void;\n onDropDragOver?: (\n e: React.DragEvent\n ) => { w?: number; h?: number } | false | void;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\n/**\n * ReactGridLayout - Legacy wrapper component\n *\n * Converts v1 flat props to v2 composable interfaces for backwards compatibility.\n */\nfunction ReactGridLayout(props: LegacyReactGridLayoutProps) {\n const {\n // Required\n children,\n width,\n\n // Grid measurement\n cols = 12,\n rowHeight = 150,\n maxRows = Infinity,\n margin = [10, 10],\n containerPadding = null,\n\n // Layout data\n layout,\n droppingItem,\n\n // Compaction\n compactType: compactTypeProp,\n preventCollision = false,\n allowOverlap = false,\n verticalCompact,\n\n // Drag behavior\n isDraggable = true,\n isBounded = false,\n draggableHandle,\n draggableCancel,\n\n // Resize behavior\n isResizable = true,\n resizeHandles = [\"se\"],\n resizeHandle,\n\n // Drop behavior\n isDroppable = false,\n\n // Position\n useCSSTransforms = true,\n transformScale = 1,\n\n // Container props\n autoSize,\n className,\n style,\n innerRef,\n\n // Callbacks\n onLayoutChange,\n onDragStart,\n onDrag,\n onDragStop,\n onResizeStart,\n onResize,\n onResizeStop,\n onDrop,\n onDropDragOver\n } = props;\n\n // Handle deprecated verticalCompact prop\n let compactType: CompactType =\n compactTypeProp === undefined ? \"vertical\" : compactTypeProp;\n if (verticalCompact === false) {\n if (process.env[\"NODE_ENV\"] !== \"production\") {\n console.warn(\n \"`verticalCompact` on <ReactGridLayout> is deprecated and will be removed soon. \" +\n 'Use `compactType`: \"horizontal\" | \"vertical\" | null.'\n );\n }\n compactType = null;\n }\n\n // Convert flat props to composable interfaces\n\n const gridConfig: Partial<GridConfig> = {\n cols,\n rowHeight,\n maxRows,\n margin,\n containerPadding\n };\n\n const dragConfig: Partial<DragConfig> = {\n enabled: isDraggable,\n bounded: isBounded,\n handle: draggableHandle,\n cancel: draggableCancel\n };\n\n const resizeConfig: Partial<ResizeConfig> = {\n enabled: isResizable,\n handles: resizeHandles,\n handleComponent: resizeHandle\n };\n\n const dropConfig: Partial<DropConfig> = {\n enabled: isDroppable\n };\n\n // Build position strategy\n let positionStrategy: PositionStrategy;\n if (!useCSSTransforms) {\n positionStrategy = absoluteStrategy;\n } else if (transformScale !== 1) {\n positionStrategy = createScaledStrategy(transformScale);\n } else {\n positionStrategy = transformStrategy;\n }\n\n // Get compactor from type and options\n const compactor = getCompactor(compactType, allowOverlap, preventCollision);\n\n return (\n <GridLayout\n width={width}\n gridConfig={gridConfig}\n dragConfig={dragConfig}\n resizeConfig={resizeConfig}\n dropConfig={dropConfig}\n positionStrategy={positionStrategy}\n compactor={compactor}\n layout={layout}\n droppingItem={droppingItem}\n autoSize={autoSize}\n className={className}\n style={style}\n innerRef={innerRef}\n onLayoutChange={onLayoutChange}\n onDragStart={onDragStart}\n onDrag={onDrag}\n onDragStop={onDragStop}\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeStop={onResizeStop}\n onDrop={onDrop}\n onDropDragOver={onDropDragOver}\n >\n {children}\n </GridLayout>\n );\n}\n\n// Static properties for backwards compatibility\nReactGridLayout.displayName = \"ReactGridLayout\";\n\nexport default ReactGridLayout;\nexport { ReactGridLayout };\n","/**\n * Legacy ResponsiveReactGridLayout wrapper\n *\n * This component wraps the new TypeScript ResponsiveGridLayout to provide\n * backwards compatibility with the v1 API by converting flat props\n * to the new composable interface format.\n */\n\nimport React from \"react\";\nimport {\n ResponsiveGridLayout,\n type ResponsiveGridLayoutProps\n} from \"../react/components/ResponsiveGridLayout.js\";\nimport type {\n Layout,\n LayoutItem,\n CompactType,\n Breakpoint,\n Breakpoints,\n ResponsiveLayouts,\n ResizeHandleAxis,\n DragConfig,\n ResizeConfig,\n DropConfig,\n PositionStrategy\n} from \"../core/types.js\";\nimport { getCompactor } from \"../core/compactors.js\";\nimport {\n transformStrategy,\n absoluteStrategy,\n createScaledStrategy\n} from \"../core/position.js\";\n\n// ============================================================================\n// Legacy Props Interface\n// ============================================================================\n\n/**\n * Legacy props interface for backwards compatibility with v1 API.\n * These flat props are converted to composable interfaces internally.\n */\nexport interface LegacyResponsiveReactGridLayoutProps<\n B extends Breakpoint = string\n> {\n // Required\n children: React.ReactNode;\n width: number;\n\n // Responsive-specific\n breakpoint?: B;\n breakpoints?: Breakpoints<B>;\n cols?: Breakpoints<B>;\n layouts?: ResponsiveLayouts<B>;\n onBreakpointChange?: (newBreakpoint: B, cols: number) => void;\n onLayoutChange?: (layout: Layout, layouts: ResponsiveLayouts<B>) => void;\n onWidthChange?: (\n containerWidth: number,\n margin: readonly [number, number],\n cols: number,\n containerPadding: readonly [number, number] | null\n ) => void;\n\n // Grid measurement\n rowHeight?: number;\n maxRows?: number;\n margin?:\n | readonly [number, number]\n | Partial<Record<B, readonly [number, number]>>;\n containerPadding?:\n | readonly [number, number]\n | Partial<Record<B, readonly [number, number] | null>>\n | null;\n\n // Layout data\n droppingItem?: LayoutItem;\n\n // Compaction (→ compactor)\n compactType?: CompactType;\n preventCollision?: boolean;\n allowOverlap?: boolean;\n /** @deprecated Use compactType instead */\n verticalCompact?: boolean;\n\n // Drag behavior (→ dragConfig)\n isDraggable?: boolean;\n isBounded?: boolean;\n draggableHandle?: string;\n draggableCancel?: string;\n\n // Resize behavior (→ resizeConfig)\n isResizable?: boolean;\n resizeHandles?: ResizeHandleAxis[];\n resizeHandle?:\n | React.ReactElement\n | ((\n axis: ResizeHandleAxis,\n ref: React.Ref<HTMLElement>\n ) => React.ReactElement);\n\n // Drop behavior (→ dropConfig)\n isDroppable?: boolean;\n\n // Position (→ positionStrategy)\n useCSSTransforms?: boolean;\n transformScale?: number;\n\n // Container props (passed through)\n autoSize?: boolean;\n className?: string;\n style?: React.CSSProperties;\n innerRef?: React.Ref<HTMLDivElement>;\n\n // Callbacks (passed through)\n onDragStart?: ResponsiveGridLayoutProps<B>[\"onDragStart\"];\n onDrag?: ResponsiveGridLayoutProps<B>[\"onDrag\"];\n onDragStop?: ResponsiveGridLayoutProps<B>[\"onDragStop\"];\n onResizeStart?: ResponsiveGridLayoutProps<B>[\"onResizeStart\"];\n onResize?: ResponsiveGridLayoutProps<B>[\"onResize\"];\n onResizeStop?: ResponsiveGridLayoutProps<B>[\"onResizeStop\"];\n onDrop?: (layout: Layout, item: LayoutItem | undefined, e: Event) => void;\n onDropDragOver?: (\n e: React.DragEvent\n ) => { w?: number; h?: number } | false | void;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\n/**\n * ResponsiveReactGridLayout - Legacy wrapper component\n *\n * Converts v1 flat props to v2 composable interfaces for backwards compatibility.\n */\nfunction ResponsiveReactGridLayout<B extends Breakpoint = string>(\n props: LegacyResponsiveReactGridLayoutProps<B>\n) {\n const {\n // Required\n children,\n width,\n\n // Responsive-specific\n breakpoint,\n breakpoints,\n cols,\n layouts,\n onBreakpointChange,\n onLayoutChange,\n onWidthChange,\n\n // Grid measurement\n rowHeight,\n maxRows,\n margin,\n containerPadding,\n\n // Layout data\n droppingItem,\n\n // Compaction\n compactType: compactTypeProp,\n preventCollision = false,\n allowOverlap = false,\n verticalCompact,\n\n // Drag behavior\n isDraggable = true,\n isBounded = false,\n draggableHandle,\n draggableCancel,\n\n // Resize behavior\n isResizable = true,\n resizeHandles = [\"se\"],\n resizeHandle,\n\n // Drop behavior\n isDroppable = false,\n\n // Position\n useCSSTransforms = true,\n transformScale = 1,\n\n // Container props\n autoSize,\n className,\n style,\n innerRef,\n\n // Callbacks\n onDragStart,\n onDrag,\n onDragStop,\n onResizeStart,\n onResize,\n onResizeStop,\n onDrop,\n onDropDragOver\n } = props;\n\n // Handle deprecated verticalCompact prop\n let compactType: CompactType =\n compactTypeProp === undefined ? \"vertical\" : compactTypeProp;\n if (verticalCompact === false) {\n if (process.env[\"NODE_ENV\"] !== \"production\") {\n console.warn(\n \"`verticalCompact` on <ResponsiveReactGridLayout> is deprecated and will be removed soon. \" +\n 'Use `compactType`: \"horizontal\" | \"vertical\" | null.'\n );\n }\n compactType = null;\n }\n\n // Convert flat props to composable interfaces\n\n const dragConfig: Partial<DragConfig> = {\n enabled: isDraggable,\n bounded: isBounded,\n handle: draggableHandle,\n cancel: draggableCancel\n };\n\n const resizeConfig: Partial<ResizeConfig> = {\n enabled: isResizable,\n handles: resizeHandles,\n handleComponent: resizeHandle\n };\n\n const dropConfig: Partial<DropConfig> = {\n enabled: isDroppable\n };\n\n // Build position strategy\n let positionStrategy: PositionStrategy;\n if (!useCSSTransforms) {\n positionStrategy = absoluteStrategy;\n } else if (transformScale !== 1) {\n positionStrategy = createScaledStrategy(transformScale);\n } else {\n positionStrategy = transformStrategy;\n }\n\n // Get compactor from type and options\n const compactor = getCompactor(compactType, allowOverlap, preventCollision);\n\n return (\n <ResponsiveGridLayout<B>\n width={width}\n breakpoint={breakpoint}\n breakpoints={breakpoints}\n cols={cols}\n layouts={layouts}\n rowHeight={rowHeight}\n maxRows={maxRows}\n margin={margin}\n containerPadding={containerPadding}\n compactor={compactor}\n dragConfig={dragConfig}\n resizeConfig={resizeConfig}\n dropConfig={dropConfig}\n positionStrategy={positionStrategy}\n droppingItem={droppingItem}\n autoSize={autoSize}\n className={className}\n style={style}\n innerRef={innerRef}\n onBreakpointChange={onBreakpointChange}\n onLayoutChange={onLayoutChange}\n onWidthChange={onWidthChange}\n onDragStart={onDragStart}\n onDrag={onDrag}\n onDragStop={onDragStop}\n onResizeStart={onResizeStart}\n onResize={onResize}\n onResizeStop={onResizeStop}\n onDrop={onDrop}\n onDropDragOver={onDropDragOver}\n >\n {children}\n </ResponsiveGridLayout>\n );\n}\n\n// Static properties for backwards compatibility\nResponsiveReactGridLayout.displayName = \"ResponsiveReactGridLayout\";\n\nexport default ResponsiveReactGridLayout;\nexport { ResponsiveReactGridLayout, ResponsiveReactGridLayout as Responsive };\n","/**\n * WidthProvider HOC\n *\n * A Higher-Order Component that provides width measurement to grid layouts.\n * This wraps any component and provides the container width as a prop.\n */\n\nimport React, { useState, useRef, useEffect, type ComponentType } from \"react\";\nimport clsx from \"clsx\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface WidthProviderProps {\n /** If true, will not render children until mounted */\n measureBeforeMount?: boolean;\n /** Additional class name */\n className?: string;\n /** Additional styles */\n style?: React.CSSProperties;\n}\n\ntype WithWidthProps<P> = Omit<P, \"width\"> & WidthProviderProps;\n\n// ============================================================================\n// Constants\n// ============================================================================\n\nconst layoutClassName = \"react-grid-layout\";\n\n// ============================================================================\n// WidthProvider HOC\n// ============================================================================\n\n/**\n * WidthProvider - HOC that provides container width\n *\n * A simple HOC that provides facility for listening to container resizes.\n * Wraps the provided component and passes down a `width` prop.\n *\n * @example\n * ```tsx\n * import { GridLayout, WidthProvider } from 'react-grid-layout';\n *\n * const GridLayoutWithWidth = WidthProvider(GridLayout);\n *\n * function MyGrid() {\n * return (\n * <GridLayoutWithWidth cols={12} rowHeight={30}>\n * <div key=\"a\">a</div>\n * </GridLayoutWithWidth>\n * );\n * }\n * ```\n */\nexport function WidthProvider<P extends { width: number }>(\n ComposedComponent: ComponentType<P>\n): ComponentType<WithWidthProps<P>> {\n function WidthProviderWrapper(props: WithWidthProps<P>) {\n const { measureBeforeMount = false, className, style, ...rest } = props;\n\n const [width, setWidth] = useState(1280);\n const [mounted, setMounted] = useState(false);\n const elementRef = useRef<HTMLDivElement>(null);\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n\n useEffect(() => {\n setMounted(true);\n\n // Set up ResizeObserver\n resizeObserverRef.current = new ResizeObserver(entries => {\n const node = elementRef.current;\n if (node instanceof HTMLElement && entries[0]) {\n const newWidth = entries[0].contentRect.width;\n setWidth(newWidth);\n }\n });\n\n const node = elementRef.current;\n if (node instanceof HTMLElement) {\n resizeObserverRef.current.observe(node);\n }\n\n return () => {\n if (node instanceof HTMLElement && resizeObserverRef.current) {\n resizeObserverRef.current.unobserve(node);\n }\n resizeObserverRef.current?.disconnect();\n };\n }, []);\n\n // If measureBeforeMount is true and not yet mounted, render placeholder\n if (measureBeforeMount && !mounted) {\n return (\n <div\n className={clsx(className, layoutClassName)}\n style={style}\n ref={elementRef}\n />\n );\n }\n\n return (\n <ComposedComponent\n innerRef={elementRef}\n className={className}\n style={style}\n {...(rest as unknown as P)}\n width={width}\n />\n );\n }\n\n WidthProviderWrapper.displayName = `WidthProvider(${ComposedComponent.displayName || ComposedComponent.name || \"Component\"})`;\n\n return WidthProviderWrapper;\n}\n\nexport default WidthProvider;\n"]}
|
package/dist/legacy.mjs
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { GridLayout, ResponsiveGridLayout } from './chunk-R35HZZTA.mjs';
|
|
2
|
+
import { createScaledStrategy, getCompactor, absoluteStrategy, transformStrategy } from './chunk-4HNUMWQK.mjs';
|
|
3
|
+
import './chunk-2KUHNJXF.mjs';
|
|
4
|
+
import { useState, useRef, useEffect } from 'react';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
import clsx from 'clsx';
|
|
7
|
+
|
|
8
|
+
function ReactGridLayout(props) {
|
|
9
|
+
const {
|
|
10
|
+
// Required
|
|
11
|
+
children,
|
|
12
|
+
width,
|
|
13
|
+
// Grid measurement
|
|
14
|
+
cols = 12,
|
|
15
|
+
rowHeight = 150,
|
|
16
|
+
maxRows = Infinity,
|
|
17
|
+
margin = [10, 10],
|
|
18
|
+
containerPadding = null,
|
|
19
|
+
// Layout data
|
|
20
|
+
layout,
|
|
21
|
+
droppingItem,
|
|
22
|
+
// Compaction
|
|
23
|
+
compactType: compactTypeProp,
|
|
24
|
+
preventCollision = false,
|
|
25
|
+
allowOverlap = false,
|
|
26
|
+
verticalCompact,
|
|
27
|
+
// Drag behavior
|
|
28
|
+
isDraggable = true,
|
|
29
|
+
isBounded = false,
|
|
30
|
+
draggableHandle,
|
|
31
|
+
draggableCancel,
|
|
32
|
+
// Resize behavior
|
|
33
|
+
isResizable = true,
|
|
34
|
+
resizeHandles = ["se"],
|
|
35
|
+
resizeHandle,
|
|
36
|
+
// Drop behavior
|
|
37
|
+
isDroppable = false,
|
|
38
|
+
// Position
|
|
39
|
+
useCSSTransforms = true,
|
|
40
|
+
transformScale = 1,
|
|
41
|
+
// Container props
|
|
42
|
+
autoSize,
|
|
43
|
+
className,
|
|
44
|
+
style,
|
|
45
|
+
innerRef,
|
|
46
|
+
// Callbacks
|
|
47
|
+
onLayoutChange,
|
|
48
|
+
onDragStart,
|
|
49
|
+
onDrag,
|
|
50
|
+
onDragStop,
|
|
51
|
+
onResizeStart,
|
|
52
|
+
onResize,
|
|
53
|
+
onResizeStop,
|
|
54
|
+
onDrop,
|
|
55
|
+
onDropDragOver
|
|
56
|
+
} = props;
|
|
57
|
+
let compactType = compactTypeProp === void 0 ? "vertical" : compactTypeProp;
|
|
58
|
+
if (verticalCompact === false) {
|
|
59
|
+
if (process.env["NODE_ENV"] !== "production") {
|
|
60
|
+
console.warn(
|
|
61
|
+
'`verticalCompact` on <ReactGridLayout> is deprecated and will be removed soon. Use `compactType`: "horizontal" | "vertical" | null.'
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
compactType = null;
|
|
65
|
+
}
|
|
66
|
+
const gridConfig = {
|
|
67
|
+
cols,
|
|
68
|
+
rowHeight,
|
|
69
|
+
maxRows,
|
|
70
|
+
margin,
|
|
71
|
+
containerPadding
|
|
72
|
+
};
|
|
73
|
+
const dragConfig = {
|
|
74
|
+
enabled: isDraggable,
|
|
75
|
+
bounded: isBounded,
|
|
76
|
+
handle: draggableHandle,
|
|
77
|
+
cancel: draggableCancel
|
|
78
|
+
};
|
|
79
|
+
const resizeConfig = {
|
|
80
|
+
enabled: isResizable,
|
|
81
|
+
handles: resizeHandles,
|
|
82
|
+
handleComponent: resizeHandle
|
|
83
|
+
};
|
|
84
|
+
const dropConfig = {
|
|
85
|
+
enabled: isDroppable
|
|
86
|
+
};
|
|
87
|
+
let positionStrategy;
|
|
88
|
+
if (!useCSSTransforms) {
|
|
89
|
+
positionStrategy = absoluteStrategy;
|
|
90
|
+
} else if (transformScale !== 1) {
|
|
91
|
+
positionStrategy = createScaledStrategy(transformScale);
|
|
92
|
+
} else {
|
|
93
|
+
positionStrategy = transformStrategy;
|
|
94
|
+
}
|
|
95
|
+
const compactor = getCompactor(compactType, allowOverlap, preventCollision);
|
|
96
|
+
return /* @__PURE__ */ jsx(
|
|
97
|
+
GridLayout,
|
|
98
|
+
{
|
|
99
|
+
width,
|
|
100
|
+
gridConfig,
|
|
101
|
+
dragConfig,
|
|
102
|
+
resizeConfig,
|
|
103
|
+
dropConfig,
|
|
104
|
+
positionStrategy,
|
|
105
|
+
compactor,
|
|
106
|
+
layout,
|
|
107
|
+
droppingItem,
|
|
108
|
+
autoSize,
|
|
109
|
+
className,
|
|
110
|
+
style,
|
|
111
|
+
innerRef,
|
|
112
|
+
onLayoutChange,
|
|
113
|
+
onDragStart,
|
|
114
|
+
onDrag,
|
|
115
|
+
onDragStop,
|
|
116
|
+
onResizeStart,
|
|
117
|
+
onResize,
|
|
118
|
+
onResizeStop,
|
|
119
|
+
onDrop,
|
|
120
|
+
onDropDragOver,
|
|
121
|
+
children
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
ReactGridLayout.displayName = "ReactGridLayout";
|
|
126
|
+
var ReactGridLayout_default = ReactGridLayout;
|
|
127
|
+
function ResponsiveReactGridLayout(props) {
|
|
128
|
+
const {
|
|
129
|
+
// Required
|
|
130
|
+
children,
|
|
131
|
+
width,
|
|
132
|
+
// Responsive-specific
|
|
133
|
+
breakpoint,
|
|
134
|
+
breakpoints,
|
|
135
|
+
cols,
|
|
136
|
+
layouts,
|
|
137
|
+
onBreakpointChange,
|
|
138
|
+
onLayoutChange,
|
|
139
|
+
onWidthChange,
|
|
140
|
+
// Grid measurement
|
|
141
|
+
rowHeight,
|
|
142
|
+
maxRows,
|
|
143
|
+
margin,
|
|
144
|
+
containerPadding,
|
|
145
|
+
// Layout data
|
|
146
|
+
droppingItem,
|
|
147
|
+
// Compaction
|
|
148
|
+
compactType: compactTypeProp,
|
|
149
|
+
preventCollision = false,
|
|
150
|
+
allowOverlap = false,
|
|
151
|
+
verticalCompact,
|
|
152
|
+
// Drag behavior
|
|
153
|
+
isDraggable = true,
|
|
154
|
+
isBounded = false,
|
|
155
|
+
draggableHandle,
|
|
156
|
+
draggableCancel,
|
|
157
|
+
// Resize behavior
|
|
158
|
+
isResizable = true,
|
|
159
|
+
resizeHandles = ["se"],
|
|
160
|
+
resizeHandle,
|
|
161
|
+
// Drop behavior
|
|
162
|
+
isDroppable = false,
|
|
163
|
+
// Position
|
|
164
|
+
useCSSTransforms = true,
|
|
165
|
+
transformScale = 1,
|
|
166
|
+
// Container props
|
|
167
|
+
autoSize,
|
|
168
|
+
className,
|
|
169
|
+
style,
|
|
170
|
+
innerRef,
|
|
171
|
+
// Callbacks
|
|
172
|
+
onDragStart,
|
|
173
|
+
onDrag,
|
|
174
|
+
onDragStop,
|
|
175
|
+
onResizeStart,
|
|
176
|
+
onResize,
|
|
177
|
+
onResizeStop,
|
|
178
|
+
onDrop,
|
|
179
|
+
onDropDragOver
|
|
180
|
+
} = props;
|
|
181
|
+
let compactType = compactTypeProp === void 0 ? "vertical" : compactTypeProp;
|
|
182
|
+
if (verticalCompact === false) {
|
|
183
|
+
if (process.env["NODE_ENV"] !== "production") {
|
|
184
|
+
console.warn(
|
|
185
|
+
'`verticalCompact` on <ResponsiveReactGridLayout> is deprecated and will be removed soon. Use `compactType`: "horizontal" | "vertical" | null.'
|
|
186
|
+
);
|
|
187
|
+
}
|
|
188
|
+
compactType = null;
|
|
189
|
+
}
|
|
190
|
+
const dragConfig = {
|
|
191
|
+
enabled: isDraggable,
|
|
192
|
+
bounded: isBounded,
|
|
193
|
+
handle: draggableHandle,
|
|
194
|
+
cancel: draggableCancel
|
|
195
|
+
};
|
|
196
|
+
const resizeConfig = {
|
|
197
|
+
enabled: isResizable,
|
|
198
|
+
handles: resizeHandles,
|
|
199
|
+
handleComponent: resizeHandle
|
|
200
|
+
};
|
|
201
|
+
const dropConfig = {
|
|
202
|
+
enabled: isDroppable
|
|
203
|
+
};
|
|
204
|
+
let positionStrategy;
|
|
205
|
+
if (!useCSSTransforms) {
|
|
206
|
+
positionStrategy = absoluteStrategy;
|
|
207
|
+
} else if (transformScale !== 1) {
|
|
208
|
+
positionStrategy = createScaledStrategy(transformScale);
|
|
209
|
+
} else {
|
|
210
|
+
positionStrategy = transformStrategy;
|
|
211
|
+
}
|
|
212
|
+
const compactor = getCompactor(compactType, allowOverlap, preventCollision);
|
|
213
|
+
return /* @__PURE__ */ jsx(
|
|
214
|
+
ResponsiveGridLayout,
|
|
215
|
+
{
|
|
216
|
+
width,
|
|
217
|
+
breakpoint,
|
|
218
|
+
breakpoints,
|
|
219
|
+
cols,
|
|
220
|
+
layouts,
|
|
221
|
+
rowHeight,
|
|
222
|
+
maxRows,
|
|
223
|
+
margin,
|
|
224
|
+
containerPadding,
|
|
225
|
+
compactor,
|
|
226
|
+
dragConfig,
|
|
227
|
+
resizeConfig,
|
|
228
|
+
dropConfig,
|
|
229
|
+
positionStrategy,
|
|
230
|
+
droppingItem,
|
|
231
|
+
autoSize,
|
|
232
|
+
className,
|
|
233
|
+
style,
|
|
234
|
+
innerRef,
|
|
235
|
+
onBreakpointChange,
|
|
236
|
+
onLayoutChange,
|
|
237
|
+
onWidthChange,
|
|
238
|
+
onDragStart,
|
|
239
|
+
onDrag,
|
|
240
|
+
onDragStop,
|
|
241
|
+
onResizeStart,
|
|
242
|
+
onResize,
|
|
243
|
+
onResizeStop,
|
|
244
|
+
onDrop,
|
|
245
|
+
onDropDragOver,
|
|
246
|
+
children
|
|
247
|
+
}
|
|
248
|
+
);
|
|
249
|
+
}
|
|
250
|
+
ResponsiveReactGridLayout.displayName = "ResponsiveReactGridLayout";
|
|
251
|
+
var ResponsiveReactGridLayout_default = ResponsiveReactGridLayout;
|
|
252
|
+
var layoutClassName = "react-grid-layout";
|
|
253
|
+
function WidthProvider(ComposedComponent) {
|
|
254
|
+
function WidthProviderWrapper(props) {
|
|
255
|
+
const { measureBeforeMount = false, className, style, ...rest } = props;
|
|
256
|
+
const [width, setWidth] = useState(1280);
|
|
257
|
+
const [mounted, setMounted] = useState(false);
|
|
258
|
+
const elementRef = useRef(null);
|
|
259
|
+
const resizeObserverRef = useRef(null);
|
|
260
|
+
useEffect(() => {
|
|
261
|
+
setMounted(true);
|
|
262
|
+
resizeObserverRef.current = new ResizeObserver((entries) => {
|
|
263
|
+
const node2 = elementRef.current;
|
|
264
|
+
if (node2 instanceof HTMLElement && entries[0]) {
|
|
265
|
+
const newWidth = entries[0].contentRect.width;
|
|
266
|
+
setWidth(newWidth);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
const node = elementRef.current;
|
|
270
|
+
if (node instanceof HTMLElement) {
|
|
271
|
+
resizeObserverRef.current.observe(node);
|
|
272
|
+
}
|
|
273
|
+
return () => {
|
|
274
|
+
if (node instanceof HTMLElement && resizeObserverRef.current) {
|
|
275
|
+
resizeObserverRef.current.unobserve(node);
|
|
276
|
+
}
|
|
277
|
+
resizeObserverRef.current?.disconnect();
|
|
278
|
+
};
|
|
279
|
+
}, []);
|
|
280
|
+
if (measureBeforeMount && !mounted) {
|
|
281
|
+
return /* @__PURE__ */ jsx(
|
|
282
|
+
"div",
|
|
283
|
+
{
|
|
284
|
+
className: clsx(className, layoutClassName),
|
|
285
|
+
style,
|
|
286
|
+
ref: elementRef
|
|
287
|
+
}
|
|
288
|
+
);
|
|
289
|
+
}
|
|
290
|
+
return /* @__PURE__ */ jsx(
|
|
291
|
+
ComposedComponent,
|
|
292
|
+
{
|
|
293
|
+
innerRef: elementRef,
|
|
294
|
+
className,
|
|
295
|
+
style,
|
|
296
|
+
...rest,
|
|
297
|
+
width
|
|
298
|
+
}
|
|
299
|
+
);
|
|
300
|
+
}
|
|
301
|
+
WidthProviderWrapper.displayName = `WidthProvider(${ComposedComponent.displayName || ComposedComponent.name || "Component"})`;
|
|
302
|
+
return WidthProviderWrapper;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export { ReactGridLayout, ResponsiveReactGridLayout_default as Responsive, ResponsiveReactGridLayout, WidthProvider, ReactGridLayout_default as default };
|
|
306
|
+
//# sourceMappingURL=legacy.mjs.map
|
|
307
|
+
//# sourceMappingURL=legacy.mjs.map
|