@ixfx/components 0.8.3 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/bundle/index.d.ts +78 -9
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +241 -47
  4. package/bundle/index.js.map +1 -1
  5. package/dist/ac-text.d.ts +1 -1
  6. package/dist/{ac-token--_vCHXWw.d.ts → ac-token-TCLAZeVg.d.ts} +2 -2
  7. package/dist/{ac-token--_vCHXWw.d.ts.map → ac-token-TCLAZeVg.d.ts.map} +1 -1
  8. package/dist/ac-token.d.ts +1 -1
  9. package/dist/button.d.ts +1 -1
  10. package/dist/button.d.ts.map +1 -1
  11. package/dist/colour-picker.d.ts +1 -1
  12. package/dist/crumbs.d.ts +1 -1
  13. package/dist/{data-grid-D-z7bx5-.d.ts → data-grid-DCt0oack.d.ts} +2 -2
  14. package/dist/{data-grid-D-z7bx5-.d.ts.map → data-grid-DCt0oack.d.ts.map} +1 -1
  15. package/dist/data-grid.d.ts +1 -1
  16. package/dist/{detail-list-_ZJHYEBr.d.ts → detail-list-CqRzhFnv.d.ts} +2 -2
  17. package/dist/{detail-list-_ZJHYEBr.d.ts.map → detail-list-CqRzhFnv.d.ts.map} +1 -1
  18. package/dist/detail-list.d.ts +1 -1
  19. package/dist/{grid-list-BXfY3XXX.js → grid-list-j5C7qtlG.js} +148 -29
  20. package/dist/grid-list-j5C7qtlG.js.map +1 -0
  21. package/dist/grid-list-x550wJ0X.d.ts.map +1 -1
  22. package/dist/grid-list.js +1 -1
  23. package/dist/{grouped-item-lister-fdZHVxFM.d.ts → grouped-item-lister-CEZ72VOs.d.ts} +2 -2
  24. package/dist/{grouped-item-lister-fdZHVxFM.d.ts.map → grouped-item-lister-CEZ72VOs.d.ts.map} +1 -1
  25. package/dist/grouped-item-lister.d.ts +1 -1
  26. package/dist/{icon-CDGprSdE.d.ts → icon-DR_3rSyZ.d.ts} +2 -2
  27. package/dist/icon-DR_3rSyZ.d.ts.map +1 -0
  28. package/dist/icons.d.ts +2 -2
  29. package/dist/{index-tq6f8007.d.ts → index-BOUaDIW-.d.ts} +2 -2
  30. package/dist/{index-tq6f8007.d.ts.map → index-BOUaDIW-.d.ts.map} +1 -1
  31. package/dist/{index-CoqtMSd9.d.ts → index-BUB5SICW.d.ts} +2 -2
  32. package/dist/{index-CoqtMSd9.d.ts.map → index-BUB5SICW.d.ts.map} +1 -1
  33. package/dist/{index-9AhaHIT2.d.ts → index-C59-JEPl.d.ts} +3 -3
  34. package/dist/{index-9AhaHIT2.d.ts.map → index-C59-JEPl.d.ts.map} +1 -1
  35. package/dist/{index-UvnoZUAo.d.ts → index-CJ5fshD3.d.ts} +2 -2
  36. package/dist/{index-UvnoZUAo.d.ts.map → index-CJ5fshD3.d.ts.map} +1 -1
  37. package/dist/{index-CS9yM8L-.d.ts → index-DsjpDksO.d.ts} +2 -2
  38. package/dist/{index-CS9yM8L-.d.ts.map → index-DsjpDksO.d.ts.map} +1 -1
  39. package/dist/index.d.ts +92 -23
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +95 -20
  42. package/dist/index.js.map +1 -1
  43. package/dist/{labelled-input-base-DiTme1JO.d.ts → labelled-input-base-Dp_9KP0G.d.ts} +2 -2
  44. package/dist/{labelled-input-base-DiTme1JO.d.ts.map → labelled-input-base-Dp_9KP0G.d.ts.map} +1 -1
  45. package/dist/labelled-radial-input.d.ts +2 -2
  46. package/dist/labelled-radial-input.d.ts.map +1 -1
  47. package/dist/labelled-range-input.d.ts +1 -1
  48. package/dist/labelled-slider-input.d.ts +1 -1
  49. package/dist/{menu-item-CZi9vy5O.d.ts → menu-item-ZmkXNjek.d.ts} +2 -2
  50. package/dist/{menu-item-CZi9vy5O.d.ts.map → menu-item-ZmkXNjek.d.ts.map} +1 -1
  51. package/dist/menu.d.ts +2 -2
  52. package/dist/panel.d.ts +1 -1
  53. package/dist/{split-layout-JK3xWVX2.d.ts → split-layout-C5SYbDrq.d.ts} +2 -2
  54. package/dist/{split-layout-JK3xWVX2.d.ts.map → split-layout-C5SYbDrq.d.ts.map} +1 -1
  55. package/dist/split-layout.d.ts +1 -1
  56. package/dist/{tab-list-CGyPt07Z.d.ts → tab-list-DbMIL520.d.ts} +2 -2
  57. package/dist/{tab-list-CGyPt07Z.d.ts.map → tab-list-DbMIL520.d.ts.map} +1 -1
  58. package/dist/tabs.d.ts +1 -1
  59. package/dist/{titlebar-Tqu-VvMU.d.ts → titlebar-B5zSTZnF.d.ts} +2 -2
  60. package/dist/{titlebar-Tqu-VvMU.d.ts.map → titlebar-B5zSTZnF.d.ts.map} +1 -1
  61. package/dist/titlebar.d.ts +1 -1
  62. package/docs-user/dock.md +27 -5
  63. package/docs-user/grid-list.md +5 -3
  64. package/docs-user/index.json +2 -2
  65. package/package.json +1 -1
  66. package/dist/grid-list-BXfY3XXX.js.map +0 -1
  67. package/dist/icon-CDGprSdE.d.ts.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,35 +1,35 @@
1
- import { t as IxfxIconElement } from "./icon-CDGprSdE.js";
1
+ import { t as IxfxIconElement } from "./icon-DR_3rSyZ.js";
2
2
  import { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent } from "./ac-text.js";
3
3
  import { i as collectDataResult, n as DataProviderResult, r as IDataProvider, t as DataBatch } from "./data-provider-BAn_-oR1.js";
4
- import { a as AcTokenItem, c as AcTokenizerFn, i as AcTokenElementEventMap, l as AcTokensChangeDetail, n as AcTokenAddDetail, o as AcTokenRemoveDetail, r as AcTokenAddEvent, s as AcTokenRemoveEvent, t as AcTokenElement, u as AcTokensChangeEvent } from "./ac-token--_vCHXWw.js";
4
+ import { a as AcTokenItem, c as AcTokenizerFn, i as AcTokenElementEventMap, l as AcTokensChangeDetail, n as AcTokenAddDetail, o as AcTokenRemoveDetail, r as AcTokenAddEvent, s as AcTokenRemoveEvent, t as AcTokenElement, u as AcTokensChangeEvent } from "./ac-token-TCLAZeVg.js";
5
5
  import { ButtonElement } from "./button.js";
6
6
  import { Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap } from "./checkbox.js";
7
- import { a as ColourPickerInputEvent, i as ColourPickerEventDetail, n as ColourPicker, o as OklchValue, r as ColourPickerChangeEvent, t as ColourPickerPopup } from "./index-tq6f8007.js";
8
- import { t as LabelledRangeInput } from "./index-CoqtMSd9.js";
7
+ import { a as ColourPickerInputEvent, i as ColourPickerEventDetail, n as ColourPicker, o as OklchValue, r as ColourPickerChangeEvent, t as ColourPickerPopup } from "./index-BOUaDIW-.js";
8
+ import { t as LabelledRangeInput } from "./index-BUB5SICW.js";
9
9
  import { a as TreeItem, i as TreeInteractionMode, n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Bc23SI94.js";
10
10
  import { _ as TreeDataModelOptions, a as TreeComponent, c as TreeExpandEvent, d as TreeSearchHost, f as TreeSelectDetail, g as TreeDataModel, h as TreeTickleEvent, i as TreeCollapseEvent, l as TreeItemClickDetail, m as TreeTickleDetail, n as TreeActivateEvent, o as TreeComponentEventMap, p as TreeSelectEvent, r as TreeCollapseDetail, s as TreeExpandDetail, t as TreeActivateDetail, u as TreeItemClickEvent } from "./tree-component-F6qZ0Gdv.js";
11
- import "./menu-item-CZi9vy5O.js";
11
+ import "./menu-item-ZmkXNjek.js";
12
12
  import { FuzzySearchResult, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, Orientation, SelectionMode } from "./narrowed-text.js";
13
13
  import { CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent } from "./crumbs.js";
14
14
  import { ConfigEntry, DataDisplayComponent, FormattingOptions, RendererStyle } from "./data-display.js";
15
- import { _ as DataGridSortDetail, a as DataGridColumnReorderDetail, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridSelectEvent, h as DataGridSelectDetail, i as DataGridCellEditEvent, l as DataGridColumnVisibilityDetail, m as DataGridGroupChangeEvent, n as DataGridCellClickEvent, o as DataGridColumnReorderEvent, p as DataGridGroupChangeDetail, r as DataGridCellEditDetail, s as DataGridColumnResizeDetail, t as DataGridCellClickDetail, u as DataGridColumnVisibilityEvent, v as DataGridSortEvent } from "./data-grid-D-z7bx5-.js";
15
+ import { _ as DataGridSortDetail, a as DataGridColumnReorderDetail, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridSelectEvent, h as DataGridSelectDetail, i as DataGridCellEditEvent, l as DataGridColumnVisibilityDetail, m as DataGridGroupChangeEvent, n as DataGridCellClickEvent, o as DataGridColumnReorderEvent, p as DataGridGroupChangeDetail, r as DataGridCellEditDetail, s as DataGridColumnResizeDetail, t as DataGridCellClickDetail, u as DataGridColumnVisibilityEvent, v as DataGridSortEvent } from "./data-grid-DCt0oack.js";
16
16
  import { A as FuzzySearch, C as ListSearchControllerOptions, D as IncrSearchTreeOptions, E as IncrSearchTreeController, F as IncrSearchChangeCallback, I as IncrSearchOptions, L as IncrSearchResult, M as HighlightOptions, N as HighlightTarget, O as createAcCompletionProvider, P as IncrSearch, R as IncrSearchState, S as ListSearchController, T as ListSearchMode, _ as DataListSearchAdapterOptions, a as RegisterListSearchCommandsOptions, b as LIST_SEARCH_MODES, c as applyHighlights, d as createFuzzySearch, f as ElementIncrSearch, g as createElementListSearchAdapter, h as ElementListSearchHost, i as LIST_SEARCH_COMMAND_IDS, j as FuzzySearchOptions, k as ElementIncrSearchOptions, l as buildHighlightTargets, m as ElementListSearchAdapterOptions, n as createTreeListSearchAdapter, o as registerListSearchCommands, p as createElementIncrSearch, r as listSearchStyles, s as createIncrSearch, t as TreeListSearchAdapterOptions, u as clearHighlights, v as DataListSearchItem, w as ListSearchHost, x as ListSearchAdapter, y as createDataListSearchAdapter } from "./index-h6gxtfHH.js";
17
- import { t as index_d_exports } from "./index-9AhaHIT2.js";
17
+ import { t as index_d_exports } from "./index-C59-JEPl.js";
18
18
  import { a as ListItemClickDetail, c as ListSelectEvent, d as ListTickleEvent, i as ListInteractionMode, l as ListSelectionMode, n as ListActivateEvent, o as ListItemClickEvent, r as ListElementEventMap, s as ListSelectDetail, t as ListActivateDetail, u as ListTickleDetail } from "./list-selection-types-B5ioL-dG.js";
19
19
  import { n as CustomCheckboxOptions, r as VerticalListElement, t as AddItemOptions } from "./vertical-list-CFuFDygi.js";
20
- import { a as DetailSortMode, i as DetailSortItem, n as DetailFormatter, r as DetailSortComparator, t as DetailListElement } from "./detail-list-_ZJHYEBr.js";
20
+ import { a as DetailSortMode, i as DetailSortItem, n as DetailFormatter, r as DetailSortComparator, t as DetailListElement } from "./detail-list-CqRzhFnv.js";
21
21
  import { a as EditableMode, i as EditableLabelChangeEvent, n as EditableLabel, o as EntryMode, r as EditableLabelChangeDetail, t as DisplayTextLogic } from "./editable-label-rzXkjf1H.js";
22
22
  import { FormElement } from "./form.js";
23
23
  import { C as GridListOrientation, D as GridListTickleEvent, E as GridListTickleDetail, O as GridListViewportChangeDetail, S as GridListNativeDragStartEvent, T as GridListSelectEvent, _ as GridListFullElementEventMap, a as ListSelectionControllerConfig, b as GridListItemEventDetail, c as isMultiMode, d as GridListCaptionAlign, f as GridListCaptionBackdrop, g as GridListElementEventMap, h as GridListDataAdapter, i as ListSelectionController, k as GridListViewportChangeEvent, l as GridListActivateDetail, m as GridListCaptionStyle, n as PanTextElement, o as ListSelectionGesture, p as GridListCaptionPosition, r as PanTextMode, s as ListSelectionModes, t as GridListElement, u as GridListActivateEvent, v as GridListItemClickDetail, w as GridListSelectDetail, x as GridListNativeDragStartDetail, y as GridListItemClickEvent } from "./grid-list-x550wJ0X.js";
24
24
  import { i as TickledItem, n as TickledController, r as TickledControllerConfig, t as InputMode } from "./tickled-controller-C1ZsHpyg.js";
25
- import { a as IGroupedSubComponent, c as SubComponentActivateEvent, d as SubComponentItemClickEvent, f as SubComponentSelectDetail, h as SubComponentTickleEvent, i as GroupedSelectEvent, l as SubComponentFactory, m as SubComponentTickleDetail, n as GroupedItemListerElementEventMap, o as IGroupedSubComponentEventMap, p as SubComponentSelectEvent, r as GroupedSelectDetail, s as SubComponentActivateDetail, t as GroupedItemListerElement, u as SubComponentItemClickDetail } from "./grouped-item-lister-fdZHVxFM.js";
26
- import { a as TitlebarToggleDetail, c as TitlebarVariant, i as TitlebarOrientation, n as TitlebarElement, o as TitlebarToggleEvent, r as TitlebarElementEventMap, s as TitlebarToggleInteraction, t as TitlebarCloseEvent } from "./titlebar-Tqu-VvMU.js";
25
+ import { a as IGroupedSubComponent, c as SubComponentActivateEvent, d as SubComponentItemClickEvent, f as SubComponentSelectDetail, h as SubComponentTickleEvent, i as GroupedSelectEvent, l as SubComponentFactory, m as SubComponentTickleDetail, n as GroupedItemListerElementEventMap, o as IGroupedSubComponentEventMap, p as SubComponentSelectEvent, r as GroupedSelectDetail, s as SubComponentActivateDetail, t as GroupedItemListerElement, u as SubComponentItemClickDetail } from "./grouped-item-lister-CEZ72VOs.js";
26
+ import { a as TitlebarToggleDetail, c as TitlebarVariant, i as TitlebarOrientation, n as TitlebarElement, o as TitlebarToggleEvent, r as TitlebarElementEventMap, s as TitlebarToggleInteraction, t as TitlebarCloseEvent } from "./titlebar-B5zSTZnF.js";
27
27
  import { PanelCloseEvent, PanelElement, PanelElementEventMap, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant } from "./panel.js";
28
28
  import { a as NoneSelectEventDetail, c as SingleSelectEventDetail, i as IxfxHexEditorElement, n as HexChangeDetail, o as RectangularSelectEventDetail, r as HexChangeEvent, s as SelectEventDetail, t as ContiguousSelectEventDetail } from "./hex-editor-Caq8vNQk.js";
29
- import { a as getIconEntry, c as iconBus, d as setIconFont, f as svgToDataUri, g as ICON_CLOSE, h as ICON_CHEVRON_DOWN, i as getIcon, l as registerFontIcon, m as ICON_CHECK, n as IconChangedEvent, o as getIconFont, p as ICON_CARET_RIGHT, r as IconEntry, s as hasIcon, t as IconChangedDetail, u as registerIcon } from "./index-CS9yM8L-.js";
30
- import { _ as SplitExpandEvent, a as LayoutNode, b as SplitResizeEvent, c as PanelNode, d as SplitChangeEvent, f as SplitCloseDetail, g as SplitExpandDetail, h as SplitCollapseEvent, i as GroupNode, l as SnapshotNode, m as SplitCollapseDetail, n as SplitPanelElement, o as LayoutSnapshot, p as SplitCloseEvent, r as Axis, s as PanelInfo, t as SplitLayoutElement, u as SplitChangeDetail, v as SplitLayoutElementEventMap, x as WhenSmall, y as SplitResizeDetail } from "./split-layout-JK3xWVX2.js";
31
- import { a as TabListReorderDetail, i as TabListElement, n as TabListChangeEvent, o as TabListReorderEvent, r as TabListDragMode, s as TabListItemElement, t as TabListChangeDetail } from "./tab-list-CGyPt07Z.js";
32
- import { n as EditableNumber, t as LabelledSliderInput } from "./index-UvnoZUAo.js";
29
+ import { a as getIconEntry, c as iconBus, d as setIconFont, f as svgToDataUri, g as ICON_CLOSE, h as ICON_CHEVRON_DOWN, i as getIcon, l as registerFontIcon, m as ICON_CHECK, n as IconChangedEvent, o as getIconFont, p as ICON_CARET_RIGHT, r as IconEntry, s as hasIcon, t as IconChangedDetail, u as registerIcon } from "./index-DsjpDksO.js";
30
+ import { _ as SplitExpandEvent, a as LayoutNode, b as SplitResizeEvent, c as PanelNode, d as SplitChangeEvent, f as SplitCloseDetail, g as SplitExpandDetail, h as SplitCollapseEvent, i as GroupNode, l as SnapshotNode, m as SplitCollapseDetail, n as SplitPanelElement, o as LayoutSnapshot, p as SplitCloseEvent, r as Axis, s as PanelInfo, t as SplitLayoutElement, u as SplitChangeDetail, v as SplitLayoutElementEventMap, x as WhenSmall, y as SplitResizeDetail } from "./split-layout-C5SYbDrq.js";
31
+ import { a as TabListReorderDetail, i as TabListElement, n as TabListChangeEvent, o as TabListReorderEvent, r as TabListDragMode, s as TabListItemElement, t as TabListChangeDetail } from "./tab-list-DbMIL520.js";
32
+ import { n as EditableNumber, t as LabelledSliderInput } from "./index-CJ5fshD3.js";
33
33
  import { a as RadialInputChangeDetail, c as RadialInputInputEvent, i as MarkerStyle, l as ValueMode, n as LaneData, o as RadialInputChangeEvent, r as LaneType, s as RadialInputInputDetail, t as RadialInputElement } from "./radial-input-DU6t2hYO.js";
34
34
  import { LabelledRadialInput } from "./labelled-radial-input.js";
35
35
  import { _ as SliderValueMode, a as SliderInputChangeDetail, c as SliderInputInputDetail, d as SliderLaneType, f as SliderMarkerStyle, g as SliderValueDrag, h as SliderValueCFollow, i as SliderHandleKey, l as SliderInputInputEvent, m as SliderSingleStyle, n as SliderChangedField, o as SliderInputChangeEvent, p as SliderOrientation, r as SliderCrossover, s as SliderInputElementEventMap, t as SliderInputElement, u as SliderLaneData } from "./slider-input-BxURAAmD.js";
@@ -517,6 +517,37 @@ interface DockLeafContentRules {
517
517
  /** Denylist (empty when nothing is denied). */
518
518
  readonly deny: readonly string[];
519
519
  }
520
+ /**
521
+ * Placement policy for one named leaf, passed to
522
+ * `host.setLeafPlacementPolicy(name, policy)`. A superset of the kind rules
523
+ * ({@link DockLeafContentRules}) plus a gate on edge splits beside the leaf.
524
+ * Every field is optional and merges into the stored policy — omit a field
525
+ * to leave it unchanged; use `clearLeafPlacementPolicy(name)` to reset.
526
+ */
527
+ interface DockLeafPlacementPolicy {
528
+ /** Exclusive allowlist of panel kinds — same as `setLeafExclusiveContents`. `[]` seals the leaf. */
529
+ readonly allowKinds?: readonly string[];
530
+ /** Denied panel kinds — same as `setLeafDenyContents`. */
531
+ readonly denyKinds?: readonly string[];
532
+ /**
533
+ * Whether an edge drop may split a new sibling leaf beside this named leaf.
534
+ * Default `true`. `false` enforces strict named-area containment: the edge
535
+ * drop zones beside the leaf go inert for every placement route, so a panel
536
+ * cannot escape the area by splitting next to it. A permitted split still
537
+ * creates an *unnamed, unconstrained* leaf — the area policy is not
538
+ * propagated to it.
539
+ */
540
+ readonly allowEdgeSplit?: boolean;
541
+ }
542
+ /** Resolved placement policy for one named leaf, returned by `getLeafPlacementPolicy()`. */
543
+ interface DockLeafPlacementPolicyResolved {
544
+ /** Exclusive allowlist, or null when unrestricted. */
545
+ readonly allowKinds: readonly string[] | null;
546
+ /** Denylist (empty when nothing is denied). */
547
+ readonly denyKinds: readonly string[];
548
+ /** Whether edge splits beside the leaf are offered. */
549
+ readonly allowEdgeSplit: boolean;
550
+ }
520
551
  /**
521
552
  * Reference to a stack leaf: either its container `name` or its numeric
522
553
  * `path` in the layout tree (e.g. `[0, 1]`). Names resolve first-match in
@@ -714,10 +745,11 @@ declare class DockHostElement extends LitElement {
714
745
  /** panelId → toolbar nodes currently moved out into a tab item. */
715
746
  private _toolbarsOut;
716
747
  /**
717
- * Placement policy per named leaf: `{ allow, deny }` kind sets.
718
- * Host-level only — never serialized into the layout, but kept across
719
- * `loadLayout()` calls. Existing panels are grandfathered; rules govern
720
- * future placements (drags, `addPanel`, re-homing).
748
+ * Placement policy per named leaf: `{ allow, deny }` kind sets plus an
749
+ * `allowEdgeSplit` gate (default `true`). Host-level only — never serialized
750
+ * into the layout, but kept across `loadLayout()` calls. Existing panels are
751
+ * grandfathered; rules govern future placements (drags, `addPanel`,
752
+ * re-homing). See {@link setLeafPlacementPolicy}.
721
753
  */
722
754
  private _leafContentRules;
723
755
  private _tabDragPending;
@@ -745,6 +777,13 @@ declare class DockHostElement extends LitElement {
745
777
  private _panelKind;
746
778
  /** Whether `kind` may live in `stack` under the current leaf rules. */
747
779
  private _stackAllowsKind;
780
+ /**
781
+ * Whether an edge drop may split a new sibling leaf beside `stack`. Unnamed
782
+ * leaves and leaves with no policy always allow it; a named leaf whose
783
+ * policy sets `allowEdgeSplit: false` does not (strict named-area
784
+ * containment).
785
+ */
786
+ private _leafAllowsEdgeSplit;
748
787
  /** First stack (tree order) whose rules admit `kind`, else the first stack. */
749
788
  private _firstStackAllowing;
750
789
  private _onPoolSlotChange;
@@ -759,6 +798,8 @@ declare class DockHostElement extends LitElement {
759
798
  addPanel(panel: DockPanelElement | DockPanelInit, target?: DockAddPanelTarget): boolean;
760
799
  /** Whether the stack at `stackPath` admits `kind` under the leaf rules. */
761
800
  private _stackAllowsKindAt;
801
+ /** Whether the stack at `stackPath` permits an edge split beside it. */
802
+ private _stackAllowsEdgeSplitAt;
762
803
  removePanel(panelId: string): boolean;
763
804
  activatePanel(panelId: string): boolean;
764
805
  getPanelIds(): string[];
@@ -777,11 +818,16 @@ declare class DockHostElement extends LitElement {
777
818
  getContainerPanels(name: string): string[];
778
819
  /** Panel elements in a named container, in tab order — for iterating children. */
779
820
  getContainerElements(name: string): DockPanelElement[];
821
+ private _defaultLeafRule;
822
+ /** A rule entry that constrains nothing — safe to drop from the map. */
823
+ private _isEmptyLeafRule;
824
+ private _warnUnknownContainer;
780
825
  /**
781
826
  * Restrict a named container to only the given panel kinds — e.g.
782
827
  * `setLeafExclusiveContents('editor', ['document'])`. `tabs` drops,
783
- * `addPanel`, and re-homing into the leaf then refuse other kinds, while
784
- * edge splits beside the leaf stay allowed (they create a new leaf).
828
+ * `addPanel`, and re-homing into the leaf then refuse other kinds. Whether
829
+ * edge splits beside the leaf are offered is governed separately by
830
+ * {@link setLeafPlacementPolicy}'s `allowEdgeSplit` (default `true`).
785
831
  * Pass `[]` to seal the leaf (nothing admitted). Warns when no stack
786
832
  * currently carries `name`, but the rule is still stored and applies once
787
833
  * one appears. Rules are host policy: kept across `loadLayout()`, never
@@ -795,10 +841,33 @@ declare class DockHostElement extends LitElement {
795
841
  * {@link setLeafExclusiveContents} for scope/ordering notes.
796
842
  */
797
843
  setLeafDenyContents(name: string, kinds: readonly string[]): void;
798
- /** Remove every content rule for a named container. */
844
+ /**
845
+ * Set (merge) the full placement policy for a named leaf: kind allow/deny
846
+ * lists plus the `allowEdgeSplit` gate. Omitted fields are left unchanged
847
+ * — pass `clearLeafPlacementPolicy(name)` to reset. `allowKinds` /
848
+ * `denyKinds` are equivalent to {@link setLeafExclusiveContents} /
849
+ * {@link setLeafDenyContents} and share the same storage.
850
+ *
851
+ * `allowEdgeSplit: false` enforces strict named-area containment: the edge
852
+ * drop zones beside the leaf go inert for every placement route (pointer
853
+ * preview and drop, `queryDropTarget` / `previewExternalDrop`,
854
+ * `addPanel` with a split `op`), so a panel cannot escape the area by
855
+ * splitting next to it. A permitted split still creates an *unnamed,
856
+ * unconstrained* leaf — the policy is not propagated to it.
857
+ *
858
+ * Warns when no stack currently carries `name`; the policy is stored and
859
+ * applies once one appears. Host policy: kept across `loadLayout()`, never
860
+ * serialized.
861
+ */
862
+ setLeafPlacementPolicy(name: string, policy: DockLeafPlacementPolicy): void;
863
+ /** Remove every content rule and reset the edge-split gate for a named container. */
799
864
  clearLeafContentRestrictions(name: string): void;
800
- /** Copy of a container's rules, or null when unrestricted. */
865
+ /** Alias of {@link clearLeafContentRestrictions} — clears kind rules and the edge-split gate. */
866
+ clearLeafPlacementPolicy(name: string): void;
867
+ /** Copy of a container's kind rules, or null when unrestricted. */
801
868
  getLeafContentRestrictions(name: string): DockLeafContentRules | null;
869
+ /** Resolved placement policy for a container, or null when it has none. */
870
+ getLeafPlacementPolicy(name: string): DockLeafPlacementPolicyResolved | null;
802
871
  /**
803
872
  * Geometric neighbours of a leaf (`name` or numeric `path`) — what sits
804
873
  * above / below / left / right of it on screen. Each entry is
@@ -2067,5 +2136,5 @@ declare function monitorIndeterminate(targetElOrQuery: string | HTMLElement, wat
2067
2136
  //#region src/index.d.ts
2068
2137
  declare function init(): void;
2069
2138
  //#endregion
2070
- export { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent, type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent, AddItemOptions, Axis, BottomDrawerCloseEvent, BottomDrawerCommand, BottomDrawerElement, BottomDrawerElementEventMap, BottomDrawerResizeDetail, BottomDrawerResizeEvent, ButtonElement, Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap, ClickSnapMode, ColourMapConfig, ColourMode, ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, ColourResult, ConfigEntry, ContiguousSelectEventDetail, CrossoverBehaviour, CrumbNavChangeDetail, CrumbNavChangeEvent, CrumbNavExpandDetail, CrumbNavExpandEvent, CrumbNavNavigateDetail, CrumbNavNavigateEvent, CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, CrumbPathController, CrumbPathControllerOptions, CrumbPathElement, CrumbPathElementEventMap, CrumbSegment, CrumbSiblingLookupFn, type CssVars, CustomCheckboxOptions, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, DataGridElement, DataGridElementEventMap, DataGridGroupChangeDetail, DataGridGroupChangeEvent, DataGridSelectDetail, DataGridSelectEvent, DataGridSortDetail, DataGridSortEvent, type DataListSearchAdapterOptions, type DataListSearchItem, DataProviderResult, DataTableElement, DataTableElementEventMap, DataTableRow, DataTableRowClickDetail, DataTableRowClickEvent, type DetailFormatter, DetailListElement, type DetailSortComparator, type DetailSortItem, type DetailSortMode, DisplayTextLogic, DistributeResult, DockAddPanelTarget, DockAxis, DockChangeDetail, DockChangeEvent, DockDirection, DockDragBoundaryDetail, DockDragBoundaryEvent, DockDropTarget, type DockDropZone, DockEdge, DockHostElement, DockHostElementEventMap, DockLayout, DockLeafContentRules, DockLeafInfo, DockLeafRef, DockNeighbours, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, DockRect, DockSplitNode, DockStackNode, type DragSelectRect, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, type GridListActivateDetail, type GridListActivateEvent, type GridListCaptionAlign, type GridListCaptionBackdrop, type GridListCaptionPosition, type GridListCaptionStyle, type GridListDataAdapter, GridListElement, type GridListElementEventMap, type GridListFullElementEventMap, type GridListItemClickDetail, type GridListItemClickEvent, type GridListItemEventDetail, type GridListNativeDragStartDetail, type GridListNativeDragStartEvent, type GridListOrientation, type GridListSelectDetail, type GridListSelectEvent, type GridListTickleDetail, type GridListTickleEvent, type GridListViewportChangeDetail, type GridListViewportChangeEvent, GridMode, GridResolution, GroupNode, GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, HexChangeDetail, HexChangeEvent, type HighlightOptions, type HighlightTarget, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IDataProvider, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type IconChangedDetail, type IconChangedEvent, type IconEntry, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, type InputMode, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxRatingElement, IxfxTimelineElement, KeyedElementIndex, LIST_ITEM_MOTION_MS, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LeafGeom, LedElement, LedMode, type ListActivateDetail, type ListActivateEvent, ListDragSelectController, type ListDragSelectControllerConfig, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListItemMotionOptions, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, type ListSelectDetail, type ListSelectEvent, ListSelectionController, type ListSelectionControllerConfig, type ListSelectionGesture, type ListSelectionMode, type ListSelectionModes, type ListTickleDetail, type ListTickleEvent, LoadChildrenCallback, MarkerStyle, index_d_exports as Menu, type TreeActivateDetail as MillerActivateDetail, TreeActivateDetail, type TreeActivateEvent as MillerActivateEvent, TreeActivateEvent, MillerBaseElement, MillerBaseElementEventMap, type TreeCollapseDetail as MillerCollapseDetail, TreeCollapseDetail, type TreeCollapseEvent as MillerCollapseEvent, TreeCollapseEvent, MillerConfig, type TreeExpandDetail as MillerExpandDetail, TreeExpandDetail, type TreeExpandEvent as MillerExpandEvent, TreeExpandEvent, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, type TreeItem as MillerItem, TreeItem, type TreeItemClickDetail as MillerItemClickDetail, TreeItemClickDetail, type TreeItemClickEvent as MillerItemClickEvent, TreeItemClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, type TreeNode as MillerNode, TreeNode, MillerRebaseDetail, MillerRebaseEvent, type TreeSelectDetail as MillerSelectDetail, TreeSelectDetail, type TreeSelectEvent as MillerSelectEvent, TreeSelectEvent, MillerSelectionMode, type TreeTickleDetail as MillerTickleDetail, TreeTickleDetail, type TreeTickleEvent as MillerTickleEvent, TreeTickleEvent, MillerTreeController, MillerTreeControllerOptions, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, NoneSelectEventDetail, Notification, NotificationContent, NotificationManager, NotificationPillElement, NotificationPillElementEventMap, NotificationRenderer, NotificationRendererHooks, NotificationType, NotifierOptions, type OklchValue, Orientation, PanTextElement, PanTextMode, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupElementEventMap, PanelGroupOrientation, PanelGroupReorderDetail, PanelGroupReorderEvent, PanelInfo, PanelNode, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramInteractionMode, PlotHistogramOrientation, PlotHistogramSelectionChangeDetail, PlotHistogramSelectionChangeEvent, PlotHistogramSelectionRange, PlotHistogramValueTooltips, PlotMultiAxis, PlotMultiAxisDataPointClickDetail, PlotMultiAxisDataPointClickEvent, PlotMultiAxisElementEventMap, PlotMultiAxisLayout, PlotSingleAxis, PlotSingleAxisElementEventMap, PlotSingleAxisPointerMoveDetail, PlotSingleAxisPointerMoveEvent, PlotXyAxis, PolarPad, PolarPadInputDetail, PolarPadInputEvent, PopupItem, RadialInputChangeDetail, RadialInputChangeEvent, RadialInputElement, RadialInputInputDetail, RadialInputInputEvent, RadioGroup, RadioGroupChangeDetail, RadioGroupChangeEvent, RadioGroupMode, RadioItem, RangeElement, RangeInput, RangeMultiElement, RangeMultiInputDetail, RangeMultiInputEvent, RatingChangeDetail, RatingChangeEvent, RatingElement, RatingElementEventMap, RatingInputEvent, RatingVariant, type Rect, RectangularSelectEventDetail, type RegisterListSearchCommandsOptions, RendererStyle, ResizeMode, SelectEventDetail, SelectHorizChangeDetail, SelectHorizChangeEvent, SelectHorizElement, SelectHorizEventMap, SelectionMode, SingleAxisAgeStyle, SingleAxisDrawStyle, SingleSelectEventDetail, SliderChangedField, SliderCrossover, SliderHandleKey, SliderInputChangeDetail, SliderInputChangeEvent, SliderInputElement, SliderInputElementEventMap, SliderInputInputDetail, SliderInputInputEvent, SliderLaneData, SliderLaneType, SliderMarkerStyle, SliderOrientation, SliderSingleStyle, SliderValueCFollow, SliderValueDrag, SliderValueMode, SlidingNumberElement, SlidingNumberTrend, SnackbarDismiss, SnackbarElement, SnackbarMode, SnackbarPlacement, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic, SnapshotNode, SortCompareFn, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitChangeDetail, SplitChangeEvent, SplitCloseDetail, SplitCloseEvent, SplitCollapseDetail, SplitCollapseEvent, SplitExpandDetail, SplitExpandEvent, SplitLayoutElement, SplitLayoutElementEventMap, SplitPanelElement, SplitResizeDetail, SplitResizeEvent, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent, SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent, SwitcherItem, Tab, TabAddOptions, TabController, TabControllerOptions, TabListChangeDetail, TabListChangeEvent, TabListDragMode, TabListElement, TabListItemElement, TabListReorderDetail, TabListReorderEvent, TabPanelElement, TabPanelsElement, TextShimmerElement, TickledController, type TickledControllerConfig, type TickledItem, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, TitlebarCloseEvent, TitlebarElement, TitlebarElementEventMap, TitlebarOrientation, TitlebarToggleDetail, TitlebarToggleEvent, TitlebarToggleInteraction, TitlebarVariant, ToolbarAlign, ToolbarElement, ToolbarGroupElement, ToolbarLayout, ToolbarOrientation, ToolbarVerticalWriting, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeCheckboxState, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, type TreeKeyboardNavCallbacks, TreeKeyboardNavController, type TreeKeyboardNavControllerConfig, type TreeKeyboardNavItemId, TreeListAdapterOptions, TreeListElement, type TreeListSearchAdapterOptions, TreeSearchHost, TreeSelectionFilter, TwoSplitLayoutElement, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, WhenSmall, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, bottomDrawerCommandId, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createDataListSearchAdapter, createElementIncrSearch, createElementListSearchAdapter, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createTreeListSearchAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, keyForElement, listItemFadeKeyframes, listSearchStyles, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, panelGapIndex, parseColourScaleAttr, parseLayout, pointerOverAnyHost, prefersReducedMotion, readBaseColour, registerFontIcon, registerIcon, registerListSearchCommands, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
2139
+ export { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent, type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent, AddItemOptions, Axis, BottomDrawerCloseEvent, BottomDrawerCommand, BottomDrawerElement, BottomDrawerElementEventMap, BottomDrawerResizeDetail, BottomDrawerResizeEvent, ButtonElement, Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap, ClickSnapMode, ColourMapConfig, ColourMode, ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, ColourResult, ConfigEntry, ContiguousSelectEventDetail, CrossoverBehaviour, CrumbNavChangeDetail, CrumbNavChangeEvent, CrumbNavExpandDetail, CrumbNavExpandEvent, CrumbNavNavigateDetail, CrumbNavNavigateEvent, CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, CrumbPathController, CrumbPathControllerOptions, CrumbPathElement, CrumbPathElementEventMap, CrumbSegment, CrumbSiblingLookupFn, type CssVars, CustomCheckboxOptions, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, DataGridElement, DataGridElementEventMap, DataGridGroupChangeDetail, DataGridGroupChangeEvent, DataGridSelectDetail, DataGridSelectEvent, DataGridSortDetail, DataGridSortEvent, type DataListSearchAdapterOptions, type DataListSearchItem, DataProviderResult, DataTableElement, DataTableElementEventMap, DataTableRow, DataTableRowClickDetail, DataTableRowClickEvent, type DetailFormatter, DetailListElement, type DetailSortComparator, type DetailSortItem, type DetailSortMode, DisplayTextLogic, DistributeResult, DockAddPanelTarget, DockAxis, DockChangeDetail, DockChangeEvent, DockDirection, DockDragBoundaryDetail, DockDragBoundaryEvent, DockDropTarget, type DockDropZone, DockEdge, DockHostElement, DockHostElementEventMap, DockLayout, DockLeafContentRules, DockLeafInfo, DockLeafPlacementPolicy, DockLeafPlacementPolicyResolved, DockLeafRef, DockNeighbours, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, DockRect, DockSplitNode, DockStackNode, type DragSelectRect, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, type GridListActivateDetail, type GridListActivateEvent, type GridListCaptionAlign, type GridListCaptionBackdrop, type GridListCaptionPosition, type GridListCaptionStyle, type GridListDataAdapter, GridListElement, type GridListElementEventMap, type GridListFullElementEventMap, type GridListItemClickDetail, type GridListItemClickEvent, type GridListItemEventDetail, type GridListNativeDragStartDetail, type GridListNativeDragStartEvent, type GridListOrientation, type GridListSelectDetail, type GridListSelectEvent, type GridListTickleDetail, type GridListTickleEvent, type GridListViewportChangeDetail, type GridListViewportChangeEvent, GridMode, GridResolution, GroupNode, GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, HexChangeDetail, HexChangeEvent, type HighlightOptions, type HighlightTarget, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IDataProvider, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type IconChangedDetail, type IconChangedEvent, type IconEntry, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, type InputMode, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxRatingElement, IxfxTimelineElement, KeyedElementIndex, LIST_ITEM_MOTION_MS, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LeafGeom, LedElement, LedMode, type ListActivateDetail, type ListActivateEvent, ListDragSelectController, type ListDragSelectControllerConfig, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListItemMotionOptions, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, type ListSelectDetail, type ListSelectEvent, ListSelectionController, type ListSelectionControllerConfig, type ListSelectionGesture, type ListSelectionMode, type ListSelectionModes, type ListTickleDetail, type ListTickleEvent, LoadChildrenCallback, MarkerStyle, index_d_exports as Menu, type TreeActivateDetail as MillerActivateDetail, TreeActivateDetail, type TreeActivateEvent as MillerActivateEvent, TreeActivateEvent, MillerBaseElement, MillerBaseElementEventMap, type TreeCollapseDetail as MillerCollapseDetail, TreeCollapseDetail, type TreeCollapseEvent as MillerCollapseEvent, TreeCollapseEvent, MillerConfig, type TreeExpandDetail as MillerExpandDetail, TreeExpandDetail, type TreeExpandEvent as MillerExpandEvent, TreeExpandEvent, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, type TreeItem as MillerItem, TreeItem, type TreeItemClickDetail as MillerItemClickDetail, TreeItemClickDetail, type TreeItemClickEvent as MillerItemClickEvent, TreeItemClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, type TreeNode as MillerNode, TreeNode, MillerRebaseDetail, MillerRebaseEvent, type TreeSelectDetail as MillerSelectDetail, TreeSelectDetail, type TreeSelectEvent as MillerSelectEvent, TreeSelectEvent, MillerSelectionMode, type TreeTickleDetail as MillerTickleDetail, TreeTickleDetail, type TreeTickleEvent as MillerTickleEvent, TreeTickleEvent, MillerTreeController, MillerTreeControllerOptions, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, NoneSelectEventDetail, Notification, NotificationContent, NotificationManager, NotificationPillElement, NotificationPillElementEventMap, NotificationRenderer, NotificationRendererHooks, NotificationType, NotifierOptions, type OklchValue, Orientation, PanTextElement, PanTextMode, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupElementEventMap, PanelGroupOrientation, PanelGroupReorderDetail, PanelGroupReorderEvent, PanelInfo, PanelNode, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramInteractionMode, PlotHistogramOrientation, PlotHistogramSelectionChangeDetail, PlotHistogramSelectionChangeEvent, PlotHistogramSelectionRange, PlotHistogramValueTooltips, PlotMultiAxis, PlotMultiAxisDataPointClickDetail, PlotMultiAxisDataPointClickEvent, PlotMultiAxisElementEventMap, PlotMultiAxisLayout, PlotSingleAxis, PlotSingleAxisElementEventMap, PlotSingleAxisPointerMoveDetail, PlotSingleAxisPointerMoveEvent, PlotXyAxis, PolarPad, PolarPadInputDetail, PolarPadInputEvent, PopupItem, RadialInputChangeDetail, RadialInputChangeEvent, RadialInputElement, RadialInputInputDetail, RadialInputInputEvent, RadioGroup, RadioGroupChangeDetail, RadioGroupChangeEvent, RadioGroupMode, RadioItem, RangeElement, RangeInput, RangeMultiElement, RangeMultiInputDetail, RangeMultiInputEvent, RatingChangeDetail, RatingChangeEvent, RatingElement, RatingElementEventMap, RatingInputEvent, RatingVariant, type Rect, RectangularSelectEventDetail, type RegisterListSearchCommandsOptions, RendererStyle, ResizeMode, SelectEventDetail, SelectHorizChangeDetail, SelectHorizChangeEvent, SelectHorizElement, SelectHorizEventMap, SelectionMode, SingleAxisAgeStyle, SingleAxisDrawStyle, SingleSelectEventDetail, SliderChangedField, SliderCrossover, SliderHandleKey, SliderInputChangeDetail, SliderInputChangeEvent, SliderInputElement, SliderInputElementEventMap, SliderInputInputDetail, SliderInputInputEvent, SliderLaneData, SliderLaneType, SliderMarkerStyle, SliderOrientation, SliderSingleStyle, SliderValueCFollow, SliderValueDrag, SliderValueMode, SlidingNumberElement, SlidingNumberTrend, SnackbarDismiss, SnackbarElement, SnackbarMode, SnackbarPlacement, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic, SnapshotNode, SortCompareFn, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitChangeDetail, SplitChangeEvent, SplitCloseDetail, SplitCloseEvent, SplitCollapseDetail, SplitCollapseEvent, SplitExpandDetail, SplitExpandEvent, SplitLayoutElement, SplitLayoutElementEventMap, SplitPanelElement, SplitResizeDetail, SplitResizeEvent, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent, SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent, SwitcherItem, Tab, TabAddOptions, TabController, TabControllerOptions, TabListChangeDetail, TabListChangeEvent, TabListDragMode, TabListElement, TabListItemElement, TabListReorderDetail, TabListReorderEvent, TabPanelElement, TabPanelsElement, TextShimmerElement, TickledController, type TickledControllerConfig, type TickledItem, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, TitlebarCloseEvent, TitlebarElement, TitlebarElementEventMap, TitlebarOrientation, TitlebarToggleDetail, TitlebarToggleEvent, TitlebarToggleInteraction, TitlebarVariant, ToolbarAlign, ToolbarElement, ToolbarGroupElement, ToolbarLayout, ToolbarOrientation, ToolbarVerticalWriting, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeCheckboxState, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, type TreeKeyboardNavCallbacks, TreeKeyboardNavController, type TreeKeyboardNavControllerConfig, type TreeKeyboardNavItemId, TreeListAdapterOptions, TreeListElement, type TreeListSearchAdapterOptions, TreeSearchHost, TreeSelectionFilter, TwoSplitLayoutElement, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, WhenSmall, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, bottomDrawerCommandId, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createDataListSearchAdapter, createElementIncrSearch, createElementListSearchAdapter, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createTreeListSearchAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, keyForElement, listItemFadeKeyframes, listSearchStyles, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, panelGapIndex, parseColourScaleAttr, parseLayout, pointerOverAnyHost, prefersReducedMotion, readBaseColour, registerFontIcon, registerIcon, registerListSearchCommands, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
2071
2140
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/bottom-drawer/bottom-drawer.ts","../src/button/radio-group.ts","../src/button/types.ts","../src/button/split-button.ts","../src/common/data-controller.ts","../src/crumbs/crumb-path.ts","../src/crumbs/crumb-path-controller.ts","../src/data-table/data-table.ts","../src/dock/types.ts","../src/dock/dock-panel.ts","../src/dock/dock-host.ts","../src/dock/dock-drag.ts","../src/dock/dock-model.ts","../src/form/form-group.ts","../src/form/form-part.ts","../src/grouped-item-lister/tree-list-adapter.ts","../src/grouped-item-lister/vertical-list-adapter.ts","../src/interaction/keyed-list.ts","../src/interaction/list-drag-select-controller.ts","../src/interaction/list-item-animation.ts","../src/interaction/tickled-styles.ts","../src/interaction/tree-keyboard-controller.ts","../src/notifier/manager.ts","../src/notifier/pill-renderer.ts","../src/panel/panel-group.ts","../src/range/range-multi.ts","../src/rating/rating.ts","../src/sliding-number/sliding-number.ts","../src/split-layout/split-model.ts","../src/tabs/tab-panel.ts","../src/tabs/tab-panels.ts","../src/tabs/tab-controller.ts","../src/text-shimmer/text-shimmer.ts","../src/toolbar/toolbar-group.ts","../src/toolbar/types.ts","../src/toolbar/toolbar.ts","../src/twosplit-layout/split-layout.ts","../src/util/checkbox.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/bottom-drawer/bottom-drawer.ts","../src/button/radio-group.ts","../src/button/types.ts","../src/button/split-button.ts","../src/common/data-controller.ts","../src/crumbs/crumb-path.ts","../src/crumbs/crumb-path-controller.ts","../src/data-table/data-table.ts","../src/dock/types.ts","../src/dock/dock-panel.ts","../src/dock/dock-host.ts","../src/dock/dock-drag.ts","../src/dock/dock-model.ts","../src/form/form-group.ts","../src/form/form-part.ts","../src/grouped-item-lister/tree-list-adapter.ts","../src/grouped-item-lister/vertical-list-adapter.ts","../src/interaction/keyed-list.ts","../src/interaction/list-drag-select-controller.ts","../src/interaction/list-item-animation.ts","../src/interaction/tickled-styles.ts","../src/interaction/tree-keyboard-controller.ts","../src/notifier/manager.ts","../src/notifier/pill-renderer.ts","../src/panel/panel-group.ts","../src/range/range-multi.ts","../src/rating/rating.ts","../src/sliding-number/sliding-number.ts","../src/split-layout/split-model.ts","../src/tabs/tab-panel.ts","../src/tabs/tab-panels.ts","../src/tabs/tab-controller.ts","../src/text-shimmer/text-shimmer.ts","../src/toolbar/toolbar-group.ts","../src/toolbar/types.ts","../src/toolbar/toolbar.ts","../src/twosplit-layout/split-layout.ts","../src/util/checkbox.ts","../src/index.ts"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ import { TabListElement } from "./tabs.js";
38
38
  import { EditableLabel } from "./editable-label.js";
39
39
  import { n as EditableNumber, t as LabelledSliderInput } from "./labelled-slider-input-BCH9968c.js";
40
40
  import { t as FormElement } from "./form-CsXJX15p.js";
41
- import { n as PanTextElement, t as GridListElement } from "./grid-list-BXfY3XXX.js";
41
+ import { n as PanTextElement, t as GridListElement } from "./grid-list-j5C7qtlG.js";
42
42
  import { PanelElement } from "./panel.js";
43
43
  import { GroupedItemListerElement } from "./grouped-item-lister.js";
44
44
  import { VerticalListElement } from "./vertical-list.js";
@@ -3888,6 +3888,16 @@ let DockHostElement = class DockHostElement extends LitElement {
3888
3888
  if (rules.deny.has(kind)) return false;
3889
3889
  return rules.allow === null || rules.allow.has(kind);
3890
3890
  }
3891
+ /**
3892
+ * Whether an edge drop may split a new sibling leaf beside `stack`. Unnamed
3893
+ * leaves and leaves with no policy always allow it; a named leaf whose
3894
+ * policy sets `allowEdgeSplit: false` does not (strict named-area
3895
+ * containment).
3896
+ */
3897
+ _leafAllowsEdgeSplit(stack) {
3898
+ if (stack.name === void 0) return true;
3899
+ return this._leafContentRules.get(stack.name)?.allowEdgeSplit ?? true;
3900
+ }
3891
3901
  /** First stack (tree order) whose rules admit `kind`, else the first stack. */
3892
3902
  _firstStackAllowing(kind) {
3893
3903
  for (const path of collectStackPaths(this._model)) {
@@ -3952,6 +3962,9 @@ let DockHostElement = class DockHostElement extends LitElement {
3952
3962
  else if (op === `tabs` && !this._stackAllowsKindAt(namedPath, kind)) {
3953
3963
  console.warn(`[ixfx-dock-host] addPanel: container "${target.container}" does not admit kind "${kind}"`);
3954
3964
  return false;
3965
+ } else if (op !== `tabs` && !this._stackAllowsEdgeSplitAt(namedPath)) {
3966
+ console.warn(`[ixfx-dock-host] addPanel: container "${target.container}" forbids edge splits (allowEdgeSplit: false)`);
3967
+ return false;
3955
3968
  } else stackPath = namedPath;
3956
3969
  } else if (target?.stack) {
3957
3970
  const found = findStackOf(this._model, target.stack);
@@ -3959,6 +3972,9 @@ let DockHostElement = class DockHostElement extends LitElement {
3959
3972
  else if (op === `tabs` && !this._stackAllowsKindAt(found, kind)) {
3960
3973
  console.warn(`[ixfx-dock-host] addPanel: target stack does not admit kind "${kind}"`);
3961
3974
  return false;
3975
+ } else if (op !== `tabs` && !this._stackAllowsEdgeSplitAt(found)) {
3976
+ console.warn(`[ixfx-dock-host] addPanel: target stack forbids edge splits (allowEdgeSplit: false)`);
3977
+ return false;
3962
3978
  } else stackPath = found;
3963
3979
  }
3964
3980
  if (stackPath !== null && op !== `tabs`) {
@@ -4000,6 +4016,11 @@ let DockHostElement = class DockHostElement extends LitElement {
4000
4016
  const stack = findNode(this._model, stackPath);
4001
4017
  return stack !== null && isStack(stack) && this._stackAllowsKind(stack, kind);
4002
4018
  }
4019
+ /** Whether the stack at `stackPath` permits an edge split beside it. */
4020
+ _stackAllowsEdgeSplitAt(stackPath) {
4021
+ const stack = findNode(this._model, stackPath);
4022
+ return stack === null || !isStack(stack) || this._leafAllowsEdgeSplit(stack);
4023
+ }
4003
4024
  removePanel(panelId) {
4004
4025
  if (!collectPanelIds(this._model).includes(panelId)) return false;
4005
4026
  this._returnAllToolbars();
@@ -4061,11 +4082,26 @@ let DockHostElement = class DockHostElement extends LitElement {
4061
4082
  getContainerElements(name) {
4062
4083
  return this.getContainerPanels(name).map((id) => this._findPanelEl(id)).filter((el) => el !== void 0);
4063
4084
  }
4085
+ _defaultLeafRule() {
4086
+ return {
4087
+ allow: null,
4088
+ deny: /* @__PURE__ */ new Set(),
4089
+ allowEdgeSplit: true
4090
+ };
4091
+ }
4092
+ /** A rule entry that constrains nothing — safe to drop from the map. */
4093
+ _isEmptyLeafRule(entry) {
4094
+ return entry.allow === null && entry.deny.size === 0 && entry.allowEdgeSplit;
4095
+ }
4096
+ _warnUnknownContainer(method, key) {
4097
+ if (findStackPathByName(this._model, key) === null) console.warn(`[ixfx-dock-host] ${method}: no container named "${key}" yet; rule stored`);
4098
+ }
4064
4099
  /**
4065
4100
  * Restrict a named container to only the given panel kinds — e.g.
4066
4101
  * `setLeafExclusiveContents('editor', ['document'])`. `tabs` drops,
4067
- * `addPanel`, and re-homing into the leaf then refuse other kinds, while
4068
- * edge splits beside the leaf stay allowed (they create a new leaf).
4102
+ * `addPanel`, and re-homing into the leaf then refuse other kinds. Whether
4103
+ * edge splits beside the leaf are offered is governed separately by
4104
+ * {@link setLeafPlacementPolicy}'s `allowEdgeSplit` (default `true`).
4069
4105
  * Pass `[]` to seal the leaf (nothing admitted). Warns when no stack
4070
4106
  * currently carries `name`, but the rule is still stored and applies once
4071
4107
  * one appears. Rules are host policy: kept across `loadLayout()`, never
@@ -4077,14 +4113,10 @@ let DockHostElement = class DockHostElement extends LitElement {
4077
4113
  console.warn(`[ixfx-dock-host] setLeafExclusiveContents: empty container name`);
4078
4114
  return;
4079
4115
  }
4080
- const allow = new Set(kinds.map((k) => k.trim()).filter((k) => k.length > 0));
4081
- const entry = this._leafContentRules.get(key) ?? {
4082
- allow: null,
4083
- deny: /* @__PURE__ */ new Set()
4084
- };
4085
- entry.allow = allow;
4116
+ const entry = this._leafContentRules.get(key) ?? this._defaultLeafRule();
4117
+ entry.allow = new Set(kinds.map((k) => k.trim()).filter((k) => k.length > 0));
4086
4118
  this._leafContentRules.set(key, entry);
4087
- if (findStackPathByName(this._model, key) === null) console.warn(`[ixfx-dock-host] setLeafExclusiveContents: no container named "${key}" yet; rule stored`);
4119
+ this._warnUnknownContainer(`setLeafExclusiveContents`, key);
4088
4120
  }
4089
4121
  /**
4090
4122
  * Forbid the given panel kinds in a named container — e.g.
@@ -4098,21 +4130,53 @@ let DockHostElement = class DockHostElement extends LitElement {
4098
4130
  console.warn(`[ixfx-dock-host] setLeafDenyContents: empty container name`);
4099
4131
  return;
4100
4132
  }
4101
- const deny = new Set(kinds.map((k) => k.trim()).filter((k) => k.length > 0));
4102
- const entry = this._leafContentRules.get(key) ?? {
4103
- allow: null,
4104
- deny: /* @__PURE__ */ new Set()
4105
- };
4106
- entry.deny = deny;
4107
- if (entry.allow === null && entry.deny.size === 0) this._leafContentRules.delete(key);
4133
+ const entry = this._leafContentRules.get(key) ?? this._defaultLeafRule();
4134
+ entry.deny = new Set(kinds.map((k) => k.trim()).filter((k) => k.length > 0));
4135
+ if (this._isEmptyLeafRule(entry)) this._leafContentRules.delete(key);
4108
4136
  else this._leafContentRules.set(key, entry);
4109
- if (findStackPathByName(this._model, key) === null) console.warn(`[ixfx-dock-host] setLeafDenyContents: no container named "${key}" yet; rule stored`);
4137
+ this._warnUnknownContainer(`setLeafDenyContents`, key);
4110
4138
  }
4111
- /** Remove every content rule for a named container. */
4139
+ /**
4140
+ * Set (merge) the full placement policy for a named leaf: kind allow/deny
4141
+ * lists plus the `allowEdgeSplit` gate. Omitted fields are left unchanged
4142
+ * — pass `clearLeafPlacementPolicy(name)` to reset. `allowKinds` /
4143
+ * `denyKinds` are equivalent to {@link setLeafExclusiveContents} /
4144
+ * {@link setLeafDenyContents} and share the same storage.
4145
+ *
4146
+ * `allowEdgeSplit: false` enforces strict named-area containment: the edge
4147
+ * drop zones beside the leaf go inert for every placement route (pointer
4148
+ * preview and drop, `queryDropTarget` / `previewExternalDrop`,
4149
+ * `addPanel` with a split `op`), so a panel cannot escape the area by
4150
+ * splitting next to it. A permitted split still creates an *unnamed,
4151
+ * unconstrained* leaf — the policy is not propagated to it.
4152
+ *
4153
+ * Warns when no stack currently carries `name`; the policy is stored and
4154
+ * applies once one appears. Host policy: kept across `loadLayout()`, never
4155
+ * serialized.
4156
+ */
4157
+ setLeafPlacementPolicy(name, policy) {
4158
+ const key = name.trim();
4159
+ if (!key) {
4160
+ console.warn(`[ixfx-dock-host] setLeafPlacementPolicy: empty container name`);
4161
+ return;
4162
+ }
4163
+ const entry = this._leafContentRules.get(key) ?? this._defaultLeafRule();
4164
+ if (policy.allowKinds !== void 0) entry.allow = new Set(policy.allowKinds.map((k) => k.trim()).filter((k) => k.length > 0));
4165
+ if (policy.denyKinds !== void 0) entry.deny = new Set(policy.denyKinds.map((k) => k.trim()).filter((k) => k.length > 0));
4166
+ if (policy.allowEdgeSplit !== void 0) entry.allowEdgeSplit = policy.allowEdgeSplit;
4167
+ if (this._isEmptyLeafRule(entry)) this._leafContentRules.delete(key);
4168
+ else this._leafContentRules.set(key, entry);
4169
+ this._warnUnknownContainer(`setLeafPlacementPolicy`, key);
4170
+ }
4171
+ /** Remove every content rule and reset the edge-split gate for a named container. */
4112
4172
  clearLeafContentRestrictions(name) {
4113
4173
  this._leafContentRules.delete(name.trim());
4114
4174
  }
4115
- /** Copy of a container's rules, or null when unrestricted. */
4175
+ /** Alias of {@link clearLeafContentRestrictions} — clears kind rules and the edge-split gate. */
4176
+ clearLeafPlacementPolicy(name) {
4177
+ this._leafContentRules.delete(name.trim());
4178
+ }
4179
+ /** Copy of a container's kind rules, or null when unrestricted. */
4116
4180
  getLeafContentRestrictions(name) {
4117
4181
  const rules = this._leafContentRules.get(name.trim());
4118
4182
  if (rules === void 0) return null;
@@ -4121,6 +4185,16 @@ let DockHostElement = class DockHostElement extends LitElement {
4121
4185
  deny: [...rules.deny]
4122
4186
  };
4123
4187
  }
4188
+ /** Resolved placement policy for a container, or null when it has none. */
4189
+ getLeafPlacementPolicy(name) {
4190
+ const rules = this._leafContentRules.get(name.trim());
4191
+ if (rules === void 0) return null;
4192
+ return {
4193
+ allowKinds: rules.allow === null ? null : [...rules.allow],
4194
+ denyKinds: [...rules.deny],
4195
+ allowEdgeSplit: rules.allowEdgeSplit
4196
+ };
4197
+ }
4124
4198
  /**
4125
4199
  * Geometric neighbours of a leaf (`name` or numeric `path`) — what sits
4126
4200
  * above / below / left / right of it on screen. Each entry is
@@ -4415,6 +4489,7 @@ let DockHostElement = class DockHostElement extends LitElement {
4415
4489
  if (zone.operation === `tabs` && stack !== null && isStack(stack)) {
4416
4490
  if (!this._stackAllowsKind(stack, kind?.trim() ? kind.trim() : this._panelKind(panelId))) return false;
4417
4491
  }
4492
+ if (zone.operation !== `tabs` && stack !== null && isStack(stack) && !this._leafAllowsEdgeSplit(stack)) return false;
4418
4493
  if (this.canAccept && !this.canAccept(panelId, zone.operation)) return false;
4419
4494
  return true;
4420
4495
  }