@atelier-ui/angular 0.0.11 → 0.0.13
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/README.md +34 -4
- package/fesm2022/atelier-ui-angular.mjs +944 -183
- package/fesm2022/atelier-ui-angular.mjs.map +1 -1
- package/package.json +3 -3
- package/types/atelier-ui-angular.d.ts +238 -23
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atelier-ui/angular",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "Atelier UI component library for Angular — LLM-optimised, accessible, design-token-driven",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@angular/forms": "^21.0.0"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@atelier-ui/spec": "
|
|
26
|
+
"@atelier-ui/spec": "0.0.13",
|
|
27
27
|
"tslib": "^2.3.0"
|
|
28
28
|
},
|
|
29
29
|
"module": "fesm2022/atelier-ui-angular.mjs",
|
|
@@ -38,4 +38,4 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"sideEffects": false
|
|
41
|
-
}
|
|
41
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { InjectionToken, WritableSignal, Signal, OnInit, OnDestroy, ElementRef } from '@angular/core';
|
|
3
|
-
import { LlmButtonVariant, LlmButtonSize } from '@atelier-ui/spec';
|
|
3
|
+
import { LlmButtonVariant, LlmButtonSize, LlmComboboxOption } from '@atelier-ui/spec';
|
|
4
4
|
import { FormValueControl, WithOptionalFieldTree, ValidationError, FormCheckboxControl } from '@angular/forms/signals';
|
|
5
|
+
import { FocusableOption } from '@angular/cdk/a11y';
|
|
5
6
|
import * as _atelier_ui_angular from '@atelier-ui/angular';
|
|
6
7
|
import * as i1 from '@angular/cdk/accordion';
|
|
7
8
|
import * as i1$1 from '@angular/cdk/menu';
|
|
@@ -244,9 +245,9 @@ declare class LlmCheckbox implements FormCheckboxControl {
|
|
|
244
245
|
}
|
|
245
246
|
|
|
246
247
|
/** @internal — shape required by LlmRadioGroup's FocusKeyManager */
|
|
247
|
-
interface RadioItem {
|
|
248
|
-
|
|
249
|
-
|
|
248
|
+
interface RadioItem extends FocusableOption {
|
|
249
|
+
focus(): void;
|
|
250
|
+
disabled?: boolean;
|
|
250
251
|
readonly radioValue: Signal<string>;
|
|
251
252
|
}
|
|
252
253
|
interface LlmRadioGroupContext {
|
|
@@ -275,7 +276,7 @@ declare class LlmRadio implements RadioItem, OnInit, OnDestroy {
|
|
|
275
276
|
/** The value this radio option represents within the group. */
|
|
276
277
|
readonly radioValue: _angular_core.InputSignal<string>;
|
|
277
278
|
/** Whether this specific radio is individually disabled (stacked with group disabled). */
|
|
278
|
-
readonly
|
|
279
|
+
readonly disabledInput: _angular_core.InputSignal<boolean>;
|
|
279
280
|
/** @internal */
|
|
280
281
|
private readonly group;
|
|
281
282
|
/** @internal */
|
|
@@ -291,7 +292,9 @@ declare class LlmRadio implements RadioItem, OnInit, OnDestroy {
|
|
|
291
292
|
/** @internal */
|
|
292
293
|
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
293
294
|
/** @internal — for FocusKeyManager */
|
|
294
|
-
|
|
295
|
+
get disabled(): boolean;
|
|
296
|
+
/** @internal — for FocusKeyManager */
|
|
297
|
+
focus(): void;
|
|
295
298
|
ngOnInit(): void;
|
|
296
299
|
ngOnDestroy(): void;
|
|
297
300
|
/** @internal */
|
|
@@ -299,7 +302,7 @@ declare class LlmRadio implements RadioItem, OnInit, OnDestroy {
|
|
|
299
302
|
/** @internal */
|
|
300
303
|
protected onBlur(): void;
|
|
301
304
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LlmRadio, never>;
|
|
302
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmRadio, "llm-radio", never, { "radioValue": { "alias": "radioValue"; "required": true; "isSignal": true; }; "
|
|
305
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmRadio, "llm-radio", never, { "radioValue": { "alias": "radioValue"; "required": true; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
303
306
|
}
|
|
304
307
|
|
|
305
308
|
/**
|
|
@@ -340,6 +343,8 @@ declare class LlmRadioGroup implements FormValueControl<string>, LlmRadioGroupCo
|
|
|
340
343
|
/** @internal */
|
|
341
344
|
private readonly items;
|
|
342
345
|
/** @internal */
|
|
346
|
+
private keyManager;
|
|
347
|
+
/** @internal */
|
|
343
348
|
protected readonly showErrors: _angular_core.Signal<boolean>;
|
|
344
349
|
/** @internal */
|
|
345
350
|
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
@@ -440,7 +445,7 @@ declare const LLM_SELECT: InjectionToken<LlmSelectContext>;
|
|
|
440
445
|
|
|
441
446
|
/**
|
|
442
447
|
* Accessible dropdown select component for use with Angular Signal Forms.
|
|
443
|
-
* Uses the
|
|
448
|
+
* Uses the CDK Overlay for viewport-aware panel positioning.
|
|
444
449
|
*
|
|
445
450
|
* Usage:
|
|
446
451
|
* ```html
|
|
@@ -455,7 +460,7 @@ declare const LLM_SELECT: InjectionToken<LlmSelectContext>;
|
|
|
455
460
|
* </llm-select>
|
|
456
461
|
* ```
|
|
457
462
|
*/
|
|
458
|
-
declare class LlmSelect implements FormValueControl<string>, LlmSelectContext {
|
|
463
|
+
declare class LlmSelect implements FormValueControl<string>, LlmSelectContext, OnDestroy {
|
|
459
464
|
/** The selected value. Bound by [formField] directive. Supports [(value)] two-way binding. */
|
|
460
465
|
readonly value: _angular_core.ModelSignal<string>;
|
|
461
466
|
/** Whether the user has interacted. Bound by [formField] directive. */
|
|
@@ -499,8 +504,10 @@ declare class LlmSelect implements FormValueControl<string>, LlmSelectContext {
|
|
|
499
504
|
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
500
505
|
/** @internal */
|
|
501
506
|
private keyManager;
|
|
507
|
+
private overlayRef;
|
|
502
508
|
private outsideClickHandler;
|
|
503
509
|
private readonly elementRef;
|
|
510
|
+
private readonly injector;
|
|
504
511
|
/** @internal — called by LlmOption on init */
|
|
505
512
|
registerOption(id: string, value: string, labelText: string, disabled: boolean): void;
|
|
506
513
|
/** @internal — called by LlmOption on destroy */
|
|
@@ -514,11 +521,11 @@ declare class LlmSelect implements FormValueControl<string>, LlmSelectContext {
|
|
|
514
521
|
/** @internal */
|
|
515
522
|
protected onTriggerBlur(): void;
|
|
516
523
|
/** @internal */
|
|
517
|
-
protected onPanelToggle(event: Event): void;
|
|
518
|
-
/** @internal */
|
|
519
524
|
protected onKeydown(event: KeyboardEvent): void;
|
|
525
|
+
ngOnDestroy(): void;
|
|
520
526
|
private open;
|
|
521
527
|
private close;
|
|
528
|
+
private createOverlay;
|
|
522
529
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LlmSelect, never>;
|
|
523
530
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmSelect, "llm-select", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, ["*"], true, never>;
|
|
524
531
|
}
|
|
@@ -556,6 +563,86 @@ declare class LlmOption implements OnInit, OnDestroy {
|
|
|
556
563
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmOption, "llm-option", never, { "optionValue": { "alias": "optionValue"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
557
564
|
}
|
|
558
565
|
|
|
566
|
+
/**
|
|
567
|
+
* Filterable autocomplete combobox. Accepts an `options` array and emits the
|
|
568
|
+
* selected option's `value`. The user types to narrow the list; selecting an
|
|
569
|
+
* option commits the value and displays its label.
|
|
570
|
+
*
|
|
571
|
+
* Usage:
|
|
572
|
+
* ```html
|
|
573
|
+
* <llm-combobox
|
|
574
|
+
* [(value)]="country"
|
|
575
|
+
* [options]="countryOptions"
|
|
576
|
+
* placeholder="Search country…"
|
|
577
|
+
* />
|
|
578
|
+
*
|
|
579
|
+
* <!-- With Signal Forms -->
|
|
580
|
+
* <llm-combobox [formField]="form.country" [options]="countryOptions" />
|
|
581
|
+
* ```
|
|
582
|
+
*/
|
|
583
|
+
declare class LlmCombobox implements FormValueControl<string> {
|
|
584
|
+
/** The selected value. Supports [(value)] two-way binding and [formField] directive. */
|
|
585
|
+
readonly value: _angular_core.ModelSignal<string>;
|
|
586
|
+
/** Whether the user has interacted. Bound by [formField] directive. */
|
|
587
|
+
readonly touched: _angular_core.ModelSignal<boolean>;
|
|
588
|
+
/** Options to display and filter. */
|
|
589
|
+
readonly options: _angular_core.InputSignal<LlmComboboxOption[]>;
|
|
590
|
+
/** Placeholder text for the input. */
|
|
591
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
592
|
+
/** Whether the combobox is disabled. */
|
|
593
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
594
|
+
/** Whether the combobox has validation errors. */
|
|
595
|
+
readonly invalid: _angular_core.InputSignal<boolean>;
|
|
596
|
+
/** Whether the combobox is required. */
|
|
597
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
598
|
+
/** The input's name attribute. */
|
|
599
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
600
|
+
/** Validation errors from the form system. */
|
|
601
|
+
readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
|
|
602
|
+
/** @internal */
|
|
603
|
+
protected readonly query: _angular_core.WritableSignal<string>;
|
|
604
|
+
/** @internal */
|
|
605
|
+
protected readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
606
|
+
/** @internal */
|
|
607
|
+
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
608
|
+
/** @internal */
|
|
609
|
+
protected readonly panelRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
610
|
+
/** @internal */
|
|
611
|
+
protected readonly inputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
612
|
+
/** @internal */
|
|
613
|
+
protected readonly inputId: string;
|
|
614
|
+
/** @internal */
|
|
615
|
+
protected readonly panelId: string;
|
|
616
|
+
/** @internal */
|
|
617
|
+
protected readonly errorId: string;
|
|
618
|
+
/** @internal */
|
|
619
|
+
protected readonly filteredOptions: _angular_core.Signal<LlmComboboxOption[]>;
|
|
620
|
+
/** @internal */
|
|
621
|
+
protected readonly activeOptionId: _angular_core.Signal<string | null>;
|
|
622
|
+
/** @internal */
|
|
623
|
+
protected readonly showErrors: _angular_core.Signal<boolean>;
|
|
624
|
+
/** @internal */
|
|
625
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
626
|
+
private outsideClickHandler;
|
|
627
|
+
private readonly elementRef;
|
|
628
|
+
/** @internal */
|
|
629
|
+
protected optionId(index: number): string;
|
|
630
|
+
/** @internal */
|
|
631
|
+
protected onInput(event: Event): void;
|
|
632
|
+
/** @internal */
|
|
633
|
+
protected onFocus(): void;
|
|
634
|
+
/** @internal */
|
|
635
|
+
protected onBlur(): void;
|
|
636
|
+
/** @internal */
|
|
637
|
+
protected onOptionSelect(option: LlmComboboxOption): void;
|
|
638
|
+
/** @internal */
|
|
639
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
640
|
+
private open;
|
|
641
|
+
private close;
|
|
642
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LlmCombobox, never>;
|
|
643
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmCombobox, "llm-combobox", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
|
|
644
|
+
}
|
|
645
|
+
|
|
559
646
|
/**
|
|
560
647
|
* Accessible modal dialog using the native `<dialog>` element.
|
|
561
648
|
* Includes focus trap, Escape to close, backdrop click to close, and animation.
|
|
@@ -662,7 +749,7 @@ declare class LlmTabGroup implements LlmTabGroupContext {
|
|
|
662
749
|
/** @internal */
|
|
663
750
|
readonly tabs: _angular_core.WritableSignal<TabInfo[]>;
|
|
664
751
|
/** @internal */
|
|
665
|
-
|
|
752
|
+
protected readonly tabBtns: _angular_core.Signal<readonly ElementRef<HTMLButtonElement>[]>;
|
|
666
753
|
/** @internal */
|
|
667
754
|
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
668
755
|
/** @internal — called by LlmTab on init */
|
|
@@ -706,10 +793,10 @@ declare class LlmTab implements OnInit, OnDestroy {
|
|
|
706
793
|
}
|
|
707
794
|
|
|
708
795
|
/** @internal — shape required by LlmAccordionGroup's FocusKeyManager */
|
|
709
|
-
interface AccordionItem {
|
|
796
|
+
interface AccordionItem extends FocusableOption {
|
|
710
797
|
readonly id: string;
|
|
711
|
-
|
|
712
|
-
|
|
798
|
+
focus(): void;
|
|
799
|
+
disabled?: boolean;
|
|
713
800
|
}
|
|
714
801
|
interface LlmAccordionGroupContext {
|
|
715
802
|
register(item: AccordionItem): void;
|
|
@@ -771,7 +858,9 @@ declare class LlmAccordionItem implements AccordionItem, OnInit, OnDestroy {
|
|
|
771
858
|
/** Whether this item is expanded. Supports two-way binding. */
|
|
772
859
|
readonly expanded: _angular_core.ModelSignal<boolean>;
|
|
773
860
|
/** Whether this item is disabled. */
|
|
774
|
-
readonly
|
|
861
|
+
readonly disabledInput: _angular_core.InputSignal<boolean>;
|
|
862
|
+
/** @internal — satisfies AccordionItem / FocusableOption interface */
|
|
863
|
+
get disabled(): boolean;
|
|
775
864
|
/** @internal */
|
|
776
865
|
readonly id: string;
|
|
777
866
|
/** @internal */
|
|
@@ -796,15 +885,13 @@ declare class LlmAccordionItem implements AccordionItem, OnInit, OnDestroy {
|
|
|
796
885
|
ngOnInit(): void;
|
|
797
886
|
ngOnDestroy(): void;
|
|
798
887
|
/** @internal — for FocusKeyManager */
|
|
799
|
-
|
|
800
|
-
/** @internal — for FocusKeyManager */
|
|
801
|
-
isItemDisabled(): boolean;
|
|
888
|
+
focus(): void;
|
|
802
889
|
/** @internal */
|
|
803
890
|
protected onToggle(): void;
|
|
804
891
|
/** @internal */
|
|
805
892
|
protected onKeydown(event: KeyboardEvent): void;
|
|
806
893
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LlmAccordionItem, never>;
|
|
807
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmAccordionItem, "llm-accordion-item", never, { "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "
|
|
894
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmAccordionItem, "llm-accordion-item", never, { "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, ["[llmAccordionHeader]", "*"], true, [{ directive: typeof i1.CdkAccordionItem; inputs: {}; outputs: {}; }]>;
|
|
808
895
|
}
|
|
809
896
|
|
|
810
897
|
/**
|
|
@@ -1229,7 +1316,7 @@ declare class LlmDrawer {
|
|
|
1229
1316
|
/** Whether the drawer is open. Supports two-way binding: [(open)]="isOpen". */
|
|
1230
1317
|
readonly open: _angular_core.ModelSignal<boolean>;
|
|
1231
1318
|
/** Which edge the drawer slides in from. */
|
|
1232
|
-
readonly position: _angular_core.InputSignal<"
|
|
1319
|
+
readonly position: _angular_core.InputSignal<"bottom" | "top" | "left" | "right">;
|
|
1233
1320
|
/** Width (for left/right) or height (for top/bottom) of the panel. */
|
|
1234
1321
|
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg" | "full">;
|
|
1235
1322
|
/** Whether clicking the backdrop closes the drawer. */
|
|
@@ -1431,5 +1518,133 @@ declare class LlmTd {
|
|
|
1431
1518
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmTd, "llm-td", never, { "align": { "alias": "align"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1432
1519
|
}
|
|
1433
1520
|
|
|
1434
|
-
|
|
1435
|
-
|
|
1521
|
+
interface StepInfo {
|
|
1522
|
+
id: string;
|
|
1523
|
+
label: string;
|
|
1524
|
+
description?: string;
|
|
1525
|
+
completed: boolean;
|
|
1526
|
+
error: boolean;
|
|
1527
|
+
optional: boolean;
|
|
1528
|
+
disabled: boolean;
|
|
1529
|
+
}
|
|
1530
|
+
interface LlmStepperContext {
|
|
1531
|
+
readonly activeStep: WritableSignal<number>;
|
|
1532
|
+
readonly steps: Signal<StepInfo[]>;
|
|
1533
|
+
readonly linear: Signal<boolean>;
|
|
1534
|
+
registerStep(info: StepInfo): void;
|
|
1535
|
+
unregisterStep(id: string): void;
|
|
1536
|
+
updateStep(id: string, info: Partial<StepInfo>): void;
|
|
1537
|
+
goTo(index: number): void;
|
|
1538
|
+
next(): void;
|
|
1539
|
+
prev(): void;
|
|
1540
|
+
}
|
|
1541
|
+
declare const LLM_STEPPER: InjectionToken<LlmStepperContext>;
|
|
1542
|
+
|
|
1543
|
+
/**
|
|
1544
|
+
* Multi-step wizard container.
|
|
1545
|
+
*
|
|
1546
|
+
* Usage:
|
|
1547
|
+
* ```html
|
|
1548
|
+
* <llm-stepper [(activeStep)]="step">
|
|
1549
|
+
* <llm-step label="Account">Account form here.</llm-step>
|
|
1550
|
+
* <llm-step label="Profile">Profile form here.</llm-step>
|
|
1551
|
+
* <llm-step label="Review">Review and submit.</llm-step>
|
|
1552
|
+
* </llm-stepper>
|
|
1553
|
+
* ```
|
|
1554
|
+
*/
|
|
1555
|
+
declare class LlmStepper implements LlmStepperContext {
|
|
1556
|
+
/** Index of the currently active step. Supports two-way binding. */
|
|
1557
|
+
readonly activeStep: _angular_core.ModelSignal<number>;
|
|
1558
|
+
/** Layout orientation. */
|
|
1559
|
+
readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
1560
|
+
/**
|
|
1561
|
+
* When true, users can only navigate to completed steps or the next pending step.
|
|
1562
|
+
* Use `goTo()` / `next()` in your step content to advance programmatically.
|
|
1563
|
+
*/
|
|
1564
|
+
readonly linear: _angular_core.InputSignal<boolean>;
|
|
1565
|
+
/** @internal */
|
|
1566
|
+
readonly steps: _angular_core.WritableSignal<StepInfo[]>;
|
|
1567
|
+
/** @internal */
|
|
1568
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
1569
|
+
/** @internal — called by LlmStep on init */
|
|
1570
|
+
registerStep(info: StepInfo): void;
|
|
1571
|
+
/** @internal — called by LlmStep on destroy */
|
|
1572
|
+
unregisterStep(id: string): void;
|
|
1573
|
+
/** @internal — called by LlmStep effect when inputs change */
|
|
1574
|
+
updateStep(id: string, info: Partial<StepInfo>): void;
|
|
1575
|
+
/** Navigate to a specific step index. Respects linear mode. */
|
|
1576
|
+
goTo(index: number): void;
|
|
1577
|
+
/** Advance to the next step. */
|
|
1578
|
+
next(): void;
|
|
1579
|
+
/** Go back to the previous step. */
|
|
1580
|
+
prev(): void;
|
|
1581
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LlmStepper, never>;
|
|
1582
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmStepper, "llm-stepper", never, { "activeStep": { "alias": "activeStep"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; }, { "activeStep": "activeStepChange"; }, never, ["*"], true, never>;
|
|
1583
|
+
}
|
|
1584
|
+
/**
|
|
1585
|
+
* Individual step. Place inside `<llm-stepper>`.
|
|
1586
|
+
*
|
|
1587
|
+
* Usage:
|
|
1588
|
+
* ```html
|
|
1589
|
+
* <llm-step label="Account">Account form here.</llm-step>
|
|
1590
|
+
* ```
|
|
1591
|
+
*/
|
|
1592
|
+
declare class LlmStep implements OnInit, OnDestroy {
|
|
1593
|
+
/** Text displayed on the step indicator. Required. */
|
|
1594
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1595
|
+
/** Optional subtitle shown below the label. */
|
|
1596
|
+
readonly description: _angular_core.InputSignal<string | undefined>;
|
|
1597
|
+
/** Mark this step as completed (shows a checkmark). */
|
|
1598
|
+
readonly completed: _angular_core.InputSignal<boolean>;
|
|
1599
|
+
/** Mark this step as having an error (shows an X). */
|
|
1600
|
+
readonly error: _angular_core.InputSignal<boolean>;
|
|
1601
|
+
/** Mark this step as optional. */
|
|
1602
|
+
readonly optional: _angular_core.InputSignal<boolean>;
|
|
1603
|
+
/** Whether this step is disabled. */
|
|
1604
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1605
|
+
/** @internal */
|
|
1606
|
+
private readonly id;
|
|
1607
|
+
/** @internal */
|
|
1608
|
+
private readonly context;
|
|
1609
|
+
/** @internal */
|
|
1610
|
+
protected readonly myIndex: _angular_core.Signal<number>;
|
|
1611
|
+
/** @internal */
|
|
1612
|
+
protected readonly isActive: _angular_core.Signal<boolean>;
|
|
1613
|
+
constructor();
|
|
1614
|
+
ngOnInit(): void;
|
|
1615
|
+
ngOnDestroy(): void;
|
|
1616
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LlmStep, never>;
|
|
1617
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmStep, "llm-step", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "completed": { "alias": "completed"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1620
|
+
/**
|
|
1621
|
+
* Displays a block of code with an optional header, language label, and copy button.
|
|
1622
|
+
* Designed for rendering LLM-generated code output, inline snippets, and API examples.
|
|
1623
|
+
*
|
|
1624
|
+
* Usage:
|
|
1625
|
+
* ```html
|
|
1626
|
+
* <llm-code-block code="const x = 1;" language="typescript" />
|
|
1627
|
+
* <llm-code-block [code]="generatedCode" filename="app.component.ts" [showLineNumbers]="true" />
|
|
1628
|
+
* ```
|
|
1629
|
+
*/
|
|
1630
|
+
declare class LlmCodeBlock {
|
|
1631
|
+
/** The code string to display. */
|
|
1632
|
+
readonly code: _angular_core.InputSignal<string>;
|
|
1633
|
+
/** Language label shown in the header. Ignored if filename is set. */
|
|
1634
|
+
readonly language: _angular_core.InputSignal<string>;
|
|
1635
|
+
/** Optional filename shown in the header instead of the language label. */
|
|
1636
|
+
readonly filename: _angular_core.InputSignal<string>;
|
|
1637
|
+
/** Whether to show a copy-to-clipboard button. */
|
|
1638
|
+
readonly copyable: _angular_core.InputSignal<boolean>;
|
|
1639
|
+
/** Whether to display line numbers alongside the code. */
|
|
1640
|
+
readonly showLineNumbers: _angular_core.InputSignal<boolean>;
|
|
1641
|
+
protected readonly copied: _angular_core.WritableSignal<boolean>;
|
|
1642
|
+
protected readonly displayLabel: _angular_core.Signal<string>;
|
|
1643
|
+
protected readonly lines: _angular_core.Signal<string[]>;
|
|
1644
|
+
protected copy(): void;
|
|
1645
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LlmCodeBlock, never>;
|
|
1646
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LlmCodeBlock, "llm-code-block", never, { "code": { "alias": "code"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "filename": { "alias": "filename"; "required": false; "isSignal": true; }; "copyable": { "alias": "copyable"; "required": false; "isSignal": true; }; "showLineNumbers": { "alias": "showLineNumbers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1647
|
+
}
|
|
1648
|
+
|
|
1649
|
+
export { LLM_ACCORDION_GROUP, LLM_BREADCRUMBS, LLM_DIALOG, LLM_DRAWER, LLM_RADIO_GROUP, LLM_SELECT, LLM_STEPPER, LLM_TABLE, LLM_TAB_GROUP, LlmAccordionGroup, LlmAccordionHeader, LlmAccordionItem, LlmAlert, LlmAvatar, LlmAvatarGroup, LlmBadge, LlmBreadcrumbItem, LlmBreadcrumbs, LlmButton, LlmCard, LlmCardContent, LlmCardFooter, LlmCardHeader, LlmCheckbox, LlmCodeBlock, LlmCombobox, LlmDialog, LlmDialogContent, LlmDialogFooter, LlmDialogHeader, LlmDrawer, LlmDrawerContent, LlmDrawerFooter, LlmDrawerHeader, LlmInput, LlmMenu, LlmMenuItem, LlmMenuSeparator, LlmMenuTrigger, LlmOption, LlmPagination, LlmProgress, LlmRadio, LlmRadioGroup, LlmSelect, LlmSkeleton, LlmStep, LlmStepper, LlmTab, LlmTabGroup, LlmTable, LlmTbody, LlmTd, LlmTextarea, LlmTh, LlmThead, LlmToast, LlmToastContainer, LlmToastService, LlmToggle, LlmTooltip, LlmTr };
|
|
1650
|
+
export type { LlmAccordionGroupContext, LlmBreadcrumbsContext, LlmDialogContext, LlmDrawerContext, LlmRadioGroupContext, LlmSelectContext, LlmSortDirection, LlmStepperContext, LlmTabGroupContext, LlmTableContext, PageItem, StepInfo, TabInfo, ToastData, ToastOptions };
|