@akcelik/strct 1.11.0 → 1.13.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/fesm2022/akcelik-strct.mjs +158 -63
- package/fesm2022/akcelik-strct.mjs.map +1 -1
- package/package.json +1 -1
- package/types/akcelik-strct.d.ts +42 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akcelik/strct",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "UIStruct — a standalone Angular component library with a tokenised, multi-palette theme system, built for datacenter / infrastructure management UIs.",
|
|
5
5
|
"author": "Serkan Akcelik <serkan.akcelik@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
package/types/akcelik-strct.d.ts
CHANGED
|
@@ -330,9 +330,17 @@ declare class StrctIcon {
|
|
|
330
330
|
private readonly sanitizer;
|
|
331
331
|
/**
|
|
332
332
|
* Icon name. Typed to autocomplete the built-in set while still accepting
|
|
333
|
-
* any string, since `registerStrctIcon` can add names at runtime.
|
|
333
|
+
* any string, since `registerStrctIcon` can add names at runtime. For a
|
|
334
|
+
* compile-time guarantee use `strictName` instead.
|
|
334
335
|
*/
|
|
335
336
|
readonly name: _angular_core.InputSignal<StrctIconName | (string & {})>;
|
|
337
|
+
/**
|
|
338
|
+
* Strict alternative to `name`: typed as the bare `StrctIconName` union, so
|
|
339
|
+
* a mistyped built-in name is a BUILD error under strict templates —
|
|
340
|
+
* `strictName="sheildCheck"` fails to compile. Wins over `name` when both
|
|
341
|
+
* are set. Use `name` for runtime-registered custom icons.
|
|
342
|
+
*/
|
|
343
|
+
readonly strictName: _angular_core.InputSignal<StrctIconName | null>;
|
|
336
344
|
/** Icon size in pixels. */
|
|
337
345
|
readonly size: _angular_core.InputSignal<number>;
|
|
338
346
|
/** Stroke width for outline icons. */
|
|
@@ -341,12 +349,14 @@ declare class StrctIcon {
|
|
|
341
349
|
readonly badge: _angular_core.InputSignal<StrctIconBadge>;
|
|
342
350
|
/** Accessible label for the icon. When empty the icon is hidden from assistive tech. */
|
|
343
351
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
352
|
+
/** The effective name: `strictName` wins when set. */
|
|
353
|
+
protected readonly iconName: _angular_core.Signal<StrctIconName | (string & {})>;
|
|
344
354
|
/** True when the named icon is a full-SVG (raw) icon registered by the app. */
|
|
345
355
|
protected readonly isRaw: _angular_core.Signal<boolean>;
|
|
346
356
|
protected readonly svg: _angular_core.Signal<SafeHtml>;
|
|
347
357
|
protected readonly rawSvg: _angular_core.Signal<SafeHtml>;
|
|
348
358
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctIcon, never>;
|
|
349
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctIcon, "strct-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
359
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctIcon, "strct-icon", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "strictName": { "alias": "strictName"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
350
360
|
}
|
|
351
361
|
|
|
352
362
|
/** Overlay positioning strategies. */
|
|
@@ -2063,11 +2073,24 @@ declare class StrctInputOtp implements ControlValueAccessor {
|
|
|
2063
2073
|
readonly length: _angular_core.InputSignal<number>;
|
|
2064
2074
|
/** Mask each box as a password dot. */
|
|
2065
2075
|
readonly masked: _angular_core.InputSignal<boolean>;
|
|
2076
|
+
/**
|
|
2077
|
+
* Focus box 0 on first render — the "second-factor step just appeared"
|
|
2078
|
+
* case, declaratively.
|
|
2079
|
+
*/
|
|
2080
|
+
readonly autofocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2081
|
+
/**
|
|
2082
|
+
* Insert a visual separator every N boxes (0 = none): `groupSize=3` renders
|
|
2083
|
+
* `nnn – nnn`, mirroring how authenticator apps display the code.
|
|
2084
|
+
*/
|
|
2085
|
+
readonly groupSize: _angular_core.InputSignal<number>;
|
|
2066
2086
|
readonly slots: _angular_core.WritableSignal<string[]>;
|
|
2067
2087
|
readonly isDisabled: _angular_core.WritableSignal<boolean>;
|
|
2068
2088
|
protected readonly indices: _angular_core.Signal<number[]>;
|
|
2069
2089
|
private onChange;
|
|
2070
2090
|
private onTouched;
|
|
2091
|
+
constructor();
|
|
2092
|
+
/** Move the caret to a box — e.g. back to 0 after clearing a rejected code. */
|
|
2093
|
+
focus(index?: number): void;
|
|
2071
2094
|
onInput(i: number, event: Event): void;
|
|
2072
2095
|
onKeydown(i: number, event: KeyboardEvent): void;
|
|
2073
2096
|
onPaste(event: ClipboardEvent): void;
|
|
@@ -2079,7 +2102,7 @@ declare class StrctInputOtp implements ControlValueAccessor {
|
|
|
2079
2102
|
registerOnTouched(fn: () => void): void;
|
|
2080
2103
|
setDisabledState(isDisabled: boolean): void;
|
|
2081
2104
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctInputOtp, never>;
|
|
2082
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctInputOtp, "strct-input-otp", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "masked": { "alias": "masked"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2105
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctInputOtp, "strct-input-otp", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "masked": { "alias": "masked"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "groupSize": { "alias": "groupSize"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2083
2106
|
}
|
|
2084
2107
|
|
|
2085
2108
|
/** Knob accent color variants. */
|
|
@@ -2702,6 +2725,13 @@ declare class StrctDatagrid {
|
|
|
2702
2725
|
readonly quickFilterFields: _angular_core.InputSignal<string[] | null>;
|
|
2703
2726
|
/** Render the built-in quick-filter searchbox in the toolbar. */
|
|
2704
2727
|
readonly quickFilterable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2728
|
+
/**
|
|
2729
|
+
* Where the built-in box sits in the toolbar. `'end'` (default) follows the
|
|
2730
|
+
* console convention: action verbs lead on the left, view controls sit at
|
|
2731
|
+
* the far right — and the box keeps a stable position across grids whose
|
|
2732
|
+
* button sets differ.
|
|
2733
|
+
*/
|
|
2734
|
+
readonly quickFilterAlign: _angular_core.InputSignal<"end" | "start">;
|
|
2705
2735
|
/**
|
|
2706
2736
|
* Tree-grid: the row property holding a row's children array. Rows render
|
|
2707
2737
|
* hierarchically with indent + carets; sorting applies per sibling level;
|
|
@@ -2799,6 +2829,14 @@ declare class StrctDatagrid {
|
|
|
2799
2829
|
protected startEdit(row: StrctRow, col: StrctDatagridColumn): void;
|
|
2800
2830
|
protected commitEdit(row: StrctRow, col: StrctDatagridColumn, event: Event): void;
|
|
2801
2831
|
protected cancelEdit(event?: Event): void;
|
|
2832
|
+
/**
|
|
2833
|
+
* `singleLine` reveal: hovering a cell whose content is actually clipped
|
|
2834
|
+
* gets the full text as a native `title`. Hover-lazy (one delegated
|
|
2835
|
+
* listener, zero render cost — virtual grids pay nothing for unhovered
|
|
2836
|
+
* cells), covers plain and `strctCell`-templated cells alike via
|
|
2837
|
+
* `textContent`, and self-corrects after a column resize.
|
|
2838
|
+
*/
|
|
2839
|
+
protected revealIfClipped(event: Event): void;
|
|
2802
2840
|
/** Active (non-empty) filter entries. */
|
|
2803
2841
|
private readonly activeFilters;
|
|
2804
2842
|
private readonly quickTerm;
|
|
@@ -2886,7 +2924,7 @@ declare class StrctDatagrid {
|
|
|
2886
2924
|
private commitSelection;
|
|
2887
2925
|
private compare;
|
|
2888
2926
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctDatagrid, never>;
|
|
2889
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDatagrid, "strct-datagrid", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "detailPane": { "alias": "detailPane"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "singleLine": { "alias": "singleLine"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnChooser": { "alias": "columnChooser"; "required": false; "isSignal": true; }; "sync": { "alias": "sync"; "required": false; "isSignal": true; }; "footerActionsDisabled": { "alias": "footerActionsDisabled"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "columnState": { "alias": "columnState"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "quickFilter": { "alias": "quickFilter"; "required": false; "isSignal": true; }; "quickFilterFields": { "alias": "quickFilterFields"; "required": false; "isSignal": true; }; "quickFilterable": { "alias": "quickFilterable"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; }, { "columnState": "columnStateChange"; "filters": "filtersChange"; "quickFilter": "quickFilterChange"; "selectionChange": "selectionChange"; "syncChange": "syncChange"; "rowAction": "rowAction"; "lazyLoad": "lazyLoad"; "cellEdit": "cellEdit"; }, ["detailDef", "actionBarDef", "cellDefs"], ["[strctDatagridActionBar]"], true, never>;
|
|
2927
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDatagrid, "strct-datagrid", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "detailPane": { "alias": "detailPane"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "singleLine": { "alias": "singleLine"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnChooser": { "alias": "columnChooser"; "required": false; "isSignal": true; }; "sync": { "alias": "sync"; "required": false; "isSignal": true; }; "footerActionsDisabled": { "alias": "footerActionsDisabled"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "columnState": { "alias": "columnState"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "quickFilter": { "alias": "quickFilter"; "required": false; "isSignal": true; }; "quickFilterFields": { "alias": "quickFilterFields"; "required": false; "isSignal": true; }; "quickFilterable": { "alias": "quickFilterable"; "required": false; "isSignal": true; }; "quickFilterAlign": { "alias": "quickFilterAlign"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; }, { "columnState": "columnStateChange"; "filters": "filtersChange"; "quickFilter": "quickFilterChange"; "selectionChange": "selectionChange"; "syncChange": "syncChange"; "rowAction": "rowAction"; "lazyLoad": "lazyLoad"; "cellEdit": "cellEdit"; }, ["detailDef", "actionBarDef", "cellDefs"], ["[strctDatagridActionBar]"], true, never>;
|
|
2890
2928
|
}
|
|
2891
2929
|
|
|
2892
2930
|
/** Timeline node state colors. */
|