jaml-ui 8.1.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { JimboOuterTabTone } from './JimboOuterTab.js';
3
+ import { DockNode } from './dockTree.js';
3
4
  export interface JimboDockPane {
4
5
  label: string;
5
6
  tone: JimboOuterTabTone;
@@ -14,7 +15,13 @@ export interface JimboDockProps {
14
15
  results: string;
15
16
  jamlyze: string;
16
17
  };
18
+ /**
19
+ * Explicit starting layout — wins over the pyramid default. Pair with a
20
+ * `key` on the dock when the layout follows viewport size, so crossing the
21
+ * breakpoint rebuilds the tree instead of keeping the stale one.
22
+ */
23
+ defaultLayout?: DockNode;
17
24
  storageKey?: string;
18
25
  className?: string;
19
26
  }
20
- export declare function JimboDock({ panes, pyramid, storageKey, className, }: JimboDockProps): import('react').JSX.Element;
27
+ export declare function JimboDock({ panes, pyramid, defaultLayout, storageKey, className, }: JimboDockProps): import('react').JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ export interface JimboPagerProps {
3
+ /**
4
+ * One page per child. Children, not a render prop, so the pager can live in the
5
+ * json-render registry — a spec only carries data, never a function.
6
+ */
7
+ children?: ReactNode;
8
+ /** Controlled page. Omit it and the pager keeps its own. */
9
+ index?: number;
10
+ defaultIndex?: number;
11
+ /** Fires once a swipe or a button settles on a new page. */
12
+ onPageChange?: (index: number) => void;
13
+ /** Pixels or any CSS length. Omit to fill the parent. */
14
+ height?: number | string;
15
+ "aria-label"?: string;
16
+ }
17
+ /**
18
+ * Swipe left and right through pages. Nothing tilts, nothing flies off, nothing
19
+ * stacks behind: the page you are on simply moves with your finger and settles
20
+ * on the next one (native scroll-snap).
21
+ *
22
+ * Each page scrolls on its own vertical axis, so a page taller than the pager is
23
+ * reachable instead of clipped.
24
+ */
25
+ export declare function JimboPager({ children, index, defaultIndex, onPageChange, height, "aria-label": ariaLabel, }: JimboPagerProps): React.JSX.Element;
@@ -21,6 +21,12 @@ export declare function defaultPyramidDock(keys: {
21
21
  results: string;
22
22
  jamlyze: string;
23
23
  }): DockNode;
24
+ export declare function stackedDock(keys: {
25
+ filter: string;
26
+ search: string;
27
+ results: string;
28
+ jamlyze: string;
29
+ }): DockNode;
24
30
  export declare function dockRemove(node: DockNode, key: string): DockNode;
25
31
  export declare function dockMapGroup(node: DockNode, id: string, fn: (g: DockGroup) => DockGroup): DockNode;
26
32
  export declare function dockSplitAt(node: DockNode, id: string, key: string, side: DockEdge): DockNode;