@ixfx/components 0.13.6 → 0.13.8

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/bundle/index.d.ts CHANGED
@@ -2664,6 +2664,14 @@ type TreeDropEvent = CustomEvent<TreeDropDetail>;
2664
2664
  type TreeDragEndEvent = CustomEvent<{
2665
2665
  dropped: boolean;
2666
2666
  }>;
2667
+ /** How `navigateTo` scrolls its target: edge-align it, or centre it when it is off screen. */
2668
+ type TreeRevealMode = `edge` | `center-if-hidden`;
2669
+ type TreeNavigateOptions = {
2670
+ /** Scroll behaviour for the target (default `edge`). */
2671
+ reveal?: TreeRevealMode;
2672
+ /** Suppress the `select` event this navigation would otherwise fire. */
2673
+ silent?: boolean;
2674
+ };
2667
2675
  /**
2668
2676
  * Fired when the selection set changes by any means (click, keyboard, programmatic).
2669
2677
  * Event name: `select`
@@ -7999,14 +8007,6 @@ interface GroupedItemListerElement<T> {
7999
8007
  * rows; `on` / `off` force it.
8000
8008
  */
8001
8009
  type TreeVirtualize = `auto` | `on` | `off`;
8002
- /** How `navigateTo` scrolls its target: edge-align it, or centre it when it is off screen. */
8003
- type TreeRevealMode = `edge` | `center-if-hidden`;
8004
- type TreeNavigateOptions = {
8005
- /** Scroll behaviour for the target row (default `edge`). */
8006
- reveal?: TreeRevealMode;
8007
- /** Suppress the `select` event this navigation would otherwise fire. */
8008
- silent?: boolean;
8009
- };
8010
8010
  declare class TreeBaseElement extends LitElement implements TreeComponent, TreeSearchHost {
8011
8011
  #private;
8012
8012
  root: TreeNode | undefined;
@@ -8112,6 +8112,24 @@ declare class TreeBaseElement extends LitElement implements TreeComponent, TreeS
8112
8112
  clearSelection(): void;
8113
8113
  selectAll(): void;
8114
8114
  deselectAll(): void;
8115
+ /**
8116
+ * Expand every already-loaded branch in a single update. With `maxDepth`,
8117
+ * only branches at depth < `maxDepth` are expanded (the root's children are
8118
+ * depth 0), so rows at depth `maxDepth` become visible but stay collapsed.
8119
+ *
8120
+ * Unloaded (lazy) branches are not fetched — call again once their children
8121
+ * have loaded to expand further. Bulk expansion ignores `exclusivity`. Fires
8122
+ * one `expand` event per branch that actually opens — none for branches that
8123
+ * were already expanded, including ones opened by filter auto-expansion.
8124
+ */
8125
+ expandAll(maxDepth?: number): void;
8126
+ /**
8127
+ * Collapse expanded branches in a single update. With `maxDepth`, only
8128
+ * branches at depth >= `maxDepth` are collapsed, leaving the tree open down
8129
+ * to depth `maxDepth - 1` (`collapseAll(0)` is a full collapse). Fires one
8130
+ * `collapse` event per branch that actually closes.
8131
+ */
8132
+ collapseAll(maxDepth?: number): void;
8115
8133
  navigateTo(keys: readonly string[], options?: TreeNavigateOptions): boolean;
8116
8134
  navigateToNode(predicate: (node: TreeNode) => boolean): boolean;
8117
8135
  /** Expand ancestors + move the cursor to `key`, without touching the selection (search "navigate" mode). */
@@ -9884,7 +9902,13 @@ declare class MillerBaseElement extends LitElement implements TreeComponent, Tre
9884
9902
  * Programmatically navigate to a node by key path, relative to the current
9885
9903
  * view root (rebased or full tree).
9886
9904
  */
9887
- navigateTo(keys: readonly string[]): boolean;
9905
+ navigateTo(keys: readonly string[], options?: TreeNavigateOptions): boolean;
9906
+ /**
9907
+ * Re-sync the element with children arrays patched in place (see
9908
+ * `MillerTreeController.sync()`): columns whose selected node was removed are
9909
+ * closed, selection entries for removed nodes are dropped, then it re-renders.
9910
+ */
9911
+ invalidateStructure(): void;
9888
9912
  /**
9889
9913
  * Programmatically navigate to the first node (breadth-first) matching a predicate.
9890
9914
  */
@@ -10018,6 +10042,11 @@ type MillerTreeControllerOptions<T> = {
10018
10042
  * `TraversableTree` node has any children.
10019
10043
  */
10020
10044
  valueToItem: (value: T, node: TraversableTree<T>) => TreeItem;
10045
+ /**
10046
+ * Children loader installed on the element by `connect()`. Defaults to a
10047
+ * synchronous read from the source tree. `sync()` never touches it.
10048
+ */
10049
+ loadChildren?: LoadChildrenCallback;
10021
10050
  };
10022
10051
  /**
10023
10052
  * Bridges an `ixfx` `TraversableTree<T>` with an `ixfx-miller-*` component.
@@ -10065,7 +10094,28 @@ declare class MillerTreeController<T> {
10065
10094
  *
10066
10095
  * Returns `false` if no matching node is found.
10067
10096
  */
10068
- navigateToValue(predicate: (value: T) => boolean): boolean;
10097
+ navigateToValue(predicate: (value: T) => boolean, options?: TreeNavigateOptions): boolean;
10098
+ /**
10099
+ * Navigate using item keys **relative to the element's current view root**
10100
+ * (the real root when not rebased). Ancestors with unloaded children are
10101
+ * populated first. Returns `false` if a key is missing.
10102
+ */
10103
+ navigateToKeyPath(keys: readonly string[], options?: TreeNavigateOptions): boolean;
10104
+ /**
10105
+ * Navigate to the source node with this identity. Returns `false` when it is
10106
+ * unknown or lies outside a rebased view (keys are relative to the view root).
10107
+ */
10108
+ navigateToIdentity(identity: unknown, options?: TreeNavigateOptions): boolean;
10109
+ /** The source node whose item key is `key`, if it has been materialised. */
10110
+ lookupByKey(key: string): TraversableTree<T> | undefined;
10111
+ /**
10112
+ * Re-derive children for every already-materialised node from the source tree
10113
+ * and patch them in place. Children arrays are mutated (not replaced) so open
10114
+ * columns keep their references, and `MillerNode`s are reused by key so
10115
+ * selection survives. A rebased `viewRoot` is reset only if its node was
10116
+ * removed. `loadChildren` is left alone. Refreshes the element once.
10117
+ */
10118
+ sync(): void;
10069
10119
  }
10070
10120
  //#endregion
10071
10121
  //#region src/multicol-list/types.d.ts
@@ -10085,6 +10135,8 @@ type MulticolCategoryDefaults = {
10085
10135
  type MulticolCategory = {
10086
10136
  readonly key: string;
10087
10137
  readonly label: string;
10138
+ /** Shown as a tooltip on the column header label. */
10139
+ readonly description?: string;
10088
10140
  readonly children?: readonly MulticolCategory[];
10089
10141
  readonly defaults?: MulticolCategoryDefaults;
10090
10142
  };
@@ -10162,6 +10214,8 @@ declare class MulticolListElement extends LitElement {
10162
10214
  protected updated(changedProperties: Map<string, unknown>): void;
10163
10215
  private _renderColumn;
10164
10216
  private _getCategoryLabel;
10217
+ /** Category description if present, else the default 'Change category' hint. */
10218
+ private _getCategoryTooltip;
10165
10219
  private _onHeaderPointerDown;
10166
10220
  private _onResizePointerDown;
10167
10221
  private _openCategoryPicker;