@truenas/ui-components 0.8.9 → 0.8.11
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/fesm2022/truenas-ui-components.mjs +48 -6
- package/fesm2022/truenas-ui-components.mjs.map +1 -1
- package/package.json +1 -1
- package/scripts/icon-sprite/cli-main.ts +15 -1
- package/scripts/icon-sprite/lib/load-config.spec.ts +296 -4
- package/scripts/icon-sprite/lib/load-config.ts +220 -5
- package/types/truenas-ui-components.d.ts +46 -1
|
@@ -17529,6 +17529,37 @@ export declare class TnSidePanelHeaderActionDirective {
|
|
|
17529
17529
|
static ɵfac: i0.ɵɵFactoryDeclaration<TnSidePanelHeaderActionDirective, never>;
|
|
17530
17530
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TnSidePanelHeaderActionDirective, "[tnSidePanelHeaderAction]", never, {}, {}, never, never, true, never>;
|
|
17531
17531
|
}
|
|
17532
|
+
/**
|
|
17533
|
+
* Directive to mark an element as the side-panel's heading, for a heading that
|
|
17534
|
+
* `title` cannot express — one with an image or a status beside the text (#372).
|
|
17535
|
+
*
|
|
17536
|
+
* It takes the place `title` takes: the start of the header, growing into the
|
|
17537
|
+
* free space and shrinking below its content width, with the header actions
|
|
17538
|
+
* and the close button still at the far end. It is not inside
|
|
17539
|
+
* `.tn-side-panel__header-actions`, so a consumer has no private class to
|
|
17540
|
+
* override to get it there.
|
|
17541
|
+
*
|
|
17542
|
+
* The panel renders no `<h2>` of its own unless `title` is set as well, so the
|
|
17543
|
+
* heading is yours to write — and so is the dialog's name: point
|
|
17544
|
+
* `ariaLabelledby` at it.
|
|
17545
|
+
*
|
|
17546
|
+
* @example
|
|
17547
|
+
* ```html
|
|
17548
|
+
* <tn-side-panel [(open)]="isOpen" ariaLabelledby="assistant-heading">
|
|
17549
|
+
* <div tnSidePanelTitle>
|
|
17550
|
+
* <h2 id="assistant-heading">
|
|
17551
|
+
* <img src="logo.svg" alt="TrueNAS" /> Assistant
|
|
17552
|
+
* </h2>
|
|
17553
|
+
* <span role="status">3 of 3 systems reachable</span>
|
|
17554
|
+
* </div>
|
|
17555
|
+
* Content here
|
|
17556
|
+
* </tn-side-panel>
|
|
17557
|
+
* ```
|
|
17558
|
+
*/
|
|
17559
|
+
export declare class TnSidePanelTitleDirective {
|
|
17560
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TnSidePanelTitleDirective, never>;
|
|
17561
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TnSidePanelTitleDirective, "[tnSidePanelTitle]", never, {}, {}, never, never, true, never>;
|
|
17562
|
+
}
|
|
17532
17563
|
/**
|
|
17533
17564
|
* A modal side panel: `role="dialog"` with `aria-modal="true"`, focus trapped
|
|
17534
17565
|
* while it is open and restored to the opener when it closes.
|
|
@@ -17723,6 +17754,13 @@ export declare class TnSidePanelComponent implements OnDestroy {
|
|
|
17723
17754
|
closed: import("@angular/core").OutputEmitterRef<void>;
|
|
17724
17755
|
private actionContent;
|
|
17725
17756
|
protected hasActions: import("@angular/core").Signal<boolean>;
|
|
17757
|
+
/**
|
|
17758
|
+
* Whether a `tnSidePanelTitle` was projected (#372). The slot's wrapper is
|
|
17759
|
+
* rendered only then, because it grows into the header's free space: an
|
|
17760
|
+
* empty one beside a `title` heading would take half of the heading's room.
|
|
17761
|
+
*/
|
|
17762
|
+
private titleSlotContent;
|
|
17763
|
+
protected hasTitleSlot: import("@angular/core").Signal<boolean>;
|
|
17726
17764
|
readonly panelId: string;
|
|
17727
17765
|
readonly titleId: string;
|
|
17728
17766
|
/**
|
|
@@ -17892,7 +17930,7 @@ export declare class TnSidePanelComponent implements OnDestroy {
|
|
|
17892
17930
|
"open": "openChange";
|
|
17893
17931
|
"opened": "opened";
|
|
17894
17932
|
"closed": "closed";
|
|
17895
|
-
}, ["actionContent"], ["[tnSidePanelHeaderAction]", "*", "[tnSidePanelAction]"], true, never>;
|
|
17933
|
+
}, ["actionContent", "titleSlotContent"], ["[tnSidePanelTitle]", "[tnSidePanelHeaderAction]", "*", "[tnSidePanelAction]"], true, never>;
|
|
17896
17934
|
}
|
|
17897
17935
|
export interface SidePanelHarnessFilters extends BaseHarnessFilters {
|
|
17898
17936
|
/** Filter by title text. */
|
|
@@ -17921,6 +17959,13 @@ export declare class TnSidePanelHarness extends ComponentHarness {
|
|
|
17921
17959
|
/**
|
|
17922
17960
|
* Get the panel title text, or `''` for a panel that renders no title.
|
|
17923
17961
|
*
|
|
17962
|
+
* The title is the `title` heading when there is one, and otherwise the
|
|
17963
|
+
* heading inside a projected `tnSidePanelTitle` (#372) — the first `h1`–`h6`
|
|
17964
|
+
* or `role="heading"` element there, which may be the projected element
|
|
17965
|
+
* itself. Only the heading: a status beside it in the slot is not the title.
|
|
17966
|
+
* Its text is the heading's text content, so an image's `alt` is not part of
|
|
17967
|
+
* it.
|
|
17968
|
+
*
|
|
17924
17969
|
* `locatorForOptional`, not `locatorFor`: since #214 a panel with no `title`
|
|
17925
17970
|
* renders no heading element at all — an `<h2>` with nothing in it is an
|
|
17926
17971
|
* `empty-heading` violation — and `locatorFor` throws on a selector that
|