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.
Files changed (95) hide show
  1. package/README.md +1074 -432
  2. package/css/styles.css +6 -4
  3. package/dist/ResponsiveGridLayout-CH4s0tKj.d.ts +124 -0
  4. package/dist/ResponsiveGridLayout-D6lFRE3f.d.mts +124 -0
  5. package/dist/calculate-CwYDW8na.d.mts +168 -0
  6. package/dist/calculate-mgLpNJ5O.d.ts +168 -0
  7. package/dist/chunk-2KUHNJXF.mjs +90 -0
  8. package/dist/chunk-2KUHNJXF.mjs.map +1 -0
  9. package/dist/chunk-3WO4SAYB.js +868 -0
  10. package/dist/chunk-3WO4SAYB.js.map +1 -0
  11. package/dist/chunk-4HNUMWQK.mjs +822 -0
  12. package/dist/chunk-4HNUMWQK.mjs.map +1 -0
  13. package/dist/chunk-BFTKGAP3.js +1309 -0
  14. package/dist/chunk-BFTKGAP3.js.map +1 -0
  15. package/dist/chunk-F6NQPYKT.js +98 -0
  16. package/dist/chunk-F6NQPYKT.js.map +1 -0
  17. package/dist/chunk-H5KMDLY3.js +434 -0
  18. package/dist/chunk-H5KMDLY3.js.map +1 -0
  19. package/dist/chunk-PBQSHIID.js +4 -0
  20. package/dist/chunk-PBQSHIID.js.map +1 -0
  21. package/dist/chunk-R35HZZTA.mjs +1300 -0
  22. package/dist/chunk-R35HZZTA.mjs.map +1 -0
  23. package/dist/chunk-ZCXE6SR5.mjs +428 -0
  24. package/dist/chunk-ZCXE6SR5.mjs.map +1 -0
  25. package/dist/chunk-ZWN22PS2.mjs +3 -0
  26. package/dist/chunk-ZWN22PS2.mjs.map +1 -0
  27. package/dist/core.d.mts +33 -0
  28. package/dist/core.d.ts +33 -0
  29. package/dist/core.js +218 -0
  30. package/dist/core.js.map +1 -0
  31. package/dist/core.mjs +5 -0
  32. package/dist/core.mjs.map +1 -0
  33. package/dist/extras.d.mts +78 -0
  34. package/dist/extras.d.ts +78 -0
  35. package/dist/extras.js +91 -0
  36. package/dist/extras.js.map +1 -0
  37. package/dist/extras.mjs +89 -0
  38. package/dist/extras.mjs.map +1 -0
  39. package/dist/index.d.mts +7 -0
  40. package/dist/index.d.ts +7 -0
  41. package/dist/index.js +154 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/index.mjs +7 -0
  44. package/dist/index.mjs.map +1 -0
  45. package/dist/legacy.d.mts +163 -0
  46. package/dist/legacy.d.ts +163 -0
  47. package/dist/legacy.js +319 -0
  48. package/dist/legacy.js.map +1 -0
  49. package/dist/legacy.mjs +307 -0
  50. package/dist/legacy.mjs.map +1 -0
  51. package/dist/position-BmN1z36J.d.mts +319 -0
  52. package/dist/position-Dk2b4ZMS.d.ts +319 -0
  53. package/dist/react.d.mts +351 -0
  54. package/dist/react.d.ts +351 -0
  55. package/dist/react.js +96 -0
  56. package/dist/react.js.map +1 -0
  57. package/dist/react.mjs +7 -0
  58. package/dist/react.mjs.map +1 -0
  59. package/dist/responsive-C4L1ESlm.d.ts +145 -0
  60. package/dist/responsive-CJxefsYw.d.mts +145 -0
  61. package/dist/types-Cxf4nHNr.d.mts +375 -0
  62. package/dist/types-Cxf4nHNr.d.ts +375 -0
  63. package/index-dev.js +8 -0
  64. package/package.json +132 -40
  65. package/.babelrc.js +0 -22
  66. package/.browserslistrc +0 -3
  67. package/.eslintignore +0 -4
  68. package/.flowconfig +0 -20
  69. package/.prettierignore +0 -4
  70. package/.prettierrc +0 -17
  71. package/CHANGELOG.md +0 -985
  72. package/build/GridItem.js +0 -638
  73. package/build/ReactGridLayout.js +0 -741
  74. package/build/ReactGridLayoutPropTypes.js +0 -210
  75. package/build/ResponsiveReactGridLayout.js +0 -297
  76. package/build/calculateUtils.js +0 -165
  77. package/build/components/WidthProvider.js +0 -115
  78. package/build/fastRGLPropsEqual.js +0 -5
  79. package/build/responsiveUtils.js +0 -101
  80. package/build/utils.js +0 -842
  81. package/dist/react-grid-layout.min.js +0 -2
  82. package/dist/react-grid-layout.min.js.map +0 -1
  83. package/index.js.flow +0 -8
  84. package/ip_fetcher +0 -0
  85. package/ip_fetcher.c +0 -47
  86. package/lib/GridItem.jsx +0 -689
  87. package/lib/ReactGridLayout.jsx +0 -855
  88. package/lib/ReactGridLayoutPropTypes.js +0 -241
  89. package/lib/ResponsiveReactGridLayout.jsx +0 -349
  90. package/lib/calculateUtils.js +0 -169
  91. package/lib/components/WidthProvider.jsx +0 -110
  92. package/lib/fastRGLPropsEqual.js +0 -46
  93. package/lib/responsiveUtils.js +0 -118
  94. package/lib/utils.js +0 -995
  95. 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"]}
@@ -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