@ngneers/controls 0.0.1-next.0 → 0.0.1-next.2
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/ngneers-controls-api-ng.mjs +11 -18
- package/fesm2022/ngneers-controls-api-ng.mjs.map +1 -1
- package/fesm2022/ngneers-controls-api-resize.mjs +7 -0
- package/fesm2022/ngneers-controls-api-resize.mjs.map +1 -1
- package/fesm2022/ngneers-controls-badge.mjs +160 -0
- package/fesm2022/ngneers-controls-badge.mjs.map +1 -0
- package/fesm2022/ngneers-controls-base.mjs +85 -8
- package/fesm2022/ngneers-controls-base.mjs.map +1 -1
- package/fesm2022/{ngneers-controls-calendar-time-CJT5AFlA.mjs → ngneers-controls-calendar-time-paM6WVpV.mjs} +2 -2
- package/fesm2022/{ngneers-controls-calendar-time-CJT5AFlA.mjs.map → ngneers-controls-calendar-time-paM6WVpV.mjs.map} +1 -1
- package/fesm2022/ngneers-controls-calendar.mjs +13 -6
- package/fesm2022/ngneers-controls-calendar.mjs.map +1 -1
- package/fesm2022/ngneers-controls-checkbox.mjs +3 -3
- package/fesm2022/ngneers-controls-checkbox.mjs.map +1 -1
- package/fesm2022/ngneers-controls-color-picker.mjs +336 -0
- package/fesm2022/ngneers-controls-color-picker.mjs.map +1 -0
- package/fesm2022/ngneers-controls-default-icons.mjs +5 -0
- package/fesm2022/ngneers-controls-default-icons.mjs.map +1 -1
- package/fesm2022/ngneers-controls-directives.mjs +64 -7
- package/fesm2022/ngneers-controls-directives.mjs.map +1 -1
- package/fesm2022/ngneers-controls-edit-inplace.mjs +15 -5
- package/fesm2022/ngneers-controls-edit-inplace.mjs.map +1 -1
- package/fesm2022/ngneers-controls-errors.mjs +203 -148
- package/fesm2022/ngneers-controls-errors.mjs.map +1 -1
- package/fesm2022/ngneers-controls-filter.mjs +2 -2
- package/fesm2022/ngneers-controls-filter.mjs.map +1 -1
- package/fesm2022/ngneers-controls-hint.mjs +18 -1
- package/fesm2022/ngneers-controls-hint.mjs.map +1 -1
- package/fesm2022/ngneers-controls-i18n-translations-de.mjs +17 -0
- package/fesm2022/ngneers-controls-i18n-translations-de.mjs.map +1 -1
- package/fesm2022/ngneers-controls-i18n-translations-en.mjs +19 -0
- package/fesm2022/ngneers-controls-i18n-translations-en.mjs.map +1 -1
- package/fesm2022/ngneers-controls-icon.mjs +23 -6
- package/fesm2022/ngneers-controls-icon.mjs.map +1 -1
- package/fesm2022/ngneers-controls-input-field.mjs +18 -2
- package/fesm2022/ngneers-controls-input-field.mjs.map +1 -1
- package/fesm2022/ngneers-controls-input.mjs +49 -9
- package/fesm2022/ngneers-controls-input.mjs.map +1 -1
- package/fesm2022/ngneers-controls-list-box.mjs +2 -2
- package/fesm2022/ngneers-controls-list-box.mjs.map +1 -1
- package/fesm2022/ngneers-controls-mask-input.mjs +4 -1
- package/fesm2022/ngneers-controls-mask-input.mjs.map +1 -1
- package/fesm2022/ngneers-controls-number-input.mjs +4 -4
- package/fesm2022/ngneers-controls-number-input.mjs.map +1 -1
- package/fesm2022/ngneers-controls-otp.mjs +263 -0
- package/fesm2022/ngneers-controls-otp.mjs.map +1 -0
- package/fesm2022/ngneers-controls-paginator.mjs +36 -9
- package/fesm2022/ngneers-controls-paginator.mjs.map +1 -1
- package/fesm2022/ngneers-controls-radio.mjs +4 -4
- package/fesm2022/ngneers-controls-radio.mjs.map +1 -1
- package/fesm2022/ngneers-controls-rating.mjs +180 -0
- package/fesm2022/ngneers-controls-rating.mjs.map +1 -0
- package/fesm2022/ngneers-controls-scroll-shadow.mjs +33 -7
- package/fesm2022/ngneers-controls-scroll-shadow.mjs.map +1 -1
- package/fesm2022/ngneers-controls-scroller.mjs +4 -2
- package/fesm2022/ngneers-controls-scroller.mjs.map +1 -1
- package/fesm2022/ngneers-controls-select-button.mjs +2 -1
- package/fesm2022/ngneers-controls-select-button.mjs.map +1 -1
- package/fesm2022/ngneers-controls-select.mjs +24 -4
- package/fesm2022/ngneers-controls-select.mjs.map +1 -1
- package/fesm2022/ngneers-controls-slider.mjs +3 -3
- package/fesm2022/ngneers-controls-slider.mjs.map +1 -1
- package/fesm2022/ngneers-controls-splitter.mjs +43 -12
- package/fesm2022/ngneers-controls-splitter.mjs.map +1 -1
- package/fesm2022/ngneers-controls-stepper.mjs +142 -0
- package/fesm2022/ngneers-controls-stepper.mjs.map +1 -0
- package/fesm2022/ngneers-controls-switch.mjs +3 -3
- package/fesm2022/ngneers-controls-switch.mjs.map +1 -1
- package/fesm2022/ngneers-controls-table.mjs +282 -15
- package/fesm2022/ngneers-controls-table.mjs.map +1 -1
- package/fesm2022/ngneers-controls-tabs.mjs +2 -2
- package/fesm2022/ngneers-controls-tabs.mjs.map +1 -1
- package/fesm2022/ngneers-controls-toggle-button.mjs +3 -3
- package/fesm2022/ngneers-controls-toggle-button.mjs.map +1 -1
- package/fesm2022/ngneers-controls-tooltip.mjs +16 -28
- package/fesm2022/ngneers-controls-tooltip.mjs.map +1 -1
- package/fesm2022/ngneers-controls-tree.mjs +2 -2
- package/fesm2022/ngneers-controls-tree.mjs.map +1 -1
- package/fesm2022/ngneers-controls-utils.mjs +138 -1
- package/fesm2022/ngneers-controls-utils.mjs.map +1 -1
- package/package.json +22 -2
- package/types/ngneers-controls-api-ng.d.ts +12 -9
- package/types/ngneers-controls-badge.d.ts +67 -0
- package/types/ngneers-controls-base.d.ts +61 -4
- package/types/ngneers-controls-breadcrumb.d.ts +17 -0
- package/types/ngneers-controls-calendar.d.ts +24 -6
- package/types/ngneers-controls-chip.d.ts +17 -0
- package/types/ngneers-controls-color-picker.d.ts +119 -0
- package/types/ngneers-controls-dialog.d.ts +17 -0
- package/types/ngneers-controls-directives.d.ts +31 -2
- package/types/ngneers-controls-drawer.d.ts +17 -0
- package/types/ngneers-controls-edit-inplace.d.ts +23 -0
- package/types/ngneers-controls-errors.d.ts +105 -16
- package/types/ngneers-controls-filter.d.ts +30 -13
- package/types/ngneers-controls-hint.d.ts +8 -1
- package/types/ngneers-controls-i18n-translations-de.d.ts +17 -0
- package/types/ngneers-controls-i18n-translations-en.d.ts +17 -0
- package/types/ngneers-controls-i18n.d.ts +17 -0
- package/types/ngneers-controls-icon.d.ts +2 -2
- package/types/ngneers-controls-input-field.d.ts +28 -2
- package/types/ngneers-controls-input.d.ts +35 -3
- package/types/ngneers-controls-list-box.d.ts +17 -0
- package/types/ngneers-controls-mask-input.d.ts +17 -0
- package/types/ngneers-controls-otp.d.ts +262 -0
- package/types/ngneers-controls-paginator.d.ts +34 -3
- package/types/ngneers-controls-rating.d.ts +69 -0
- package/types/ngneers-controls-scroll-shadow.d.ts +11 -2
- package/types/ngneers-controls-scroller.d.ts +3 -1
- package/types/ngneers-controls-select.d.ts +30 -3
- package/types/ngneers-controls-snackbar.d.ts +17 -0
- package/types/ngneers-controls-splitter.d.ts +26 -2
- package/types/ngneers-controls-state.d.ts +2 -2
- package/types/ngneers-controls-stepper.d.ts +68 -0
- package/types/ngneers-controls-table.d.ts +276 -169
- package/types/ngneers-controls-toast.d.ts +17 -0
- package/types/ngneers-controls-tooltip.d.ts +0 -1
- package/types/ngneers-controls-tree.d.ts +17 -0
- package/types/ngneers-controls-upload.d.ts +17 -0
- package/types/ngneers-controls-utils.d.ts +27 -2
|
@@ -109,7 +109,7 @@ type SelectFilterFn<T extends object> = FilterFn<NgnItem<T>>;
|
|
|
109
109
|
*/
|
|
110
110
|
declare class NgnSelect<V, Editable extends boolean = false, Multiple extends boolean = false> extends SelectTemplates<V, Editable, Multiple> {
|
|
111
111
|
readonly isFieldControl = true;
|
|
112
|
-
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
|
|
112
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"select", ["root", "combobox", "empty", "placeholder", "input", "icon", "input-editable", "popover-content", "filter-icon", "list-box-empty"], readonly [{
|
|
113
113
|
readonly class: "popover";
|
|
114
114
|
readonly template: _ngneers_controls_themes.ControlTemplate<"popover", ["root", "content", "content-closing"], readonly []>;
|
|
115
115
|
}, {
|
|
@@ -123,7 +123,7 @@ declare class NgnSelect<V, Editable extends boolean = false, Multiple extends bo
|
|
|
123
123
|
}]>;
|
|
124
124
|
}, {
|
|
125
125
|
readonly class: "filter";
|
|
126
|
-
readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
|
|
126
|
+
readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "filled", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`, `kind-${string}`], readonly [{
|
|
127
127
|
readonly class: "input";
|
|
128
128
|
readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
|
|
129
129
|
readonly projected: true;
|
|
@@ -225,6 +225,9 @@ declare class NgnSelect<V, Editable extends boolean = false, Multiple extends bo
|
|
|
225
225
|
segmentRange: string;
|
|
226
226
|
optionSeparator: string;
|
|
227
227
|
};
|
|
228
|
+
otp: {
|
|
229
|
+
cellLabel: string;
|
|
230
|
+
};
|
|
228
231
|
drawer: {
|
|
229
232
|
close: string;
|
|
230
233
|
};
|
|
@@ -282,6 +285,8 @@ declare class NgnSelect<V, Editable extends boolean = false, Multiple extends bo
|
|
|
282
285
|
selectedCount: string;
|
|
283
286
|
page: string;
|
|
284
287
|
resultCount: string;
|
|
288
|
+
retry: string;
|
|
289
|
+
loadError: string;
|
|
285
290
|
};
|
|
286
291
|
state: {
|
|
287
292
|
loading: string;
|
|
@@ -290,6 +295,18 @@ declare class NgnSelect<V, Editable extends boolean = false, Multiple extends bo
|
|
|
290
295
|
error: string;
|
|
291
296
|
cancelled: string;
|
|
292
297
|
};
|
|
298
|
+
errors: {
|
|
299
|
+
pending: string;
|
|
300
|
+
required: string;
|
|
301
|
+
email: string;
|
|
302
|
+
minlength: string;
|
|
303
|
+
maxlength: string;
|
|
304
|
+
minLength: string;
|
|
305
|
+
maxLength: string;
|
|
306
|
+
min: string;
|
|
307
|
+
max: string;
|
|
308
|
+
pattern: string;
|
|
309
|
+
};
|
|
293
310
|
}, "_">;
|
|
294
311
|
private readonly _popover;
|
|
295
312
|
private readonly _field;
|
|
@@ -374,7 +391,17 @@ declare class NgnSelect<V, Editable extends boolean = false, Multiple extends bo
|
|
|
374
391
|
* @default multiple()
|
|
375
392
|
*/
|
|
376
393
|
readonly checkbox: _angular_core.InputSignal<boolean | undefined>;
|
|
394
|
+
/**
|
|
395
|
+
* Text shown in the trigger when no value is selected.
|
|
396
|
+
* @default undefined
|
|
397
|
+
*/
|
|
398
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
377
399
|
protected readonly maybeCallback: typeof maybeCallback;
|
|
400
|
+
/**
|
|
401
|
+
* Whether the control holds no value. Drives the empty status class and lets a
|
|
402
|
+
* wrapping {@link NgnInputField} float its label. See {@link value}.
|
|
403
|
+
*/
|
|
404
|
+
readonly empty: Signal<boolean>;
|
|
378
405
|
private readonly _listbox;
|
|
379
406
|
private _userChangedEditableInput;
|
|
380
407
|
protected get anchorElement(): HTMLElement;
|
|
@@ -402,7 +429,7 @@ declare class NgnSelect<V, Editable extends boolean = false, Multiple extends bo
|
|
|
402
429
|
protected onEditableChange(value: string | null): void;
|
|
403
430
|
protected potentiallyBlurred(): void;
|
|
404
431
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnSelect<any, any, any>, never>;
|
|
405
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSelect<any, any, any>, "ngn-select", never, { "popoverOptions": { "alias": "popoverOptions"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterText": { "alias": "filterText"; "required": false; "isSignal": true; }; "iconFilter": { "alias": "iconFilter"; "required": false; "isSignal": true; }; "iconDropdown": { "alias": "iconDropdown"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "editableAutoFilter": { "alias": "editableAutoFilter"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "scrollToSelectedItemOnOpen": { "alias": "scrollToSelectedItemOnOpen"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "checkbox": { "alias": "checkbox"; "required": false; "isSignal": true; }; }, {}, ["_customEditableInput"], ["[ngnInput]"], true, never>;
|
|
432
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSelect<any, any, any>, "ngn-select", never, { "popoverOptions": { "alias": "popoverOptions"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterText": { "alias": "filterText"; "required": false; "isSignal": true; }; "iconFilter": { "alias": "iconFilter"; "required": false; "isSignal": true; }; "iconDropdown": { "alias": "iconDropdown"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "editableAutoFilter": { "alias": "editableAutoFilter"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "scrollToSelectedItemOnOpen": { "alias": "scrollToSelectedItemOnOpen"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "checkbox": { "alias": "checkbox"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, ["_customEditableInput"], ["[ngnInput]"], true, never>;
|
|
406
433
|
}
|
|
407
434
|
|
|
408
435
|
export { NgnSelect };
|
|
@@ -164,6 +164,9 @@ declare class NgnSnackbar extends SnackbarTemplates implements OnInit {
|
|
|
164
164
|
segmentRange: string;
|
|
165
165
|
optionSeparator: string;
|
|
166
166
|
};
|
|
167
|
+
otp: {
|
|
168
|
+
cellLabel: string;
|
|
169
|
+
};
|
|
167
170
|
drawer: {
|
|
168
171
|
close: string;
|
|
169
172
|
};
|
|
@@ -221,6 +224,8 @@ declare class NgnSnackbar extends SnackbarTemplates implements OnInit {
|
|
|
221
224
|
selectedCount: string;
|
|
222
225
|
page: string;
|
|
223
226
|
resultCount: string;
|
|
227
|
+
retry: string;
|
|
228
|
+
loadError: string;
|
|
224
229
|
};
|
|
225
230
|
state: {
|
|
226
231
|
loading: string;
|
|
@@ -229,6 +234,18 @@ declare class NgnSnackbar extends SnackbarTemplates implements OnInit {
|
|
|
229
234
|
error: string;
|
|
230
235
|
cancelled: string;
|
|
231
236
|
};
|
|
237
|
+
errors: {
|
|
238
|
+
pending: string;
|
|
239
|
+
required: string;
|
|
240
|
+
email: string;
|
|
241
|
+
minlength: string;
|
|
242
|
+
maxlength: string;
|
|
243
|
+
minLength: string;
|
|
244
|
+
maxLength: string;
|
|
245
|
+
min: string;
|
|
246
|
+
max: string;
|
|
247
|
+
pattern: string;
|
|
248
|
+
};
|
|
232
249
|
}, "_">;
|
|
233
250
|
private readonly _host;
|
|
234
251
|
/** Heading text shown at the top of the snackbar. Overridden by {@link templateHeader}. */
|
|
@@ -276,6 +276,9 @@ declare class NgnSplitter extends NgnBase<'splitter'> implements OnDestroy {
|
|
|
276
276
|
segmentRange: string;
|
|
277
277
|
optionSeparator: string;
|
|
278
278
|
};
|
|
279
|
+
otp: {
|
|
280
|
+
cellLabel: string;
|
|
281
|
+
};
|
|
279
282
|
drawer: {
|
|
280
283
|
close: string;
|
|
281
284
|
};
|
|
@@ -333,6 +336,8 @@ declare class NgnSplitter extends NgnBase<'splitter'> implements OnDestroy {
|
|
|
333
336
|
selectedCount: string;
|
|
334
337
|
page: string;
|
|
335
338
|
resultCount: string;
|
|
339
|
+
retry: string;
|
|
340
|
+
loadError: string;
|
|
336
341
|
};
|
|
337
342
|
state: {
|
|
338
343
|
loading: string;
|
|
@@ -341,6 +346,18 @@ declare class NgnSplitter extends NgnBase<'splitter'> implements OnDestroy {
|
|
|
341
346
|
error: string;
|
|
342
347
|
cancelled: string;
|
|
343
348
|
};
|
|
349
|
+
errors: {
|
|
350
|
+
pending: string;
|
|
351
|
+
required: string;
|
|
352
|
+
email: string;
|
|
353
|
+
minlength: string;
|
|
354
|
+
maxlength: string;
|
|
355
|
+
minLength: string;
|
|
356
|
+
maxLength: string;
|
|
357
|
+
min: string;
|
|
358
|
+
max: string;
|
|
359
|
+
pattern: string;
|
|
360
|
+
};
|
|
344
361
|
}, "_">;
|
|
345
362
|
/**
|
|
346
363
|
* The layout of the splitter.
|
|
@@ -443,13 +460,20 @@ declare class NgnSplitter extends NgnBase<'splitter'> implements OnDestroy {
|
|
|
443
460
|
private onStateLoad;
|
|
444
461
|
private ensureValidState;
|
|
445
462
|
private applyFromState;
|
|
463
|
+
/** Cached divider positions (percentage) measured post-layout; see the after-render effect in the constructor. */
|
|
464
|
+
private readonly _dividerValues;
|
|
446
465
|
/**
|
|
447
466
|
* The divider's current position as a percentage (0–100) of the total panel
|
|
448
467
|
* content size, used for `aria-valuenow` on the `role="separator"` handle.
|
|
449
|
-
* Reads
|
|
450
|
-
* rendered panel sizes on either side of the divider.
|
|
468
|
+
* Reads the cached value measured in the after-render phase.
|
|
451
469
|
*/
|
|
452
470
|
protected dividerValueNow(index: number): number;
|
|
471
|
+
/**
|
|
472
|
+
* Measures each divider's position as a percentage (0–100) of the total panel
|
|
473
|
+
* content size. Reads `gridTemplateSizes()`, `elementSize()` and `dragContext()`
|
|
474
|
+
* as reactive triggers, then measures the rendered panel sizes.
|
|
475
|
+
*/
|
|
476
|
+
private measureDividerValues;
|
|
453
477
|
private getStepInPx;
|
|
454
478
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnSplitter, never>;
|
|
455
479
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnSplitter, "ngn-splitter", never, { "layout": { "alias": "layout"; "required": true; "isSignal": true; }; "panelOrder": { "alias": "panelOrder"; "required": false; "isSignal": true; }; "stateStorage": { "alias": "stateStorage"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "stateData": { "alias": "stateData"; "required": false; "isSignal": true; }; "calculatorType": { "alias": "calculatorType"; "required": false; "isSignal": true; }; "resizeMode": { "alias": "resizeMode"; "required": false; "isSignal": true; }; "lockSizes": { "alias": "lockSizes"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "layout": "layoutChange"; "panelOrder": "panelOrderChange"; "stateSaving": "stateSaving"; "stateLoading": "stateLoading"; }, ["panels"], ["*"], true, never>;
|
|
@@ -75,7 +75,7 @@ declare class NgnState extends NgnBase<'state'> {
|
|
|
75
75
|
readonly projected: true;
|
|
76
76
|
}, {
|
|
77
77
|
readonly class: "input-field";
|
|
78
|
-
readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`], readonly [{
|
|
78
|
+
readonly template: _ngneers_controls_themes.ControlTemplate<"input-field", ["root", "host", "filled", "disabled", "readonly", "invalid", "label", "clear-button", `labelKind-${string}`, `kind-${string}`], readonly [{
|
|
79
79
|
readonly class: "input";
|
|
80
80
|
readonly template: _ngneers_controls_themes.ControlTemplate<"input", ["root", "invalid", "empty"], readonly []>;
|
|
81
81
|
readonly projected: true;
|
|
@@ -83,7 +83,7 @@ declare class NgnState extends NgnBase<'state'> {
|
|
|
83
83
|
readonly projected: true;
|
|
84
84
|
}]>>;
|
|
85
85
|
protected readonly icon: _angular_core.Signal<_iconify_types.IconifyIcon | _ngneers_controls_custom_types.NgnIconEntry | undefined>;
|
|
86
|
-
protected readonly defaultIcon: _angular_core.Signal<"accordion-collapse" | "accordion-expand" | "breadcrumb-separator" | "breadcrumb-overflow" | "calendar-trigger" | "calendar-previous-month" | "calendar-next-month" | "checkbox-checked" | "checkbox-indeterminate" | "chip-remove" | "dialog-close" | "drawer-close" | "dropdown-toggle" | "edit-confirm" | "filter-active" | "filter-inactive" | "filter-remove" | "hint-info" | "hint-success" | "hint-warning" | "hint-error" | "input-clear" | "menu-submenu" | "paginator-previous" | "paginator-next" | "search" | "sort-neutral" | "sort-ascending" | "sort-descending" | "spin-decrement" | "spin-increment" | "table-group-toggle" | "tabs-scroll-left" | "tabs-scroll-right" | "toast-close" | "snackbar-close" | "upload-trigger" | "upload-done" | "upload-failed" | "upload-retry" | "upload-cancel" | "upload-remove" | undefined>;
|
|
86
|
+
protected readonly defaultIcon: _angular_core.Signal<"accordion-collapse" | "accordion-expand" | "breadcrumb-separator" | "breadcrumb-overflow" | "calendar-trigger" | "calendar-previous-month" | "calendar-next-month" | "checkbox-checked" | "checkbox-indeterminate" | "chip-remove" | "dialog-close" | "drawer-close" | "dropdown-toggle" | "edit-confirm" | "filter-active" | "filter-inactive" | "filter-remove" | "hint-info" | "hint-success" | "hint-warning" | "hint-error" | "input-clear" | "menu-submenu" | "paginator-previous" | "paginator-next" | "rating-full" | "rating-empty" | "search" | "sort-neutral" | "sort-ascending" | "sort-descending" | "spin-decrement" | "spin-increment" | "stepper-completed" | "table-group-toggle" | "tabs-scroll-left" | "tabs-scroll-right" | "toast-close" | "snackbar-close" | "upload-trigger" | "upload-done" | "upload-failed" | "upload-retry" | "upload-cancel" | "upload-remove" | undefined>;
|
|
87
87
|
/**
|
|
88
88
|
* Accessible label for the current state: the explicit {@link label} input,
|
|
89
89
|
* else a localized default for the applied kind. `undefined` when the
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import * as _ngneers_controls_api_ng from '@ngneers/controls/api/ng';
|
|
4
|
+
import * as _ngneers_controls_themes from '@ngneers/controls-themes';
|
|
5
|
+
import { NgnBase } from '@ngneers/controls/base';
|
|
6
|
+
import * as _ngneers_controls_custom_types from '@ngneers/controls-custom-types';
|
|
7
|
+
import * as _iconify_types from '@iconify/types';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A single step within an `ngn-stepper`. Declares the step's header metadata and
|
|
11
|
+
* projects its content via `<ng-template #content>`.
|
|
12
|
+
* @category control
|
|
13
|
+
*/
|
|
14
|
+
declare class NgnStep extends NgnBase<'stepper'> {
|
|
15
|
+
protected readonly theme: null;
|
|
16
|
+
/** The step's header label. */
|
|
17
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
18
|
+
/** Custom marker icon; when unset the 1-based step number is shown. */
|
|
19
|
+
readonly iconStep: _angular_core.InputSignal<_iconify_types.IconifyIcon | _ngneers_controls_custom_types.NgnIconEntry | undefined>;
|
|
20
|
+
/** Marks the step optional (shown as a hint; skippable in linear mode). @default false */
|
|
21
|
+
readonly optional: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
22
|
+
/** Disables navigation to this step. @default false */
|
|
23
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
24
|
+
/** Renders the step's marker in an error state. @default false */
|
|
25
|
+
readonly error: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the step is complete. The app sets this; in linear mode it gates
|
|
28
|
+
* forward navigation past this step. @default false
|
|
29
|
+
*/
|
|
30
|
+
readonly completed: _angular_core.ModelSignal<boolean>;
|
|
31
|
+
readonly content: _angular_core.Signal<TemplateRef<unknown> | undefined>;
|
|
32
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnStep, never>;
|
|
33
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnStep, "ngn-step", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "iconStep": { "alias": "iconStep"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "completed": { "alias": "completed"; "required": false; "isSignal": true; }; }, { "completed": "completedChange"; }, ["content"], never, true, never>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @category control
|
|
38
|
+
*/
|
|
39
|
+
declare class NgnStepper extends NgnBase<'stepper'> {
|
|
40
|
+
protected readonly theme: _ngneers_controls_api_ng.ControlTemplateInfo<_ngneers_controls_themes.ControlTemplate<"stepper", ["root", "header", "step", "marker", "marker-index", "marker-icon", "connector", "label", "optional", "content", "active", "completed", "error", "disabled"], readonly []>>;
|
|
41
|
+
protected readonly steps: _angular_core.Signal<readonly NgnStep[]>;
|
|
42
|
+
/** The header buttons' roving items, in step order (one per step; connectors are plain spans). */
|
|
43
|
+
private readonly _rovingItems;
|
|
44
|
+
/** The active step index (zero-based). @default 0 */
|
|
45
|
+
readonly active: _angular_core.ModelSignal<number>;
|
|
46
|
+
/** Gate forward navigation on prior steps being `completed`. @default false */
|
|
47
|
+
readonly linear: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
48
|
+
/** Lazily render step content (forwarded to `ngn-defer`). @default true */
|
|
49
|
+
readonly lazy: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
50
|
+
/** Keep opened step content in the DOM to preserve state (forwarded to `ngn-defer`). @default true */
|
|
51
|
+
readonly cache: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
52
|
+
/**
|
|
53
|
+
* Index of the first step that is not yet completed (the furthest reachable in linear mode).
|
|
54
|
+
* Optional steps are exempt — an incomplete optional step never blocks forward progress.
|
|
55
|
+
*/
|
|
56
|
+
private readonly _firstIncomplete;
|
|
57
|
+
constructor();
|
|
58
|
+
/** Whether navigation to `index` is currently permitted. */
|
|
59
|
+
canGoTo(index: number): boolean;
|
|
60
|
+
goTo(index: number): void;
|
|
61
|
+
next(): void;
|
|
62
|
+
previous(): void;
|
|
63
|
+
protected onHeaderActivate(index: number): void;
|
|
64
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgnStepper, never>;
|
|
65
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgnStepper, "ngn-stepper", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "cache": { "alias": "cache"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, ["steps"], never, true, never>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export { NgnStep, NgnStepper };
|