@aptre/flex-layout 0.6.0 → 0.6.1

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/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/view/Layout.tsx
2
- import * as React18 from "react";
2
+ import { Component as Component2, createRef } from "react";
3
3
  import { createPortal as createPortal2 } from "react-dom";
4
4
  import { createRoot } from "react-dom/client";
5
5
 
@@ -2953,13 +2953,10 @@ var BorderNode = class _BorderNode extends Node {
2953
2953
  };
2954
2954
 
2955
2955
  // src/view/BorderTab.tsx
2956
- import * as React3 from "react";
2956
+ import { useLayoutEffect, useRef as useRef2 } from "react";
2957
2957
 
2958
2958
  // src/view/Splitter.tsx
2959
- import * as React2 from "react";
2960
-
2961
- // src/view/Utils.tsx
2962
- import * as React from "react";
2959
+ import { useEffect, useRef, useState } from "react";
2963
2960
 
2964
2961
  // src/model/ICloseType.ts
2965
2962
  var ICloseType = /* @__PURE__ */ ((ICloseType2) => {
@@ -2970,6 +2967,7 @@ var ICloseType = /* @__PURE__ */ ((ICloseType2) => {
2970
2967
  })(ICloseType || {});
2971
2968
 
2972
2969
  // src/view/Utils.tsx
2970
+ import { jsx } from "react/jsx-runtime";
2973
2971
  function isDesktop() {
2974
2972
  const desktop = typeof window !== "undefined" && window.matchMedia && window.matchMedia("(hover: hover) and (pointer: fine)").matches;
2975
2973
  return desktop;
@@ -2983,9 +2981,9 @@ function getRenderStateEx(layout, node, iconAngle) {
2983
2981
  }
2984
2982
  if (leadingContent === void 0 && node.getIcon() !== void 0) {
2985
2983
  if (iconAngle !== 0) {
2986
- leadingContent = /* @__PURE__ */ React.createElement("img", { style: { width: "1em", height: "1em", transform: "rotate(" + iconAngle + "deg)" }, src: node.getIcon(), alt: "leadingContent" });
2984
+ leadingContent = /* @__PURE__ */ jsx("img", { style: { width: "1em", height: "1em", transform: "rotate(" + iconAngle + "deg)" }, src: node.getIcon(), alt: "leadingContent" });
2987
2985
  } else {
2988
- leadingContent = /* @__PURE__ */ React.createElement("img", { style: { width: "1em", height: "1em" }, src: node.getIcon(), alt: "leadingContent" });
2986
+ leadingContent = /* @__PURE__ */ jsx("img", { style: { width: "1em", height: "1em" }, src: node.getIcon(), alt: "leadingContent" });
2989
2987
  }
2990
2988
  }
2991
2989
  const buttons = [];
@@ -3050,23 +3048,24 @@ function isTabClosable(node, selected) {
3050
3048
  }
3051
3049
 
3052
3050
  // src/view/Splitter.tsx
3051
+ import { jsx as jsx2 } from "react/jsx-runtime";
3053
3052
  var Splitter = (props) => {
3054
3053
  const { layout, node, index, horizontal } = props;
3055
- const [dragging, setDragging] = React2.useState(false);
3056
- const selfRef = React2.useRef(null);
3057
- const extendedRef = React2.useRef(null);
3058
- const pBounds = React2.useRef([]);
3059
- const outlineDiv = React2.useRef(void 0);
3060
- const handleDiv = React2.useRef(void 0);
3061
- const dragStartX = React2.useRef(0);
3062
- const dragStartY = React2.useRef(0);
3063
- const initalSizes = React2.useRef({ initialSizes: [], sum: 0, startPosition: 0 });
3054
+ const [dragging, setDragging] = useState(false);
3055
+ const selfRef = useRef(null);
3056
+ const extendedRef = useRef(null);
3057
+ const pBounds = useRef([]);
3058
+ const outlineDiv = useRef(void 0);
3059
+ const handleDiv = useRef(void 0);
3060
+ const dragStartX = useRef(0);
3061
+ const dragStartY = useRef(0);
3062
+ const initalSizes = useRef({ initialSizes: [], sum: 0, startPosition: 0 });
3064
3063
  const size = node.getModel().getSplitterSize();
3065
3064
  let extra = node.getModel().getSplitterExtra();
3066
3065
  if (!isDesktop()) {
3067
3066
  extra = Math.max(30, extra + size) - size;
3068
3067
  }
3069
- React2.useEffect(() => {
3068
+ useEffect(() => {
3070
3069
  selfRef.current?.addEventListener("touchstart", onTouchStart, { passive: false });
3071
3070
  extendedRef.current?.addEventListener("touchstart", onTouchStart, { passive: false });
3072
3071
  return () => {
@@ -3200,10 +3199,10 @@ var Splitter = (props) => {
3200
3199
  }
3201
3200
  let handle;
3202
3201
  if (!dragging && node.getModel().isSplitterEnableHandle()) {
3203
- handle = /* @__PURE__ */ React2.createElement("div", { className: cm("flexlayout__splitter_handle" /* FLEXLAYOUT__SPLITTER_HANDLE */) + " " + (horizontal ? cm("flexlayout__splitter_handle_horz" /* FLEXLAYOUT__SPLITTER_HANDLE_HORZ */) : cm("flexlayout__splitter_handle_vert" /* FLEXLAYOUT__SPLITTER_HANDLE_VERT */)) });
3202
+ handle = /* @__PURE__ */ jsx2("div", { className: cm("flexlayout__splitter_handle" /* FLEXLAYOUT__SPLITTER_HANDLE */) + " " + (horizontal ? cm("flexlayout__splitter_handle_horz" /* FLEXLAYOUT__SPLITTER_HANDLE_HORZ */) : cm("flexlayout__splitter_handle_vert" /* FLEXLAYOUT__SPLITTER_HANDLE_VERT */)) });
3204
3203
  }
3205
3204
  if (extra === 0) {
3206
- return /* @__PURE__ */ React2.createElement("div", { className, style: style2, ref: selfRef, "data-layout-path": node.getPath() + "/s" + (index - 1), onPointerDown }, handle);
3205
+ return /* @__PURE__ */ jsx2("div", { className, style: style2, ref: selfRef, "data-layout-path": node.getPath() + "/s" + (index - 1), onPointerDown, children: handle });
3207
3206
  } else {
3208
3207
  const style22 = {};
3209
3208
  if (node.getOrientation() === Orientation.HORZ) {
@@ -3216,16 +3215,17 @@ var Splitter = (props) => {
3216
3215
  style22.cursor = "ns-resize";
3217
3216
  }
3218
3217
  const className2 = cm("flexlayout__splitter_extra" /* FLEXLAYOUT__SPLITTER_EXTRA */);
3219
- return /* @__PURE__ */ React2.createElement("div", { className, style: style2, ref: selfRef, "data-layout-path": node.getPath() + "/s" + (index - 1), onPointerDown }, /* @__PURE__ */ React2.createElement("div", { style: style22, ref: extendedRef, className: className2, onPointerDown }));
3218
+ return /* @__PURE__ */ jsx2("div", { className, style: style2, ref: selfRef, "data-layout-path": node.getPath() + "/s" + (index - 1), onPointerDown, children: /* @__PURE__ */ jsx2("div", { style: style22, ref: extendedRef, className: className2, onPointerDown }) });
3220
3219
  }
3221
3220
  };
3222
3221
 
3223
3222
  // src/view/BorderTab.tsx
3223
+ import { Fragment, jsx as jsx3, jsxs } from "react/jsx-runtime";
3224
3224
  function BorderTab(props) {
3225
3225
  const { layout, border, show } = props;
3226
- const selfRef = React3.useRef(null);
3227
- const isFirstRender = React3.useRef(true);
3228
- React3.useLayoutEffect(() => {
3226
+ const selfRef = useRef2(null);
3227
+ const isFirstRender = useRef2(true);
3228
+ useLayoutEffect(() => {
3229
3229
  const outerRect = layout.getBoundingClientRect(selfRef.current);
3230
3230
  const contentRect = Rect.getContentRect(selfRef.current).relativeTo(layout.getDomRect());
3231
3231
  if (outerRect.width > 0) {
@@ -3254,21 +3254,28 @@ function BorderTab(props) {
3254
3254
  style2.display = show ? "flex" : "none";
3255
3255
  const className = layout.getClassName("flexlayout__border_tab_contents" /* FLEXLAYOUT__BORDER_TAB_CONTENTS */);
3256
3256
  if (border.getLocation() === DockLocation.LEFT || border.getLocation() === DockLocation.TOP) {
3257
- return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement("div", { ref: selfRef, style: style2, className }), show && /* @__PURE__ */ React3.createElement(Splitter, { layout, node: border, index: 0, horizontal }));
3257
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
3258
+ /* @__PURE__ */ jsx3("div", { ref: selfRef, style: style2, className }),
3259
+ show && /* @__PURE__ */ jsx3(Splitter, { layout, node: border, index: 0, horizontal })
3260
+ ] });
3258
3261
  } else {
3259
- return /* @__PURE__ */ React3.createElement(React3.Fragment, null, show && /* @__PURE__ */ React3.createElement(Splitter, { layout, node: border, index: 0, horizontal }), /* @__PURE__ */ React3.createElement("div", { ref: selfRef, style: style2, className }));
3262
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
3263
+ show && /* @__PURE__ */ jsx3(Splitter, { layout, node: border, index: 0, horizontal }),
3264
+ /* @__PURE__ */ jsx3("div", { ref: selfRef, style: style2, className })
3265
+ ] });
3260
3266
  }
3261
3267
  }
3262
3268
 
3263
3269
  // src/view/BorderTabSet.tsx
3264
- import * as React8 from "react";
3270
+ import { useLayoutEffect as useLayoutEffect4, useRef as useRef5 } from "react";
3265
3271
 
3266
3272
  // src/view/BorderButton.tsx
3267
- import * as React4 from "react";
3273
+ import { useLayoutEffect as useLayoutEffect2, useRef as useRef3 } from "react";
3274
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
3268
3275
  var BorderButton = (props) => {
3269
3276
  const { layout, node, selected, border, icons, path } = props;
3270
- const selfRef = React4.useRef(null);
3271
- const contentRef = React4.useRef(null);
3277
+ const selfRef = useRef3(null);
3278
+ const contentRef = useRef3(null);
3272
3279
  const onDragStart = (event) => {
3273
3280
  if (node.isEnableDrag()) {
3274
3281
  event.stopPropagation();
@@ -3308,7 +3315,7 @@ var BorderButton = (props) => {
3308
3315
  const onClosePointerDown = (event) => {
3309
3316
  event.stopPropagation();
3310
3317
  };
3311
- React4.useLayoutEffect(() => {
3318
+ useLayoutEffect2(() => {
3312
3319
  node.setTabRect(layout.getBoundingClientRect(selfRef.current));
3313
3320
  if (layout.getEditingTab() === node) {
3314
3321
  contentRef.current.select();
@@ -3344,10 +3351,10 @@ var BorderButton = (props) => {
3344
3351
  }
3345
3352
  }
3346
3353
  const renderState = getRenderStateEx(layout, node, iconAngle);
3347
- let content = renderState.content ? /* @__PURE__ */ React4.createElement("div", { className: cm("flexlayout__border_button_content" /* FLEXLAYOUT__BORDER_BUTTON_CONTENT */) }, renderState.content) : null;
3348
- const leading = renderState.leading ? /* @__PURE__ */ React4.createElement("div", { className: cm("flexlayout__border_button_leading" /* FLEXLAYOUT__BORDER_BUTTON_LEADING */) }, renderState.leading) : null;
3354
+ let content = renderState.content ? /* @__PURE__ */ jsx4("div", { className: cm("flexlayout__border_button_content" /* FLEXLAYOUT__BORDER_BUTTON_CONTENT */), children: renderState.content }) : null;
3355
+ const leading = renderState.leading ? /* @__PURE__ */ jsx4("div", { className: cm("flexlayout__border_button_leading" /* FLEXLAYOUT__BORDER_BUTTON_LEADING */), children: renderState.leading }) : null;
3349
3356
  if (layout.getEditingTab() === node) {
3350
- content = /* @__PURE__ */ React4.createElement(
3357
+ content = /* @__PURE__ */ jsx4(
3351
3358
  "input",
3352
3359
  {
3353
3360
  ref: contentRef,
@@ -3364,21 +3371,21 @@ var BorderButton = (props) => {
3364
3371
  if (node.isEnableClose()) {
3365
3372
  const closeTitle = layout.i18nName("Close" /* Close_Tab */);
3366
3373
  renderState.buttons.push(
3367
- /* @__PURE__ */ React4.createElement(
3374
+ /* @__PURE__ */ jsx4(
3368
3375
  "div",
3369
3376
  {
3370
- key: "close",
3371
3377
  "data-layout-path": path + "/button/close",
3372
3378
  title: closeTitle,
3373
3379
  className: cm("flexlayout__border_button_trailing" /* FLEXLAYOUT__BORDER_BUTTON_TRAILING */),
3374
3380
  onPointerDown: onClosePointerDown,
3375
- onClick: onClose
3381
+ onClick: onClose,
3382
+ children: typeof icons.close === "function" ? icons.close(node) : icons.close
3376
3383
  },
3377
- typeof icons.close === "function" ? icons.close(node) : icons.close
3384
+ "close"
3378
3385
  )
3379
3386
  );
3380
3387
  }
3381
- return /* @__PURE__ */ React4.createElement(
3388
+ return /* @__PURE__ */ jsxs2(
3382
3389
  "div",
3383
3390
  {
3384
3391
  ref: selfRef,
@@ -3390,30 +3397,33 @@ var BorderButton = (props) => {
3390
3397
  title: node.getHelpText(),
3391
3398
  draggable: true,
3392
3399
  onDragStart,
3393
- onDragEnd
3394
- },
3395
- leading,
3396
- content,
3397
- renderState.buttons
3400
+ onDragEnd,
3401
+ children: [
3402
+ leading,
3403
+ content,
3404
+ renderState.buttons
3405
+ ]
3406
+ }
3398
3407
  );
3399
3408
  };
3400
3409
 
3401
- // src/view/PopupMenu.tsx
3402
- import * as React6 from "react";
3403
-
3404
3410
  // src/view/TabButtonStamp.tsx
3405
- import * as React5 from "react";
3411
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
3406
3412
  var TabButtonStamp = (props) => {
3407
3413
  const { layout, node } = props;
3408
3414
  const cm = layout.getClassName;
3409
3415
  const classNames = cm("flexlayout__tab_button_stamp" /* FLEXLAYOUT__TAB_BUTTON_STAMP */);
3410
3416
  const renderState = getRenderStateEx(layout, node);
3411
- const content = renderState.content ? /* @__PURE__ */ React5.createElement("div", { className: cm("flexlayout__tab_button_content" /* FLEXLAYOUT__TAB_BUTTON_CONTENT */) }, renderState.content) : node.getNameForOverflowMenu();
3412
- const leading = renderState.leading ? /* @__PURE__ */ React5.createElement("div", { className: cm("flexlayout__tab_button_leading" /* FLEXLAYOUT__TAB_BUTTON_LEADING */) }, renderState.leading) : null;
3413
- return /* @__PURE__ */ React5.createElement("div", { className: classNames, title: node.getHelpText() }, leading, content);
3417
+ const content = renderState.content ? /* @__PURE__ */ jsx5("div", { className: cm("flexlayout__tab_button_content" /* FLEXLAYOUT__TAB_BUTTON_CONTENT */), children: renderState.content }) : node.getNameForOverflowMenu();
3418
+ const leading = renderState.leading ? /* @__PURE__ */ jsx5("div", { className: cm("flexlayout__tab_button_leading" /* FLEXLAYOUT__TAB_BUTTON_LEADING */), children: renderState.leading }) : null;
3419
+ return /* @__PURE__ */ jsxs3("div", { className: classNames, title: node.getHelpText(), children: [
3420
+ leading,
3421
+ content
3422
+ ] });
3414
3423
  };
3415
3424
 
3416
3425
  // src/view/PopupMenu.tsx
3426
+ import { jsx as jsx6 } from "react/jsx-runtime";
3417
3427
  function showPopup(triggerElement, items, onSelect, layout) {
3418
3428
  const layoutDiv = layout.getRootDiv();
3419
3429
  const classNameMapper = layout.getClassName;
@@ -3453,7 +3463,7 @@ function showPopup(triggerElement, items, onSelect, layout) {
3453
3463
  };
3454
3464
  elm.addEventListener("pointerdown", onElementPointerDown);
3455
3465
  currentDocument.addEventListener("pointerdown", onDocPointerDown);
3456
- layout.showControlInPortal(/* @__PURE__ */ React6.createElement(PopupMenu, { currentDocument, onSelect, onHide, items, classNameMapper, layout }), elm);
3466
+ layout.showControlInPortal(/* @__PURE__ */ jsx6(PopupMenu, { currentDocument, onSelect, onHide, items, classNameMapper, layout }), elm);
3457
3467
  }
3458
3468
  var PopupMenu = (props) => {
3459
3469
  const { items, onHide, onSelect, classNameMapper, layout } = props;
@@ -3472,45 +3482,45 @@ var PopupMenu = (props) => {
3472
3482
  const onDragEnd = (_event) => {
3473
3483
  layout.clearDragMain();
3474
3484
  };
3475
- const itemElements = items.map((item, i) => /* @__PURE__ */ React6.createElement(
3485
+ const itemElements = items.map((item, i) => /* @__PURE__ */ jsx6(
3476
3486
  "div",
3477
3487
  {
3478
- key: item.index,
3479
3488
  className: classNameMapper("flexlayout__popup_menu_item" /* FLEXLAYOUT__POPUP_MENU_ITEM */),
3480
3489
  "data-layout-path": "/popup-menu/tb" + i,
3481
3490
  onClick: (event) => onItemClick(item, event),
3482
3491
  draggable: true,
3483
3492
  onDragStart: (e) => onDragStart(e, item.node),
3484
3493
  onDragEnd,
3485
- title: item.node.getHelpText()
3494
+ title: item.node.getHelpText(),
3495
+ children: /* @__PURE__ */ jsx6(TabButtonStamp, { node: item.node, layout })
3486
3496
  },
3487
- /* @__PURE__ */ React6.createElement(TabButtonStamp, { node: item.node, layout })
3497
+ item.index
3488
3498
  ));
3489
- return /* @__PURE__ */ React6.createElement("div", { className: classNameMapper("flexlayout__popup_menu" /* FLEXLAYOUT__POPUP_MENU */), "data-layout-path": "/popup-menu" }, itemElements);
3499
+ return /* @__PURE__ */ jsx6("div", { className: classNameMapper("flexlayout__popup_menu" /* FLEXLAYOUT__POPUP_MENU */), "data-layout-path": "/popup-menu", children: itemElements });
3490
3500
  };
3491
3501
 
3492
3502
  // src/view/TabOverflowHook.tsx
3493
- import * as React7 from "react";
3503
+ import { useEffect as useEffect2, useLayoutEffect as useLayoutEffect3, useRef as useRef4, useState as useState2 } from "react";
3494
3504
  var useTabOverflow = (node, orientation, toolbarRef, stickyButtonsRef) => {
3495
- const firstRender = React7.useRef(true);
3496
- const tabsTruncated = React7.useRef(false);
3497
- const lastRect = React7.useRef(Rect.empty());
3498
- const selfRef = React7.useRef(null);
3499
- const [position, setPosition] = React7.useState(0);
3500
- const userControlledLeft = React7.useRef(false);
3501
- const [hiddenTabs, setHiddenTabs] = React7.useState([]);
3502
- const lastHiddenCount = React7.useRef(0);
3503
- React7.useLayoutEffect(() => {
3505
+ const firstRender = useRef4(true);
3506
+ const tabsTruncated = useRef4(false);
3507
+ const lastRect = useRef4(Rect.empty());
3508
+ const selfRef = useRef4(null);
3509
+ const [position, setPosition] = useState2(0);
3510
+ const userControlledLeft = useRef4(false);
3511
+ const [hiddenTabs, setHiddenTabs] = useState2([]);
3512
+ const lastHiddenCount = useRef4(0);
3513
+ useLayoutEffect3(() => {
3504
3514
  userControlledLeft.current = false;
3505
3515
  }, [node.getSelectedNode(), node.getRect().width, node.getRect().height]);
3506
3516
  const nodeRect = node instanceof TabSetNode ? node.getRect() : node.getTabHeaderRect();
3507
- React7.useLayoutEffect(() => {
3517
+ useLayoutEffect3(() => {
3508
3518
  if (nodeRect.width > 0 && nodeRect.height > 0) {
3509
3519
  updateVisibleTabs();
3510
3520
  }
3511
3521
  }, [nodeRect.width, nodeRect.height]);
3512
3522
  const instance = toolbarRef.current;
3513
- React7.useEffect(() => {
3523
+ useEffect2(() => {
3514
3524
  if (!instance) {
3515
3525
  return;
3516
3526
  }
@@ -3620,13 +3630,14 @@ var useTabOverflow = (node, orientation, toolbarRef, stickyButtonsRef) => {
3620
3630
  };
3621
3631
 
3622
3632
  // src/view/BorderTabSet.tsx
3633
+ import { Fragment as Fragment2, jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
3623
3634
  var BorderTabSet = (props) => {
3624
3635
  const { border, layout, size } = props;
3625
- const toolbarRef = React8.useRef(null);
3626
- const overflowbuttonRef = React8.useRef(null);
3627
- const stickyButtonsRef = React8.useRef(null);
3636
+ const toolbarRef = useRef5(null);
3637
+ const overflowbuttonRef = useRef5(null);
3638
+ const stickyButtonsRef = useRef5(null);
3628
3639
  const icons = layout.getIcons();
3629
- React8.useLayoutEffect(() => {
3640
+ useLayoutEffect4(() => {
3630
3641
  border.setTabHeaderRect(Rect.getBoundingClientRect(selfRef.current).relativeTo(layout.getDomRect()));
3631
3642
  });
3632
3643
  const { selfRef, position, userControlledLeft, hiddenTabs, onMouseWheel, tabsTruncated } = useTabOverflow(border, Orientation.flip(border.getOrientation()), toolbarRef, stickyButtonsRef);
@@ -3661,10 +3672,10 @@ var BorderTabSet = (props) => {
3661
3672
  const isSelected = border.getSelected() === i;
3662
3673
  const child = border.getChildren()[i];
3663
3674
  tabButtons.push(
3664
- /* @__PURE__ */ React8.createElement(BorderButton, { layout, border: border.getLocation().getName(), node: child, path: border.getPath() + "/tb" + i, key: child.getId(), selected: isSelected, icons })
3675
+ /* @__PURE__ */ jsx7(BorderButton, { layout, border: border.getLocation().getName(), node: child, path: border.getPath() + "/tb" + i, selected: isSelected, icons }, child.getId())
3665
3676
  );
3666
3677
  if (i < border.getChildren().length - 1) {
3667
- tabButtons.push(/* @__PURE__ */ React8.createElement("div", { key: "divider" + i, className: cm("flexlayout__border_tab_divider" /* FLEXLAYOUT__BORDER_TAB_DIVIDER */) }));
3678
+ tabButtons.push(/* @__PURE__ */ jsx7("div", { className: cm("flexlayout__border_tab_divider" /* FLEXLAYOUT__BORDER_TAB_DIVIDER */) }, "divider" + i));
3668
3679
  }
3669
3680
  };
3670
3681
  for (let i = 0; i < border.getChildren().length; i++) {
@@ -3687,18 +3698,18 @@ var BorderTabSet = (props) => {
3687
3698
  buttons = [...stickyButtons, ...buttons];
3688
3699
  } else {
3689
3700
  tabButtons.push(
3690
- /* @__PURE__ */ React8.createElement(
3701
+ /* @__PURE__ */ jsx7(
3691
3702
  "div",
3692
3703
  {
3693
3704
  ref: stickyButtonsRef,
3694
- key: "sticky_buttons_container",
3695
3705
  onPointerDown: onInterceptPointerDown,
3696
3706
  onDragStart: (e) => {
3697
3707
  e.preventDefault();
3698
3708
  },
3699
- className: cm("flexlayout__tab_toolbar_sticky_buttons_container" /* FLEXLAYOUT__TAB_TOOLBAR_STICKY_BUTTONS_CONTAINER */)
3709
+ className: cm("flexlayout__tab_toolbar_sticky_buttons_container" /* FLEXLAYOUT__TAB_TOOLBAR_STICKY_BUTTONS_CONTAINER */),
3710
+ children: stickyButtons
3700
3711
  },
3701
- stickyButtons
3712
+ "sticky_buttons_container"
3702
3713
  )
3703
3714
  );
3704
3715
  }
@@ -3709,26 +3720,29 @@ var BorderTabSet = (props) => {
3709
3720
  if (typeof icons.more === "function") {
3710
3721
  overflowContent = icons.more(border, hiddenTabs);
3711
3722
  } else {
3712
- overflowContent = /* @__PURE__ */ React8.createElement(React8.Fragment, null, icons.more, /* @__PURE__ */ React8.createElement("div", { className: cm("flexlayout__tab_button_overflow_count" /* FLEXLAYOUT__TAB_BUTTON_OVERFLOW_COUNT */) }, hiddenTabs.length));
3723
+ overflowContent = /* @__PURE__ */ jsxs4(Fragment2, { children: [
3724
+ icons.more,
3725
+ /* @__PURE__ */ jsx7("div", { className: cm("flexlayout__tab_button_overflow_count" /* FLEXLAYOUT__TAB_BUTTON_OVERFLOW_COUNT */), children: hiddenTabs.length })
3726
+ ] });
3713
3727
  }
3714
3728
  void buttons.splice(
3715
3729
  Math.min(renderState.overflowPosition, buttons.length),
3716
3730
  0,
3717
- /* @__PURE__ */ React8.createElement(
3731
+ /* @__PURE__ */ jsx7(
3718
3732
  "button",
3719
3733
  {
3720
- key: "overflowbutton",
3721
3734
  ref: overflowbuttonRef,
3722
3735
  className: cm("flexlayout__border_toolbar_button" /* FLEXLAYOUT__BORDER_TOOLBAR_BUTTON */) + " " + cm("flexlayout__border_toolbar_button_overflow" /* FLEXLAYOUT__BORDER_TOOLBAR_BUTTON_OVERFLOW */) + " " + cm("flexlayout__border_toolbar_button_overflow_" /* FLEXLAYOUT__BORDER_TOOLBAR_BUTTON_OVERFLOW_ */ + border.getLocation().getName()),
3723
3736
  title: overflowTitle,
3724
3737
  onClick: onOverflowClick,
3725
- onPointerDown: onInterceptPointerDown
3738
+ onPointerDown: onInterceptPointerDown,
3739
+ children: overflowContent
3726
3740
  },
3727
- overflowContent
3741
+ "overflowbutton"
3728
3742
  )
3729
3743
  );
3730
3744
  }
3731
- const toolbar = /* @__PURE__ */ React8.createElement("div", { key: "toolbar", ref: toolbarRef, className: cm("flexlayout__border_toolbar" /* FLEXLAYOUT__BORDER_TOOLBAR */) + " " + cm("flexlayout__border_toolbar_" /* FLEXLAYOUT__BORDER_TOOLBAR_ */ + border.getLocation().getName()) }, buttons);
3745
+ const toolbar = /* @__PURE__ */ jsx7("div", { ref: toolbarRef, className: cm("flexlayout__border_toolbar" /* FLEXLAYOUT__BORDER_TOOLBAR */) + " " + cm("flexlayout__border_toolbar_" /* FLEXLAYOUT__BORDER_TOOLBAR_ */ + border.getLocation().getName()), children: buttons }, "toolbar");
3732
3746
  let innerStyle;
3733
3747
  let outerStyle;
3734
3748
  const borderHeight = size - 1;
@@ -3742,7 +3756,7 @@ var BorderTabSet = (props) => {
3742
3756
  innerStyle = { left: position };
3743
3757
  outerStyle = { height: borderHeight };
3744
3758
  }
3745
- return /* @__PURE__ */ React8.createElement(
3759
+ return /* @__PURE__ */ jsxs4(
3746
3760
  "div",
3747
3761
  {
3748
3762
  ref: selfRef,
@@ -3755,29 +3769,33 @@ var BorderTabSet = (props) => {
3755
3769
  onClick: onAuxMouseClick,
3756
3770
  onAuxClick: onAuxMouseClick,
3757
3771
  onContextMenu,
3758
- onWheel: onMouseWheel
3759
- },
3760
- /* @__PURE__ */ React8.createElement("div", { style: outerStyle, className: cm("flexlayout__border_inner" /* FLEXLAYOUT__BORDER_INNER */) + " " + cm("flexlayout__border_inner_" /* FLEXLAYOUT__BORDER_INNER_ */ + border.getLocation().getName()) }, /* @__PURE__ */ React8.createElement("div", { style: innerStyle, className: cm("flexlayout__border_inner_tab_container" /* FLEXLAYOUT__BORDER_INNER_TAB_CONTAINER */) + " " + cm("flexlayout__border_inner_tab_container_" /* FLEXLAYOUT__BORDER_INNER_TAB_CONTAINER_ */ + border.getLocation().getName()) }, tabButtons)),
3761
- toolbar
3772
+ onWheel: onMouseWheel,
3773
+ children: [
3774
+ /* @__PURE__ */ jsx7("div", { style: outerStyle, className: cm("flexlayout__border_inner" /* FLEXLAYOUT__BORDER_INNER */) + " " + cm("flexlayout__border_inner_" /* FLEXLAYOUT__BORDER_INNER_ */ + border.getLocation().getName()), children: /* @__PURE__ */ jsx7("div", { style: innerStyle, className: cm("flexlayout__border_inner_tab_container" /* FLEXLAYOUT__BORDER_INNER_TAB_CONTAINER */) + " " + cm("flexlayout__border_inner_tab_container_" /* FLEXLAYOUT__BORDER_INNER_TAB_CONTAINER_ */ + border.getLocation().getName()), children: tabButtons }) }),
3775
+ toolbar
3776
+ ]
3777
+ }
3762
3778
  );
3763
3779
  };
3764
3780
 
3765
3781
  // src/view/DragContainer.tsx
3766
- import * as React9 from "react";
3782
+ import { useEffect as useEffect3, useRef as useRef6 } from "react";
3783
+ import { jsx as jsx8 } from "react/jsx-runtime";
3767
3784
  var DragContainer = (props) => {
3768
3785
  const { layout, node } = props;
3769
- const selfRef = React9.useRef(null);
3770
- React9.useEffect(() => {
3786
+ const selfRef = useRef6(null);
3787
+ useEffect3(() => {
3771
3788
  node.setTabStamp(selfRef.current);
3772
3789
  }, [node, selfRef.current]);
3773
3790
  const cm = layout.getClassName;
3774
3791
  const classNames = cm("flexlayout__drag_rect" /* FLEXLAYOUT__DRAG_RECT */);
3775
- return /* @__PURE__ */ React9.createElement("div", { ref: selfRef, className: classNames }, /* @__PURE__ */ React9.createElement(TabButtonStamp, { key: node.getId(), layout, node }));
3792
+ return /* @__PURE__ */ jsx8("div", { ref: selfRef, className: classNames, children: /* @__PURE__ */ jsx8(TabButtonStamp, { layout, node }, node.getId()) });
3776
3793
  };
3777
3794
 
3778
3795
  // src/view/ErrorBoundary.tsx
3779
- import * as React10 from "react";
3780
- var ErrorBoundary = class extends React10.Component {
3796
+ import { Component } from "react";
3797
+ import { jsx as jsx9 } from "react/jsx-runtime";
3798
+ var ErrorBoundary = class extends Component {
3781
3799
  constructor(props) {
3782
3800
  super(props);
3783
3801
  this.state = { hasError: false };
@@ -3791,62 +3809,75 @@ var ErrorBoundary = class extends React10.Component {
3791
3809
  }
3792
3810
  render() {
3793
3811
  if (this.state.hasError) {
3794
- return /* @__PURE__ */ React10.createElement("div", { className: "flexlayout__error_boundary_container" /* FLEXLAYOUT__ERROR_BOUNDARY_CONTAINER */ }, /* @__PURE__ */ React10.createElement("div", { className: "flexlayout__error_boundary_content" /* FLEXLAYOUT__ERROR_BOUNDARY_CONTENT */ }, this.props.message));
3812
+ return /* @__PURE__ */ jsx9("div", { className: "flexlayout__error_boundary_container" /* FLEXLAYOUT__ERROR_BOUNDARY_CONTAINER */, children: /* @__PURE__ */ jsx9("div", { className: "flexlayout__error_boundary_content" /* FLEXLAYOUT__ERROR_BOUNDARY_CONTENT */, children: this.props.message }) });
3795
3813
  }
3796
3814
  return this.props.children;
3797
3815
  }
3798
3816
  };
3799
3817
 
3800
3818
  // src/view/Icons.tsx
3801
- import * as React11 from "react";
3819
+ import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
3802
3820
  var style = { width: "1em", height: "1em", display: "flex", alignItems: "center" };
3803
3821
  var CloseIcon = () => {
3804
- return /* @__PURE__ */ React11.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style, viewBox: "0 0 24 24" }, /* @__PURE__ */ React11.createElement("path", { fill: "none", d: "M0 0h24v24H0z" }), /* @__PURE__ */ React11.createElement("path", { stroke: "var(--color-icon)", fill: "var(--color-icon)", d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }));
3822
+ return /* @__PURE__ */ jsxs5("svg", { xmlns: "http://www.w3.org/2000/svg", style, viewBox: "0 0 24 24", children: [
3823
+ /* @__PURE__ */ jsx10("path", { fill: "none", d: "M0 0h24v24H0z" }),
3824
+ /* @__PURE__ */ jsx10("path", { stroke: "var(--color-icon)", fill: "var(--color-icon)", d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" })
3825
+ ] });
3805
3826
  };
3806
3827
  var MaximizeIcon = () => {
3807
- return /* @__PURE__ */ React11.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style, viewBox: "0 0 24 24", fill: "var(--color-icon)" }, /* @__PURE__ */ React11.createElement("path", { d: "M0 0h24v24H0z", fill: "none" }), /* @__PURE__ */ React11.createElement("path", { stroke: "var(--color-icon)", d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" }));
3828
+ return /* @__PURE__ */ jsxs5("svg", { xmlns: "http://www.w3.org/2000/svg", style, viewBox: "0 0 24 24", fill: "var(--color-icon)", children: [
3829
+ /* @__PURE__ */ jsx10("path", { d: "M0 0h24v24H0z", fill: "none" }),
3830
+ /* @__PURE__ */ jsx10("path", { stroke: "var(--color-icon)", d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" })
3831
+ ] });
3808
3832
  };
3809
3833
  var OverflowIcon = () => {
3810
- return /* @__PURE__ */ React11.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style, viewBox: "0 0 24 24", fill: "var(--color-icon)" }, /* @__PURE__ */ React11.createElement("path", { d: "M0 0h24v24H0z", fill: "none" }), /* @__PURE__ */ React11.createElement("path", { stroke: "var(--color-icon)", d: "M7 10l5 5 5-5z" }));
3834
+ return /* @__PURE__ */ jsxs5("svg", { xmlns: "http://www.w3.org/2000/svg", style, viewBox: "0 0 24 24", fill: "var(--color-icon)", children: [
3835
+ /* @__PURE__ */ jsx10("path", { d: "M0 0h24v24H0z", fill: "none" }),
3836
+ /* @__PURE__ */ jsx10("path", { stroke: "var(--color-icon)", d: "M7 10l5 5 5-5z" })
3837
+ ] });
3811
3838
  };
3812
3839
  var EdgeIcon = () => {
3813
- return /* @__PURE__ */ React11.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style: { display: "block", width: 10, height: 10 }, preserveAspectRatio: "none", viewBox: "0 0 100 100" }, /* @__PURE__ */ React11.createElement("path", { fill: "var(--color-edge-icon)", stroke: "var(--color-edge-icon)", d: "M10 30 L90 30 l-40 40 Z" }));
3840
+ return /* @__PURE__ */ jsx10("svg", { xmlns: "http://www.w3.org/2000/svg", style: { display: "block", width: 10, height: 10 }, preserveAspectRatio: "none", viewBox: "0 0 100 100", children: /* @__PURE__ */ jsx10("path", { fill: "var(--color-edge-icon)", stroke: "var(--color-edge-icon)", d: "M10 30 L90 30 l-40 40 Z" }) });
3814
3841
  };
3815
3842
  var RestoreIcon = () => {
3816
- return /* @__PURE__ */ React11.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style, viewBox: "0 0 24 24", fill: "var(--color-icon)" }, /* @__PURE__ */ React11.createElement("path", { d: "M0 0h24v24H0z", fill: "none" }), /* @__PURE__ */ React11.createElement("path", { stroke: "var(--color-icon)", d: "M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z" }));
3843
+ return /* @__PURE__ */ jsxs5("svg", { xmlns: "http://www.w3.org/2000/svg", style, viewBox: "0 0 24 24", fill: "var(--color-icon)", children: [
3844
+ /* @__PURE__ */ jsx10("path", { d: "M0 0h24v24H0z", fill: "none" }),
3845
+ /* @__PURE__ */ jsx10("path", { stroke: "var(--color-icon)", d: "M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z" })
3846
+ ] });
3817
3847
  };
3818
3848
  var AsterickIcon = () => {
3819
- return /* @__PURE__ */ React11.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style, height: "24px", viewBox: "0 -960 960 960", width: "24px" }, /* @__PURE__ */ React11.createElement(
3849
+ return /* @__PURE__ */ jsx10("svg", { xmlns: "http://www.w3.org/2000/svg", style, height: "24px", viewBox: "0 -960 960 960", width: "24px", children: /* @__PURE__ */ jsx10(
3820
3850
  "path",
3821
3851
  {
3822
3852
  fill: "var(--color-icon)",
3823
3853
  stroke: "var(--color-icon)",
3824
3854
  d: "M440-120v-264L254-197l-57-57 187-186H120v-80h264L197-706l57-57 186 187v-264h80v264l186-187 57 57-187 186h264v80H576l187 186-57 57-186-187v264h-80Z"
3825
3855
  }
3826
- ));
3856
+ ) });
3827
3857
  };
3828
3858
 
3829
3859
  // src/view/Overlay.tsx
3830
- import * as React12 from "react";
3860
+ import { jsx as jsx11 } from "react/jsx-runtime";
3831
3861
  var Overlay = (props) => {
3832
3862
  const { layout, show } = props;
3833
- return /* @__PURE__ */ React12.createElement("div", { className: layout.getClassName("flexlayout__layout_overlay" /* FLEXLAYOUT__LAYOUT_OVERLAY */), style: { display: show ? "flex" : "none" } });
3863
+ return /* @__PURE__ */ jsx11("div", { className: layout.getClassName("flexlayout__layout_overlay" /* FLEXLAYOUT__LAYOUT_OVERLAY */), style: { display: show ? "flex" : "none" } });
3834
3864
  };
3835
3865
 
3836
3866
  // src/view/Row.tsx
3837
- import * as React15 from "react";
3867
+ import { useLayoutEffect as useLayoutEffect6, useRef as useRef9 } from "react";
3838
3868
 
3839
3869
  // src/view/TabSet.tsx
3840
- import * as React14 from "react";
3870
+ import { useEffect as useEffect4, useRef as useRef8 } from "react";
3841
3871
 
3842
3872
  // src/view/TabButton.tsx
3843
- import * as React13 from "react";
3873
+ import { useLayoutEffect as useLayoutEffect5, useRef as useRef7 } from "react";
3874
+ import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
3844
3875
  var TabButton = (props) => {
3845
3876
  const { layout, node, selected, path } = props;
3846
- const selfRef = React13.useRef(null);
3847
- const contentRef = React13.useRef(null);
3877
+ const selfRef = useRef7(null);
3878
+ const contentRef = useRef7(null);
3848
3879
  const icons = layout.getIcons();
3849
- React13.useLayoutEffect(() => {
3880
+ useLayoutEffect5(() => {
3850
3881
  node.setTabRect(layout.getBoundingClientRect(selfRef.current));
3851
3882
  if (layout.getEditingTab() === node) {
3852
3883
  contentRef.current.select();
@@ -3932,10 +3963,10 @@ var TabButton = (props) => {
3932
3963
  classNames += " " + node.getClassName();
3933
3964
  }
3934
3965
  const renderState = getRenderStateEx(layout, node);
3935
- let content = renderState.content ? /* @__PURE__ */ React13.createElement("div", { className: cm("flexlayout__tab_button_content" /* FLEXLAYOUT__TAB_BUTTON_CONTENT */) }, renderState.content) : null;
3936
- const leading = renderState.leading ? /* @__PURE__ */ React13.createElement("div", { className: cm("flexlayout__tab_button_leading" /* FLEXLAYOUT__TAB_BUTTON_LEADING */) }, renderState.leading) : null;
3966
+ let content = renderState.content ? /* @__PURE__ */ jsx12("div", { className: cm("flexlayout__tab_button_content" /* FLEXLAYOUT__TAB_BUTTON_CONTENT */), children: renderState.content }) : null;
3967
+ const leading = renderState.leading ? /* @__PURE__ */ jsx12("div", { className: cm("flexlayout__tab_button_leading" /* FLEXLAYOUT__TAB_BUTTON_LEADING */), children: renderState.leading }) : null;
3937
3968
  if (layout.getEditingTab() === node) {
3938
- content = /* @__PURE__ */ React13.createElement(
3969
+ content = /* @__PURE__ */ jsx12(
3939
3970
  "input",
3940
3971
  {
3941
3972
  ref: contentRef,
@@ -3952,18 +3983,18 @@ var TabButton = (props) => {
3952
3983
  if (node.isEnableClose() && !isStretch) {
3953
3984
  const closeTitle = layout.i18nName("Close" /* Close_Tab */);
3954
3985
  renderState.buttons.push(
3955
- /* @__PURE__ */ React13.createElement(
3986
+ /* @__PURE__ */ jsx12(
3956
3987
  "button",
3957
3988
  {
3958
- key: "close",
3959
3989
  "data-layout-path": path + "/button/close",
3960
3990
  title: closeTitle,
3961
3991
  className: cm("flexlayout__tab_button_trailing" /* FLEXLAYOUT__TAB_BUTTON_TRAILING */),
3962
3992
  onPointerDown: onClosePointerDown,
3963
3993
  onClick: onClose,
3964
- onKeyDown: onCloseKeyDown
3994
+ onKeyDown: onCloseKeyDown,
3995
+ children: typeof icons.close === "function" ? icons.close(node) : icons.close
3965
3996
  },
3966
- typeof icons.close === "function" ? icons.close(node) : icons.close
3997
+ "close"
3967
3998
  )
3968
3999
  );
3969
4000
  }
@@ -3973,7 +4004,7 @@ var TabButton = (props) => {
3973
4004
  onClick();
3974
4005
  }
3975
4006
  };
3976
- return /* @__PURE__ */ React13.createElement(
4007
+ return /* @__PURE__ */ jsxs6(
3977
4008
  "div",
3978
4009
  {
3979
4010
  ref: selfRef,
@@ -3990,27 +4021,30 @@ var TabButton = (props) => {
3990
4021
  draggable: true,
3991
4022
  onDragStart,
3992
4023
  onDragEnd,
3993
- onDoubleClick
3994
- },
3995
- leading,
3996
- content,
3997
- renderState.buttons
4024
+ onDoubleClick,
4025
+ children: [
4026
+ leading,
4027
+ content,
4028
+ renderState.buttons
4029
+ ]
4030
+ }
3998
4031
  );
3999
4032
  };
4000
4033
 
4001
4034
  // src/view/TabSet.tsx
4002
4035
  import { createPortal } from "react-dom";
4036
+ import { Fragment as Fragment3, jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
4003
4037
  var TabSet = (props) => {
4004
4038
  const { node, layout } = props;
4005
- const tabStripRef = React14.useRef(null);
4006
- const tabStripInnerRef = React14.useRef(null);
4007
- const contentRef = React14.useRef(null);
4008
- const buttonBarRef = React14.useRef(null);
4009
- const overflowbuttonRef = React14.useRef(null);
4010
- const stickyButtonsRef = React14.useRef(null);
4039
+ const tabStripRef = useRef8(null);
4040
+ const tabStripInnerRef = useRef8(null);
4041
+ const contentRef = useRef8(null);
4042
+ const buttonBarRef = useRef8(null);
4043
+ const overflowbuttonRef = useRef8(null);
4044
+ const stickyButtonsRef = useRef8(null);
4011
4045
  const icons = layout.getIcons();
4012
- const isFirstRender = React14.useRef(true);
4013
- React14.useEffect(() => {
4046
+ const isFirstRender = useRef8(true);
4047
+ useEffect4(() => {
4014
4048
  node.setRect(layout.getBoundingClientRect(selfRef.current));
4015
4049
  if (tabStripRef.current) {
4016
4050
  node.setTabStripRect(layout.getBoundingClientRect(tabStripRef.current));
@@ -4099,9 +4133,9 @@ var TabSet = (props) => {
4099
4133
  for (let i = 0; i < node.getChildren().length; i++) {
4100
4134
  const child = node.getChildren()[i];
4101
4135
  const isSelected = node.getSelected() === i;
4102
- tabs.push(/* @__PURE__ */ React14.createElement(TabButton, { layout, node: child, path: path + "/tb" + i, key: child.getId(), selected: isSelected }));
4136
+ tabs.push(/* @__PURE__ */ jsx13(TabButton, { layout, node: child, path: path + "/tb" + i, selected: isSelected }, child.getId()));
4103
4137
  if (i < node.getChildren().length - 1) {
4104
- tabs.push(/* @__PURE__ */ React14.createElement("div", { key: "divider" + i, className: cm("flexlayout__tabset_tab_divider" /* FLEXLAYOUT__TABSET_TAB_DIVIDER */) }));
4138
+ tabs.push(/* @__PURE__ */ jsx13("div", { className: cm("flexlayout__tabset_tab_divider" /* FLEXLAYOUT__TABSET_TAB_DIVIDER */) }, "divider" + i));
4105
4139
  }
4106
4140
  }
4107
4141
  }
@@ -4121,18 +4155,18 @@ var TabSet = (props) => {
4121
4155
  buttons = [...stickyButtons, ...buttons];
4122
4156
  } else {
4123
4157
  tabs.push(
4124
- /* @__PURE__ */ React14.createElement(
4158
+ /* @__PURE__ */ jsx13(
4125
4159
  "div",
4126
4160
  {
4127
4161
  ref: stickyButtonsRef,
4128
- key: "sticky_buttons_container",
4129
4162
  onPointerDown: onInterceptPointerDown,
4130
4163
  onDragStart: (e) => {
4131
4164
  e.preventDefault();
4132
4165
  },
4133
- className: cm("flexlayout__tab_toolbar_sticky_buttons_container" /* FLEXLAYOUT__TAB_TOOLBAR_STICKY_BUTTONS_CONTAINER */)
4166
+ className: cm("flexlayout__tab_toolbar_sticky_buttons_container" /* FLEXLAYOUT__TAB_TOOLBAR_STICKY_BUTTONS_CONTAINER */),
4167
+ children: stickyButtons
4134
4168
  },
4135
- stickyButtons
4169
+ "sticky_buttons_container"
4136
4170
  )
4137
4171
  );
4138
4172
  }
@@ -4144,23 +4178,26 @@ var TabSet = (props) => {
4144
4178
  if (typeof icons.more === "function") {
4145
4179
  overflowContent = icons.more(node, hiddenTabs);
4146
4180
  } else {
4147
- overflowContent = /* @__PURE__ */ React14.createElement(React14.Fragment, null, icons.more, /* @__PURE__ */ React14.createElement("div", { className: cm("flexlayout__tab_button_overflow_count" /* FLEXLAYOUT__TAB_BUTTON_OVERFLOW_COUNT */) }, hiddenTabs.length));
4181
+ overflowContent = /* @__PURE__ */ jsxs7(Fragment3, { children: [
4182
+ icons.more,
4183
+ /* @__PURE__ */ jsx13("div", { className: cm("flexlayout__tab_button_overflow_count" /* FLEXLAYOUT__TAB_BUTTON_OVERFLOW_COUNT */), children: hiddenTabs.length })
4184
+ ] });
4148
4185
  }
4149
4186
  void buttons.splice(
4150
4187
  Math.min(renderState.overflowPosition, buttons.length),
4151
4188
  0,
4152
- /* @__PURE__ */ React14.createElement(
4189
+ /* @__PURE__ */ jsx13(
4153
4190
  "button",
4154
4191
  {
4155
- key: "overflowbutton",
4156
4192
  "data-layout-path": path + "/button/overflow",
4157
4193
  ref: overflowbuttonRef,
4158
4194
  className: cm("flexlayout__tab_toolbar_button" /* FLEXLAYOUT__TAB_TOOLBAR_BUTTON */) + " " + cm("flexlayout__tab_button_overflow" /* FLEXLAYOUT__TAB_BUTTON_OVERFLOW */),
4159
4195
  title: overflowTitle,
4160
4196
  onClick: onOverflowClick,
4161
- onPointerDown: onInterceptPointerDown
4197
+ onPointerDown: onInterceptPointerDown,
4198
+ children: overflowContent
4162
4199
  },
4163
- overflowContent
4200
+ "overflowbutton"
4164
4201
  )
4165
4202
  );
4166
4203
  }
@@ -4169,55 +4206,55 @@ var TabSet = (props) => {
4169
4206
  const minTitle = layout.i18nName("Restore tab set" /* Restore */);
4170
4207
  const maxTitle = layout.i18nName("Maximize tab set" /* Maximize */);
4171
4208
  buttons.push(
4172
- /* @__PURE__ */ React14.createElement(
4209
+ /* @__PURE__ */ jsx13(
4173
4210
  "button",
4174
4211
  {
4175
- key: "max",
4176
4212
  "data-layout-path": path + "/button/max",
4177
4213
  title: node.isMaximized() ? minTitle : maxTitle,
4178
4214
  className: cm("flexlayout__tab_toolbar_button" /* FLEXLAYOUT__TAB_TOOLBAR_BUTTON */) + " " + cm("flexlayout__tab_toolbar_button-" /* FLEXLAYOUT__TAB_TOOLBAR_BUTTON_ */ + (node.isMaximized() ? "max" : "min")),
4179
4215
  onClick: onMaximizeToggle,
4180
- onPointerDown: onInterceptPointerDown
4216
+ onPointerDown: onInterceptPointerDown,
4217
+ children: node.isMaximized() ? typeof icons.restore === "function" ? icons.restore(node) : icons.restore : typeof icons.maximize === "function" ? icons.maximize(node) : icons.maximize
4181
4218
  },
4182
- node.isMaximized() ? typeof icons.restore === "function" ? icons.restore(node) : icons.restore : typeof icons.maximize === "function" ? icons.maximize(node) : icons.maximize
4219
+ "max"
4183
4220
  )
4184
4221
  );
4185
4222
  }
4186
4223
  if (!node.isMaximized() && showClose) {
4187
4224
  const title = isTabStretch ? layout.i18nName("Close" /* Close_Tab */) : layout.i18nName("Close tab set" /* Close_Tabset */);
4188
4225
  buttons.push(
4189
- /* @__PURE__ */ React14.createElement(
4226
+ /* @__PURE__ */ jsx13(
4190
4227
  "button",
4191
4228
  {
4192
- key: "close",
4193
4229
  "data-layout-path": path + "/button/close",
4194
4230
  title,
4195
4231
  className: cm("flexlayout__tab_toolbar_button" /* FLEXLAYOUT__TAB_TOOLBAR_BUTTON */) + " " + cm("flexlayout__tab_toolbar_button-close" /* FLEXLAYOUT__TAB_TOOLBAR_BUTTON_CLOSE */),
4196
4232
  onClick: isTabStretch ? onCloseTab : onClose,
4197
- onPointerDown: onInterceptPointerDown
4233
+ onPointerDown: onInterceptPointerDown,
4234
+ children: typeof icons.closeTabset === "function" ? icons.closeTabset(node) : icons.closeTabset
4198
4235
  },
4199
- typeof icons.closeTabset === "function" ? icons.closeTabset(node) : icons.closeTabset
4236
+ "close"
4200
4237
  )
4201
4238
  );
4202
4239
  }
4203
4240
  if (node.isActive() && node.isEnableActiveIcon()) {
4204
4241
  const title = layout.i18nName("Active tab set" /* Active_Tabset */);
4205
4242
  buttons.push(
4206
- /* @__PURE__ */ React14.createElement("div", { key: "active", "data-layout-path": path + "/button/active", title, className: cm("flexlayout__tab_toolbar_icon" /* FLEXLAYOUT__TAB_TOOLBAR_ICON */) }, typeof icons.activeTabset === "function" ? icons.activeTabset(node) : icons.activeTabset)
4243
+ /* @__PURE__ */ jsx13("div", { "data-layout-path": path + "/button/active", title, className: cm("flexlayout__tab_toolbar_icon" /* FLEXLAYOUT__TAB_TOOLBAR_ICON */), children: typeof icons.activeTabset === "function" ? icons.activeTabset(node) : icons.activeTabset }, "active")
4207
4244
  );
4208
4245
  }
4209
- const buttonbar = /* @__PURE__ */ React14.createElement(
4246
+ const buttonbar = /* @__PURE__ */ jsx13(
4210
4247
  "div",
4211
4248
  {
4212
- key: "buttonbar",
4213
4249
  ref: buttonBarRef,
4214
4250
  className: cm("flexlayout__tab_toolbar" /* FLEXLAYOUT__TAB_TOOLBAR */),
4215
4251
  onPointerDown: onInterceptPointerDown,
4216
4252
  onDragStart: (e) => {
4217
4253
  e.preventDefault();
4218
- }
4254
+ },
4255
+ children: buttons
4219
4256
  },
4220
- buttons
4257
+ "buttonbar"
4221
4258
  );
4222
4259
  let tabStrip;
4223
4260
  let tabStripClasses = cm("flexlayout__tabset_tabbar_outer" /* FLEXLAYOUT__TABSET_TABBAR_OUTER */);
@@ -4239,7 +4276,7 @@ var TabSet = (props) => {
4239
4276
  }
4240
4277
  if (node.isEnableTabWrap()) {
4241
4278
  if (node.isEnableTabStrip()) {
4242
- tabStrip = /* @__PURE__ */ React14.createElement(
4279
+ tabStrip = /* @__PURE__ */ jsxs7(
4243
4280
  "div",
4244
4281
  {
4245
4282
  className: tabStripClasses,
@@ -4252,16 +4289,18 @@ var TabSet = (props) => {
4252
4289
  onClick: onAuxMouseClick,
4253
4290
  onAuxClick: onAuxMouseClick,
4254
4291
  draggable: true,
4255
- onDragStart
4256
- },
4257
- tabs,
4258
- /* @__PURE__ */ React14.createElement("div", { style: { flexGrow: 1 } }),
4259
- buttonbar
4292
+ onDragStart,
4293
+ children: [
4294
+ tabs,
4295
+ /* @__PURE__ */ jsx13("div", { style: { flexGrow: 1 } }),
4296
+ buttonbar
4297
+ ]
4298
+ }
4260
4299
  );
4261
4300
  }
4262
4301
  } else {
4263
4302
  if (node.isEnableTabStrip()) {
4264
- tabStrip = /* @__PURE__ */ React14.createElement(
4303
+ tabStrip = /* @__PURE__ */ jsxs7(
4265
4304
  "div",
4266
4305
  {
4267
4306
  className: tabStripClasses,
@@ -4274,17 +4313,19 @@ var TabSet = (props) => {
4274
4313
  onAuxClick: onAuxMouseClick,
4275
4314
  draggable: true,
4276
4315
  onWheel: onMouseWheel,
4277
- onDragStart
4278
- },
4279
- /* @__PURE__ */ React14.createElement("div", { ref: tabStripInnerRef, className: cm("flexlayout__tabset_tabbar_inner" /* FLEXLAYOUT__TABSET_TABBAR_INNER */) + " " + cm("flexlayout__tabset_tabbar_inner_" /* FLEXLAYOUT__TABSET_TABBAR_INNER_ */ + node.getTabLocation()) }, /* @__PURE__ */ React14.createElement(
4280
- "div",
4281
- {
4282
- style: { left: position, width: isTabStretch ? "100%" : "10000px" },
4283
- className: cm("flexlayout__tabset_tabbar_inner_tab_container" /* FLEXLAYOUT__TABSET_TABBAR_INNER_TAB_CONTAINER */) + " " + cm("flexlayout__tabset_tabbar_inner_tab_container_" /* FLEXLAYOUT__TABSET_TABBAR_INNER_TAB_CONTAINER_ */ + node.getTabLocation())
4284
- },
4285
- tabs
4286
- )),
4287
- buttonbar
4316
+ onDragStart,
4317
+ children: [
4318
+ /* @__PURE__ */ jsx13("div", { ref: tabStripInnerRef, className: cm("flexlayout__tabset_tabbar_inner" /* FLEXLAYOUT__TABSET_TABBAR_INNER */) + " " + cm("flexlayout__tabset_tabbar_inner_" /* FLEXLAYOUT__TABSET_TABBAR_INNER_ */ + node.getTabLocation()), children: /* @__PURE__ */ jsx13(
4319
+ "div",
4320
+ {
4321
+ style: { left: position, width: isTabStretch ? "100%" : "10000px" },
4322
+ className: cm("flexlayout__tabset_tabbar_inner_tab_container" /* FLEXLAYOUT__TABSET_TABBAR_INNER_TAB_CONTAINER */) + " " + cm("flexlayout__tabset_tabbar_inner_tab_container_" /* FLEXLAYOUT__TABSET_TABBAR_INNER_TAB_CONTAINER_ */ + node.getTabLocation()),
4323
+ children: tabs
4324
+ }
4325
+ ) }),
4326
+ buttonbar
4327
+ ]
4328
+ }
4288
4329
  );
4289
4330
  }
4290
4331
  }
@@ -4295,11 +4336,17 @@ var TabSet = (props) => {
4295
4336
  emptyTabset = placeHolderCallback(node);
4296
4337
  }
4297
4338
  }
4298
- let content = /* @__PURE__ */ React14.createElement("div", { ref: contentRef, className: cm("flexlayout__tabset_content" /* FLEXLAYOUT__TABSET_CONTENT */) }, emptyTabset);
4339
+ let content = /* @__PURE__ */ jsx13("div", { ref: contentRef, className: cm("flexlayout__tabset_content" /* FLEXLAYOUT__TABSET_CONTENT */), children: emptyTabset });
4299
4340
  if (node.getTabLocation() === "top") {
4300
- content = /* @__PURE__ */ React14.createElement(React14.Fragment, null, tabStrip, content);
4341
+ content = /* @__PURE__ */ jsxs7(Fragment3, { children: [
4342
+ tabStrip,
4343
+ content
4344
+ ] });
4301
4345
  } else {
4302
- content = /* @__PURE__ */ React14.createElement(React14.Fragment, null, content, tabStrip);
4346
+ content = /* @__PURE__ */ jsxs7(Fragment3, { children: [
4347
+ content,
4348
+ tabStrip
4349
+ ] });
4303
4350
  }
4304
4351
  const style2 = {
4305
4352
  flexGrow: Math.max(1, node.getWeight() * 1e3),
@@ -4311,11 +4358,11 @@ var TabSet = (props) => {
4311
4358
  if (node.getModel().getMaximizedTabset(layout.getWindowId()) !== void 0 && !node.isMaximized()) {
4312
4359
  style2.display = "none";
4313
4360
  }
4314
- const tabset = /* @__PURE__ */ React14.createElement("div", { ref: selfRef, className: cm("flexlayout__tabset_container" /* FLEXLAYOUT__TABSET_CONTAINER */), style: style2 }, /* @__PURE__ */ React14.createElement("div", { className: cm("flexlayout__tabset" /* FLEXLAYOUT__TABSET */), "data-layout-path": path }, content));
4361
+ const tabset = /* @__PURE__ */ jsx13("div", { ref: selfRef, className: cm("flexlayout__tabset_container" /* FLEXLAYOUT__TABSET_CONTAINER */), style: style2, children: /* @__PURE__ */ jsx13("div", { className: cm("flexlayout__tabset" /* FLEXLAYOUT__TABSET */), "data-layout-path": path, children: content }) });
4315
4362
  if (node.isMaximized()) {
4316
4363
  if (layout.getMainElement()) {
4317
4364
  return createPortal(
4318
- /* @__PURE__ */ React14.createElement(
4365
+ /* @__PURE__ */ jsx13(
4319
4366
  "div",
4320
4367
  {
4321
4368
  style: {
@@ -4325,9 +4372,9 @@ var TabSet = (props) => {
4325
4372
  left: 0,
4326
4373
  bottom: 0,
4327
4374
  right: 0
4328
- }
4329
- },
4330
- tabset
4375
+ },
4376
+ children: tabset
4377
+ }
4331
4378
  ),
4332
4379
  layout.getMainElement()
4333
4380
  );
@@ -4340,23 +4387,24 @@ var TabSet = (props) => {
4340
4387
  };
4341
4388
 
4342
4389
  // src/view/Row.tsx
4390
+ import { jsx as jsx14 } from "react/jsx-runtime";
4343
4391
  var Row = (props) => {
4344
4392
  const { layout, node } = props;
4345
- const selfRef = React15.useRef(null);
4393
+ const selfRef = useRef9(null);
4346
4394
  const horizontal = node.getOrientation() === Orientation.HORZ;
4347
- React15.useLayoutEffect(() => {
4395
+ useLayoutEffect6(() => {
4348
4396
  node.setRect(layout.getBoundingClientRect(selfRef.current));
4349
4397
  });
4350
4398
  const items = [];
4351
4399
  let i = 0;
4352
4400
  for (const child of node.getChildren()) {
4353
4401
  if (i > 0) {
4354
- items.push(/* @__PURE__ */ React15.createElement(Splitter, { key: "splitter" + i, layout, node, index: i, horizontal }));
4402
+ items.push(/* @__PURE__ */ jsx14(Splitter, { layout, node, index: i, horizontal }, "splitter" + i));
4355
4403
  }
4356
4404
  if (child instanceof RowNode) {
4357
- items.push(/* @__PURE__ */ React15.createElement(Row, { key: child.getId(), layout, node: child }));
4405
+ items.push(/* @__PURE__ */ jsx14(Row, { layout, node: child }, child.getId()));
4358
4406
  } else if (child instanceof TabSetNode) {
4359
- items.push(/* @__PURE__ */ React15.createElement(TabSet, { key: child.getId(), layout, node: child }));
4407
+ items.push(/* @__PURE__ */ jsx14(TabSet, { layout, node: child }, child.getId()));
4360
4408
  }
4361
4409
  i++;
4362
4410
  }
@@ -4373,18 +4421,19 @@ var Row = (props) => {
4373
4421
  } else {
4374
4422
  style2.flexDirection = "column";
4375
4423
  }
4376
- return /* @__PURE__ */ React15.createElement("div", { ref: selfRef, className: layout.getClassName("flexlayout__row" /* FLEXLAYOUT__ROW */), style: style2 }, items);
4424
+ return /* @__PURE__ */ jsx14("div", { ref: selfRef, className: layout.getClassName("flexlayout__row" /* FLEXLAYOUT__ROW */), style: style2, children: items });
4377
4425
  };
4378
4426
 
4379
4427
  // src/view/Tab.tsx
4380
- import * as React16 from "react";
4428
+ import { useEffect as useEffect5, useLayoutEffect as useLayoutEffect7, useRef as useRef10 } from "react";
4429
+ import { jsx as jsx15 } from "react/jsx-runtime";
4381
4430
  var Tab = (props) => {
4382
4431
  const { layout, selected, node, path } = props;
4383
- const selfRef = React16.useRef(null);
4384
- const firstSelect = React16.useRef(true);
4432
+ const selfRef = useRef10(null);
4433
+ const firstSelect = useRef10(true);
4385
4434
  const parentNode = node.getParent();
4386
4435
  const rect = parentNode.getContentRect();
4387
- React16.useLayoutEffect(() => {
4436
+ useLayoutEffect7(() => {
4388
4437
  const element = node.getMoveableElement();
4389
4438
  selfRef.current.appendChild(element);
4390
4439
  node.setMoveableElement(element);
@@ -4401,7 +4450,7 @@ var Tab = (props) => {
4401
4450
  node.setVisible(false);
4402
4451
  };
4403
4452
  }, []);
4404
- React16.useEffect(() => {
4453
+ useEffect5(() => {
4405
4454
  if (node.isSelected()) {
4406
4455
  if (firstSelect.current) {
4407
4456
  node.restoreScrollPosition();
@@ -4409,10 +4458,10 @@ var Tab = (props) => {
4409
4458
  }
4410
4459
  }
4411
4460
  }, [selected]);
4412
- React16.useLayoutEffect(() => {
4461
+ useLayoutEffect7(() => {
4413
4462
  node.setRect(rect);
4414
4463
  }, [rect, node]);
4415
- React16.useLayoutEffect(() => {
4464
+ useLayoutEffect7(() => {
4416
4465
  node.setVisible(selected);
4417
4466
  }, [selected, node]);
4418
4467
  const onPointerDown = () => {
@@ -4446,14 +4495,15 @@ var Tab = (props) => {
4446
4495
  if (node.getContentClassName() !== void 0) {
4447
4496
  className += " " + node.getContentClassName();
4448
4497
  }
4449
- return /* @__PURE__ */ React16.createElement("div", { ref: selfRef, style: style2, className, "data-layout-path": path });
4498
+ return /* @__PURE__ */ jsx15("div", { ref: selfRef, style: style2, className, "data-layout-path": path });
4450
4499
  };
4451
4500
 
4452
4501
  // src/view/SizeTracker.tsx
4453
- import * as React17 from "react";
4454
- var SizeTracker = React17.memo(
4502
+ import { memo } from "react";
4503
+ import { Fragment as Fragment4, jsx as jsx16 } from "react/jsx-runtime";
4504
+ var SizeTracker = memo(
4455
4505
  ({ children }) => {
4456
- return /* @__PURE__ */ React17.createElement(React17.Fragment, null, children);
4506
+ return /* @__PURE__ */ jsx16(Fragment4, { children });
4457
4507
  },
4458
4508
  (prevProps, nextProps) => {
4459
4509
  return prevProps.rect.equalSize(nextProps.rect) && prevProps.selected === nextProps.selected && prevProps.forceRevision === nextProps.forceRevision && prevProps.tabsRevision === nextProps.tabsRevision;
@@ -4462,7 +4512,8 @@ var SizeTracker = React17.memo(
4462
4512
  SizeTracker.displayName = "SizeTracker";
4463
4513
 
4464
4514
  // src/view/Layout.tsx
4465
- var Layout = class extends React18.Component {
4515
+ import { Fragment as Fragment5, jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
4516
+ var Layout = class extends Component2 {
4466
4517
  /** @internal */
4467
4518
  selfRef;
4468
4519
  /** @internal */
@@ -4471,7 +4522,7 @@ var Layout = class extends React18.Component {
4471
4522
  /** @internal */
4472
4523
  constructor(props) {
4473
4524
  super(props);
4474
- this.selfRef = React18.createRef();
4525
+ this.selfRef = createRef();
4475
4526
  this.revision = 0;
4476
4527
  }
4477
4528
  /** re-render the layout */
@@ -4531,10 +4582,10 @@ var Layout = class extends React18.Component {
4531
4582
  }
4532
4583
  /** @internal */
4533
4584
  render() {
4534
- return /* @__PURE__ */ React18.createElement(LayoutInternal, { ref: this.selfRef, ...this.props, renderRevision: this.revision++ });
4585
+ return /* @__PURE__ */ jsx17(LayoutInternal, { ref: this.selfRef, ...this.props, renderRevision: this.revision++ });
4535
4586
  }
4536
4587
  };
4537
- var LayoutInternal = class _LayoutInternal extends React18.Component {
4588
+ var LayoutInternal = class _LayoutInternal extends Component2 {
4538
4589
  static dragState = void 0;
4539
4590
  selfRef;
4540
4591
  moveablesRef;
@@ -4554,10 +4605,10 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
4554
4605
  constructor(props) {
4555
4606
  super(props);
4556
4607
  this.orderedIds = [];
4557
- this.selfRef = React18.createRef();
4558
- this.moveablesRef = React18.createRef();
4559
- this.mainRef = React18.createRef();
4560
- this.findBorderBarSizeRef = React18.createRef();
4608
+ this.selfRef = createRef();
4609
+ this.moveablesRef = createRef();
4610
+ this.mainRef = createRef();
4611
+ this.findBorderBarSizeRef = createRef();
4561
4612
  this.icons = { ...defaultIcons, ...props.icons };
4562
4613
  this.state = {
4563
4614
  rect: Rect.empty(),
@@ -4608,7 +4659,10 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
4608
4659
  }
4609
4660
  render() {
4610
4661
  if (!this.selfRef.current) {
4611
- return /* @__PURE__ */ React18.createElement("div", { ref: this.selfRef, className: this.getClassName("flexlayout__layout" /* FLEXLAYOUT__LAYOUT */) }, /* @__PURE__ */ React18.createElement("div", { ref: this.moveablesRef, key: "__moveables__", className: this.getClassName("flexlayout__layout_moveables" /* FLEXLAYOUT__LAYOUT_MOVEABLES */) }), this.renderMetricsElements());
4662
+ return /* @__PURE__ */ jsxs8("div", { ref: this.selfRef, className: this.getClassName("flexlayout__layout" /* FLEXLAYOUT__LAYOUT */), children: [
4663
+ /* @__PURE__ */ jsx17("div", { ref: this.moveablesRef, className: this.getClassName("flexlayout__layout_moveables" /* FLEXLAYOUT__LAYOUT_MOVEABLES */) }, "__moveables__"),
4664
+ this.renderMetricsElements()
4665
+ ] });
4612
4666
  }
4613
4667
  const model = this.props.model;
4614
4668
  model.getRoot().calcMinMaxSize();
@@ -4620,8 +4674,8 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
4620
4674
  const reorderedTabs = this.reorderComponents(tabs, this.orderedIds);
4621
4675
  const metricElements = this.renderMetricsElements();
4622
4676
  const tabMoveables = this.renderTabMoveables();
4623
- const tabStamps = /* @__PURE__ */ React18.createElement("div", { key: "__tabStamps__", className: this.getClassName("flexlayout__layout_tab_stamps" /* FLEXLAYOUT__LAYOUT_TAB_STAMPS */) }, this.renderTabStamps());
4624
- return /* @__PURE__ */ React18.createElement(
4677
+ const tabStamps = /* @__PURE__ */ jsx17("div", { className: this.getClassName("flexlayout__layout_tab_stamps" /* FLEXLAYOUT__LAYOUT_TAB_STAMPS */), children: this.renderTabStamps() }, "__tabStamps__");
4678
+ return /* @__PURE__ */ jsxs8(
4625
4679
  "div",
4626
4680
  {
4627
4681
  ref: this.selfRef,
@@ -4629,46 +4683,83 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
4629
4683
  onDragEnter: this.onDragEnterRaw,
4630
4684
  onDragLeave: this.onDragLeaveRaw,
4631
4685
  onDragOver: this.onDragOver,
4632
- onDrop: this.onDrop
4633
- },
4634
- /* @__PURE__ */ React18.createElement("div", { ref: this.moveablesRef, key: "__moveables__", className: this.getClassName("flexlayout__layout_moveables" /* FLEXLAYOUT__LAYOUT_MOVEABLES */) }),
4635
- metricElements,
4636
- /* @__PURE__ */ React18.createElement(Overlay, { key: "__overlay__", layout: this, show: this.state.showOverlay }),
4637
- outer,
4638
- reorderedTabs,
4639
- tabMoveables,
4640
- tabStamps,
4641
- this.state.portal
4686
+ onDrop: this.onDrop,
4687
+ children: [
4688
+ /* @__PURE__ */ jsx17("div", { ref: this.moveablesRef, className: this.getClassName("flexlayout__layout_moveables" /* FLEXLAYOUT__LAYOUT_MOVEABLES */) }, "__moveables__"),
4689
+ metricElements,
4690
+ /* @__PURE__ */ jsx17(Overlay, { layout: this, show: this.state.showOverlay }, "__overlay__"),
4691
+ outer,
4692
+ reorderedTabs,
4693
+ tabMoveables,
4694
+ tabStamps,
4695
+ this.state.portal
4696
+ ]
4697
+ }
4642
4698
  );
4643
4699
  }
4644
4700
  renderBorders(inner) {
4645
4701
  const classMain = this.getClassName("flexlayout__layout_main" /* FLEXLAYOUT__LAYOUT_MAIN */);
4646
4702
  const borders = this.props.model.getBorderSet().getBorderMap();
4647
4703
  if (borders.size > 0) {
4648
- inner = /* @__PURE__ */ React18.createElement("div", { className: classMain, ref: this.mainRef }, inner);
4704
+ inner = /* @__PURE__ */ jsx17("div", { className: classMain, ref: this.mainRef, children: inner });
4649
4705
  const borderSetComponents = /* @__PURE__ */ new Map();
4650
4706
  const borderSetContentComponents = /* @__PURE__ */ new Map();
4651
4707
  for (const [_, location] of DockLocation.values) {
4652
4708
  const border = borders.get(location);
4653
4709
  const showBorder = border && (!border.isAutoHide() || border.isAutoHide() && (border.getChildren().length > 0 || this.state.showHiddenBorder === location));
4654
4710
  if (showBorder) {
4655
- borderSetComponents.set(location, /* @__PURE__ */ React18.createElement(BorderTabSet, { layout: this, border, size: this.state.calculatedBorderBarSize }));
4656
- borderSetContentComponents.set(location, /* @__PURE__ */ React18.createElement(BorderTab, { layout: this, border, show: border.getSelected() !== -1 }));
4711
+ borderSetComponents.set(location, /* @__PURE__ */ jsx17(BorderTabSet, { layout: this, border, size: this.state.calculatedBorderBarSize }));
4712
+ borderSetContentComponents.set(location, /* @__PURE__ */ jsx17(BorderTab, { layout: this, border, show: border.getSelected() !== -1 }));
4657
4713
  }
4658
4714
  }
4659
4715
  const classBorderOuter = this.getClassName("flexlayout__layout_border_container" /* FLEXLAYOUT__LAYOUT_BORDER_CONTAINER */);
4660
4716
  const classBorderInner = this.getClassName("flexlayout__layout_border_container_inner" /* FLEXLAYOUT__LAYOUT_BORDER_CONTAINER_INNER */);
4661
4717
  if (this.props.model.getBorderSet().getLayoutHorizontal()) {
4662
- const innerWithBorderTabs2 = /* @__PURE__ */ React18.createElement("div", { className: classBorderInner, style: { flexDirection: "column" } }, borderSetContentComponents.get(DockLocation.TOP), /* @__PURE__ */ React18.createElement("div", { className: classBorderInner, style: { flexDirection: "row" } }, borderSetContentComponents.get(DockLocation.LEFT), inner, borderSetContentComponents.get(DockLocation.RIGHT)), borderSetContentComponents.get(DockLocation.BOTTOM));
4663
- return /* @__PURE__ */ React18.createElement("div", { className: classBorderOuter, style: { flexDirection: "column" } }, borderSetComponents.get(DockLocation.TOP), /* @__PURE__ */ React18.createElement("div", { className: classBorderInner, style: { flexDirection: "row" } }, borderSetComponents.get(DockLocation.LEFT), innerWithBorderTabs2, borderSetComponents.get(DockLocation.RIGHT)), borderSetComponents.get(DockLocation.BOTTOM));
4718
+ const innerWithBorderTabs2 = /* @__PURE__ */ jsxs8("div", { className: classBorderInner, style: { flexDirection: "column" }, children: [
4719
+ borderSetContentComponents.get(DockLocation.TOP),
4720
+ /* @__PURE__ */ jsxs8("div", { className: classBorderInner, style: { flexDirection: "row" }, children: [
4721
+ borderSetContentComponents.get(DockLocation.LEFT),
4722
+ inner,
4723
+ borderSetContentComponents.get(DockLocation.RIGHT)
4724
+ ] }),
4725
+ borderSetContentComponents.get(DockLocation.BOTTOM)
4726
+ ] });
4727
+ return /* @__PURE__ */ jsxs8("div", { className: classBorderOuter, style: { flexDirection: "column" }, children: [
4728
+ borderSetComponents.get(DockLocation.TOP),
4729
+ /* @__PURE__ */ jsxs8("div", { className: classBorderInner, style: { flexDirection: "row" }, children: [
4730
+ borderSetComponents.get(DockLocation.LEFT),
4731
+ innerWithBorderTabs2,
4732
+ borderSetComponents.get(DockLocation.RIGHT)
4733
+ ] }),
4734
+ borderSetComponents.get(DockLocation.BOTTOM)
4735
+ ] });
4664
4736
  }
4665
- const innerWithBorderTabs = /* @__PURE__ */ React18.createElement("div", { className: classBorderInner, style: { flexDirection: "row" } }, borderSetContentComponents.get(DockLocation.LEFT), /* @__PURE__ */ React18.createElement("div", { className: classBorderInner, style: { flexDirection: "column" } }, borderSetContentComponents.get(DockLocation.TOP), inner, borderSetContentComponents.get(DockLocation.BOTTOM)), borderSetContentComponents.get(DockLocation.RIGHT));
4666
- return /* @__PURE__ */ React18.createElement("div", { className: classBorderOuter, style: { flexDirection: "row" } }, borderSetComponents.get(DockLocation.LEFT), /* @__PURE__ */ React18.createElement("div", { className: classBorderInner, style: { flexDirection: "column" } }, borderSetComponents.get(DockLocation.TOP), innerWithBorderTabs, borderSetComponents.get(DockLocation.BOTTOM)), borderSetComponents.get(DockLocation.RIGHT));
4667
- }
4668
- return /* @__PURE__ */ React18.createElement("div", { className: classMain, ref: this.mainRef, style: { position: "absolute", top: 0, left: 0, bottom: 0, right: 0, display: "flex" } }, inner);
4737
+ const innerWithBorderTabs = /* @__PURE__ */ jsxs8("div", { className: classBorderInner, style: { flexDirection: "row" }, children: [
4738
+ borderSetContentComponents.get(DockLocation.LEFT),
4739
+ /* @__PURE__ */ jsxs8("div", { className: classBorderInner, style: { flexDirection: "column" }, children: [
4740
+ borderSetContentComponents.get(DockLocation.TOP),
4741
+ inner,
4742
+ borderSetContentComponents.get(DockLocation.BOTTOM)
4743
+ ] }),
4744
+ borderSetContentComponents.get(DockLocation.RIGHT)
4745
+ ] });
4746
+ return /* @__PURE__ */ jsxs8("div", { className: classBorderOuter, style: { flexDirection: "row" }, children: [
4747
+ borderSetComponents.get(DockLocation.LEFT),
4748
+ /* @__PURE__ */ jsxs8("div", { className: classBorderInner, style: { flexDirection: "column" }, children: [
4749
+ borderSetComponents.get(DockLocation.TOP),
4750
+ innerWithBorderTabs,
4751
+ borderSetComponents.get(DockLocation.BOTTOM)
4752
+ ] }),
4753
+ borderSetComponents.get(DockLocation.RIGHT)
4754
+ ] });
4755
+ }
4756
+ return /* @__PURE__ */ jsx17("div", { className: classMain, ref: this.mainRef, style: { position: "absolute", top: 0, left: 0, bottom: 0, right: 0, display: "flex" }, children: inner });
4669
4757
  }
4670
4758
  renderLayout() {
4671
- return /* @__PURE__ */ React18.createElement(React18.Fragment, null, /* @__PURE__ */ React18.createElement(Row, { key: "__row__", layout: this, node: this.props.model.getRoot() }), this.renderEdgeIndicators());
4759
+ return /* @__PURE__ */ jsxs8(Fragment5, { children: [
4760
+ /* @__PURE__ */ jsx17(Row, { layout: this, node: this.props.model.getRoot() }, "__row__"),
4761
+ this.renderEdgeIndicators()
4762
+ ] });
4672
4763
  }
4673
4764
  renderEdgeIndicators() {
4674
4765
  const edges = [];
@@ -4681,47 +4772,47 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
4681
4772
  const className = this.getClassName("flexlayout__edge_rect" /* FLEXLAYOUT__EDGE_RECT */);
4682
4773
  const radius = 50;
4683
4774
  edges.push(
4684
- /* @__PURE__ */ React18.createElement(
4775
+ /* @__PURE__ */ jsx17(
4685
4776
  "div",
4686
4777
  {
4687
- key: "North",
4688
4778
  style: { top: 0, left: r.width / 2 - offset, width: length, height: width, borderBottomLeftRadius: radius, borderBottomRightRadius: radius },
4689
- className: className + " " + this.getClassName("flexlayout__edge_rect_top" /* FLEXLAYOUT__EDGE_RECT_TOP */)
4779
+ className: className + " " + this.getClassName("flexlayout__edge_rect_top" /* FLEXLAYOUT__EDGE_RECT_TOP */),
4780
+ children: /* @__PURE__ */ jsx17("div", { style: { transform: "rotate(180deg)" }, children: arrowIcon })
4690
4781
  },
4691
- /* @__PURE__ */ React18.createElement("div", { style: { transform: "rotate(180deg)" } }, arrowIcon)
4782
+ "North"
4692
4783
  )
4693
4784
  );
4694
4785
  edges.push(
4695
- /* @__PURE__ */ React18.createElement(
4786
+ /* @__PURE__ */ jsx17(
4696
4787
  "div",
4697
4788
  {
4698
- key: "West",
4699
4789
  style: { top: r.height / 2 - offset, left: 0, width, height: length, borderTopRightRadius: radius, borderBottomRightRadius: radius },
4700
- className: className + " " + this.getClassName("flexlayout__edge_rect_left" /* FLEXLAYOUT__EDGE_RECT_LEFT */)
4790
+ className: className + " " + this.getClassName("flexlayout__edge_rect_left" /* FLEXLAYOUT__EDGE_RECT_LEFT */),
4791
+ children: /* @__PURE__ */ jsx17("div", { style: { transform: "rotate(90deg)" }, children: arrowIcon })
4701
4792
  },
4702
- /* @__PURE__ */ React18.createElement("div", { style: { transform: "rotate(90deg)" } }, arrowIcon)
4793
+ "West"
4703
4794
  )
4704
4795
  );
4705
4796
  edges.push(
4706
- /* @__PURE__ */ React18.createElement(
4797
+ /* @__PURE__ */ jsx17(
4707
4798
  "div",
4708
4799
  {
4709
- key: "South",
4710
4800
  style: { top: r.height - width, left: r.width / 2 - offset, width: length, height: width, borderTopLeftRadius: radius, borderTopRightRadius: radius },
4711
- className: className + " " + this.getClassName("flexlayout__edge_rect_bottom" /* FLEXLAYOUT__EDGE_RECT_BOTTOM */)
4801
+ className: className + " " + this.getClassName("flexlayout__edge_rect_bottom" /* FLEXLAYOUT__EDGE_RECT_BOTTOM */),
4802
+ children: /* @__PURE__ */ jsx17("div", { children: arrowIcon })
4712
4803
  },
4713
- /* @__PURE__ */ React18.createElement("div", null, arrowIcon)
4804
+ "South"
4714
4805
  )
4715
4806
  );
4716
4807
  edges.push(
4717
- /* @__PURE__ */ React18.createElement(
4808
+ /* @__PURE__ */ jsx17(
4718
4809
  "div",
4719
4810
  {
4720
- key: "East",
4721
4811
  style: { top: r.height / 2 - offset, left: r.width - width, width, height: length, borderTopLeftRadius: radius, borderBottomLeftRadius: radius },
4722
- className: className + " " + this.getClassName("flexlayout__edge_rect_right" /* FLEXLAYOUT__EDGE_RECT_RIGHT */)
4812
+ className: className + " " + this.getClassName("flexlayout__edge_rect_right" /* FLEXLAYOUT__EDGE_RECT_RIGHT */),
4813
+ children: /* @__PURE__ */ jsx17("div", { style: { transform: "rotate(-90deg)" }, children: arrowIcon })
4723
4814
  },
4724
- /* @__PURE__ */ React18.createElement("div", { style: { transform: "rotate(-90deg)" } }, arrowIcon)
4815
+ "East"
4725
4816
  )
4726
4817
  );
4727
4818
  }
@@ -4741,7 +4832,7 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
4741
4832
  const key = child.getId();
4742
4833
  tabMoveables.push(
4743
4834
  createPortal2(
4744
- /* @__PURE__ */ React18.createElement(SizeTracker, { rect, selected: child.isSelected(), forceRevision: this.state.forceRevision, tabsRevision: this.props.renderRevision, key }, /* @__PURE__ */ React18.createElement(ErrorBoundary, { message: this.i18nName("Error rendering component" /* Error_rendering_component */) }, this.props.factory(child))),
4835
+ /* @__PURE__ */ jsx17(SizeTracker, { rect, selected: child.isSelected(), forceRevision: this.state.forceRevision, tabsRevision: this.props.renderRevision, children: /* @__PURE__ */ jsx17(ErrorBoundary, { message: this.i18nName("Error rendering component" /* Error_rendering_component */), children: this.props.factory(child) }) }, key),
4745
4836
  element,
4746
4837
  key
4747
4838
  )
@@ -4757,7 +4848,7 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
4757
4848
  this.props.model.visitNodes((node) => {
4758
4849
  if (node instanceof TabNode) {
4759
4850
  const child = node;
4760
- tabStamps.push(/* @__PURE__ */ React18.createElement(DragContainer, { key: child.getId(), layout: this, node: child }));
4851
+ tabStamps.push(/* @__PURE__ */ jsx17(DragContainer, { layout: this, node: child }, child.getId()));
4761
4852
  }
4762
4853
  });
4763
4854
  return tabStamps;
@@ -4771,14 +4862,14 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
4771
4862
  const path = child.getPath();
4772
4863
  const renderTab = child.isRendered() || selected || !child.isEnableRenderOnDemand();
4773
4864
  if (renderTab) {
4774
- tabs.set(child.getId(), /* @__PURE__ */ React18.createElement(Tab, { key: child.getId(), layout: this, path, node: child, selected }));
4865
+ tabs.set(child.getId(), /* @__PURE__ */ jsx17(Tab, { layout: this, path, node: child, selected }, child.getId()));
4775
4866
  }
4776
4867
  }
4777
4868
  });
4778
4869
  return tabs;
4779
4870
  }
4780
4871
  renderMetricsElements() {
4781
- return /* @__PURE__ */ React18.createElement("div", { key: "findBorderBarSize", ref: this.findBorderBarSizeRef, className: this.getClassName("flexlayout__border_sizer" /* FLEXLAYOUT__BORDER_SIZER */) }, "FindBorderBarSize");
4872
+ return /* @__PURE__ */ jsx17("div", { ref: this.findBorderBarSizeRef, className: this.getClassName("flexlayout__border_sizer" /* FLEXLAYOUT__BORDER_SIZER */), children: "FindBorderBarSize" }, "findBorderBarSize");
4782
4873
  }
4783
4874
  checkForBorderToShow(x, y) {
4784
4875
  const r = this.getBoundingClientRect(this.mainRef.current);
@@ -5053,7 +5144,7 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
5053
5144
  const y = isInVerticalBorder ? 10 : offsetY;
5054
5145
  let rendered = false;
5055
5146
  if (this.props.onRenderDragRect) {
5056
- const content = /* @__PURE__ */ React18.createElement(TabButtonStamp, { key: node.getId(), layout: this, node });
5147
+ const content = /* @__PURE__ */ jsx17(TabButtonStamp, { layout: this, node }, node.getId());
5057
5148
  const dragComponent = this.props.onRenderDragRect(content, node, void 0);
5058
5149
  if (dragComponent) {
5059
5150
  this.setDragComponent(event, dragComponent, x, y);
@@ -5062,7 +5153,7 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
5062
5153
  }
5063
5154
  if (!rendered) {
5064
5155
  if (isSafari()) {
5065
- this.setDragComponent(event, /* @__PURE__ */ React18.createElement(TabButtonStamp, { node, layout: this }), x, y);
5156
+ this.setDragComponent(event, /* @__PURE__ */ jsx17(TabButtonStamp, { node, layout: this }), x, y);
5066
5157
  } else {
5067
5158
  event.dataTransfer.setDragImage(node.getTabStamp(), x, y);
5068
5159
  }
@@ -5070,7 +5161,7 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
5070
5161
  }
5071
5162
  };
5072
5163
  setDragComponent(event, component, x, y) {
5073
- const dragElement = /* @__PURE__ */ React18.createElement("div", { style: { position: "unset" }, className: this.getClassName("flexlayout__layout" /* FLEXLAYOUT__LAYOUT */) + " " + this.getClassName("flexlayout__drag_rect" /* FLEXLAYOUT__DRAG_RECT */) }, component);
5164
+ const dragElement = /* @__PURE__ */ jsx17("div", { style: { position: "unset" }, className: this.getClassName("flexlayout__layout" /* FLEXLAYOUT__LAYOUT */) + " " + this.getClassName("flexlayout__drag_rect" /* FLEXLAYOUT__DRAG_RECT */), children: component });
5074
5165
  const tempDiv = this.currentDocument.createElement("div");
5075
5166
  tempDiv.setAttribute("data-layout-path", "/drag-rectangle");
5076
5167
  tempDiv.style.position = "absolute";
@@ -5201,13 +5292,13 @@ var LayoutInternal = class _LayoutInternal extends React18.Component {
5201
5292
  };
5202
5293
  var FlexLayoutVersion = "0.8.1";
5203
5294
  var defaultIcons = {
5204
- close: /* @__PURE__ */ React18.createElement(CloseIcon, null),
5205
- closeTabset: /* @__PURE__ */ React18.createElement(CloseIcon, null),
5206
- maximize: /* @__PURE__ */ React18.createElement(MaximizeIcon, null),
5207
- restore: /* @__PURE__ */ React18.createElement(RestoreIcon, null),
5208
- more: /* @__PURE__ */ React18.createElement(OverflowIcon, null),
5209
- edgeArrow: /* @__PURE__ */ React18.createElement(EdgeIcon, null),
5210
- activeTabset: /* @__PURE__ */ React18.createElement(AsterickIcon, null)
5295
+ close: /* @__PURE__ */ jsx17(CloseIcon, {}),
5296
+ closeTabset: /* @__PURE__ */ jsx17(CloseIcon, {}),
5297
+ maximize: /* @__PURE__ */ jsx17(MaximizeIcon, {}),
5298
+ restore: /* @__PURE__ */ jsx17(RestoreIcon, {}),
5299
+ more: /* @__PURE__ */ jsx17(OverflowIcon, {}),
5300
+ edgeArrow: /* @__PURE__ */ jsx17(EdgeIcon, {}),
5301
+ activeTabset: /* @__PURE__ */ jsx17(AsterickIcon, {})
5211
5302
  };
5212
5303
  var edgeRectLength = 100;
5213
5304
  var edgeRectWidth = 10;
@@ -5227,8 +5318,8 @@ var DragState = class {
5227
5318
  };
5228
5319
 
5229
5320
  // src/view/OptimizedLayout.tsx
5230
- import * as React19 from "react";
5231
5321
  import { memo as memo2, useCallback, useEffect as useEffect6, useLayoutEffect as useLayoutEffect8, useMemo, useRef as useRef11, useState as useState3 } from "react";
5322
+ import { jsx as jsx18, jsxs as jsxs9 } from "react/jsx-runtime";
5232
5323
  function createTabInfo(node) {
5233
5324
  const parent = node.getParent();
5234
5325
  const contentRect = parent?.getContentRect() ?? Rect.empty();
@@ -5314,7 +5405,7 @@ var TabPanel = memo2(function TabPanel2({
5314
5405
  isHidden = true;
5315
5406
  }
5316
5407
  }
5317
- return /* @__PURE__ */ React19.createElement(
5408
+ return /* @__PURE__ */ jsx18(
5318
5409
  "div",
5319
5410
  {
5320
5411
  ref: selfRef,
@@ -5332,9 +5423,9 @@ var TabPanel = memo2(function TabPanel2({
5332
5423
  zIndex,
5333
5424
  // Tab panels receive pointer events when visible and not dragging
5334
5425
  pointerEvents: !isHidden && !isDragging ? "auto" : "none"
5335
- }
5336
- },
5337
- content
5426
+ },
5427
+ children: content
5428
+ }
5338
5429
  );
5339
5430
  });
5340
5431
  function TabContainer({
@@ -5350,13 +5441,12 @@ function TabContainer({
5350
5441
  const maximizedTabset = model.getMaximizedTabset(Model.MAIN_WINDOW_ID);
5351
5442
  const hasMaximizedTabset = maximizedTabset !== void 0;
5352
5443
  const containerStyle = hasMaximizedTabset ? { zIndex: 10 } : {};
5353
- return /* @__PURE__ */ React19.createElement("div", { className: "flexlayout__optimized_layout_tab_container", "data-layout-path": "/tab-container", style: containerStyle }, Array.from(tabs.entries()).map(([nodeId, tabInfo]) => {
5444
+ return /* @__PURE__ */ jsx18("div", { className: "flexlayout__optimized_layout_tab_container", "data-layout-path": "/tab-container", style: containerStyle, children: Array.from(tabs.entries()).map(([nodeId, tabInfo]) => {
5354
5445
  const parent = tabInfo.node.getParent();
5355
5446
  const isMaximized = parent instanceof TabSetNode && parent.isMaximized();
5356
- return /* @__PURE__ */ React19.createElement(
5447
+ return /* @__PURE__ */ jsx18(
5357
5448
  TabPanel,
5358
5449
  {
5359
- key: nodeId,
5360
5450
  nodeId,
5361
5451
  node: tabInfo.node,
5362
5452
  rect: tabInfo.rect,
@@ -5368,9 +5458,10 @@ function TabContainer({
5368
5458
  model,
5369
5459
  isMaximized,
5370
5460
  hasMaximizedTabset
5371
- }
5461
+ },
5462
+ nodeId
5372
5463
  );
5373
- }));
5464
+ }) });
5374
5465
  }
5375
5466
  function OptimizedLayout({ model, renderTab, classNameMapper, onDragStateChange, onModelChange: userOnModelChange, ...layoutProps }) {
5376
5467
  const [isDragging, setIsDragging] = useState3(false);
@@ -5477,11 +5568,14 @@ function OptimizedLayout({ model, renderTab, classNameMapper, onDragStateChange,
5477
5568
  );
5478
5569
  const factory = useCallback(
5479
5570
  (node) => {
5480
- return /* @__PURE__ */ React19.createElement(TabRef, { key: node.getId(), node, selected: node.isSelected(), onTabMount: handleTabMount, onRectChange: handleRectChange, onVisibilityChange: handleVisibilityChange });
5571
+ return /* @__PURE__ */ jsx18(TabRef, { node, selected: node.isSelected(), onTabMount: handleTabMount, onRectChange: handleRectChange, onVisibilityChange: handleVisibilityChange }, node.getId());
5481
5572
  },
5482
5573
  [handleTabMount, handleRectChange, handleVisibilityChange]
5483
5574
  );
5484
- return /* @__PURE__ */ React19.createElement("div", { className: "flexlayout__optimized_layout" }, /* @__PURE__ */ React19.createElement(Layout, { model, factory, classNameMapper, onDragStateChange: handleDragStateChange, onModelChange: handleModelChange, ...layoutProps }), /* @__PURE__ */ React19.createElement(TabContainer, { tabs, renderTab, isDragging, classNameMapper, model, maximizedTabsetId }));
5575
+ return /* @__PURE__ */ jsxs9("div", { className: "flexlayout__optimized_layout", children: [
5576
+ /* @__PURE__ */ jsx18(Layout, { model, factory, classNameMapper, onDragStateChange: handleDragStateChange, onModelChange: handleModelChange, ...layoutProps }),
5577
+ /* @__PURE__ */ jsx18(TabContainer, { tabs, renderTab, isDragging, classNameMapper, model, maximizedTabsetId })
5578
+ ] });
5485
5579
  }
5486
5580
 
5487
5581
  // src/model/walk.ts