@primer/react 38.6.0-rc.a40322d70 → 38.6.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/CHANGELOG.md +4 -0
- package/dist/PageLayout/PageLayout-28a244f7.css +2 -0
- package/dist/PageLayout/PageLayout-28a244f7.css.map +1 -0
- package/dist/PageLayout/PageLayout.d.ts.map +1 -1
- package/dist/PageLayout/PageLayout.js +590 -422
- package/dist/PageLayout/PageLayout.module.css.js +2 -2
- package/package.json +1 -1
- package/dist/PageLayout/PageLayout-3f6ddb7d.css +0 -2
- package/dist/PageLayout/PageLayout-3f6ddb7d.css.map +0 -1
|
@@ -5,63 +5,13 @@ import { useId } from '../hooks/useId.js';
|
|
|
5
5
|
import { useRefObjectAsForwardedRef } from '../hooks/useRefObjectAsForwardedRef.js';
|
|
6
6
|
import { isResponsiveValue } from '../hooks/useResponsiveValue.js';
|
|
7
7
|
import { useSlots } from '../hooks/useSlots.js';
|
|
8
|
+
import { canUseDOM } from '../utils/environment.js';
|
|
8
9
|
import { useOverflow } from '../hooks/useOverflow.js';
|
|
9
10
|
import { warning } from '../utils/warning.js';
|
|
10
11
|
import { getResponsiveAttributes } from '../internal/utils/getResponsiveAttributes.js';
|
|
11
12
|
import classes from './PageLayout.module.css.js';
|
|
12
|
-
import useIsomorphicLayoutEffect from '../utils/useIsomorphicLayoutEffect.js';
|
|
13
13
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
14
14
|
|
|
15
|
-
let viewportWidthListeners;
|
|
16
|
-
let viewportWidthObserver;
|
|
17
|
-
function subscribeToViewportWidth(callback) {
|
|
18
|
-
if (!viewportWidthListeners) {
|
|
19
|
-
viewportWidthListeners = new Set();
|
|
20
|
-
viewportWidthObserver = new ResizeObserver(() => {
|
|
21
|
-
if (viewportWidthListeners) {
|
|
22
|
-
for (const listener of viewportWidthListeners) {
|
|
23
|
-
listener();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
viewportWidthObserver.observe(document.documentElement);
|
|
28
|
-
}
|
|
29
|
-
viewportWidthListeners.add(callback);
|
|
30
|
-
return () => {
|
|
31
|
-
var _viewportWidthListene, _viewportWidthListene2;
|
|
32
|
-
(_viewportWidthListene = viewportWidthListeners) === null || _viewportWidthListene === void 0 ? void 0 : _viewportWidthListene.delete(callback);
|
|
33
|
-
if (((_viewportWidthListene2 = viewportWidthListeners) === null || _viewportWidthListene2 === void 0 ? void 0 : _viewportWidthListene2.size) === 0) {
|
|
34
|
-
var _viewportWidthObserve;
|
|
35
|
-
(_viewportWidthObserve = viewportWidthObserver) === null || _viewportWidthObserve === void 0 ? void 0 : _viewportWidthObserve.disconnect();
|
|
36
|
-
viewportWidthObserver = undefined;
|
|
37
|
-
viewportWidthListeners = undefined;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function getViewportWidth() {
|
|
42
|
-
return window.innerWidth;
|
|
43
|
-
}
|
|
44
|
-
function getServerViewportWidth() {
|
|
45
|
-
return 0;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Custom hook that subscribes to viewport width changes using a shared ResizeObserver
|
|
50
|
-
*/
|
|
51
|
-
function useViewportWidth() {
|
|
52
|
-
return React.useSyncExternalStore(subscribeToViewportWidth, getViewportWidth, getServerViewportWidth);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Gets the --pane-max-width-diff CSS variable value from a pane element.
|
|
57
|
-
* This value is set by CSS media queries and controls the max pane width constraint.
|
|
58
|
-
* Falls back to 511 (the CSS default) if the value cannot be read.
|
|
59
|
-
*/
|
|
60
|
-
function getPaneMaxWidthDiff(paneElement) {
|
|
61
|
-
if (!paneElement) return 511;
|
|
62
|
-
const value = parseInt(getComputedStyle(paneElement).getPropertyValue('--pane-max-width-diff'), 10);
|
|
63
|
-
return value > 0 ? value : 511;
|
|
64
|
-
}
|
|
65
15
|
const PageLayoutContext = /*#__PURE__*/React.createContext({
|
|
66
16
|
padding: 'normal',
|
|
67
17
|
rowGap: 'normal',
|
|
@@ -274,27 +224,12 @@ const HorizontalDivider = t0 => {
|
|
|
274
224
|
}
|
|
275
225
|
return t8;
|
|
276
226
|
};
|
|
277
|
-
// Helper to update ARIA slider attributes via direct DOM manipulation
|
|
278
|
-
// This avoids re-renders when values change during drag or on viewport resize
|
|
279
|
-
const updateAriaValues = (handle, values) => {
|
|
280
|
-
if (!handle) return;
|
|
281
|
-
if (values.min !== undefined) handle.setAttribute('aria-valuemin', String(values.min));
|
|
282
|
-
if (values.max !== undefined) handle.setAttribute('aria-valuemax', String(values.max));
|
|
283
|
-
if (values.current !== undefined) {
|
|
284
|
-
handle.setAttribute('aria-valuenow', String(values.current));
|
|
285
|
-
handle.setAttribute('aria-valuetext', `Pane width ${values.current} pixels`);
|
|
286
|
-
}
|
|
287
|
-
};
|
|
288
|
-
const DATA_DRAGGING_ATTR = 'data-dragging';
|
|
289
|
-
const isDragging = handle => {
|
|
290
|
-
return (handle === null || handle === void 0 ? void 0 : handle.getAttribute(DATA_DRAGGING_ATTR)) === 'true';
|
|
291
|
-
};
|
|
292
227
|
const VerticalDivider = t0 => {
|
|
293
|
-
const $ = c(
|
|
228
|
+
const $ = c(40);
|
|
294
229
|
const {
|
|
295
230
|
variant: t1,
|
|
296
231
|
draggable: t2,
|
|
297
|
-
|
|
232
|
+
onDragStart,
|
|
298
233
|
onDrag,
|
|
299
234
|
onDragEnd,
|
|
300
235
|
onDoubleClick,
|
|
@@ -304,175 +239,234 @@ const VerticalDivider = t0 => {
|
|
|
304
239
|
} = t0;
|
|
305
240
|
const variant = t1 === undefined ? "none" : t1;
|
|
306
241
|
const draggable = t2 === undefined ? false : t2;
|
|
242
|
+
const [isDragging, setIsDragging] = React.useState(false);
|
|
243
|
+
const [isKeyboardDrag, setIsKeyboardDrag] = React.useState(false);
|
|
307
244
|
const stableOnDrag = React.useRef(onDrag);
|
|
308
245
|
const stableOnDragEnd = React.useRef(onDragEnd);
|
|
309
|
-
let t3;
|
|
310
|
-
if ($[0] !== onDrag || $[1] !== onDragEnd) {
|
|
311
|
-
t3 = () => {
|
|
312
|
-
stableOnDrag.current = onDrag;
|
|
313
|
-
stableOnDragEnd.current = onDragEnd;
|
|
314
|
-
};
|
|
315
|
-
$[0] = onDrag;
|
|
316
|
-
$[1] = onDragEnd;
|
|
317
|
-
$[2] = t3;
|
|
318
|
-
} else {
|
|
319
|
-
t3 = $[2];
|
|
320
|
-
}
|
|
321
|
-
React.useEffect(t3);
|
|
322
246
|
const {
|
|
323
247
|
paneRef
|
|
324
248
|
} = React.useContext(PageLayoutContext);
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
249
|
+
const [minWidth, setMinWidth] = React.useState(0);
|
|
250
|
+
const [maxWidth, setMaxWidth] = React.useState(0);
|
|
251
|
+
const [currentWidth, setCurrentWidth] = React.useState(0);
|
|
252
|
+
let t3;
|
|
253
|
+
if ($[0] !== paneRef) {
|
|
254
|
+
t3 = () => {
|
|
255
|
+
if (paneRef.current !== null) {
|
|
256
|
+
const paneStyles = getComputedStyle(paneRef.current);
|
|
257
|
+
const maxPaneWidthDiffPixels = paneStyles.getPropertyValue("--pane-max-width-diff");
|
|
258
|
+
const minWidthPixels = paneStyles.getPropertyValue("--pane-min-width");
|
|
259
|
+
const paneWidth = paneRef.current.getBoundingClientRect().width;
|
|
260
|
+
const maxPaneWidthDiff = Number(maxPaneWidthDiffPixels.split("px")[0]);
|
|
261
|
+
const minPaneWidth = Number(minWidthPixels.split("px")[0]);
|
|
262
|
+
const viewportWidth = window.innerWidth;
|
|
263
|
+
const maxPaneWidth = viewportWidth > maxPaneWidthDiff ? viewportWidth - maxPaneWidthDiff : viewportWidth;
|
|
264
|
+
setMinWidth(minPaneWidth);
|
|
265
|
+
setMaxWidth(maxPaneWidth);
|
|
266
|
+
setCurrentWidth(paneWidth || 0);
|
|
335
267
|
}
|
|
336
268
|
};
|
|
337
|
-
$[
|
|
338
|
-
$[
|
|
269
|
+
$[0] = paneRef;
|
|
270
|
+
$[1] = t3;
|
|
339
271
|
} else {
|
|
340
|
-
|
|
272
|
+
t3 = $[1];
|
|
341
273
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
event_1.preventDefault();
|
|
350
|
-
};
|
|
351
|
-
$[5] = handleRef;
|
|
352
|
-
$[6] = t5;
|
|
274
|
+
let t4;
|
|
275
|
+
if ($[2] !== isDragging || $[3] !== isKeyboardDrag || $[4] !== paneRef) {
|
|
276
|
+
t4 = [paneRef, isKeyboardDrag, isDragging];
|
|
277
|
+
$[2] = isDragging;
|
|
278
|
+
$[3] = isKeyboardDrag;
|
|
279
|
+
$[4] = paneRef;
|
|
280
|
+
$[5] = t4;
|
|
353
281
|
} else {
|
|
354
|
-
|
|
282
|
+
t4 = $[5];
|
|
355
283
|
}
|
|
356
|
-
|
|
284
|
+
React.useEffect(t3, t4);
|
|
285
|
+
let t5;
|
|
357
286
|
let t6;
|
|
358
|
-
if ($[
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
return;
|
|
362
|
-
}
|
|
363
|
-
const target_0 = event_2.currentTarget;
|
|
364
|
-
target_0.removeAttribute(DATA_DRAGGING_ATTR);
|
|
365
|
-
stableOnDragEnd.current();
|
|
287
|
+
if ($[6] !== onDrag) {
|
|
288
|
+
t5 = () => {
|
|
289
|
+
stableOnDrag.current = onDrag;
|
|
366
290
|
};
|
|
367
|
-
|
|
291
|
+
t6 = [onDrag];
|
|
292
|
+
$[6] = onDrag;
|
|
293
|
+
$[7] = t5;
|
|
368
294
|
$[8] = t6;
|
|
369
295
|
} else {
|
|
296
|
+
t5 = $[7];
|
|
370
297
|
t6 = $[8];
|
|
371
298
|
}
|
|
372
|
-
|
|
299
|
+
React.useEffect(t5, t6);
|
|
373
300
|
let t7;
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
if (!paneRef.current) {
|
|
379
|
-
return;
|
|
380
|
-
}
|
|
381
|
-
const delta = event_3.key === "ArrowLeft" || event_3.key === "ArrowDown" ? -3 : 3;
|
|
382
|
-
event_3.currentTarget.setAttribute(DATA_DRAGGING_ATTR, "true");
|
|
383
|
-
stableOnDrag.current(delta, true);
|
|
384
|
-
}
|
|
301
|
+
let t8;
|
|
302
|
+
if ($[9] !== onDragEnd) {
|
|
303
|
+
t7 = () => {
|
|
304
|
+
stableOnDragEnd.current = onDragEnd;
|
|
385
305
|
};
|
|
386
|
-
|
|
306
|
+
t8 = [onDragEnd];
|
|
307
|
+
$[9] = onDragEnd;
|
|
387
308
|
$[10] = t7;
|
|
309
|
+
$[11] = t8;
|
|
388
310
|
} else {
|
|
389
311
|
t7 = $[10];
|
|
312
|
+
t8 = $[11];
|
|
390
313
|
}
|
|
391
|
-
|
|
392
|
-
let
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
314
|
+
React.useEffect(t7, t8);
|
|
315
|
+
let t10;
|
|
316
|
+
let t9;
|
|
317
|
+
if ($[12] !== currentWidth || $[13] !== isDragging || $[14] !== isKeyboardDrag || $[15] !== maxWidth || $[16] !== minWidth) {
|
|
318
|
+
t9 = () => {
|
|
319
|
+
const handleDrag = function handleDrag(event) {
|
|
320
|
+
var _stableOnDrag$current;
|
|
321
|
+
(_stableOnDrag$current = stableOnDrag.current) === null || _stableOnDrag$current === void 0 ? void 0 : _stableOnDrag$current.call(stableOnDrag, event.movementX, false);
|
|
322
|
+
event.preventDefault();
|
|
323
|
+
};
|
|
324
|
+
const handleDragEnd = function handleDragEnd(event_0) {
|
|
325
|
+
var _stableOnDragEnd$curr;
|
|
326
|
+
setIsDragging(false);
|
|
327
|
+
(_stableOnDragEnd$curr = stableOnDragEnd.current) === null || _stableOnDragEnd$curr === void 0 ? void 0 : _stableOnDragEnd$curr.call(stableOnDragEnd);
|
|
328
|
+
event_0.preventDefault();
|
|
329
|
+
};
|
|
330
|
+
const handleKeyDrag = function handleKeyDrag(event_1) {
|
|
331
|
+
var _stableOnDrag$current2;
|
|
332
|
+
let delta;
|
|
333
|
+
if ((event_1.key === "ArrowLeft" || event_1.key === "ArrowDown") && currentWidth > minWidth) {
|
|
334
|
+
delta = -3;
|
|
335
|
+
} else {
|
|
336
|
+
if ((event_1.key === "ArrowRight" || event_1.key === "ArrowUp") && currentWidth < maxWidth) {
|
|
337
|
+
delta = 3;
|
|
338
|
+
} else {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
setCurrentWidth(currentWidth + delta);
|
|
343
|
+
(_stableOnDrag$current2 = stableOnDrag.current) === null || _stableOnDrag$current2 === void 0 ? void 0 : _stableOnDrag$current2.call(stableOnDrag, delta, true);
|
|
344
|
+
event_1.preventDefault();
|
|
345
|
+
};
|
|
346
|
+
const handleKeyDragEnd = function handleKeyDragEnd(event_2) {
|
|
347
|
+
var _stableOnDragEnd$curr2;
|
|
348
|
+
setIsKeyboardDrag(false);
|
|
349
|
+
(_stableOnDragEnd$curr2 = stableOnDragEnd.current) === null || _stableOnDragEnd$curr2 === void 0 ? void 0 : _stableOnDragEnd$curr2.call(stableOnDragEnd);
|
|
350
|
+
event_2.preventDefault();
|
|
351
|
+
};
|
|
352
|
+
if (isDragging || isKeyboardDrag) {
|
|
353
|
+
window.addEventListener("mousemove", handleDrag);
|
|
354
|
+
window.addEventListener("keydown", handleKeyDrag);
|
|
355
|
+
window.addEventListener("mouseup", handleDragEnd);
|
|
356
|
+
window.addEventListener("keyup", handleKeyDragEnd);
|
|
357
|
+
const body = document.body;
|
|
358
|
+
body === null || body === void 0 ? void 0 : body.setAttribute("data-page-layout-dragging", "true");
|
|
359
|
+
} else {
|
|
360
|
+
window.removeEventListener("mousemove", handleDrag);
|
|
361
|
+
window.removeEventListener("mouseup", handleDragEnd);
|
|
362
|
+
window.removeEventListener("keydown", handleKeyDrag);
|
|
363
|
+
window.removeEventListener("keyup", handleKeyDragEnd);
|
|
364
|
+
const body_0 = document.body;
|
|
365
|
+
body_0 === null || body_0 === void 0 ? void 0 : body_0.removeAttribute("data-page-layout-dragging");
|
|
399
366
|
}
|
|
367
|
+
return () => {
|
|
368
|
+
window.removeEventListener("mousemove", handleDrag);
|
|
369
|
+
window.removeEventListener("mouseup", handleDragEnd);
|
|
370
|
+
window.removeEventListener("keydown", handleKeyDrag);
|
|
371
|
+
window.removeEventListener("keyup", handleKeyDragEnd);
|
|
372
|
+
const body_1 = document.body;
|
|
373
|
+
body_1 === null || body_1 === void 0 ? void 0 : body_1.removeAttribute("data-page-layout-dragging");
|
|
374
|
+
};
|
|
400
375
|
};
|
|
401
|
-
|
|
376
|
+
t10 = [isDragging, isKeyboardDrag, currentWidth, minWidth, maxWidth];
|
|
377
|
+
$[12] = currentWidth;
|
|
378
|
+
$[13] = isDragging;
|
|
379
|
+
$[14] = isKeyboardDrag;
|
|
380
|
+
$[15] = maxWidth;
|
|
381
|
+
$[16] = minWidth;
|
|
382
|
+
$[17] = t10;
|
|
383
|
+
$[18] = t9;
|
|
402
384
|
} else {
|
|
403
|
-
|
|
385
|
+
t10 = $[17];
|
|
386
|
+
t9 = $[18];
|
|
404
387
|
}
|
|
405
|
-
|
|
406
|
-
let
|
|
407
|
-
if ($[
|
|
408
|
-
|
|
409
|
-
$[
|
|
410
|
-
$[
|
|
388
|
+
React.useEffect(t9, t10);
|
|
389
|
+
let t11;
|
|
390
|
+
if ($[19] !== className) {
|
|
391
|
+
t11 = clsx(classes.VerticalDivider, className);
|
|
392
|
+
$[19] = className;
|
|
393
|
+
$[20] = t11;
|
|
411
394
|
} else {
|
|
412
|
-
|
|
395
|
+
t11 = $[20];
|
|
413
396
|
}
|
|
414
|
-
let
|
|
415
|
-
if ($[
|
|
416
|
-
|
|
417
|
-
$[
|
|
418
|
-
$[
|
|
397
|
+
let t12;
|
|
398
|
+
if ($[21] !== variant) {
|
|
399
|
+
t12 = getResponsiveAttributes("variant", variant);
|
|
400
|
+
$[21] = variant;
|
|
401
|
+
$[22] = t12;
|
|
419
402
|
} else {
|
|
420
|
-
|
|
403
|
+
t12 = $[22];
|
|
421
404
|
}
|
|
422
|
-
let
|
|
423
|
-
if ($[
|
|
424
|
-
|
|
425
|
-
$[
|
|
426
|
-
$[
|
|
405
|
+
let t13;
|
|
406
|
+
if ($[23] !== position) {
|
|
407
|
+
t13 = getResponsiveAttributes("position", position);
|
|
408
|
+
$[23] = position;
|
|
409
|
+
$[24] = t13;
|
|
427
410
|
} else {
|
|
428
|
-
|
|
411
|
+
t13 = $[24];
|
|
429
412
|
}
|
|
430
|
-
let
|
|
431
|
-
if ($[
|
|
432
|
-
|
|
433
|
-
ref: handleRef,
|
|
413
|
+
let t14;
|
|
414
|
+
if ($[25] !== currentWidth || $[26] !== draggable || $[27] !== isDragging || $[28] !== isKeyboardDrag || $[29] !== maxWidth || $[30] !== minWidth || $[31] !== onDoubleClick || $[32] !== onDragStart) {
|
|
415
|
+
t14 = draggable ? /*#__PURE__*/jsx("div", {
|
|
434
416
|
className: classes.DraggableHandle,
|
|
417
|
+
"data-dragging": isDragging || isKeyboardDrag,
|
|
435
418
|
role: "slider",
|
|
436
419
|
"aria-label": "Draggable pane splitter",
|
|
420
|
+
"aria-valuemin": minWidth,
|
|
421
|
+
"aria-valuemax": maxWidth,
|
|
422
|
+
"aria-valuenow": currentWidth,
|
|
423
|
+
"aria-valuetext": `Pane width ${currentWidth} pixels`,
|
|
437
424
|
tabIndex: 0,
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
425
|
+
onMouseDown: event_3 => {
|
|
426
|
+
if (event_3.button === 0) {
|
|
427
|
+
setIsDragging(true);
|
|
428
|
+
onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart();
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
onKeyDown: event_4 => {
|
|
432
|
+
if (event_4.key === "ArrowLeft" || event_4.key === "ArrowRight" || event_4.key === "ArrowUp" || event_4.key === "ArrowDown") {
|
|
433
|
+
setIsKeyboardDrag(true);
|
|
434
|
+
onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart();
|
|
435
|
+
}
|
|
436
|
+
},
|
|
444
437
|
onDoubleClick: onDoubleClick
|
|
445
438
|
}) : null;
|
|
446
|
-
$[
|
|
447
|
-
$[
|
|
448
|
-
$[
|
|
449
|
-
$[
|
|
450
|
-
$[
|
|
451
|
-
$[
|
|
452
|
-
$[
|
|
453
|
-
$[
|
|
439
|
+
$[25] = currentWidth;
|
|
440
|
+
$[26] = draggable;
|
|
441
|
+
$[27] = isDragging;
|
|
442
|
+
$[28] = isKeyboardDrag;
|
|
443
|
+
$[29] = maxWidth;
|
|
444
|
+
$[30] = minWidth;
|
|
445
|
+
$[31] = onDoubleClick;
|
|
446
|
+
$[32] = onDragStart;
|
|
447
|
+
$[33] = t14;
|
|
454
448
|
} else {
|
|
455
|
-
|
|
449
|
+
t14 = $[33];
|
|
456
450
|
}
|
|
457
|
-
let
|
|
458
|
-
if ($[
|
|
459
|
-
|
|
460
|
-
className:
|
|
461
|
-
...
|
|
462
|
-
...
|
|
451
|
+
let t15;
|
|
452
|
+
if ($[34] !== style || $[35] !== t11 || $[36] !== t12 || $[37] !== t13 || $[38] !== t14) {
|
|
453
|
+
t15 = /*#__PURE__*/jsx("div", {
|
|
454
|
+
className: t11,
|
|
455
|
+
...t12,
|
|
456
|
+
...t13,
|
|
463
457
|
style: style,
|
|
464
|
-
children:
|
|
458
|
+
children: t14
|
|
465
459
|
});
|
|
466
|
-
$[
|
|
467
|
-
$[
|
|
468
|
-
$[
|
|
469
|
-
$[
|
|
470
|
-
$[
|
|
471
|
-
$[
|
|
460
|
+
$[34] = style;
|
|
461
|
+
$[35] = t11;
|
|
462
|
+
$[36] = t12;
|
|
463
|
+
$[37] = t13;
|
|
464
|
+
$[38] = t14;
|
|
465
|
+
$[39] = t15;
|
|
472
466
|
} else {
|
|
473
|
-
|
|
467
|
+
t15 = $[39];
|
|
474
468
|
}
|
|
475
|
-
return
|
|
469
|
+
return t15;
|
|
476
470
|
};
|
|
477
471
|
|
|
478
472
|
// ----------------------------------------------------------------------------
|
|
@@ -711,14 +705,6 @@ const isCustomWidthOptions = width => {
|
|
|
711
705
|
const isPaneWidth = width => {
|
|
712
706
|
return ['small', 'medium', 'large'].includes(width);
|
|
713
707
|
};
|
|
714
|
-
const getDefaultPaneWidth = w => {
|
|
715
|
-
if (isPaneWidth(w)) {
|
|
716
|
-
return defaultPaneWidth[w];
|
|
717
|
-
} else if (isCustomWidthOptions(w)) {
|
|
718
|
-
return parseInt(w.default, 10);
|
|
719
|
-
}
|
|
720
|
-
return 0;
|
|
721
|
-
};
|
|
722
708
|
const defaultPaneWidth = {
|
|
723
709
|
small: 256,
|
|
724
710
|
medium: 296,
|
|
@@ -728,241 +714,422 @@ const overflowProps = {
|
|
|
728
714
|
tabIndex: 0,
|
|
729
715
|
role: 'region'
|
|
730
716
|
};
|
|
731
|
-
const Pane = /*#__PURE__*/React.forwardRef(({
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
const
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
717
|
+
const Pane = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
|
|
718
|
+
const $ = c(92);
|
|
719
|
+
const {
|
|
720
|
+
"aria-label": label,
|
|
721
|
+
"aria-labelledby": labelledBy,
|
|
722
|
+
position: t1,
|
|
723
|
+
positionWhenNarrow: t2,
|
|
724
|
+
width: t3,
|
|
725
|
+
minWidth: t4,
|
|
726
|
+
padding: t5,
|
|
727
|
+
resizable: t6,
|
|
728
|
+
widthStorageKey: t7,
|
|
729
|
+
divider: t8,
|
|
730
|
+
dividerWhenNarrow: t9,
|
|
731
|
+
sticky: t10,
|
|
732
|
+
offsetHeader: t11,
|
|
733
|
+
hidden: t12,
|
|
734
|
+
children,
|
|
735
|
+
id,
|
|
736
|
+
className,
|
|
737
|
+
style
|
|
738
|
+
} = t0;
|
|
739
|
+
const responsivePosition = t1 === undefined ? "end" : t1;
|
|
740
|
+
const positionWhenNarrow = t2 === undefined ? "inherit" : t2;
|
|
741
|
+
const width = t3 === undefined ? "medium" : t3;
|
|
742
|
+
const minWidth = t4 === undefined ? 256 : t4;
|
|
743
|
+
const padding = t5 === undefined ? "none" : t5;
|
|
744
|
+
const resizable = t6 === undefined ? false : t6;
|
|
745
|
+
const widthStorageKey = t7 === undefined ? "paneWidth" : t7;
|
|
746
|
+
const responsiveDivider = t8 === undefined ? "none" : t8;
|
|
747
|
+
const dividerWhenNarrow = t9 === undefined ? "inherit" : t9;
|
|
748
|
+
const sticky = t10 === undefined ? false : t10;
|
|
749
|
+
const offsetHeader = t11 === undefined ? 0 : t11;
|
|
750
|
+
const responsiveHidden = t12 === undefined ? false : t12;
|
|
751
|
+
let t13;
|
|
752
|
+
if ($[0] !== positionWhenNarrow || $[1] !== responsivePosition) {
|
|
753
|
+
t13 = !isResponsiveValue(responsivePosition) && positionWhenNarrow !== "inherit" ? {
|
|
754
|
+
regular: responsivePosition,
|
|
755
|
+
narrow: positionWhenNarrow
|
|
756
|
+
} : responsivePosition;
|
|
757
|
+
$[0] = positionWhenNarrow;
|
|
758
|
+
$[1] = responsivePosition;
|
|
759
|
+
$[2] = t13;
|
|
760
|
+
} else {
|
|
761
|
+
t13 = $[2];
|
|
762
|
+
}
|
|
763
|
+
const positionProp = t13;
|
|
764
|
+
let t14;
|
|
765
|
+
if ($[3] !== dividerWhenNarrow || $[4] !== responsiveDivider) {
|
|
766
|
+
t14 = !isResponsiveValue(responsiveDivider) && dividerWhenNarrow !== "inherit" ? {
|
|
767
|
+
regular: responsiveDivider,
|
|
768
|
+
narrow: dividerWhenNarrow
|
|
769
|
+
} : responsiveDivider;
|
|
770
|
+
$[3] = dividerWhenNarrow;
|
|
771
|
+
$[4] = responsiveDivider;
|
|
772
|
+
$[5] = t14;
|
|
773
|
+
} else {
|
|
774
|
+
t14 = $[5];
|
|
775
|
+
}
|
|
776
|
+
const dividerProp = t14;
|
|
777
|
+
let t15;
|
|
778
|
+
if ($[6] !== positionProp) {
|
|
779
|
+
t15 = isResponsiveValue(positionProp) ? "end" : positionProp;
|
|
780
|
+
$[6] = positionProp;
|
|
781
|
+
$[7] = t15;
|
|
782
|
+
} else {
|
|
783
|
+
t15 = $[7];
|
|
784
|
+
}
|
|
785
|
+
const position = t15;
|
|
786
|
+
let t16;
|
|
787
|
+
if ($[8] !== dividerProp) {
|
|
788
|
+
t16 = isResponsiveValue(dividerProp) ? "none" : dividerProp;
|
|
789
|
+
$[8] = dividerProp;
|
|
790
|
+
$[9] = t16;
|
|
791
|
+
} else {
|
|
792
|
+
t16 = $[9];
|
|
793
|
+
}
|
|
794
|
+
const dividerVariant = t16;
|
|
767
795
|
const {
|
|
768
796
|
rowGap,
|
|
769
797
|
columnGap,
|
|
770
798
|
paneRef
|
|
771
799
|
} = React.useContext(PageLayoutContext);
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
const currentWidthRef = React.useRef(defaultWidth);
|
|
779
|
-
|
|
780
|
-
// Track whether we've initialized the width from localStorage
|
|
781
|
-
const initializedRef = React.useRef(false);
|
|
782
|
-
useIsomorphicLayoutEffect(() => {
|
|
783
|
-
var _paneRef$current2;
|
|
784
|
-
// Only initialize once on mount - subsequent updates come from drag operations
|
|
785
|
-
if (initializedRef.current || !resizable) return;
|
|
786
|
-
initializedRef.current = true;
|
|
787
|
-
// Before paint, check localStorage for a stored width
|
|
788
|
-
try {
|
|
789
|
-
const value = localStorage.getItem(widthStorageKey);
|
|
790
|
-
if (value !== null && !isNaN(Number(value))) {
|
|
791
|
-
var _paneRef$current;
|
|
792
|
-
const num = Number(value);
|
|
793
|
-
currentWidthRef.current = num;
|
|
794
|
-
(_paneRef$current = paneRef.current) === null || _paneRef$current === void 0 ? void 0 : _paneRef$current.style.setProperty('--pane-width', `${num}px`);
|
|
795
|
-
return;
|
|
800
|
+
const getDefaultPaneWidth = _temp;
|
|
801
|
+
let t17;
|
|
802
|
+
if ($[10] !== width || $[11] !== widthStorageKey) {
|
|
803
|
+
t17 = () => {
|
|
804
|
+
if (!canUseDOM) {
|
|
805
|
+
return getDefaultPaneWidth(width);
|
|
796
806
|
}
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
const
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
min: minPaneWidth,
|
|
828
|
-
max: maxPaneWidthRef.current,
|
|
829
|
-
current: currentWidthRef.current
|
|
830
|
-
});
|
|
831
|
-
}, [minPaneWidth, viewportWidth]);
|
|
807
|
+
let storedWidth;
|
|
808
|
+
try {
|
|
809
|
+
storedWidth = localStorage.getItem(widthStorageKey);
|
|
810
|
+
} catch (t18) {
|
|
811
|
+
storedWidth = null;
|
|
812
|
+
}
|
|
813
|
+
return storedWidth && !isNaN(Number(storedWidth)) ? Number(storedWidth) : getDefaultPaneWidth(width);
|
|
814
|
+
};
|
|
815
|
+
$[10] = width;
|
|
816
|
+
$[11] = widthStorageKey;
|
|
817
|
+
$[12] = t17;
|
|
818
|
+
} else {
|
|
819
|
+
t17 = $[12];
|
|
820
|
+
}
|
|
821
|
+
const [paneWidth, setPaneWidth] = React.useState(t17);
|
|
822
|
+
let t18;
|
|
823
|
+
if ($[13] !== widthStorageKey) {
|
|
824
|
+
t18 = width_1 => {
|
|
825
|
+
setPaneWidth(width_1);
|
|
826
|
+
try {
|
|
827
|
+
localStorage.setItem(widthStorageKey, width_1.toString());
|
|
828
|
+
} catch (t19) {
|
|
829
|
+
}
|
|
830
|
+
};
|
|
831
|
+
$[13] = widthStorageKey;
|
|
832
|
+
$[14] = t18;
|
|
833
|
+
} else {
|
|
834
|
+
t18 = $[14];
|
|
835
|
+
}
|
|
836
|
+
const updatePaneWidth = t18;
|
|
832
837
|
useRefObjectAsForwardedRef(forwardRef, paneRef);
|
|
833
838
|
const hasOverflow = useOverflow(paneRef);
|
|
834
839
|
const paneId = useId(id);
|
|
835
|
-
|
|
836
|
-
if (hasOverflow) {
|
|
837
|
-
|
|
838
|
-
if (
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
840
|
+
let labelProp;
|
|
841
|
+
if ($[15] !== hasOverflow || $[16] !== label || $[17] !== labelledBy) {
|
|
842
|
+
labelProp = {};
|
|
843
|
+
if (hasOverflow) {
|
|
844
|
+
process.env.NODE_ENV !== "production" ? warning(label === undefined && labelledBy === undefined, "The <PageLayout.Pane> has overflow and `aria-label` or `aria-labelledby` has not been set. Please provide `aria-label` or `aria-labelledby` to <PageLayout.Pane> in order to label this region.") : void 0;
|
|
845
|
+
if (labelledBy) {
|
|
846
|
+
labelProp["aria-labelledby"] = labelledBy;
|
|
847
|
+
} else {
|
|
848
|
+
if (label) {
|
|
849
|
+
labelProp["aria-label"] = label;
|
|
850
|
+
}
|
|
851
|
+
}
|
|
842
852
|
}
|
|
853
|
+
$[15] = hasOverflow;
|
|
854
|
+
$[16] = label;
|
|
855
|
+
$[17] = labelledBy;
|
|
856
|
+
$[18] = labelProp;
|
|
857
|
+
} else {
|
|
858
|
+
labelProp = $[18];
|
|
843
859
|
}
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
860
|
+
let t19;
|
|
861
|
+
if ($[19] !== className) {
|
|
862
|
+
t19 = clsx(classes.PaneWrapper, className);
|
|
863
|
+
$[19] = className;
|
|
864
|
+
$[20] = t19;
|
|
865
|
+
} else {
|
|
866
|
+
t19 = $[20];
|
|
867
|
+
}
|
|
868
|
+
const t20 = typeof offsetHeader === "number" ? `${offsetHeader}px` : offsetHeader;
|
|
869
|
+
const t21 = `var(--spacing-${rowGap})`;
|
|
870
|
+
const t22 = `var(--spacing-${columnGap})`;
|
|
871
|
+
let t23;
|
|
872
|
+
if ($[21] !== style || $[22] !== t20 || $[23] !== t21 || $[24] !== t22) {
|
|
873
|
+
t23 = {
|
|
874
|
+
"--offset-header": t20,
|
|
875
|
+
"--spacing-row": t21,
|
|
876
|
+
"--spacing-column": t22,
|
|
857
877
|
...style
|
|
858
|
-
}
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
878
|
+
};
|
|
879
|
+
$[21] = style;
|
|
880
|
+
$[22] = t20;
|
|
881
|
+
$[23] = t21;
|
|
882
|
+
$[24] = t22;
|
|
883
|
+
$[25] = t23;
|
|
884
|
+
} else {
|
|
885
|
+
t23 = $[25];
|
|
886
|
+
}
|
|
887
|
+
const t24 = t23;
|
|
888
|
+
let t25;
|
|
889
|
+
if ($[26] !== responsiveHidden) {
|
|
890
|
+
t25 = getResponsiveAttributes("is-hidden", responsiveHidden);
|
|
891
|
+
$[26] = responsiveHidden;
|
|
892
|
+
$[27] = t25;
|
|
893
|
+
} else {
|
|
894
|
+
t25 = $[27];
|
|
895
|
+
}
|
|
896
|
+
let t26;
|
|
897
|
+
if ($[28] !== positionProp) {
|
|
898
|
+
t26 = getResponsiveAttributes("position", positionProp);
|
|
899
|
+
$[28] = positionProp;
|
|
900
|
+
$[29] = t26;
|
|
901
|
+
} else {
|
|
902
|
+
t26 = $[29];
|
|
903
|
+
}
|
|
904
|
+
const t27 = sticky || undefined;
|
|
905
|
+
let t28;
|
|
906
|
+
if ($[30] !== dividerProp || $[31] !== dividerVariant) {
|
|
907
|
+
t28 = isResponsiveValue(dividerProp) ? dividerProp : {
|
|
908
|
+
narrow: dividerVariant,
|
|
909
|
+
regular: "none"
|
|
910
|
+
};
|
|
911
|
+
$[30] = dividerProp;
|
|
912
|
+
$[31] = dividerVariant;
|
|
913
|
+
$[32] = t28;
|
|
914
|
+
} else {
|
|
915
|
+
t28 = $[32];
|
|
916
|
+
}
|
|
917
|
+
const t29 = `var(--spacing-${rowGap})`;
|
|
918
|
+
let t30;
|
|
919
|
+
if ($[33] !== t29) {
|
|
920
|
+
t30 = {
|
|
921
|
+
"--spacing": t29
|
|
922
|
+
};
|
|
923
|
+
$[33] = t29;
|
|
924
|
+
$[34] = t30;
|
|
925
|
+
} else {
|
|
926
|
+
t30 = $[34];
|
|
927
|
+
}
|
|
928
|
+
const t31 = t30;
|
|
929
|
+
let t32;
|
|
930
|
+
if ($[35] !== positionProp || $[36] !== t28 || $[37] !== t31) {
|
|
931
|
+
t32 = /*#__PURE__*/jsx(HorizontalDivider, {
|
|
932
|
+
variant: t28,
|
|
867
933
|
className: classes.PaneHorizontalDivider,
|
|
868
|
-
style:
|
|
869
|
-
'--spacing': `var(--spacing-${rowGap})`
|
|
870
|
-
},
|
|
934
|
+
style: t31,
|
|
871
935
|
position: positionProp
|
|
872
|
-
})
|
|
936
|
+
});
|
|
937
|
+
$[35] = positionProp;
|
|
938
|
+
$[36] = t28;
|
|
939
|
+
$[37] = t31;
|
|
940
|
+
$[38] = t32;
|
|
941
|
+
} else {
|
|
942
|
+
t32 = $[38];
|
|
943
|
+
}
|
|
944
|
+
let t33;
|
|
945
|
+
if ($[39] !== hasOverflow) {
|
|
946
|
+
t33 = hasOverflow ? overflowProps : {};
|
|
947
|
+
$[39] = hasOverflow;
|
|
948
|
+
$[40] = t33;
|
|
949
|
+
} else {
|
|
950
|
+
t33 = $[40];
|
|
951
|
+
}
|
|
952
|
+
let t34;
|
|
953
|
+
if ($[41] !== id || $[42] !== paneId) {
|
|
954
|
+
t34 = id && {
|
|
955
|
+
id: paneId
|
|
956
|
+
};
|
|
957
|
+
$[41] = id;
|
|
958
|
+
$[42] = paneId;
|
|
959
|
+
$[43] = t34;
|
|
960
|
+
} else {
|
|
961
|
+
t34 = $[43];
|
|
962
|
+
}
|
|
963
|
+
const t35 = resizable || undefined;
|
|
964
|
+
const t36 = `var(--spacing-${padding})`;
|
|
965
|
+
const t37 = isCustomWidthOptions(width) ? width.min : `${minWidth}px`;
|
|
966
|
+
const t38 = isCustomWidthOptions(width) ? width.max : "calc(100vw - var(--pane-max-width-diff))";
|
|
967
|
+
const t39 = isCustomWidthOptions(width) ? width.default : undefined;
|
|
968
|
+
const t40 = `var(--pane-width-${isPaneWidth(width) ? width : "custom"})`;
|
|
969
|
+
const t41 = `${paneWidth}px`;
|
|
970
|
+
let t42;
|
|
971
|
+
if ($[44] !== t36 || $[45] !== t37 || $[46] !== t38 || $[47] !== t39 || $[48] !== t40 || $[49] !== t41) {
|
|
972
|
+
t42 = {
|
|
973
|
+
"--spacing": t36,
|
|
974
|
+
"--pane-min-width": t37,
|
|
975
|
+
"--pane-max-width": t38,
|
|
976
|
+
"--pane-width-custom": t39,
|
|
977
|
+
"--pane-width-size": t40,
|
|
978
|
+
"--pane-width": t41
|
|
979
|
+
};
|
|
980
|
+
$[44] = t36;
|
|
981
|
+
$[45] = t37;
|
|
982
|
+
$[46] = t38;
|
|
983
|
+
$[47] = t39;
|
|
984
|
+
$[48] = t40;
|
|
985
|
+
$[49] = t41;
|
|
986
|
+
$[50] = t42;
|
|
987
|
+
} else {
|
|
988
|
+
t42 = $[50];
|
|
989
|
+
}
|
|
990
|
+
const t43 = t42;
|
|
991
|
+
let t44;
|
|
992
|
+
if ($[51] !== children || $[52] !== labelProp || $[53] !== paneRef || $[54] !== t33 || $[55] !== t34 || $[56] !== t35 || $[57] !== t43) {
|
|
993
|
+
t44 = /*#__PURE__*/jsx("div", {
|
|
873
994
|
ref: paneRef,
|
|
874
|
-
...
|
|
995
|
+
...t33,
|
|
875
996
|
...labelProp,
|
|
876
|
-
...
|
|
877
|
-
id: paneId
|
|
878
|
-
}),
|
|
997
|
+
...t34,
|
|
879
998
|
className: classes.Pane,
|
|
880
|
-
"data-resizable":
|
|
881
|
-
style:
|
|
882
|
-
'--spacing': `var(--spacing-${padding})`,
|
|
883
|
-
'--pane-min-width': isCustomWidthOptions(width) ? width.min : `${minWidth}px`,
|
|
884
|
-
'--pane-max-width': isCustomWidthOptions(width) ? width.max : `calc(100vw - var(--pane-max-width-diff))`,
|
|
885
|
-
'--pane-width-custom': isCustomWidthOptions(width) ? width.default : undefined,
|
|
886
|
-
'--pane-width-size': `var(--pane-width-${isPaneWidth(width) ? width : 'custom'})`
|
|
887
|
-
// --pane-width is set via layout effect (for localStorage) and DOM manipulation (for drag).
|
|
888
|
-
},
|
|
999
|
+
"data-resizable": t35,
|
|
1000
|
+
style: t43,
|
|
889
1001
|
children: children
|
|
890
|
-
})
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
1002
|
+
});
|
|
1003
|
+
$[51] = children;
|
|
1004
|
+
$[52] = labelProp;
|
|
1005
|
+
$[53] = paneRef;
|
|
1006
|
+
$[54] = t33;
|
|
1007
|
+
$[55] = t34;
|
|
1008
|
+
$[56] = t35;
|
|
1009
|
+
$[57] = t43;
|
|
1010
|
+
$[58] = t44;
|
|
1011
|
+
} else {
|
|
1012
|
+
t44 = $[58];
|
|
1013
|
+
}
|
|
1014
|
+
let t45;
|
|
1015
|
+
if ($[59] !== dividerProp || $[60] !== dividerVariant || $[61] !== resizable) {
|
|
1016
|
+
t45 = isResponsiveValue(dividerProp) ? {
|
|
1017
|
+
narrow: "none",
|
|
1018
|
+
regular: resizable ? "line" : dividerProp.regular || "none",
|
|
1019
|
+
wide: resizable ? "line" : dividerProp.wide || dividerProp.regular || "none"
|
|
1020
|
+
} : {
|
|
1021
|
+
narrow: "none",
|
|
1022
|
+
regular: resizable ? "line" : dividerVariant
|
|
1023
|
+
};
|
|
1024
|
+
$[59] = dividerProp;
|
|
1025
|
+
$[60] = dividerVariant;
|
|
1026
|
+
$[61] = resizable;
|
|
1027
|
+
$[62] = t45;
|
|
1028
|
+
} else {
|
|
1029
|
+
t45 = $[62];
|
|
1030
|
+
}
|
|
1031
|
+
let t46;
|
|
1032
|
+
if ($[63] !== paneWidth || $[64] !== position || $[65] !== updatePaneWidth) {
|
|
1033
|
+
t46 = (delta, t47) => {
|
|
1034
|
+
const isKeyboard = t47 === undefined ? false : t47;
|
|
1035
|
+
let deltaWithDirection;
|
|
1036
|
+
if (isKeyboard) {
|
|
1037
|
+
deltaWithDirection = delta;
|
|
1038
|
+
} else {
|
|
1039
|
+
deltaWithDirection = position === "end" ? -delta : delta;
|
|
899
1040
|
}
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
});
|
|
917
|
-
}
|
|
918
|
-
} else {
|
|
919
|
-
// Apply delta directly via CSS variable for immediate visual feedback
|
|
920
|
-
if (paneRef.current) {
|
|
921
|
-
const newWidth_0 = currentWidthRef.current + deltaWithDirection;
|
|
922
|
-
const clampedWidth = Math.max(minPaneWidth, Math.min(maxWidth, newWidth_0));
|
|
923
|
-
|
|
924
|
-
// Only update if the clamped width actually changed
|
|
925
|
-
// This prevents drift when dragging against min/max constraints
|
|
926
|
-
if (clampedWidth !== currentWidthRef.current) {
|
|
927
|
-
paneRef.current.style.setProperty('--pane-width', `${clampedWidth}px`);
|
|
928
|
-
currentWidthRef.current = clampedWidth;
|
|
929
|
-
updateAriaValues(handleRef.current, {
|
|
930
|
-
current: clampedWidth
|
|
931
|
-
});
|
|
932
|
-
}
|
|
933
|
-
}
|
|
934
|
-
}
|
|
1041
|
+
updatePaneWidth(paneWidth + deltaWithDirection);
|
|
1042
|
+
};
|
|
1043
|
+
$[63] = paneWidth;
|
|
1044
|
+
$[64] = position;
|
|
1045
|
+
$[65] = updatePaneWidth;
|
|
1046
|
+
$[66] = t46;
|
|
1047
|
+
} else {
|
|
1048
|
+
t46 = $[66];
|
|
1049
|
+
}
|
|
1050
|
+
let t47;
|
|
1051
|
+
if ($[67] !== paneRef || $[68] !== updatePaneWidth) {
|
|
1052
|
+
t47 = () => {
|
|
1053
|
+
var _paneRef$current;
|
|
1054
|
+
const paneRect = (_paneRef$current = paneRef.current) === null || _paneRef$current === void 0 ? void 0 : _paneRef$current.getBoundingClientRect();
|
|
1055
|
+
if (!paneRect) {
|
|
1056
|
+
return;
|
|
935
1057
|
}
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
1058
|
+
updatePaneWidth(paneRect.width);
|
|
1059
|
+
};
|
|
1060
|
+
$[67] = paneRef;
|
|
1061
|
+
$[68] = updatePaneWidth;
|
|
1062
|
+
$[69] = t47;
|
|
1063
|
+
} else {
|
|
1064
|
+
t47 = $[69];
|
|
1065
|
+
}
|
|
1066
|
+
let t48;
|
|
1067
|
+
if ($[70] !== updatePaneWidth || $[71] !== width) {
|
|
1068
|
+
t48 = () => updatePaneWidth(getDefaultPaneWidth(width));
|
|
1069
|
+
$[70] = updatePaneWidth;
|
|
1070
|
+
$[71] = width;
|
|
1071
|
+
$[72] = t48;
|
|
1072
|
+
} else {
|
|
1073
|
+
t48 = $[72];
|
|
1074
|
+
}
|
|
1075
|
+
const t49 = `var(--spacing-${columnGap})`;
|
|
1076
|
+
let t50;
|
|
1077
|
+
if ($[73] !== t49) {
|
|
1078
|
+
t50 = {
|
|
1079
|
+
"--spacing": t49
|
|
1080
|
+
};
|
|
1081
|
+
$[73] = t49;
|
|
1082
|
+
$[74] = t50;
|
|
1083
|
+
} else {
|
|
1084
|
+
t50 = $[74];
|
|
1085
|
+
}
|
|
1086
|
+
const t51 = t50;
|
|
1087
|
+
let t52;
|
|
1088
|
+
if ($[75] !== positionProp || $[76] !== resizable || $[77] !== t45 || $[78] !== t46 || $[79] !== t47 || $[80] !== t48 || $[81] !== t51) {
|
|
1089
|
+
t52 = /*#__PURE__*/jsx(VerticalDivider, {
|
|
1090
|
+
variant: t45,
|
|
1091
|
+
draggable: resizable,
|
|
1092
|
+
onDrag: t46,
|
|
1093
|
+
onDragEnd: t47,
|
|
1094
|
+
position: positionProp,
|
|
1095
|
+
onDoubleClick: t48,
|
|
960
1096
|
className: classes.PaneVerticalDivider,
|
|
961
|
-
style:
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
1097
|
+
style: t51
|
|
1098
|
+
});
|
|
1099
|
+
$[75] = positionProp;
|
|
1100
|
+
$[76] = resizable;
|
|
1101
|
+
$[77] = t45;
|
|
1102
|
+
$[78] = t46;
|
|
1103
|
+
$[79] = t47;
|
|
1104
|
+
$[80] = t48;
|
|
1105
|
+
$[81] = t51;
|
|
1106
|
+
$[82] = t52;
|
|
1107
|
+
} else {
|
|
1108
|
+
t52 = $[82];
|
|
1109
|
+
}
|
|
1110
|
+
let t53;
|
|
1111
|
+
if ($[83] !== t19 || $[84] !== t24 || $[85] !== t25 || $[86] !== t26 || $[87] !== t27 || $[88] !== t32 || $[89] !== t44 || $[90] !== t52) {
|
|
1112
|
+
t53 = /*#__PURE__*/jsxs("div", {
|
|
1113
|
+
className: t19,
|
|
1114
|
+
style: t24,
|
|
1115
|
+
...t25,
|
|
1116
|
+
...t26,
|
|
1117
|
+
"data-sticky": t27,
|
|
1118
|
+
children: [t32, t44, t52]
|
|
1119
|
+
});
|
|
1120
|
+
$[83] = t19;
|
|
1121
|
+
$[84] = t24;
|
|
1122
|
+
$[85] = t25;
|
|
1123
|
+
$[86] = t26;
|
|
1124
|
+
$[87] = t27;
|
|
1125
|
+
$[88] = t32;
|
|
1126
|
+
$[89] = t44;
|
|
1127
|
+
$[90] = t52;
|
|
1128
|
+
$[91] = t53;
|
|
1129
|
+
} else {
|
|
1130
|
+
t53 = $[91];
|
|
1131
|
+
}
|
|
1132
|
+
return t53;
|
|
966
1133
|
});
|
|
967
1134
|
Pane.displayName = 'PageLayout.Pane';
|
|
968
1135
|
|
|
@@ -1121,14 +1288,15 @@ Header.__SLOT__ = Symbol('PageLayout.Header');
|
|
|
1121
1288
|
Content.__SLOT__ = Symbol('PageLayout.Content');
|
|
1122
1289
|
Pane.__SLOT__ = Symbol('PageLayout.Pane');
|
|
1123
1290
|
Footer.__SLOT__ = Symbol('PageLayout.Footer');
|
|
1124
|
-
function _temp(
|
|
1125
|
-
if (
|
|
1126
|
-
return;
|
|
1127
|
-
}
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1291
|
+
function _temp(width_0) {
|
|
1292
|
+
if (isPaneWidth(width_0)) {
|
|
1293
|
+
return defaultPaneWidth[width_0];
|
|
1294
|
+
} else {
|
|
1295
|
+
if (isCustomWidthOptions(width_0)) {
|
|
1296
|
+
return Number(width_0.default.split("px")[0]);
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
return 0;
|
|
1132
1300
|
}
|
|
1133
1301
|
|
|
1134
1302
|
export { PageLayout };
|