@akcelik/strct 6.1.0 → 6.3.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 +534 -83
- package/fesm2022/akcelik-strct.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_forms.scss +29 -0
- package/styles/_tokens.scss +60 -0
- package/types/akcelik-strct.d.ts +250 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akcelik/strct",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.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/styles/_forms.scss
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
// (which simply applies the `.strct-control` class). Kept in the theme layer so
|
|
3
3
|
// inputs / selects / textareas share one definition.
|
|
4
4
|
|
|
5
|
+
/* One height per size, for every single-line control.
|
|
6
|
+
*
|
|
7
|
+
* Each control used to work its own height out from its padding, its
|
|
8
|
+
* line-height and whatever it held: measured in Chrome, a field stood 34.9px
|
|
9
|
+
* (13px over a 1.3 line, plus 8+8 of padding and the border) beside a small
|
|
10
|
+
* button's 22px, a searchbox's 28px and a segmented control's 31px. Nothing
|
|
11
|
+
* could make them agree, because there was no height to agree on, and only
|
|
12
|
+
* two controls even had a `size` (FR-63-01). Now the height is the token,
|
|
13
|
+
* the box is border-box and the vertical padding is zero, so what a control
|
|
14
|
+
* holds — an icon, a spinner, a longer word — cannot change how tall it is.
|
|
15
|
+
*
|
|
16
|
+
* `--control-h` is what a control without a size uses; `size` and
|
|
17
|
+
* `[strctControlSize]` set it to one of the three below. A whole application
|
|
18
|
+
* changes density by overriding the tokens in one place.
|
|
19
|
+
*
|
|
20
|
+
* A textarea is not a single-line control and keeps its own height. */
|
|
5
21
|
.strct-control {
|
|
6
22
|
display: block;
|
|
7
23
|
width: 100%;
|
|
@@ -66,6 +82,19 @@ select.strct-control {
|
|
|
66
82
|
background-position: right 9px center;
|
|
67
83
|
}
|
|
68
84
|
|
|
85
|
+
.strct-control:not(textarea) {
|
|
86
|
+
box-sizing: border-box;
|
|
87
|
+
height: var(--control-h);
|
|
88
|
+
padding-block: 0;
|
|
89
|
+
}
|
|
90
|
+
/* The ones that are a box around a control rather than the control itself —
|
|
91
|
+
a select's trigger, a number's field with its steppers — centre what they
|
|
92
|
+
hold in that height instead of stretching to it. */
|
|
93
|
+
.strct-control:not(textarea, input, select) {
|
|
94
|
+
display: flex;
|
|
95
|
+
align-items: center;
|
|
96
|
+
}
|
|
97
|
+
|
|
69
98
|
textarea.strct-control {
|
|
70
99
|
min-height: 76px;
|
|
71
100
|
resize: vertical;
|
package/styles/_tokens.scss
CHANGED
|
@@ -99,6 +99,16 @@
|
|
|
99
99
|
--space-4: 16px;
|
|
100
100
|
--space-5: 24px;
|
|
101
101
|
--space-6: 32px;
|
|
102
|
+
/* One height per size, for every single-line control (see _forms.scss). */
|
|
103
|
+
--control-h-sm: 26px;
|
|
104
|
+
--control-h-md: 32px;
|
|
105
|
+
--control-h-lg: 38px;
|
|
106
|
+
--control-h: var(--control-h-md);
|
|
107
|
+
/* The icon that sits in a control of that size (see icon.ts). */
|
|
108
|
+
--icon-size-sm: 14px;
|
|
109
|
+
--icon-size-md: 16px;
|
|
110
|
+
--icon-size-lg: 18px;
|
|
111
|
+
--icon-size: var(--icon-size-md);
|
|
102
112
|
--radius-sm: 2px;
|
|
103
113
|
--radius-md: 3px;
|
|
104
114
|
--radius-lg: 4px;
|
|
@@ -164,6 +174,16 @@
|
|
|
164
174
|
--space-4: 16px;
|
|
165
175
|
--space-5: 24px;
|
|
166
176
|
--space-6: 32px;
|
|
177
|
+
/* One height per size, for every single-line control (see _forms.scss). */
|
|
178
|
+
--control-h-sm: 26px;
|
|
179
|
+
--control-h-md: 32px;
|
|
180
|
+
--control-h-lg: 38px;
|
|
181
|
+
--control-h: var(--control-h-md);
|
|
182
|
+
/* The icon that sits in a control of that size (see icon.ts). */
|
|
183
|
+
--icon-size-sm: 14px;
|
|
184
|
+
--icon-size-md: 16px;
|
|
185
|
+
--icon-size-lg: 18px;
|
|
186
|
+
--icon-size: var(--icon-size-md);
|
|
167
187
|
--radius-sm: 2px;
|
|
168
188
|
--radius-md: 3px;
|
|
169
189
|
--radius-lg: 4px;
|
|
@@ -229,6 +249,16 @@
|
|
|
229
249
|
--space-4: 16px;
|
|
230
250
|
--space-5: 24px;
|
|
231
251
|
--space-6: 32px;
|
|
252
|
+
/* One height per size, for every single-line control (see _forms.scss). */
|
|
253
|
+
--control-h-sm: 26px;
|
|
254
|
+
--control-h-md: 32px;
|
|
255
|
+
--control-h-lg: 38px;
|
|
256
|
+
--control-h: var(--control-h-md);
|
|
257
|
+
/* The icon that sits in a control of that size (see icon.ts). */
|
|
258
|
+
--icon-size-sm: 14px;
|
|
259
|
+
--icon-size-md: 16px;
|
|
260
|
+
--icon-size-lg: 18px;
|
|
261
|
+
--icon-size: var(--icon-size-md);
|
|
232
262
|
--radius-sm: 2px;
|
|
233
263
|
--radius-md: 3px;
|
|
234
264
|
--radius-lg: 4px;
|
|
@@ -294,6 +324,16 @@
|
|
|
294
324
|
--space-4: 16px;
|
|
295
325
|
--space-5: 24px;
|
|
296
326
|
--space-6: 32px;
|
|
327
|
+
/* One height per size, for every single-line control (see _forms.scss). */
|
|
328
|
+
--control-h-sm: 26px;
|
|
329
|
+
--control-h-md: 32px;
|
|
330
|
+
--control-h-lg: 38px;
|
|
331
|
+
--control-h: var(--control-h-md);
|
|
332
|
+
/* The icon that sits in a control of that size (see icon.ts). */
|
|
333
|
+
--icon-size-sm: 14px;
|
|
334
|
+
--icon-size-md: 16px;
|
|
335
|
+
--icon-size-lg: 18px;
|
|
336
|
+
--icon-size: var(--icon-size-md);
|
|
297
337
|
--radius-sm: 2px;
|
|
298
338
|
--radius-md: 3px;
|
|
299
339
|
--radius-lg: 4px;
|
|
@@ -359,6 +399,16 @@
|
|
|
359
399
|
--space-4: 16px;
|
|
360
400
|
--space-5: 24px;
|
|
361
401
|
--space-6: 32px;
|
|
402
|
+
/* One height per size, for every single-line control (see _forms.scss). */
|
|
403
|
+
--control-h-sm: 26px;
|
|
404
|
+
--control-h-md: 32px;
|
|
405
|
+
--control-h-lg: 38px;
|
|
406
|
+
--control-h: var(--control-h-md);
|
|
407
|
+
/* The icon that sits in a control of that size (see icon.ts). */
|
|
408
|
+
--icon-size-sm: 14px;
|
|
409
|
+
--icon-size-md: 16px;
|
|
410
|
+
--icon-size-lg: 18px;
|
|
411
|
+
--icon-size: var(--icon-size-md);
|
|
362
412
|
--radius-sm: 2px;
|
|
363
413
|
--radius-md: 3px;
|
|
364
414
|
--radius-lg: 4px;
|
|
@@ -424,6 +474,16 @@
|
|
|
424
474
|
--space-4: 16px;
|
|
425
475
|
--space-5: 24px;
|
|
426
476
|
--space-6: 32px;
|
|
477
|
+
/* One height per size, for every single-line control (see _forms.scss). */
|
|
478
|
+
--control-h-sm: 26px;
|
|
479
|
+
--control-h-md: 32px;
|
|
480
|
+
--control-h-lg: 38px;
|
|
481
|
+
--control-h: var(--control-h-md);
|
|
482
|
+
/* The icon that sits in a control of that size (see icon.ts). */
|
|
483
|
+
--icon-size-sm: 14px;
|
|
484
|
+
--icon-size-md: 16px;
|
|
485
|
+
--icon-size-lg: 18px;
|
|
486
|
+
--icon-size: var(--icon-size-md);
|
|
427
487
|
--radius-sm: 2px;
|
|
428
488
|
--radius-md: 3px;
|
|
429
489
|
--radius-lg: 4px;
|
package/types/akcelik-strct.d.ts
CHANGED
|
@@ -95,6 +95,53 @@ export interface StrctThresholds {
|
|
|
95
95
|
warning?: number;
|
|
96
96
|
critical?: number;
|
|
97
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* The one size scale every single-line control shares — a field, a button, a
|
|
100
|
+
* select's trigger, a searchbox, a segmented track.
|
|
101
|
+
*
|
|
102
|
+
* Each size is a height token (`--control-h-sm` / `-md` / `-lg`, see
|
|
103
|
+
* `_forms.scss`), so controls of one size are exactly as tall as each other
|
|
104
|
+
* whatever they hold. Before 6.2.0 only `strct-button` and `strct-segmented`
|
|
105
|
+
* had a size at all, and a `size="sm"` button stood 13px shorter than the
|
|
106
|
+
* field beside it with nothing able to close the gap (FR-63-02).
|
|
107
|
+
*/
|
|
108
|
+
export type StrctControlSize = 'sm' | 'md' | 'lg';
|
|
109
|
+
/** The custom property a size sets, for a host binding. */
|
|
110
|
+
export declare function strctControlHeight(size: StrctControlSize): string;
|
|
111
|
+
/**
|
|
112
|
+
* The icon size that goes with a control size — 14px at sm, 16px at md, 18px
|
|
113
|
+
* at lg. A control sets this beside its height so an icon inside it needs no
|
|
114
|
+
* size of its own; an icon that states one still wins (FR-64-01).
|
|
115
|
+
*/
|
|
116
|
+
export declare function strctIconSize(size: StrctControlSize): string;
|
|
117
|
+
/**
|
|
118
|
+
* Sets the control size for everything inside it.
|
|
119
|
+
*
|
|
120
|
+
* ```html
|
|
121
|
+
* <div strctControlSize="sm">
|
|
122
|
+
* <input strctInput /> <strct-select /> <button strct-button>Apply</button>
|
|
123
|
+
* </div>
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* It sets `--control-h`, which every control reads, so a row of them agrees
|
|
127
|
+
* without each one being told. A control that states its own `size` wins,
|
|
128
|
+
* because that sets the same property on itself and the nearer declaration
|
|
129
|
+
* is the one that applies.
|
|
130
|
+
*/
|
|
131
|
+
export declare class StrctControlSizeDirective {
|
|
132
|
+
/** The size for the controls inside. */
|
|
133
|
+
readonly strctControlSize: import("@angular/core").InputSignal<StrctControlSize>;
|
|
134
|
+
protected readonly height: import("@angular/core").Signal<string>;
|
|
135
|
+
protected readonly iconSize: import("@angular/core").Signal<string>;
|
|
136
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StrctControlSizeDirective, never>;
|
|
137
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<StrctControlSizeDirective, "[strctControlSize]", never, {
|
|
138
|
+
"strctControlSize": {
|
|
139
|
+
"alias": "strctControlSize";
|
|
140
|
+
"required": false;
|
|
141
|
+
"isSignal": true;
|
|
142
|
+
};
|
|
143
|
+
}, {}, never, never, true, never>;
|
|
144
|
+
}
|
|
98
145
|
/**
|
|
99
146
|
* Inner markup (path/shape contents) for each icon, drawn on a 0 0 16 16
|
|
100
147
|
* viewBox with `currentColor` stroke. Keep strokes at 1.3–1.5 for crispness.
|
|
@@ -374,8 +421,17 @@ export declare class StrctIcon {
|
|
|
374
421
|
* are set. Use `name` for runtime-registered custom icons.
|
|
375
422
|
*/
|
|
376
423
|
readonly strictName: import("@angular/core").InputSignal<StrctIconName | null>;
|
|
377
|
-
/**
|
|
378
|
-
|
|
424
|
+
/**
|
|
425
|
+
* Icon size in pixels.
|
|
426
|
+
*
|
|
427
|
+
* Left unset, the icon is the size its surroundings ask for: a control
|
|
428
|
+
* sets `--icon-size` beside its `--control-h`, so an icon in a small
|
|
429
|
+
* button is 14px and the same icon in a large one is 18px without either
|
|
430
|
+
* call site saying so. With no control around it the icon is 16px, as it
|
|
431
|
+
* always was. Setting this still wins — it writes the same property on the
|
|
432
|
+
* icon itself, which is nearer than anything enclosing it (FR-64-01).
|
|
433
|
+
*/
|
|
434
|
+
readonly size: import("@angular/core").InputSignal<number | undefined>;
|
|
379
435
|
/** Stroke width for outline icons. */
|
|
380
436
|
readonly strokeWidth: import("@angular/core").InputSignal<number>;
|
|
381
437
|
/** Optional status dot overlaid on the glyph (object state). */
|
|
@@ -407,7 +463,6 @@ export declare class StrctIcon {
|
|
|
407
463
|
/** The badge's text, or null when there is nothing to say. */
|
|
408
464
|
protected readonly countText: import("@angular/core").Signal<string | null>;
|
|
409
465
|
/** 1.2em of the icon size, floored at 14px, as the badge's box. */
|
|
410
|
-
protected readonly countFontSize: import("@angular/core").Signal<number>;
|
|
411
466
|
/** The mode as drawn. */
|
|
412
467
|
readonly shownMode: import("@angular/core").Signal<StrctIconMode>;
|
|
413
468
|
/** The badge as drawn. */
|
|
@@ -1369,8 +1424,12 @@ export declare class StrctTooltip implements OnDestroy {
|
|
|
1369
1424
|
}
|
|
1370
1425
|
/** Button visual variants. */
|
|
1371
1426
|
export type StrctButtonVariant = 'primary' | 'critical' | 'outline' | 'flat' | 'neutral' | 'link';
|
|
1372
|
-
/**
|
|
1373
|
-
|
|
1427
|
+
/**
|
|
1428
|
+
* The shared control sizes, plus the button's own `mini` — a 22px chip for a
|
|
1429
|
+
* toolbar's corner, below the scale on purpose and the one size that does not
|
|
1430
|
+
* line up with a field.
|
|
1431
|
+
*/
|
|
1432
|
+
export type StrctButtonSize = StrctControlSize | 'mini';
|
|
1374
1433
|
/**
|
|
1375
1434
|
* Styles a native `<button>` / `<a>` so it stays fully accessible and form-aware.
|
|
1376
1435
|
*
|
|
@@ -4168,6 +4227,16 @@ export declare class StrctKbd {
|
|
|
4168
4227
|
* <strct-searchbox trigger hint="⌘K" (activated)="palette.open.set(true)" />
|
|
4169
4228
|
*/
|
|
4170
4229
|
export declare class StrctSearchbox implements ControlValueAccessor {
|
|
4230
|
+
/**
|
|
4231
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
4232
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
4233
|
+
* or the default height when there is none.
|
|
4234
|
+
*/
|
|
4235
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
4236
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
4237
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
4238
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
4239
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
4171
4240
|
private readonly host;
|
|
4172
4241
|
/** Placeholder text (and the trigger mode's label). */
|
|
4173
4242
|
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
@@ -4217,6 +4286,11 @@ export declare class StrctSearchbox implements ControlValueAccessor {
|
|
|
4217
4286
|
setDisabledState(isDisabled: boolean): void;
|
|
4218
4287
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctSearchbox, never>;
|
|
4219
4288
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctSearchbox, "strct-searchbox", never, {
|
|
4289
|
+
"size": {
|
|
4290
|
+
"alias": "size";
|
|
4291
|
+
"required": false;
|
|
4292
|
+
"isSignal": true;
|
|
4293
|
+
};
|
|
4220
4294
|
"placeholder": {
|
|
4221
4295
|
"alias": "placeholder";
|
|
4222
4296
|
"required": false;
|
|
@@ -4809,10 +4883,25 @@ export declare class StrctField {
|
|
|
4809
4883
|
* identifier — the three things consumers were restyling by hand.
|
|
4810
4884
|
*/
|
|
4811
4885
|
export declare class StrctInput {
|
|
4886
|
+
/**
|
|
4887
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
4888
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
4889
|
+
* or the default height when there is none.
|
|
4890
|
+
*/
|
|
4891
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
4892
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
4893
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
4894
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
4895
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
4812
4896
|
/** Monospace text with tabular figures — a PEM block, an id, a mapping. */
|
|
4813
4897
|
readonly mono: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
4814
4898
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctInput, never>;
|
|
4815
4899
|
static ɵdir: i0.ɵɵDirectiveDeclaration<StrctInput, "input[strctInput], textarea[strctInput], select[strctInput], input[strct-input], textarea[strct-input], select[strct-input]", never, {
|
|
4900
|
+
"size": {
|
|
4901
|
+
"alias": "size";
|
|
4902
|
+
"required": false;
|
|
4903
|
+
"isSignal": true;
|
|
4904
|
+
};
|
|
4816
4905
|
"mono": {
|
|
4817
4906
|
"alias": "mono";
|
|
4818
4907
|
"required": false;
|
|
@@ -5070,7 +5159,8 @@ export interface StrctSegmentedOption {
|
|
|
5070
5159
|
countLabel?: (count: number) => string;
|
|
5071
5160
|
}
|
|
5072
5161
|
/** Segment size. */
|
|
5073
|
-
|
|
5162
|
+
/** The shared control scale, so a segmented track lines up with the row. */
|
|
5163
|
+
export type StrctSegmentedSize = StrctControlSize;
|
|
5074
5164
|
/**
|
|
5075
5165
|
* One-of-N selection rendered as a joined segmented control with managed
|
|
5076
5166
|
* selected state — distinct from `StrctTabs` (panel switching) and
|
|
@@ -5085,7 +5175,7 @@ export declare class StrctSegmented implements ControlValueAccessor {
|
|
|
5085
5175
|
/** The selectable segments. */
|
|
5086
5176
|
readonly options: import("@angular/core").InputSignal<StrctSegmentedOption[]>;
|
|
5087
5177
|
/** Segment size. */
|
|
5088
|
-
readonly size: import("@angular/core").InputSignal<
|
|
5178
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize>;
|
|
5089
5179
|
/** Stretch to the full width of the container. */
|
|
5090
5180
|
readonly block: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
5091
5181
|
/** Static disable; forms' setDisabledState also drives the disabled state. */
|
|
@@ -5204,6 +5294,16 @@ export declare class StrctRange implements ControlValueAccessor {
|
|
|
5204
5294
|
* <strct-password [(ngModel)]="pw" meter />
|
|
5205
5295
|
*/
|
|
5206
5296
|
export declare class StrctPassword implements ControlValueAccessor {
|
|
5297
|
+
/**
|
|
5298
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
5299
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
5300
|
+
* or the default height when there is none.
|
|
5301
|
+
*/
|
|
5302
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
5303
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
5304
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
5305
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
5306
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
5207
5307
|
/** Placeholder text when empty. */
|
|
5208
5308
|
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
5209
5309
|
/** Show a strength meter. */
|
|
@@ -5235,6 +5335,11 @@ export declare class StrctPassword implements ControlValueAccessor {
|
|
|
5235
5335
|
setDisabledState(isDisabled: boolean): void;
|
|
5236
5336
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctPassword, never>;
|
|
5237
5337
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctPassword, "strct-password", never, {
|
|
5338
|
+
"size": {
|
|
5339
|
+
"alias": "size";
|
|
5340
|
+
"required": false;
|
|
5341
|
+
"isSignal": true;
|
|
5342
|
+
};
|
|
5238
5343
|
"placeholder": {
|
|
5239
5344
|
"alias": "placeholder";
|
|
5240
5345
|
"required": false;
|
|
@@ -5634,6 +5739,16 @@ export declare const STRCT_MASKS: {
|
|
|
5634
5739
|
* <strct-input-mask mask="HH:HH:HH:HH:HH:HH" uppercase [(ngModel)]="mac" />
|
|
5635
5740
|
*/
|
|
5636
5741
|
export declare class StrctInputMask implements ControlValueAccessor {
|
|
5742
|
+
/**
|
|
5743
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
5744
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
5745
|
+
* or the default height when there is none.
|
|
5746
|
+
*/
|
|
5747
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
5748
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
5749
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
5750
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
5751
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
5637
5752
|
/** Mask pattern (9=digit, A=letter, H=hex, *=alnum). */
|
|
5638
5753
|
readonly mask: import("@angular/core").InputSignal<string>;
|
|
5639
5754
|
/** Placeholder text when empty. */
|
|
@@ -5654,6 +5769,11 @@ export declare class StrctInputMask implements ControlValueAccessor {
|
|
|
5654
5769
|
setDisabledState(isDisabled: boolean): void;
|
|
5655
5770
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctInputMask, never>;
|
|
5656
5771
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctInputMask, "strct-input-mask", never, {
|
|
5772
|
+
"size": {
|
|
5773
|
+
"alias": "size";
|
|
5774
|
+
"required": false;
|
|
5775
|
+
"isSignal": true;
|
|
5776
|
+
};
|
|
5657
5777
|
"mask": {
|
|
5658
5778
|
"alias": "mask";
|
|
5659
5779
|
"required": true;
|
|
@@ -5710,6 +5830,16 @@ interface CbxRow {
|
|
|
5710
5830
|
* text itself can be committed as a free-form value.
|
|
5711
5831
|
*/
|
|
5712
5832
|
export declare class StrctCombobox implements ControlValueAccessor {
|
|
5833
|
+
/**
|
|
5834
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
5835
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
5836
|
+
* or the default height when there is none.
|
|
5837
|
+
*/
|
|
5838
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
5839
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
5840
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
5841
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
5842
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
5713
5843
|
private readonly host;
|
|
5714
5844
|
private readonly inputEl;
|
|
5715
5845
|
protected readonly listId: string;
|
|
@@ -5812,6 +5942,11 @@ export declare class StrctCombobox implements ControlValueAccessor {
|
|
|
5812
5942
|
setDisabledState(isDisabled: boolean): void;
|
|
5813
5943
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctCombobox, never>;
|
|
5814
5944
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctCombobox, "strct-combobox", never, {
|
|
5945
|
+
"size": {
|
|
5946
|
+
"alias": "size";
|
|
5947
|
+
"required": false;
|
|
5948
|
+
"isSignal": true;
|
|
5949
|
+
};
|
|
5815
5950
|
"options": {
|
|
5816
5951
|
"alias": "options";
|
|
5817
5952
|
"required": false;
|
|
@@ -5893,6 +6028,16 @@ export declare class StrctCombobox implements ControlValueAccessor {
|
|
|
5893
6028
|
* [selected]`.
|
|
5894
6029
|
*/
|
|
5895
6030
|
export declare class StrctSelect implements ControlValueAccessor {
|
|
6031
|
+
/**
|
|
6032
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
6033
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
6034
|
+
* or the default height when there is none.
|
|
6035
|
+
*/
|
|
6036
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
6037
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
6038
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
6039
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
6040
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
5896
6041
|
private readonly host;
|
|
5897
6042
|
protected readonly listId: string;
|
|
5898
6043
|
/** Available options (set `disabled: true` on an option to gray it out). */
|
|
@@ -5952,6 +6097,11 @@ export declare class StrctSelect implements ControlValueAccessor {
|
|
|
5952
6097
|
setDisabledState(isDisabled: boolean): void;
|
|
5953
6098
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctSelect, never>;
|
|
5954
6099
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctSelect, "strct-select", never, {
|
|
6100
|
+
"size": {
|
|
6101
|
+
"alias": "size";
|
|
6102
|
+
"required": false;
|
|
6103
|
+
"isSignal": true;
|
|
6104
|
+
};
|
|
5955
6105
|
"options": {
|
|
5956
6106
|
"alias": "options";
|
|
5957
6107
|
"required": false;
|
|
@@ -6007,6 +6157,16 @@ export declare const strctDpPad: (n: number) => string;
|
|
|
6007
6157
|
* <strct-datepicker [(ngModel)]="date" />
|
|
6008
6158
|
*/
|
|
6009
6159
|
export declare class StrctDatepicker implements ControlValueAccessor {
|
|
6160
|
+
/**
|
|
6161
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
6162
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
6163
|
+
* or the default height when there is none.
|
|
6164
|
+
*/
|
|
6165
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
6166
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
6167
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
6168
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
6169
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
6010
6170
|
private readonly host;
|
|
6011
6171
|
/** Placeholder text when empty. */
|
|
6012
6172
|
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
@@ -6065,6 +6225,11 @@ export declare class StrctDatepicker implements ControlValueAccessor {
|
|
|
6065
6225
|
setDisabledState(isDisabled: boolean): void;
|
|
6066
6226
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctDatepicker, never>;
|
|
6067
6227
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctDatepicker, "strct-datepicker", never, {
|
|
6228
|
+
"size": {
|
|
6229
|
+
"alias": "size";
|
|
6230
|
+
"required": false;
|
|
6231
|
+
"isSignal": true;
|
|
6232
|
+
};
|
|
6068
6233
|
"placeholder": {
|
|
6069
6234
|
"alias": "placeholder";
|
|
6070
6235
|
"required": false;
|
|
@@ -6112,6 +6277,16 @@ export declare class StrctDatepicker implements ControlValueAccessor {
|
|
|
6112
6277
|
* <strct-color-picker [(ngModel)]="color" />
|
|
6113
6278
|
*/
|
|
6114
6279
|
export declare class StrctColorPicker implements ControlValueAccessor {
|
|
6280
|
+
/**
|
|
6281
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
6282
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
6283
|
+
* or the default height when there is none.
|
|
6284
|
+
*/
|
|
6285
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
6286
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
6287
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
6288
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
6289
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
6115
6290
|
private readonly host;
|
|
6116
6291
|
/** Custom palette swatches. */
|
|
6117
6292
|
readonly swatches: import("@angular/core").InputSignal<string[]>;
|
|
@@ -6140,6 +6315,11 @@ export declare class StrctColorPicker implements ControlValueAccessor {
|
|
|
6140
6315
|
setDisabledState(isDisabled: boolean): void;
|
|
6141
6316
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctColorPicker, never>;
|
|
6142
6317
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctColorPicker, "strct-color-picker", never, {
|
|
6318
|
+
"size": {
|
|
6319
|
+
"alias": "size";
|
|
6320
|
+
"required": false;
|
|
6321
|
+
"isSignal": true;
|
|
6322
|
+
};
|
|
6143
6323
|
"swatches": {
|
|
6144
6324
|
"alias": "swatches";
|
|
6145
6325
|
"required": false;
|
|
@@ -6231,6 +6411,16 @@ export declare class StrctCascadeColumn {
|
|
|
6231
6411
|
* the trigger on close.
|
|
6232
6412
|
*/
|
|
6233
6413
|
export declare class StrctCascadeSelect extends StrctCascadeHost implements ControlValueAccessor {
|
|
6414
|
+
/**
|
|
6415
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
6416
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
6417
|
+
* or the default height when there is none.
|
|
6418
|
+
*/
|
|
6419
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
6420
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
6421
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
6422
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
6423
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
6234
6424
|
private readonly elementRef;
|
|
6235
6425
|
/** Available options. */
|
|
6236
6426
|
readonly options: import("@angular/core").InputSignal<StrctCascadeOption[]>;
|
|
@@ -6273,6 +6463,11 @@ export declare class StrctCascadeSelect extends StrctCascadeHost implements Cont
|
|
|
6273
6463
|
setDisabledState(isDisabled: boolean): void;
|
|
6274
6464
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctCascadeSelect, never>;
|
|
6275
6465
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctCascadeSelect, "strct-cascade-select", never, {
|
|
6466
|
+
"size": {
|
|
6467
|
+
"alias": "size";
|
|
6468
|
+
"required": false;
|
|
6469
|
+
"isSignal": true;
|
|
6470
|
+
};
|
|
6276
6471
|
"options": {
|
|
6277
6472
|
"alias": "options";
|
|
6278
6473
|
"required": false;
|
|
@@ -9056,7 +9251,7 @@ export declare class StrctMetricTile {
|
|
|
9056
9251
|
* `sm` is the verdict-band size: six counters beside a one-line verdict at
|
|
9057
9252
|
* 1440px, where the dashboard size fits three.
|
|
9058
9253
|
*/
|
|
9059
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
9254
|
+
readonly size: import("@angular/core").InputSignal<"sm" | "md">;
|
|
9060
9255
|
/**
|
|
9061
9256
|
* What a plain click on an `href` tile does. `browser` follows the link, as
|
|
9062
9257
|
* today. `app` belongs to a single-page app: the click is prevented and
|
|
@@ -9500,7 +9695,7 @@ export declare class StrctEmptyState {
|
|
|
9500
9695
|
* `sm` is the inline row a 240px frame wants: a 16px icon with the title and
|
|
9501
9696
|
* description on one line. A page-sized empty state stays `md`.
|
|
9502
9697
|
*/
|
|
9503
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
9698
|
+
readonly size: import("@angular/core").InputSignal<"sm" | "md">;
|
|
9504
9699
|
readonly description: import("@angular/core").InputSignal<string>;
|
|
9505
9700
|
protected readonly resolvedIcon: import("@angular/core").Signal<string>;
|
|
9506
9701
|
protected readonly toneClass: import("@angular/core").Signal<string>;
|
|
@@ -9627,7 +9822,7 @@ export declare class StrctTimeRangePicker {
|
|
|
9627
9822
|
/** Popover alignment, as in strct-dropdown. */
|
|
9628
9823
|
readonly align: import("@angular/core").InputSignal<"end" | "start">;
|
|
9629
9824
|
/** Trigger size — match it to the toolbar's buttons (sm strips). */
|
|
9630
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
9825
|
+
readonly size: import("@angular/core").InputSignal<"sm" | "md">;
|
|
9631
9826
|
/** Localizable strings. */
|
|
9632
9827
|
readonly dialogLabel: import("@angular/core").InputSignal<string>;
|
|
9633
9828
|
readonly quickLabel: import("@angular/core").InputSignal<string>;
|
|
@@ -12033,6 +12228,16 @@ export declare class StrctChange {
|
|
|
12033
12228
|
* aria-valuemin/max/now so assistive tech announces it as a number control.
|
|
12034
12229
|
*/
|
|
12035
12230
|
export declare class StrctNumber implements ControlValueAccessor {
|
|
12231
|
+
/**
|
|
12232
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
12233
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
12234
|
+
* or the default height when there is none.
|
|
12235
|
+
*/
|
|
12236
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
12237
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
12238
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
12239
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
12240
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
12036
12241
|
/** Minimum allowed value; null = unbounded. */
|
|
12037
12242
|
readonly min: import("@angular/core").InputSignal<number | null>;
|
|
12038
12243
|
/** Maximum allowed value; null = unbounded. */
|
|
@@ -12080,6 +12285,11 @@ export declare class StrctNumber implements ControlValueAccessor {
|
|
|
12080
12285
|
setDisabledState(isDisabled: boolean): void;
|
|
12081
12286
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctNumber, never>;
|
|
12082
12287
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctNumber, "strct-number", never, {
|
|
12288
|
+
"size": {
|
|
12289
|
+
"alias": "size";
|
|
12290
|
+
"required": false;
|
|
12291
|
+
"isSignal": true;
|
|
12292
|
+
};
|
|
12083
12293
|
"min": {
|
|
12084
12294
|
"alias": "min";
|
|
12085
12295
|
"required": false;
|
|
@@ -12301,6 +12511,16 @@ export declare class StrctConfirmOutlet {
|
|
|
12301
12511
|
* modal/drawer stays open); focus returns to the trigger on close.
|
|
12302
12512
|
*/
|
|
12303
12513
|
export declare class StrctTreeSelect implements ControlValueAccessor {
|
|
12514
|
+
/**
|
|
12515
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
12516
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
12517
|
+
* or the default height when there is none.
|
|
12518
|
+
*/
|
|
12519
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
12520
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
12521
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
12522
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
12523
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
12304
12524
|
private readonly host;
|
|
12305
12525
|
/** Root nodes rendered by the embedded `<strct-tree>` (data-driven mode). */
|
|
12306
12526
|
readonly nodes: import("@angular/core").InputSignal<StrctTreeNodeData[]>;
|
|
@@ -12360,6 +12580,11 @@ export declare class StrctTreeSelect implements ControlValueAccessor {
|
|
|
12360
12580
|
setDisabledState(isDisabled: boolean): void;
|
|
12361
12581
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctTreeSelect, never>;
|
|
12362
12582
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctTreeSelect, "strct-tree-select", never, {
|
|
12583
|
+
"size": {
|
|
12584
|
+
"alias": "size";
|
|
12585
|
+
"required": false;
|
|
12586
|
+
"isSignal": true;
|
|
12587
|
+
};
|
|
12363
12588
|
"nodes": {
|
|
12364
12589
|
"alias": "nodes";
|
|
12365
12590
|
"required": false;
|
|
@@ -12407,6 +12632,16 @@ export declare class StrctTreeSelect implements ControlValueAccessor {
|
|
|
12407
12632
|
* date keeps the value empty until a date is picked.
|
|
12408
12633
|
*/
|
|
12409
12634
|
export declare class StrctDatetimePicker implements ControlValueAccessor {
|
|
12635
|
+
/**
|
|
12636
|
+
* Control size — the shared scale, so this lines up with the buttons and
|
|
12637
|
+
* fields beside it. Left unset it follows an enclosing [strctControlSize],
|
|
12638
|
+
* or the default height when there is none.
|
|
12639
|
+
*/
|
|
12640
|
+
readonly size: import("@angular/core").InputSignal<StrctControlSize | undefined>;
|
|
12641
|
+
/** The height its size asks for; nothing while it states no size. */
|
|
12642
|
+
protected readonly controlHeight: import("@angular/core").Signal<string | null>;
|
|
12643
|
+
/** And the icon size that goes with it, for the icons it holds. */
|
|
12644
|
+
protected readonly controlIconSize: import("@angular/core").Signal<string | null>;
|
|
12410
12645
|
/** Placeholder text of the date input when empty (localizable). */
|
|
12411
12646
|
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
12412
12647
|
/** Minute granularity of the minute select (1 = every minute). */
|
|
@@ -12451,6 +12686,11 @@ export declare class StrctDatetimePicker implements ControlValueAccessor {
|
|
|
12451
12686
|
setDisabledState(isDisabled: boolean): void;
|
|
12452
12687
|
static ɵfac: i0.ɵɵFactoryDeclaration<StrctDatetimePicker, never>;
|
|
12453
12688
|
static ɵcmp: i0.ɵɵComponentDeclaration<StrctDatetimePicker, "strct-datetime-picker", never, {
|
|
12689
|
+
"size": {
|
|
12690
|
+
"alias": "size";
|
|
12691
|
+
"required": false;
|
|
12692
|
+
"isSignal": true;
|
|
12693
|
+
};
|
|
12454
12694
|
"placeholder": {
|
|
12455
12695
|
"alias": "placeholder";
|
|
12456
12696
|
"required": false;
|