fold-ng 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +90 -1
- package/fesm2022/fold-ng.mjs +258 -169
- package/fesm2022/fold-ng.mjs.map +1 -1
- package/package.json +1 -1
- package/tokens/scales.css +7 -0
- package/tokens/semantic.css +12 -0
- package/types/fold-ng.d.ts +119 -61
- package/types/fold-ng.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fold-ng",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Accessible, dark-first Angular 22 UI component library & design system — signals-first, standalone, zoneless, SSR-ready. Design tokens + WCAG-minded components, themeable to the bone.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
package/tokens/scales.css
CHANGED
|
@@ -54,6 +54,13 @@
|
|
|
54
54
|
--fold-space-md: 12px;
|
|
55
55
|
--fold-space-lg: 16px;
|
|
56
56
|
--fold-space-xl: 20px;
|
|
57
|
+
/* Larger steps on the 4px grid — section padding, page-level gaps, hero bands.
|
|
58
|
+
The scale stays tight (no half-steps): a 4px-grid rhythm is the constraint;
|
|
59
|
+
rare off-grid needs stay explicit literals, not tokens. */
|
|
60
|
+
--fold-space-2xl: 24px;
|
|
61
|
+
--fold-space-3xl: 32px;
|
|
62
|
+
--fold-space-4xl: 40px;
|
|
63
|
+
--fold-space-5xl: 48px;
|
|
57
64
|
|
|
58
65
|
/* Rail-width scale — the shared widths for the nav-rail hierarchy, named to
|
|
59
66
|
pair 1:1 with the `--fold-color-bg-rail-*` colour tokens (primary app menu →
|
package/tokens/semantic.css
CHANGED
|
@@ -26,6 +26,18 @@
|
|
|
26
26
|
|
|
27
27
|
/* ── Base theme: UMBRA (dark) ─────────────────────────────── */
|
|
28
28
|
:root {
|
|
29
|
+
/* Page scaffold rhythm — FLUID defaults, read by `fold-page-layout` via
|
|
30
|
+
`var()`. A page/theme overrides on any ancestor (or the element) to retune;
|
|
31
|
+
the playground sets them inline. The gutter scales more than the gap:
|
|
32
|
+
horizontal room is precious on small screens, vertical rhythm less so — so
|
|
33
|
+
the two carry deliberately different responsive curves. */
|
|
34
|
+
--fold-page-gutter: clamp(1rem, 4vw, 2rem); /* 16 → 32px (fluid 400–800px) */
|
|
35
|
+
--fold-page-gap: clamp(
|
|
36
|
+
1.25rem,
|
|
37
|
+
3vw,
|
|
38
|
+
2rem
|
|
39
|
+
); /* 20 → 32px (fluid ~665–1065px) */
|
|
40
|
+
|
|
29
41
|
/* Surfaces (bg- = a fill role, darkest chrome → lightest page) */
|
|
30
42
|
--fold-color-bg-page: var(--fold-ref-ink-850); /* page background */
|
|
31
43
|
--fold-color-bg-header: var(--fold-ref-ink-950); /* top header bar */
|
package/types/fold-ng.d.ts
CHANGED
|
@@ -548,6 +548,7 @@ declare const FOLD_BUILTIN_ICONS: {
|
|
|
548
548
|
readonly timeline: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"M3 10h18M8 5v14M13 10v9\"/></svg>";
|
|
549
549
|
readonly library: "<svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\"32\" y=\"96\" width=\"64\" height=\"368\" rx=\"16\" ry=\"16\" style=\"fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:32px\"/><line x1=\"112\" y1=\"224\" x2=\"240\" y2=\"224\" style=\"fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px\"/><line x1=\"112\" y1=\"400\" x2=\"240\" y2=\"400\" style=\"fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px\"/><rect x=\"112\" y=\"160\" width=\"128\" height=\"304\" rx=\"16\" ry=\"16\" style=\"fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:32px\"/><rect x=\"256\" y=\"48\" width=\"96\" height=\"416\" rx=\"16\" ry=\"16\" style=\"fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:32px\"/><path d=\"M422.46,96.11l-40.4,4.25c-11.12,1.17-19.18,11.57-17.93,23.1l34.92,321.59c1.26,11.53,11.37,20,22.49,18.84l40.4-4.25c11.12-1.17,19.18-11.57,17.93-23.1L445,115C443.69,103.42,433.58,94.94,422.46,96.11Z\" style=\"fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:32px\"/></svg>";
|
|
550
550
|
readonly "add-doc": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m21.414 5h-4.414v-4.414zm.586 2v17h-20v-21a3 3 0 0 1 3-3h10v7zm-6 7h-3v-3h-2v3h-3v2h3v3h2v-3h3z\"/></svg>";
|
|
551
|
+
readonly archive: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 8v13H3V8\"/><rect x=\"1\" y=\"3\" width=\"22\" height=\"5\" rx=\"1\"/><path d=\"M10 12h4\"/></svg>";
|
|
551
552
|
readonly "arrow-back": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 12H5M12 19l-7-7 7-7\"/></svg>";
|
|
552
553
|
readonly "arrow-right": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M12 5l7 7-7 7\"/></svg>";
|
|
553
554
|
readonly bin: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M22,4H17V2a2,2,0,0,0-2-2H9A2,2,0,0,0,7,2V4H2V6H4V21a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V6h2ZM9,2h6V4H9Zm9,19a1,1,0,0,1-1,1H7a1,1,0,0,1-1-1V6H18Z\"/><rect x=\"9\" y=\"10\" width=\"2\" height=\"8\"/><rect x=\"13\" y=\"10\" width=\"2\" height=\"8\"/></svg>";
|
|
@@ -570,6 +571,7 @@ declare const FOLD_BUILTIN_ICONS: {
|
|
|
570
571
|
readonly "eye-off": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24\"/><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"/></svg>";
|
|
571
572
|
readonly eye: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></svg>";
|
|
572
573
|
readonly "file-add": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"/><polyline points=\"14 2 14 8 20 8\"/><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"12\"/><line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\"/></svg>";
|
|
574
|
+
readonly filter: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 3H2l8 9.46V19l4 2v-8.54L22 3z\"/></svg>";
|
|
573
575
|
readonly "folder-open": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"/></svg>";
|
|
574
576
|
readonly folder: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M21,3H12.236l-4-2H3A3,3,0,0,0,0,4V23H24V6A3,3,0,0,0,21,3ZM3,3H7.764l4,2H21a1,1,0,0,1,1,1v.881L2,6.994V4A1,1,0,0,1,3,3ZM2,21V8.994l20-.113V21Z\"/></svg>";
|
|
575
577
|
readonly globe: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 3C6.5 3 2 9 2 12s4.5 9 10 9 10-6 10-9-4.5-9-10-9z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></svg>";
|
|
@@ -606,6 +608,9 @@ type FoldIconName = FoldBuiltinIconName | (string & {});
|
|
|
606
608
|
|
|
607
609
|
/** Size presets map to an icon-size token; a number is interpreted as pixels. */
|
|
608
610
|
type FoldIconSize = "xs" | "sm" | "md" | "lg" | "xl" | number;
|
|
611
|
+
/** Semantic tint. Unset = inherit the context's `currentColor` (the default —
|
|
612
|
+
* an icon matches whatever it sits in); set it to override with a role colour. */
|
|
613
|
+
type FoldIconTone = "primary" | "secondary" | "muted" | "faded";
|
|
609
614
|
/**
|
|
610
615
|
* `fold-icon` — the single surface for all SVG icons.
|
|
611
616
|
*
|
|
@@ -625,6 +630,7 @@ type FoldIconSize = "xs" | "sm" | "md" | "lg" | "xl" | number;
|
|
|
625
630
|
* <fold-icon name="search" />
|
|
626
631
|
* <fold-icon name="bin" size="lg" />
|
|
627
632
|
* <fold-icon name="heart" [size]="18" />
|
|
633
|
+
* <fold-icon name="star" tone="primary" /> <!-- accent tint, ignores context -->
|
|
628
634
|
* <fold-icon name="edit" title="Edit track" /> <!-- a11y label -->
|
|
629
635
|
* ```
|
|
630
636
|
*/
|
|
@@ -633,6 +639,9 @@ declare class FoldIconComponent {
|
|
|
633
639
|
readonly name: _angular_core.InputSignal<FoldIconName>;
|
|
634
640
|
/** Size — token (`xs…xl`) or explicit pixel number. Defaults to `md`. */
|
|
635
641
|
readonly size: _angular_core.InputSignal<FoldIconSize>;
|
|
642
|
+
/** Semantic tint — `primary` · `secondary` · `muted` · `faded`. Unset (default)
|
|
643
|
+
* inherits `currentColor`, so the icon matches whatever it sits in. */
|
|
644
|
+
readonly tone: _angular_core.InputSignal<FoldIconTone | undefined>;
|
|
636
645
|
/** Optional accessible label. Set → `aria-label`; unset → `aria-hidden`. */
|
|
637
646
|
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
638
647
|
private readonly registry;
|
|
@@ -642,9 +651,11 @@ declare class FoldIconComponent {
|
|
|
642
651
|
readonly href: _angular_core.Signal<string | null>;
|
|
643
652
|
/** Resolves the size input to a CSS length string for `--icon-size`. */
|
|
644
653
|
readonly sizeVar: _angular_core.Signal<string>;
|
|
654
|
+
/** The tone's colour token, or null to inherit `currentColor` (no override). */
|
|
655
|
+
readonly toneColor: _angular_core.Signal<string | null>;
|
|
645
656
|
constructor();
|
|
646
657
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoldIconComponent, never>;
|
|
647
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldIconComponent, "fold-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
658
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldIconComponent, "fold-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
648
659
|
}
|
|
649
660
|
|
|
650
661
|
/**
|
|
@@ -1439,9 +1450,12 @@ type FoldMenuTogglePlacement = "auto" | "footer" | "header" | "body";
|
|
|
1439
1450
|
*
|
|
1440
1451
|
* ## Options
|
|
1441
1452
|
* - `collapsible` — render a chevron toggle that flips `expanded`.
|
|
1442
|
-
* - `expanded` (two-way) — `
|
|
1443
|
-
* icon-only
|
|
1444
|
-
*
|
|
1453
|
+
* - `expanded` (two-way) — `true` widens the rail and reveals inline labels;
|
|
1454
|
+
* `false` is the icon rail (icon-only, hover tooltips). **Left unbound it
|
|
1455
|
+
* follows `collapsible`:** `<fold-menu collapsible>` boots **expanded** (you
|
|
1456
|
+
* added a way to collapse, so open is the natural start), a bare `<fold-menu>`
|
|
1457
|
+
* boots the icon rail. Bind it (`[expanded]` / `[(expanded)]`) to be
|
|
1458
|
+
* authoritative — an explicit value always wins.
|
|
1445
1459
|
*
|
|
1446
1460
|
* ## Slots
|
|
1447
1461
|
* | Attribute | Band |
|
|
@@ -1468,11 +1482,13 @@ declare class FoldMenuComponent {
|
|
|
1468
1482
|
/** Show a chevron toggle that flips `expanded`. */
|
|
1469
1483
|
readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1470
1484
|
/**
|
|
1471
|
-
* Two-way
|
|
1472
|
-
*
|
|
1473
|
-
*
|
|
1485
|
+
* Two-way. `true` widens the rail and reveals inline labels; `false` is the
|
|
1486
|
+
* icon rail. **`undefined` (the default) means "unset"** — the effective state
|
|
1487
|
+
* then follows `collapsible` (see {@link isExpanded}), so a bare `collapsible`
|
|
1488
|
+
* menu opens without the consumer having to bind it. A bound value is always
|
|
1489
|
+
* authoritative.
|
|
1474
1490
|
*/
|
|
1475
|
-
readonly expanded: _angular_core.ModelSignal<boolean>;
|
|
1491
|
+
readonly expanded: _angular_core.ModelSignal<boolean | undefined>;
|
|
1476
1492
|
/** How items tint on hover / when active (`follow` = section colour). */
|
|
1477
1493
|
readonly tint: _angular_core.InputSignal<FoldMenuTint>;
|
|
1478
1494
|
/** Rail depth → background tint (`primary` default / `secondary` / `tertiary`). */
|
|
@@ -1483,6 +1499,13 @@ declare class FoldMenuComponent {
|
|
|
1483
1499
|
private readonly footRef;
|
|
1484
1500
|
private readonly hasHeader;
|
|
1485
1501
|
private readonly hasFooter;
|
|
1502
|
+
/**
|
|
1503
|
+
* The effective expanded state everything renders from: the bound `expanded`
|
|
1504
|
+
* when set, else it follows `collapsible` (a collapsible rail boots open, a
|
|
1505
|
+
* plain one boots as the icon rail). Encodes the sensible default without a
|
|
1506
|
+
* warning — the short `<fold-menu collapsible>` Just Works.
|
|
1507
|
+
*/
|
|
1508
|
+
protected readonly isExpanded: _angular_core.Signal<boolean>;
|
|
1486
1509
|
/**
|
|
1487
1510
|
* The band the toggle renders into: the `togglePlacement` override when set,
|
|
1488
1511
|
* else auto — first in the footer, else last in the header, else the body.
|
|
@@ -1847,10 +1870,11 @@ declare function provideFoldDataTableLabels(labels: Partial<FoldDataTableLabels>
|
|
|
1847
1870
|
* owns the chrome (sticky sortable header, row tone accents, focus/click, the
|
|
1848
1871
|
* mobile card layout, the loading + empty states).
|
|
1849
1872
|
*
|
|
1850
|
-
* Selection
|
|
1851
|
-
*
|
|
1852
|
-
* select-all (with an indeterminate state over the
|
|
1853
|
-
* selected-row tint
|
|
1873
|
+
* Selection is a two-way model: bind `[(selected)]` with a set of row keys and
|
|
1874
|
+
* the table writes the next set back on any checkbox toggle — it renders the
|
|
1875
|
+
* checkbox column, the header select-all (with an indeterminate state over the
|
|
1876
|
+
* current rows), and the selected-row tint. Bind it one-way (`[selected]`) to
|
|
1877
|
+
* stay fully controlled.
|
|
1854
1878
|
*
|
|
1855
1879
|
* The narrow-screen behaviour is the parent's choice, not an imposed one, via
|
|
1856
1880
|
* `mobileLayout`: `scroll` (default — stay tabular, scroll horizontally),
|
|
@@ -1901,14 +1925,17 @@ declare class FoldDataTableComponent<T> {
|
|
|
1901
1925
|
readonly stickyFirst: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1902
1926
|
/** Renders the checkbox column + header select-all. */
|
|
1903
1927
|
readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1904
|
-
/**
|
|
1905
|
-
|
|
1928
|
+
/**
|
|
1929
|
+
* Selected row keys, as a **two-way model** — bind `[(selected)]` and the
|
|
1930
|
+
* table writes the next set back on any toggle (it never mutates the set in
|
|
1931
|
+
* place). One-way `[selected]` stays fully controlled. The one source of
|
|
1932
|
+
* selection: there is no separate change output.
|
|
1933
|
+
*/
|
|
1934
|
+
readonly selected: _angular_core.ModelSignal<ReadonlySet<string | number>>;
|
|
1906
1935
|
/** Accessible label for a row's checkbox, e.g. `(row) => row.name`. */
|
|
1907
1936
|
readonly selectionLabel: _angular_core.InputSignal<((row: T) => string) | undefined>;
|
|
1908
1937
|
/** Per-instance label overrides (merged over the app-wide / English defaults). */
|
|
1909
1938
|
readonly labels: _angular_core.InputSignal<Partial<FoldDataTableLabels> | undefined>;
|
|
1910
|
-
/** Emits the next selection set on any checkbox toggle (never mutates input). */
|
|
1911
|
-
readonly selectionChange: _angular_core.OutputEmitterRef<Set<string | number>>;
|
|
1912
1939
|
/** Emits the clicked sortable column's `key`. */
|
|
1913
1940
|
readonly sortChange: _angular_core.OutputEmitterRef<string>;
|
|
1914
1941
|
readonly rowClick: _angular_core.OutputEmitterRef<T>;
|
|
@@ -1970,7 +1997,7 @@ declare class FoldDataTableComponent<T> {
|
|
|
1970
1997
|
onRowFocus(row: T, index: number): void;
|
|
1971
1998
|
onRowKeydown(event: KeyboardEvent, row: T): void;
|
|
1972
1999
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoldDataTableComponent<any>, never>;
|
|
1973
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldDataTableComponent<any>, "fold-data-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "rowTone": { "alias": "rowTone"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "zebra": { "alias": "zebra"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "mobileLayout": { "alias": "mobileLayout"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "stickyFirst": { "alias": "stickyFirst"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "selectionLabel": { "alias": "selectionLabel"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "toolbarSurface": { "alias": "toolbarSurface"; "required": false; "isSignal": true; }; }, { "
|
|
2000
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldDataTableComponent<any>, "fold-data-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "rowTone": { "alias": "rowTone"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "zebra": { "alias": "zebra"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "mobileLayout": { "alias": "mobileLayout"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "stickyFirst": { "alias": "stickyFirst"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "selectionLabel": { "alias": "selectionLabel"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "toolbarSurface": { "alias": "toolbarSurface"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; "sortChange": "sortChange"; "rowClick": "rowClick"; }, ["cells", "rowCard"], ["[foldToolbar]"], true, never>;
|
|
1974
2001
|
}
|
|
1975
2002
|
|
|
1976
2003
|
/**
|
|
@@ -2152,7 +2179,7 @@ type FoldTextToken = (typeof FOLD_TEXT_TOKENS)[number];
|
|
|
2152
2179
|
declare const FOLD_ICON_SIZE_TOKENS: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
2153
2180
|
type FoldIconSizeToken = (typeof FOLD_ICON_SIZE_TOKENS)[number];
|
|
2154
2181
|
/** Space (gap / padding / margin) scale. */
|
|
2155
|
-
declare const FOLD_SPACE_TOKENS: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
2182
|
+
declare const FOLD_SPACE_TOKENS: readonly ["xs", "sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl"];
|
|
2156
2183
|
type FoldSpaceToken = (typeof FOLD_SPACE_TOKENS)[number];
|
|
2157
2184
|
/** Motion scale — `transition` shorthands (duration + easing). */
|
|
2158
2185
|
declare const FOLD_MOTION_TOKENS: readonly ["fast", "base", "slow"];
|
|
@@ -4187,12 +4214,14 @@ declare class FoldPageTitleDirective {
|
|
|
4187
4214
|
* given**. It does *not* cap the column — narrowing a block to a readable measure
|
|
4188
4215
|
* is the content's job (wrap that block in your own max-width container), never
|
|
4189
4216
|
* the page scaffold's. The *horizontal* gutter is a single token,
|
|
4190
|
-
* `--fold-page-gutter` (default `
|
|
4191
|
-
* `0` for a bleeding dashboard. A
|
|
4192
|
-
* cancels exactly that token to
|
|
4193
|
-
* amid padded content), so the two
|
|
4194
|
-
* The *vertical* rhythm between
|
|
4195
|
-
* `--fold-page-gap` (default
|
|
4217
|
+
* `--fold-page-gutter` (fluid default `clamp(1rem, 4vw, 2rem)` — 16→32px) —
|
|
4218
|
+
* retune it per page/theme, or set it to `0` for a bleeding dashboard. A
|
|
4219
|
+
* {@link FoldPageSectionComponent} with `bleed` cancels exactly that token to
|
|
4220
|
+
* span the page edge-to-edge (a full-width band amid padded content), so the two
|
|
4221
|
+
* never desync — including on the fluid gutter. The *vertical* rhythm between
|
|
4222
|
+
* stacked elements is its own token, `--fold-page-gap` (fluid default
|
|
4223
|
+
* `clamp(1.25rem, 3vw, 2rem)` — 20→32px, a gentler curve than the gutter),
|
|
4224
|
+
* retunable the same way.
|
|
4196
4225
|
*
|
|
4197
4226
|
* Content projection:
|
|
4198
4227
|
* - default slot → the page body (sections, cards, banners…).
|
|
@@ -4237,20 +4266,29 @@ declare class FoldPageLayoutComponent {
|
|
|
4237
4266
|
|
|
4238
4267
|
/**
|
|
4239
4268
|
* `<fold-page-section>` — a titled, semantic **`<section>`** grouping of page
|
|
4240
|
-
* content inside a {@link FoldPageLayoutComponent}:
|
|
4269
|
+
* content inside a {@link FoldPageLayoutComponent}: a `title` + optional
|
|
4241
4270
|
* `description`, a right-aligned actions slot, and the content below.
|
|
4242
4271
|
*
|
|
4243
|
-
* **It is structure, not a box.** The title
|
|
4244
|
-
*
|
|
4245
|
-
*
|
|
4246
|
-
*
|
|
4247
|
-
*
|
|
4248
|
-
*
|
|
4272
|
+
* **It is structure, not a box.** The `title` renders a real **`<h2>`** (a
|
|
4273
|
+
* genuine section heading under the page's `<h1>`, not a decorative eyebrow) and
|
|
4274
|
+
* the region is a `<section>` named by it (`aria-labelledby`) — so a page reads
|
|
4275
|
+
* as an outline to assistive tech. Set `headingLevel` to correct the `aria-level`
|
|
4276
|
+
* where a section nests deeper. It paints nothing: transparent, no border, no
|
|
4277
|
+
* radius. For a **visual box**, wrap the content in a {@link FoldCardComponent} —
|
|
4278
|
+
* the two are orthogonal and compose (a section can hold a card; a card never
|
|
4279
|
+
* needs to know about the page).
|
|
4249
4280
|
*
|
|
4250
4281
|
* Content projection:
|
|
4251
4282
|
* - default slot → the section content.
|
|
4252
|
-
* - `[sectionActions]` → the right-aligned header slot
|
|
4253
|
-
*
|
|
4283
|
+
* - `[sectionActions]` → the right-aligned header slot, beside the `title`.
|
|
4284
|
+
* - `[sectionHeader]` → a **bespoke** header, used *instead of* `title` when the
|
|
4285
|
+
* default `<h2>` isn't enough (e.g. project a {@link FoldElementTitleComponent}
|
|
4286
|
+
* with an icon tile + subtitle). The projected header owns its own heading
|
|
4287
|
+
* semantics.
|
|
4288
|
+
*
|
|
4289
|
+
* The section's vertical rhythm — the head↔body gap, and the `stack` body's
|
|
4290
|
+
* item gap — is a single token, `--fold-page-section-gap` (default the `lg`
|
|
4291
|
+
* space); retune it per section or theme.
|
|
4254
4292
|
*
|
|
4255
4293
|
* Two orthogonal helpers, both independent of the title:
|
|
4256
4294
|
* - `stack` — lay the body out as an evenly-spaced vertical stack (form fields).
|
|
@@ -4268,6 +4306,12 @@ declare class FoldPageLayoutComponent {
|
|
|
4268
4306
|
* …
|
|
4269
4307
|
* </fold-page-section>
|
|
4270
4308
|
*
|
|
4309
|
+
* <!-- bespoke header instead of the default h2 -->
|
|
4310
|
+
* <fold-page-section>
|
|
4311
|
+
* <fold-element-title sectionHeader variant="title" icon="company" title="Contexte" />
|
|
4312
|
+
* …
|
|
4313
|
+
* </fold-page-section>
|
|
4314
|
+
*
|
|
4271
4315
|
* <!-- need a box? compose with fold-card -->
|
|
4272
4316
|
* <fold-page-section title="Documents">
|
|
4273
4317
|
* <fold-card surface="sunken">…</fold-card>
|
|
@@ -4281,6 +4325,9 @@ declare class FoldPageSectionComponent {
|
|
|
4281
4325
|
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
4282
4326
|
/** An optional leading icon beside the title. */
|
|
4283
4327
|
readonly icon: _angular_core.InputSignal<FoldIconName | undefined>;
|
|
4328
|
+
/** Tint of the leading icon — forwarded to `fold-icon`'s `tone`. Defaults to
|
|
4329
|
+
* `secondary` (a muted ink, a step below the title). */
|
|
4330
|
+
readonly iconTone: _angular_core.InputSignal<FoldIconTone>;
|
|
4284
4331
|
/** A one-line description under the title. */
|
|
4285
4332
|
readonly description: _angular_core.InputSignal<string | undefined>;
|
|
4286
4333
|
/** Heading depth exposed to assistive tech (`aria-level`) — set it so sections
|
|
@@ -4297,7 +4344,7 @@ declare class FoldPageSectionComponent {
|
|
|
4297
4344
|
* `aria-labelledby` (only when there's a title). */
|
|
4298
4345
|
protected readonly headingId: string;
|
|
4299
4346
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoldPageSectionComponent, never>;
|
|
4300
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldPageSectionComponent, "fold-page-section", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; "bleed": { "alias": "bleed"; "required": false; "isSignal": true; }; }, {}, never, ["[sectionActions]", "*"], true, never>;
|
|
4347
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldPageSectionComponent, "fold-page-section", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconTone": { "alias": "iconTone"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; "bleed": { "alias": "bleed"; "required": false; "isSignal": true; }; }, {}, never, ["[sectionActions]", "[sectionHeader]", "*"], true, never>;
|
|
4301
4348
|
}
|
|
4302
4349
|
|
|
4303
4350
|
/**
|
|
@@ -4432,10 +4479,17 @@ declare class FoldPaginatorComponent {
|
|
|
4432
4479
|
readonly currentPage: _angular_core.InputSignal<number>;
|
|
4433
4480
|
/** Total number of items across all pages (drives `totalPages` + range label). */
|
|
4434
4481
|
readonly totalItems: _angular_core.InputSignal<number>;
|
|
4435
|
-
/**
|
|
4436
|
-
|
|
4482
|
+
/**
|
|
4483
|
+
* Number of items per page (must be > 0). Optional: when omitted, the first
|
|
4484
|
+
* of {@link pageSizeOptions} is used, so the common case only needs
|
|
4485
|
+
* `currentPage` + `totalItems`. Everything visible derives from the effective
|
|
4486
|
+
* size, so a control-it-later parent stays consistent.
|
|
4487
|
+
*/
|
|
4488
|
+
readonly pageSize: _angular_core.InputSignal<number | undefined>;
|
|
4437
4489
|
/** Selectable page sizes. Set `[]` to hide the size selector entirely. */
|
|
4438
4490
|
readonly pageSizeOptions: _angular_core.InputSignal<readonly number[]>;
|
|
4491
|
+
/** The size actually in effect: the `pageSize` input, else the first option. */
|
|
4492
|
+
readonly effectivePageSize: _angular_core.Signal<number>;
|
|
4439
4493
|
/**
|
|
4440
4494
|
* How many page buttons to render on each side of the current page
|
|
4441
4495
|
* between the first/last anchors. Example with `siblingCount: 1`:
|
|
@@ -4488,11 +4542,11 @@ declare class FoldPaginatorComponent {
|
|
|
4488
4542
|
next(): void;
|
|
4489
4543
|
onPageSizeChange(raw: string): void;
|
|
4490
4544
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoldPaginatorComponent, never>;
|
|
4491
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldPaginatorComponent, "fold-paginator", never, { "currentPage": { "alias": "currentPage"; "required": true; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required":
|
|
4545
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldPaginatorComponent, "fold-paginator", never, { "currentPage": { "alias": "currentPage"; "required": true; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; }, never, never, true, never>;
|
|
4492
4546
|
}
|
|
4493
4547
|
|
|
4494
4548
|
type FoldViewNavItem = {
|
|
4495
|
-
/** Unique key — identifies the item
|
|
4549
|
+
/** Unique key — identifies the item; a button item writes it to `activeKey`. */
|
|
4496
4550
|
key: string;
|
|
4497
4551
|
/** Display label. */
|
|
4498
4552
|
label: string;
|
|
@@ -4517,9 +4571,9 @@ type FoldViewNavItem = {
|
|
|
4517
4571
|
* *go somewhere*. Give each item a `link` (or `href`) and it renders a real
|
|
4518
4572
|
* `<a>` — so cmd/middle-click opens a new tab, the URL is a deep link, and the
|
|
4519
4573
|
* active item is driven automatically by `routerLinkActive` +
|
|
4520
|
-
* `aria-current="page"`. Without a link an item is a `<button>` that
|
|
4521
|
-
* `
|
|
4522
|
-
*
|
|
4574
|
+
* `aria-current="page"`. Without a link an item is a `<button>` that drives the
|
|
4575
|
+
* `activeKey` **two-way model** — bind `[(activeKey)]` for view switching with
|
|
4576
|
+
* no route.
|
|
4523
4577
|
*
|
|
4524
4578
|
* **Navigation, not the tabs widget.** Reach for this when a tab routes / switches
|
|
4525
4579
|
* views. When tabs toggle **layered panels in place** (same URL), use
|
|
@@ -4546,10 +4600,12 @@ declare class FoldViewNavComponent {
|
|
|
4546
4600
|
/** The items to render, in order. */
|
|
4547
4601
|
readonly items: _angular_core.InputSignal<FoldViewNavItem[]>;
|
|
4548
4602
|
/**
|
|
4549
|
-
* The active item's `key
|
|
4550
|
-
*
|
|
4603
|
+
* The active item's `key`, as a **two-way model** — for **button** items (no
|
|
4604
|
+
* `link`). Bind `[(activeKey)]` and a click writes the new key back; there is
|
|
4605
|
+
* no separate change output (the model is the one way). Link items ignore it:
|
|
4606
|
+
* their active state comes from the URL via `routerLinkActive`.
|
|
4551
4607
|
*/
|
|
4552
|
-
readonly activeKey: _angular_core.
|
|
4608
|
+
readonly activeKey: _angular_core.ModelSignal<string>;
|
|
4553
4609
|
/** How the active item reads: accent underline, or accent fill. */
|
|
4554
4610
|
readonly activeStyle: _angular_core.InputSignal<"fill" | "underline">;
|
|
4555
4611
|
/**
|
|
@@ -4582,14 +4638,12 @@ declare class FoldViewNavComponent {
|
|
|
4582
4638
|
* `surface` (a filled bar that carries its own rail background).
|
|
4583
4639
|
*/
|
|
4584
4640
|
readonly background: _angular_core.InputSignal<"transparent" | "surface">;
|
|
4585
|
-
/** Emits the `key` of a clicked **button** item (link items just navigate). */
|
|
4586
|
-
readonly activeChange: _angular_core.OutputEmitterRef<string>;
|
|
4587
4641
|
/** The nearest layout, if any — lets `direction="auto"` follow it. */
|
|
4588
4642
|
private readonly layout;
|
|
4589
4643
|
/** `direction` with `auto` resolved against the wrapping layout. */
|
|
4590
4644
|
protected readonly resolvedDirection: _angular_core.Signal<"vertical" | "horizontal">;
|
|
4591
4645
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoldViewNavComponent, never>;
|
|
4592
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldViewNavComponent, "fold-view-nav", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "activeKey": { "alias": "activeKey"; "required": false; "isSignal": true; }; "activeStyle": { "alias": "activeStyle"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; }, { "
|
|
4646
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldViewNavComponent, "fold-view-nav", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "activeKey": { "alias": "activeKey"; "required": false; "isSignal": true; }; "activeStyle": { "alias": "activeStyle"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; }, { "activeKey": "activeKeyChange"; }, never, never, true, never>;
|
|
4593
4647
|
}
|
|
4594
4648
|
|
|
4595
4649
|
/** A tab in a {@link FoldTabsComponent} bar. */
|
|
@@ -4629,15 +4683,12 @@ interface FoldTabsContext {
|
|
|
4629
4683
|
* difference is **semantics** — use `fold-tabs` for in-page panel switching, and
|
|
4630
4684
|
* `fold-view-nav` when the tabs actually navigate (route) between views.
|
|
4631
4685
|
*
|
|
4686
|
+
* `activeKey` is a two-way model — the single way to drive selection. Bind
|
|
4687
|
+
* `[(activeKey)]` and the bar writes the new key back on click / arrow keys:
|
|
4688
|
+
*
|
|
4632
4689
|
* ```html
|
|
4633
4690
|
* <fold-nav-layout>
|
|
4634
|
-
* <fold-tabs
|
|
4635
|
-
* nav
|
|
4636
|
-
* #t="foldTabs"
|
|
4637
|
-
* [tabs]="tabs"
|
|
4638
|
-
* [activeKey]="tab()"
|
|
4639
|
-
* (tabChange)="tab.set($event)"
|
|
4640
|
-
* />
|
|
4691
|
+
* <fold-tabs nav #t="foldTabs" [tabs]="tabs" [(activeKey)]="tab" />
|
|
4641
4692
|
* <fold-tab-panel [tabs]="t" key="overview">…</fold-tab-panel>
|
|
4642
4693
|
* <fold-tab-panel [tabs]="t" key="settings">…</fold-tab-panel>
|
|
4643
4694
|
* </fold-nav-layout>
|
|
@@ -4651,8 +4702,14 @@ interface FoldTabsContext {
|
|
|
4651
4702
|
declare class FoldTabsComponent implements FoldTabsContext {
|
|
4652
4703
|
/** The tabs to render, in order. */
|
|
4653
4704
|
readonly tabs: _angular_core.InputSignal<FoldTabItem[]>;
|
|
4654
|
-
/**
|
|
4655
|
-
|
|
4705
|
+
/**
|
|
4706
|
+
* The `key` of the active tab (the shown panel), as a **two-way model** — the
|
|
4707
|
+
* single source of selection. Bind `[(activeKey)]` and the bar writes the new
|
|
4708
|
+
* key back on click / arrow keys; to *react* to a change without a writeback,
|
|
4709
|
+
* listen to the model's `(activeKeyChange)`. There is no separate change
|
|
4710
|
+
* output — the model is the one way.
|
|
4711
|
+
*/
|
|
4712
|
+
readonly activeKey: _angular_core.ModelSignal<string>;
|
|
4656
4713
|
/** How the active tab reads: accent underline, or accent fill. */
|
|
4657
4714
|
readonly activeStyle: _angular_core.InputSignal<"fill" | "underline">;
|
|
4658
4715
|
/**
|
|
@@ -4666,8 +4723,6 @@ declare class FoldTabsComponent implements FoldTabsContext {
|
|
|
4666
4723
|
readonly collapsed: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4667
4724
|
/** `surface` (filled bar, default) or `transparent`. */
|
|
4668
4725
|
readonly background: _angular_core.InputSignal<"transparent" | "surface">;
|
|
4669
|
-
/** Emits the newly-selected tab's `key`. */
|
|
4670
|
-
readonly tabChange: _angular_core.OutputEmitterRef<string>;
|
|
4671
4726
|
/** The nearest layout, if any — lets `direction="auto"` follow it. */
|
|
4672
4727
|
private readonly layout;
|
|
4673
4728
|
/** `direction` with `auto` resolved against the wrapping layout. */
|
|
@@ -4678,6 +4733,9 @@ declare class FoldTabsComponent implements FoldTabsContext {
|
|
|
4678
4733
|
tabId(key: string): string;
|
|
4679
4734
|
panelId(key: string): string;
|
|
4680
4735
|
protected select(key: string): void;
|
|
4736
|
+
/** Records a new selection by writing the `activeKey` model — the two-way
|
|
4737
|
+
* binding (or its `activeKeyChange`) carries it to the parent. */
|
|
4738
|
+
private commit;
|
|
4681
4739
|
/**
|
|
4682
4740
|
* Roving-tabindex keyboard model (APG Tabs, automatic activation): arrows move
|
|
4683
4741
|
* — and select — the adjacent tab, `Home`/`End` the ends. Both axes work, so
|
|
@@ -4686,7 +4744,7 @@ declare class FoldTabsComponent implements FoldTabsContext {
|
|
|
4686
4744
|
*/
|
|
4687
4745
|
protected onKeydown(event: KeyboardEvent): void;
|
|
4688
4746
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoldTabsComponent, never>;
|
|
4689
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldTabsComponent, "fold-tabs", ["foldTabs"], { "tabs": { "alias": "tabs"; "required": true; "isSignal": true; }; "activeKey": { "alias": "activeKey"; "required": true; "isSignal": true; }; "activeStyle": { "alias": "activeStyle"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; }, { "
|
|
4747
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoldTabsComponent, "fold-tabs", ["foldTabs"], { "tabs": { "alias": "tabs"; "required": true; "isSignal": true; }; "activeKey": { "alias": "activeKey"; "required": true; "isSignal": true; }; "activeStyle": { "alias": "activeStyle"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; }, { "activeKey": "activeKeyChange"; }, never, never, true, never>;
|
|
4690
4748
|
}
|
|
4691
4749
|
|
|
4692
4750
|
/**
|
|
@@ -4700,7 +4758,7 @@ declare class FoldTabsComponent implements FoldTabsContext {
|
|
|
4700
4758
|
* content) and still coordinate.
|
|
4701
4759
|
*
|
|
4702
4760
|
* ```html
|
|
4703
|
-
* <fold-tabs #t="foldTabs" [tabs]="tabs" [activeKey]="tab
|
|
4761
|
+
* <fold-tabs #t="foldTabs" [tabs]="tabs" [(activeKey)]="tab" />
|
|
4704
4762
|
* <fold-tab-panel [tabs]="t" key="overview">…</fold-tab-panel>
|
|
4705
4763
|
* ```
|
|
4706
4764
|
*
|
|
@@ -5457,5 +5515,5 @@ declare class FoldPaletteRegistry {
|
|
|
5457
5515
|
}
|
|
5458
5516
|
|
|
5459
5517
|
export { FOLD_AUTO_PALETTES, FOLD_BLUR_TOKENS, FOLD_BUILTIN_ICONS, FOLD_DATA_TABLE_DEFAULT_LABELS, FOLD_DATA_TABLE_LABELS, FOLD_INLINE_CONFIRM_DEFAULT_LABELS, FOLD_INLINE_CONFIRM_LABELS, FOLD_MOTION_TOKENS, FOLD_PAGINATOR_DEFAULT_LABELS, FOLD_PAGINATOR_LABELS, FOLD_PALETTE_DEFAULT, FOLD_PANEL_CLOSE_LABEL, FOLD_RADIUS_TOKENS, FOLD_SEMANTIC_COLOR_TOKENS, FOLD_SHADOW_TOKENS, FOLD_SPACE_TOKENS, FOLD_TEXT_TOKENS, FOLD_TOAST_CONFIG, FoldAppShellComponent, FoldAsideLayoutComponent, FoldAvatarComponent, FoldAvatarDetailComponent, FoldAvatarListComponent, FoldBadgeComponent, FoldButtonComponent, FoldButtonIconComponent, FoldCalloutComponent, FoldCardComponent, FoldCheckboxComponent, FoldChoiceRowComponent, FoldContextCardComponent, FoldDataTableCellDirective, FoldDataTableComponent, FoldDataTableRowCardDirective, FoldDisclosureComponent, FoldDropdownComponent, FoldDropdownItemComponent, FoldElementTitleComponent, FoldElevatedDirective, FoldEmptyStateComponent, FoldFieldComponent, FoldFieldIdDirective, FoldFieldListComponent, FoldFileDropzoneComponent, FoldHeroCardComponent, FoldHeroSectionComponent, FoldIconComponent, FoldIconRegistry, FoldIdService, FoldInlineConfirmComponent, FoldInputComponent, FoldLinkComponent, FoldListboxComponent, FoldLoadingStateComponent, FoldMenuComponent, FoldMenuItemComponent, FoldMenuSectionComponent, FoldMenuSeparatorComponent, FoldMultiselectComponent, FoldNavLauncherComponent, FoldNavLayoutComponent, FoldNavTileComponent, FoldNumberInputComponent, FoldOptionComponent, FoldPageLayoutComponent, FoldPageSectionComponent, FoldPageTitleDirective, FoldPaginatorComponent, FoldPaletteRegistry, FoldPanelComponentOutletDirective, FoldPanelHeaderComponent, FoldPanelHostComponent, FoldPanelHostService, FoldPanelRef, FoldPanelToggle, FoldPasswordFieldComponent, FoldPopoverComponent, FoldPopoverTriggerDirective, FoldRangeSliderComponent, FoldRepeatPressDirective, FoldSearchComponent, FoldSelectComponent, FoldSliderComponent, FoldSpinnerComponent, FoldStatusBadgeComponent, FoldStickyColumnDirective, FoldSurfaceDirective, FoldTabPanelComponent, FoldTabsComponent, FoldTimelineComponent, FoldToastComponent, FoldToastContainerComponent, FoldToastService, FoldToggleIconComponent, FoldViewNavComponent, FoldViewToggleComponent, autoUpdate, computePlacement, foldBlurVar, foldCardBandChrome, foldColorProperty, foldColorVar, foldDefaultPasswordRules, foldHashSeed, foldMotionVar, foldRadiusVar, foldRegexRule, foldResolvePalette, foldShadowVar, foldSpaceVar, foldTextVar, observeElementWidth, provideFoldDataTableLabels, provideFoldIcons, provideFoldInlineConfirmLabels, provideFoldPaginatorLabels, provideFoldPalette, provideFoldPanelLabels, provideFoldToasts };
|
|
5460
|
-
export type { FoldAutoPaletteName, FoldAvatarListItem, FoldAvatarRing, FoldAvatarRingStyle, FoldAvatarVariant, FoldBadgeVariant, FoldBlurToken, FoldBuiltinIconName, FoldButtonEmphasis, FoldButtonIconShape, FoldButtonIconSize, FoldButtonIconTone, FoldButtonIntent, FoldButtonShape, FoldButtonSize, FoldCalloutAppearance, FoldCalloutVariant, FoldCardBandChrome, FoldCardBandChromeInput, FoldChoiceOption, FoldComponentPanelDescriptor, FoldDataTableLabels, FoldIconName, FoldIconSet, FoldIconSize, FoldInlineConfirmLabels, FoldMenuItemBadgeTone, FoldMenuLevel, FoldMenuTint, FoldMenuTogglePlacement, FoldMotionToken, FoldNumberControls, FoldNumberSpinner, FoldPageItem, FoldPaginatorLabels, FoldPaletteInput, FoldPanelConfig, FoldPanelContent, FoldPanelDescriptor, FoldPanelHandle, FoldPanelLabels, FoldPanelSide, FoldPasswordRule, FoldPlacementInput, FoldPlacementResult, FoldPopoverAlign, FoldPopoverPlacement, FoldPopoverSide, FoldRadiusToken, FoldRangeValue, FoldRect, FoldSelectOption, FoldSemanticColorToken, FoldShadowToken, FoldSpaceToken, FoldSpinnerSize, FoldStickyColumnAnchor, FoldSurfaceName, FoldTabItem, FoldTableColumn, FoldTableEmpty, FoldTableSort, FoldTableSortDir, FoldTableTone, FoldTabsContext, FoldTemplatePanelDescriptor, FoldTextToken, FoldTimelineDatePlacement, FoldTimelineNode, FoldToast, FoldToastConfig, FoldToastVariant, FoldViewNavItem, FoldViewToggleOption };
|
|
5518
|
+
export type { FoldAutoPaletteName, FoldAvatarListItem, FoldAvatarRing, FoldAvatarRingStyle, FoldAvatarVariant, FoldBadgeVariant, FoldBlurToken, FoldBuiltinIconName, FoldButtonEmphasis, FoldButtonIconShape, FoldButtonIconSize, FoldButtonIconTone, FoldButtonIntent, FoldButtonShape, FoldButtonSize, FoldCalloutAppearance, FoldCalloutVariant, FoldCardBandChrome, FoldCardBandChromeInput, FoldChoiceOption, FoldComponentPanelDescriptor, FoldDataTableLabels, FoldIconName, FoldIconSet, FoldIconSize, FoldIconTone, FoldInlineConfirmLabels, FoldMenuItemBadgeTone, FoldMenuLevel, FoldMenuTint, FoldMenuTogglePlacement, FoldMotionToken, FoldNumberControls, FoldNumberSpinner, FoldPageItem, FoldPaginatorLabels, FoldPaletteInput, FoldPanelConfig, FoldPanelContent, FoldPanelDescriptor, FoldPanelHandle, FoldPanelLabels, FoldPanelSide, FoldPasswordRule, FoldPlacementInput, FoldPlacementResult, FoldPopoverAlign, FoldPopoverPlacement, FoldPopoverSide, FoldRadiusToken, FoldRangeValue, FoldRect, FoldSelectOption, FoldSemanticColorToken, FoldShadowToken, FoldSpaceToken, FoldSpinnerSize, FoldStickyColumnAnchor, FoldSurfaceName, FoldTabItem, FoldTableColumn, FoldTableEmpty, FoldTableSort, FoldTableSortDir, FoldTableTone, FoldTabsContext, FoldTemplatePanelDescriptor, FoldTextToken, FoldTimelineDatePlacement, FoldTimelineNode, FoldToast, FoldToastConfig, FoldToastVariant, FoldViewNavItem, FoldViewToggleOption };
|
|
5461
5519
|
//# sourceMappingURL=fold-ng.d.ts.map
|