@truenas/ui-components 0.1.13 → 0.1.15
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.
|
@@ -465,6 +465,14 @@ declare class TnInputComponent implements AfterViewInit, ControlValueAccessor {
|
|
|
465
465
|
disabled: _angular_core.InputSignal<boolean>;
|
|
466
466
|
multiline: _angular_core.InputSignal<boolean>;
|
|
467
467
|
rows: _angular_core.InputSignal<number>;
|
|
468
|
+
prefixIcon: _angular_core.InputSignal<string | undefined>;
|
|
469
|
+
prefixIconLibrary: _angular_core.InputSignal<IconLibraryType | undefined>;
|
|
470
|
+
suffixIcon: _angular_core.InputSignal<string | undefined>;
|
|
471
|
+
suffixIconLibrary: _angular_core.InputSignal<IconLibraryType | undefined>;
|
|
472
|
+
suffixIconAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
473
|
+
onSuffixAction: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
474
|
+
hasPrefixIcon: _angular_core.Signal<boolean>;
|
|
475
|
+
hasSuffixIcon: _angular_core.Signal<boolean>;
|
|
468
476
|
id: string;
|
|
469
477
|
value: string;
|
|
470
478
|
private formDisabled;
|
|
@@ -480,7 +488,308 @@ declare class TnInputComponent implements AfterViewInit, ControlValueAccessor {
|
|
|
480
488
|
onValueChange(event: Event): void;
|
|
481
489
|
onBlur(): void;
|
|
482
490
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TnInputComponent, never>;
|
|
483
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnInputComponent, "tn-input", never, { "inputType": { "alias": "inputType"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
491
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TnInputComponent, "tn-input", never, { "inputType": { "alias": "inputType"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiline": { "alias": "multiline"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "prefixIconLibrary": { "alias": "prefixIconLibrary"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "suffixIconLibrary": { "alias": "suffixIconLibrary"; "required": false; "isSignal": true; }; "suffixIconAriaLabel": { "alias": "suffixIconAriaLabel"; "required": false; "isSignal": true; }; }, { "onSuffixAction": "onSuffixAction"; }, never, never, true, never>;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* Harness for interacting with tn-icon in tests.
|
|
496
|
+
* Provides filtering by icon name and library for existence checks, as well as click interaction.
|
|
497
|
+
*
|
|
498
|
+
* @example
|
|
499
|
+
* ```typescript
|
|
500
|
+
* // Check for existence
|
|
501
|
+
* const icon = await loader.getHarness(TnIconHarness);
|
|
502
|
+
*
|
|
503
|
+
* // Find icon by name
|
|
504
|
+
* const folderIcon = await loader.getHarness(
|
|
505
|
+
* TnIconHarness.with({ name: 'folder' })
|
|
506
|
+
* );
|
|
507
|
+
*
|
|
508
|
+
* // Find icon by name and library
|
|
509
|
+
* const mdiIcon = await loader.getHarness(
|
|
510
|
+
* TnIconHarness.with({ name: 'account-circle', library: 'mdi' })
|
|
511
|
+
* );
|
|
512
|
+
*
|
|
513
|
+
* // Check if icon exists
|
|
514
|
+
* const hasIcon = await loader.hasHarness(
|
|
515
|
+
* TnIconHarness.with({ name: 'check' })
|
|
516
|
+
* );
|
|
517
|
+
*
|
|
518
|
+
* // Click an icon
|
|
519
|
+
* const closeIcon = await loader.getHarness(
|
|
520
|
+
* TnIconHarness.with({ name: 'close' })
|
|
521
|
+
* );
|
|
522
|
+
* await closeIcon.click();
|
|
523
|
+
* ```
|
|
524
|
+
*/
|
|
525
|
+
declare class TnIconHarness extends ComponentHarness {
|
|
526
|
+
/**
|
|
527
|
+
* The selector for the host element of a `TnIconComponent` instance.
|
|
528
|
+
*/
|
|
529
|
+
static hostSelector: string;
|
|
530
|
+
/**
|
|
531
|
+
* Gets a `HarnessPredicate` that can be used to search for an icon
|
|
532
|
+
* with specific attributes.
|
|
533
|
+
*
|
|
534
|
+
* @param options Options for filtering which icon instances are considered a match.
|
|
535
|
+
* @returns A `HarnessPredicate` configured with the given options.
|
|
536
|
+
*
|
|
537
|
+
* @example
|
|
538
|
+
* ```typescript
|
|
539
|
+
* // Find icon by name
|
|
540
|
+
* const icon = await loader.getHarness(
|
|
541
|
+
* TnIconHarness.with({ name: 'home' })
|
|
542
|
+
* );
|
|
543
|
+
*
|
|
544
|
+
* // Find icon by library
|
|
545
|
+
* const customIcon = await loader.getHarness(
|
|
546
|
+
* TnIconHarness.with({ library: 'custom' })
|
|
547
|
+
* );
|
|
548
|
+
*
|
|
549
|
+
* // Find icon with specific size
|
|
550
|
+
* const largeIcon = await loader.getHarness(
|
|
551
|
+
* TnIconHarness.with({ size: 'lg' })
|
|
552
|
+
* );
|
|
553
|
+
* ```
|
|
554
|
+
*/
|
|
555
|
+
static with(options?: IconHarnessFilters): HarnessPredicate<TnIconHarness>;
|
|
556
|
+
/**
|
|
557
|
+
* Gets the icon name.
|
|
558
|
+
*
|
|
559
|
+
* @returns Promise resolving to the icon name.
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```typescript
|
|
563
|
+
* const icon = await loader.getHarness(TnIconHarness);
|
|
564
|
+
* const name = await icon.getName();
|
|
565
|
+
* expect(name).toBe('folder');
|
|
566
|
+
* ```
|
|
567
|
+
*/
|
|
568
|
+
getName(): Promise<string | null>;
|
|
569
|
+
/**
|
|
570
|
+
* Gets the icon library.
|
|
571
|
+
*
|
|
572
|
+
* @returns Promise resolving to the icon library.
|
|
573
|
+
*
|
|
574
|
+
* @example
|
|
575
|
+
* ```typescript
|
|
576
|
+
* const icon = await loader.getHarness(TnIconHarness);
|
|
577
|
+
* const library = await icon.getLibrary();
|
|
578
|
+
* expect(library).toBe('mdi');
|
|
579
|
+
* ```
|
|
580
|
+
*/
|
|
581
|
+
getLibrary(): Promise<string | null>;
|
|
582
|
+
/**
|
|
583
|
+
* Gets the icon size.
|
|
584
|
+
*
|
|
585
|
+
* @returns Promise resolving to the icon size.
|
|
586
|
+
*
|
|
587
|
+
* @example
|
|
588
|
+
* ```typescript
|
|
589
|
+
* const icon = await loader.getHarness(TnIconHarness);
|
|
590
|
+
* const size = await icon.getSize();
|
|
591
|
+
* expect(size).toBe('lg');
|
|
592
|
+
* ```
|
|
593
|
+
*/
|
|
594
|
+
getSize(): Promise<string | null>;
|
|
595
|
+
/**
|
|
596
|
+
* Gets the icon color.
|
|
597
|
+
*
|
|
598
|
+
* @returns Promise resolving to the icon color.
|
|
599
|
+
*
|
|
600
|
+
* @example
|
|
601
|
+
* ```typescript
|
|
602
|
+
* const icon = await loader.getHarness(TnIconHarness);
|
|
603
|
+
* const color = await icon.getColor();
|
|
604
|
+
* expect(color).toBe('primary');
|
|
605
|
+
* ```
|
|
606
|
+
*/
|
|
607
|
+
getColor(): Promise<string | null>;
|
|
608
|
+
/**
|
|
609
|
+
* Checks if the icon is in full-size mode.
|
|
610
|
+
*
|
|
611
|
+
* @returns Promise resolving to true if the icon is full-size, false otherwise.
|
|
612
|
+
*
|
|
613
|
+
* @example
|
|
614
|
+
* ```typescript
|
|
615
|
+
* const icon = await loader.getHarness(TnIconHarness);
|
|
616
|
+
* const isFullSize = await icon.isFullSize();
|
|
617
|
+
* expect(isFullSize).toBe(true);
|
|
618
|
+
* ```
|
|
619
|
+
*/
|
|
620
|
+
isFullSize(): Promise<boolean>;
|
|
621
|
+
/**
|
|
622
|
+
* Gets the icon custom size.
|
|
623
|
+
*
|
|
624
|
+
* @returns Promise resolving to the custom size value, or null if not set.
|
|
625
|
+
*
|
|
626
|
+
* @example
|
|
627
|
+
* ```typescript
|
|
628
|
+
* const icon = await loader.getHarness(TnIconHarness);
|
|
629
|
+
* const customSize = await icon.getCustomSize();
|
|
630
|
+
* expect(customSize).toBe('64px');
|
|
631
|
+
* ```
|
|
632
|
+
*/
|
|
633
|
+
getCustomSize(): Promise<string | null>;
|
|
634
|
+
/**
|
|
635
|
+
* Checks if the icon is using a custom size.
|
|
636
|
+
*
|
|
637
|
+
* @returns Promise resolving to true if a custom size is set, false otherwise.
|
|
638
|
+
*
|
|
639
|
+
* @example
|
|
640
|
+
* ```typescript
|
|
641
|
+
* const icon = await loader.getHarness(TnIconHarness);
|
|
642
|
+
* const hasCustomSize = await icon.hasCustomSize();
|
|
643
|
+
* expect(hasCustomSize).toBe(true);
|
|
644
|
+
* ```
|
|
645
|
+
*/
|
|
646
|
+
hasCustomSize(): Promise<boolean>;
|
|
647
|
+
/**
|
|
648
|
+
* Clicks the icon.
|
|
649
|
+
*
|
|
650
|
+
* @returns Promise that resolves when the click action is complete.
|
|
651
|
+
*
|
|
652
|
+
* @example
|
|
653
|
+
* ```typescript
|
|
654
|
+
* const icon = await loader.getHarness(TnIconHarness.with({ name: 'close' }));
|
|
655
|
+
* await icon.click();
|
|
656
|
+
* ```
|
|
657
|
+
*/
|
|
658
|
+
click(): Promise<void>;
|
|
659
|
+
}
|
|
660
|
+
/**
|
|
661
|
+
* A set of criteria that can be used to filter a list of `TnIconHarness` instances.
|
|
662
|
+
*/
|
|
663
|
+
interface IconHarnessFilters extends BaseHarnessFilters {
|
|
664
|
+
/** Filters by icon name. */
|
|
665
|
+
name?: string;
|
|
666
|
+
/** Filters by icon library (material, mdi, custom, lucide). */
|
|
667
|
+
library?: string;
|
|
668
|
+
/** Filters by icon size (xs, sm, md, lg, xl). */
|
|
669
|
+
size?: string;
|
|
670
|
+
/** Filters by full-size mode. */
|
|
671
|
+
fullSize?: boolean;
|
|
672
|
+
/** Filters by custom size value. */
|
|
673
|
+
customSize?: string;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
/**
|
|
677
|
+
* Harness for interacting with tn-input in tests.
|
|
678
|
+
* Provides methods for querying state, setting values, and interacting with prefix/suffix icons.
|
|
679
|
+
*
|
|
680
|
+
* @example
|
|
681
|
+
* ```typescript
|
|
682
|
+
* // Get the input harness
|
|
683
|
+
* const input = await loader.getHarness(TnInputHarness);
|
|
684
|
+
*
|
|
685
|
+
* // Set and read a value
|
|
686
|
+
* await input.setValue('hello');
|
|
687
|
+
* expect(await input.getValue()).toBe('hello');
|
|
688
|
+
*
|
|
689
|
+
* // Check for prefix icon
|
|
690
|
+
* expect(await input.hasPrefixIcon()).toBe(true);
|
|
691
|
+
*
|
|
692
|
+
* // Click suffix action
|
|
693
|
+
* await input.clickSuffixAction();
|
|
694
|
+
* ```
|
|
695
|
+
*/
|
|
696
|
+
declare class TnInputHarness extends ComponentHarness {
|
|
697
|
+
/**
|
|
698
|
+
* The selector for the host element of a `TnInputComponent` instance.
|
|
699
|
+
*/
|
|
700
|
+
static hostSelector: string;
|
|
701
|
+
private inputEl;
|
|
702
|
+
private textareaEl;
|
|
703
|
+
private prefixIconEl;
|
|
704
|
+
private suffixButton;
|
|
705
|
+
private suffixIconEl;
|
|
706
|
+
/**
|
|
707
|
+
* Gets a `HarnessPredicate` that can be used to search for an input
|
|
708
|
+
* with specific attributes.
|
|
709
|
+
*
|
|
710
|
+
* @param options Options for filtering which input instances are considered a match.
|
|
711
|
+
* @returns A `HarnessPredicate` configured with the given options.
|
|
712
|
+
*/
|
|
713
|
+
static with(options?: InputHarnessFilters): HarnessPredicate<TnInputHarness>;
|
|
714
|
+
/**
|
|
715
|
+
* Gets the current value of the input.
|
|
716
|
+
*
|
|
717
|
+
* @returns Promise resolving to the input value.
|
|
718
|
+
*/
|
|
719
|
+
getValue(): Promise<string>;
|
|
720
|
+
/**
|
|
721
|
+
* Sets the value of the input by clearing and typing.
|
|
722
|
+
*
|
|
723
|
+
* @param value The value to set.
|
|
724
|
+
*/
|
|
725
|
+
setValue(value: string): Promise<void>;
|
|
726
|
+
/**
|
|
727
|
+
* Gets the placeholder text.
|
|
728
|
+
*
|
|
729
|
+
* @returns Promise resolving to the placeholder string.
|
|
730
|
+
*/
|
|
731
|
+
getPlaceholder(): Promise<string | null>;
|
|
732
|
+
/**
|
|
733
|
+
* Checks whether the input is disabled.
|
|
734
|
+
*
|
|
735
|
+
* @returns Promise resolving to true if the input is disabled.
|
|
736
|
+
*/
|
|
737
|
+
isDisabled(): Promise<boolean>;
|
|
738
|
+
/**
|
|
739
|
+
* Checks whether the input renders as a textarea.
|
|
740
|
+
*
|
|
741
|
+
* @returns Promise resolving to true if multiline.
|
|
742
|
+
*/
|
|
743
|
+
isMultiline(): Promise<boolean>;
|
|
744
|
+
/**
|
|
745
|
+
* Checks whether a prefix icon is present.
|
|
746
|
+
*
|
|
747
|
+
* @returns Promise resolving to true if a prefix icon exists.
|
|
748
|
+
*/
|
|
749
|
+
hasPrefixIcon(): Promise<boolean>;
|
|
750
|
+
/**
|
|
751
|
+
* Gets the prefix icon harness for further inspection.
|
|
752
|
+
*
|
|
753
|
+
* @returns Promise resolving to the prefix TnIconHarness, or null if not present.
|
|
754
|
+
*/
|
|
755
|
+
getPrefixIcon(): Promise<TnIconHarness | null>;
|
|
756
|
+
/**
|
|
757
|
+
* Checks whether a suffix action button is present.
|
|
758
|
+
*
|
|
759
|
+
* @returns Promise resolving to true if a suffix action exists.
|
|
760
|
+
*/
|
|
761
|
+
hasSuffixAction(): Promise<boolean>;
|
|
762
|
+
/**
|
|
763
|
+
* Gets the suffix icon harness for further inspection.
|
|
764
|
+
*
|
|
765
|
+
* @returns Promise resolving to the suffix TnIconHarness, or null if not present.
|
|
766
|
+
*/
|
|
767
|
+
getSuffixIcon(): Promise<TnIconHarness | null>;
|
|
768
|
+
/**
|
|
769
|
+
* Clicks the suffix action button.
|
|
770
|
+
*
|
|
771
|
+
* @returns Promise that resolves when the click action is complete.
|
|
772
|
+
*/
|
|
773
|
+
clickSuffixAction(): Promise<void>;
|
|
774
|
+
/**
|
|
775
|
+
* Focuses the input element.
|
|
776
|
+
*
|
|
777
|
+
* @returns Promise that resolves when the input is focused.
|
|
778
|
+
*/
|
|
779
|
+
focus(): Promise<void>;
|
|
780
|
+
/**
|
|
781
|
+
* Blurs the input element.
|
|
782
|
+
*
|
|
783
|
+
* @returns Promise that resolves when the input is blurred.
|
|
784
|
+
*/
|
|
785
|
+
blur(): Promise<void>;
|
|
786
|
+
}
|
|
787
|
+
/**
|
|
788
|
+
* A set of criteria that can be used to filter a list of `TnInputHarness` instances.
|
|
789
|
+
*/
|
|
790
|
+
interface InputHarnessFilters extends BaseHarnessFilters {
|
|
791
|
+
/** Filters by placeholder text. */
|
|
792
|
+
placeholder?: string;
|
|
484
793
|
}
|
|
485
794
|
|
|
486
795
|
declare class TnInputDirective {
|
|
@@ -730,6 +1039,7 @@ declare class TnTabComponent implements AfterContentInit {
|
|
|
730
1039
|
isActive: _angular_core.WritableSignal<boolean>;
|
|
731
1040
|
tabsComponent?: {
|
|
732
1041
|
onKeydown: (event: KeyboardEvent, index: number) => void;
|
|
1042
|
+
selectTab: (index: number) => void;
|
|
733
1043
|
};
|
|
734
1044
|
elementRef: ElementRef<any>;
|
|
735
1045
|
protected hasIconContent: _angular_core.WritableSignal<boolean>;
|
|
@@ -800,15 +1110,373 @@ declare class TnTabsComponent implements AfterContentInit, AfterViewInit, OnDest
|
|
|
800
1110
|
}
|
|
801
1111
|
|
|
802
1112
|
/**
|
|
803
|
-
*
|
|
804
|
-
*
|
|
1113
|
+
* Harness for interacting with tn-tab in tests.
|
|
1114
|
+
* Provides methods for querying individual tab state and simulating selection.
|
|
1115
|
+
*
|
|
1116
|
+
* @example
|
|
1117
|
+
* ```typescript
|
|
1118
|
+
* // Find a tab by label
|
|
1119
|
+
* const tab = await loader.getHarness(TnTabHarness.with({ label: 'Settings' }));
|
|
1120
|
+
*
|
|
1121
|
+
* // Check if active
|
|
1122
|
+
* expect(await tab.isSelected()).toBe(false);
|
|
1123
|
+
*
|
|
1124
|
+
* // Select it
|
|
1125
|
+
* await tab.select();
|
|
1126
|
+
* expect(await tab.isSelected()).toBe(true);
|
|
1127
|
+
* ```
|
|
805
1128
|
*/
|
|
806
|
-
declare class
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
private
|
|
1129
|
+
declare class TnTabHarness extends ComponentHarness {
|
|
1130
|
+
/**
|
|
1131
|
+
* The selector for the host element of a `TnTabComponent` instance.
|
|
1132
|
+
*/
|
|
1133
|
+
static hostSelector: string;
|
|
1134
|
+
private _button;
|
|
1135
|
+
/**
|
|
1136
|
+
* Gets a `HarnessPredicate` that can be used to search for a tab
|
|
1137
|
+
* with specific attributes.
|
|
1138
|
+
*
|
|
1139
|
+
* @param options Options for filtering which tab instances are considered a match.
|
|
1140
|
+
* @returns A `HarnessPredicate` configured with the given options.
|
|
1141
|
+
*
|
|
1142
|
+
* @example
|
|
1143
|
+
* ```typescript
|
|
1144
|
+
* // Find tab by exact label
|
|
1145
|
+
* const tab = await loader.getHarness(TnTabHarness.with({ label: 'Overview' }));
|
|
1146
|
+
*
|
|
1147
|
+
* // Find tab by regex
|
|
1148
|
+
* const tab = await loader.getHarness(TnTabHarness.with({ label: /settings/i }));
|
|
1149
|
+
* ```
|
|
1150
|
+
*/
|
|
1151
|
+
static with(options?: TabHarnessFilters): HarnessPredicate<TnTabHarness>;
|
|
1152
|
+
/**
|
|
1153
|
+
* Gets the tab's label text.
|
|
1154
|
+
*
|
|
1155
|
+
* @returns Promise resolving to the tab's label string.
|
|
1156
|
+
*
|
|
1157
|
+
* @example
|
|
1158
|
+
* ```typescript
|
|
1159
|
+
* const tab = await loader.getHarness(TnTabHarness);
|
|
1160
|
+
* expect(await tab.getLabel()).toBe('Overview');
|
|
1161
|
+
* ```
|
|
1162
|
+
*/
|
|
1163
|
+
getLabel(): Promise<string>;
|
|
1164
|
+
/**
|
|
1165
|
+
* Checks whether the tab is currently selected (active).
|
|
1166
|
+
*
|
|
1167
|
+
* @returns Promise resolving to true if the tab is selected.
|
|
1168
|
+
*
|
|
1169
|
+
* @example
|
|
1170
|
+
* ```typescript
|
|
1171
|
+
* const tab = await loader.getHarness(TnTabHarness.with({ label: 'Overview' }));
|
|
1172
|
+
* expect(await tab.isSelected()).toBe(true);
|
|
1173
|
+
* ```
|
|
1174
|
+
*/
|
|
1175
|
+
isSelected(): Promise<boolean>;
|
|
1176
|
+
/**
|
|
1177
|
+
* Checks whether the tab is disabled.
|
|
1178
|
+
*
|
|
1179
|
+
* @returns Promise resolving to true if the tab is disabled.
|
|
1180
|
+
*
|
|
1181
|
+
* @example
|
|
1182
|
+
* ```typescript
|
|
1183
|
+
* const tab = await loader.getHarness(TnTabHarness.with({ label: 'Disabled Tab' }));
|
|
1184
|
+
* expect(await tab.isDisabled()).toBe(true);
|
|
1185
|
+
* ```
|
|
1186
|
+
*/
|
|
1187
|
+
isDisabled(): Promise<boolean>;
|
|
1188
|
+
/**
|
|
1189
|
+
* Selects the tab by clicking it.
|
|
1190
|
+
*
|
|
1191
|
+
* @returns Promise that resolves when the tab has been clicked.
|
|
1192
|
+
*
|
|
1193
|
+
* @example
|
|
1194
|
+
* ```typescript
|
|
1195
|
+
* const tab = await loader.getHarness(TnTabHarness.with({ label: 'Settings' }));
|
|
1196
|
+
* await tab.select();
|
|
1197
|
+
* ```
|
|
1198
|
+
*/
|
|
1199
|
+
select(): Promise<void>;
|
|
1200
|
+
/**
|
|
1201
|
+
* Gets the tab's testId attribute value.
|
|
1202
|
+
*
|
|
1203
|
+
* @returns Promise resolving to the data-testid value, or null if not set.
|
|
1204
|
+
*
|
|
1205
|
+
* @example
|
|
1206
|
+
* ```typescript
|
|
1207
|
+
* const tab = await loader.getHarness(TnTabHarness);
|
|
1208
|
+
* expect(await tab.getTestId()).toBe('my-tab');
|
|
1209
|
+
* ```
|
|
1210
|
+
*/
|
|
1211
|
+
getTestId(): Promise<string | null>;
|
|
1212
|
+
}
|
|
1213
|
+
/**
|
|
1214
|
+
* A set of criteria that can be used to filter a list of `TnTabHarness` instances.
|
|
1215
|
+
*/
|
|
1216
|
+
interface TabHarnessFilters extends BaseHarnessFilters {
|
|
1217
|
+
/** Filters by tab label text. Supports string or regex matching. */
|
|
1218
|
+
label?: string | RegExp;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
/**
|
|
1222
|
+
* Harness for interacting with tn-tab-panel in tests.
|
|
1223
|
+
* Provides methods for querying panel visibility and content.
|
|
1224
|
+
*
|
|
1225
|
+
* @example
|
|
1226
|
+
* ```typescript
|
|
1227
|
+
* // Get all panels
|
|
1228
|
+
* const panels = await loader.getAllHarnesses(TnTabPanelHarness);
|
|
1229
|
+
*
|
|
1230
|
+
* // Check which panel is active
|
|
1231
|
+
* for (const panel of panels) {
|
|
1232
|
+
* if (await panel.isActive()) {
|
|
1233
|
+
* const text = await panel.getTextContent();
|
|
1234
|
+
* expect(text).toContain('Overview');
|
|
1235
|
+
* }
|
|
1236
|
+
* }
|
|
1237
|
+
* ```
|
|
1238
|
+
*/
|
|
1239
|
+
declare class TnTabPanelHarness extends ComponentHarness {
|
|
1240
|
+
/**
|
|
1241
|
+
* The selector for the host element of a `TnTabPanelComponent` instance.
|
|
1242
|
+
*/
|
|
1243
|
+
static hostSelector: string;
|
|
1244
|
+
private _panel;
|
|
1245
|
+
/**
|
|
1246
|
+
* Gets a `HarnessPredicate` that can be used to search for a tab panel
|
|
1247
|
+
* with specific attributes.
|
|
1248
|
+
*
|
|
1249
|
+
* @param options Options for filtering which panel instances are considered a match.
|
|
1250
|
+
* @returns A `HarnessPredicate` configured with the given options.
|
|
1251
|
+
*
|
|
1252
|
+
* @example
|
|
1253
|
+
* ```typescript
|
|
1254
|
+
* const panel = await loader.getHarness(
|
|
1255
|
+
* TnTabPanelHarness.with({ textContains: 'Overview' })
|
|
1256
|
+
* );
|
|
1257
|
+
* ```
|
|
1258
|
+
*/
|
|
1259
|
+
static with(options?: TabPanelHarnessFilters): HarnessPredicate<TnTabPanelHarness>;
|
|
1260
|
+
/**
|
|
1261
|
+
* Checks whether the panel is currently active (visible).
|
|
1262
|
+
*
|
|
1263
|
+
* @returns Promise resolving to true if the panel is active.
|
|
1264
|
+
*
|
|
1265
|
+
* @example
|
|
1266
|
+
* ```typescript
|
|
1267
|
+
* const panel = await loader.getHarness(TnTabPanelHarness);
|
|
1268
|
+
* expect(await panel.isActive()).toBe(true);
|
|
1269
|
+
* ```
|
|
1270
|
+
*/
|
|
1271
|
+
isActive(): Promise<boolean>;
|
|
1272
|
+
/**
|
|
1273
|
+
* Gets the text content of the panel.
|
|
1274
|
+
*
|
|
1275
|
+
* @returns Promise resolving to the panel's text content.
|
|
1276
|
+
*
|
|
1277
|
+
* @example
|
|
1278
|
+
* ```typescript
|
|
1279
|
+
* const panel = await loader.getHarness(TnTabPanelHarness);
|
|
1280
|
+
* expect(await panel.getTextContent()).toContain('Overview');
|
|
1281
|
+
* ```
|
|
1282
|
+
*/
|
|
1283
|
+
getTextContent(): Promise<string>;
|
|
1284
|
+
/**
|
|
1285
|
+
* Gets the panel's testId attribute value.
|
|
1286
|
+
*
|
|
1287
|
+
* @returns Promise resolving to the data-testid value, or null if not set.
|
|
1288
|
+
*
|
|
1289
|
+
* @example
|
|
1290
|
+
* ```typescript
|
|
1291
|
+
* const panel = await loader.getHarness(TnTabPanelHarness);
|
|
1292
|
+
* expect(await panel.getTestId()).toBe('my-panel');
|
|
1293
|
+
* ```
|
|
1294
|
+
*/
|
|
1295
|
+
getTestId(): Promise<string | null>;
|
|
1296
|
+
}
|
|
1297
|
+
/**
|
|
1298
|
+
* A set of criteria that can be used to filter a list of `TnTabPanelHarness` instances.
|
|
1299
|
+
*/
|
|
1300
|
+
interface TabPanelHarnessFilters extends BaseHarnessFilters {
|
|
1301
|
+
/** Filters by text content within panel. Supports string or regex matching. */
|
|
1302
|
+
textContains?: string | RegExp;
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
/**
|
|
1306
|
+
* Harness for interacting with tn-tabs in tests.
|
|
1307
|
+
* Provides methods for querying tab state, selecting tabs, and inspecting panels.
|
|
1308
|
+
*
|
|
1309
|
+
* @example
|
|
1310
|
+
* ```typescript
|
|
1311
|
+
* // Get the tabs harness
|
|
1312
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1313
|
+
*
|
|
1314
|
+
* // Select a tab by label
|
|
1315
|
+
* await tabs.selectTab({ label: 'Settings' });
|
|
1316
|
+
*
|
|
1317
|
+
* // Get the selected tab label
|
|
1318
|
+
* const selected = await tabs.getSelectedTab();
|
|
1319
|
+
* expect(await selected.getLabel()).toBe('Settings');
|
|
1320
|
+
*
|
|
1321
|
+
* // Get all tab labels
|
|
1322
|
+
* const labels = await tabs.getTabLabels();
|
|
1323
|
+
* expect(labels).toEqual(['Overview', 'Details', 'Settings']);
|
|
1324
|
+
* ```
|
|
1325
|
+
*/
|
|
1326
|
+
declare class TnTabsHarness extends ComponentHarness {
|
|
1327
|
+
/**
|
|
1328
|
+
* The selector for the host element of a `TnTabsComponent` instance.
|
|
1329
|
+
*/
|
|
1330
|
+
static hostSelector: string;
|
|
1331
|
+
/**
|
|
1332
|
+
* Gets a `HarnessPredicate` that can be used to search for tabs
|
|
1333
|
+
* with specific attributes.
|
|
1334
|
+
*
|
|
1335
|
+
* @param options Options for filtering which tabs instances are considered a match.
|
|
1336
|
+
* @returns A `HarnessPredicate` configured with the given options.
|
|
1337
|
+
*
|
|
1338
|
+
* @example
|
|
1339
|
+
* ```typescript
|
|
1340
|
+
* // Find by orientation
|
|
1341
|
+
* const tabs = await loader.getHarness(TnTabsHarness.with({ orientation: 'vertical' }));
|
|
1342
|
+
*
|
|
1343
|
+
* // Find the tab group containing a "Settings" tab
|
|
1344
|
+
* const tabs = await loader.getHarness(TnTabsHarness.with({ hasTab: 'Settings' }));
|
|
1345
|
+
*
|
|
1346
|
+
* // Find by regex
|
|
1347
|
+
* const tabs = await loader.getHarness(TnTabsHarness.with({ hasTab: /settings/i }));
|
|
1348
|
+
* ```
|
|
1349
|
+
*/
|
|
1350
|
+
static with(options?: TabsHarnessFilters): HarnessPredicate<TnTabsHarness>;
|
|
1351
|
+
/**
|
|
1352
|
+
* Gets all tab harnesses within this tab group.
|
|
1353
|
+
*
|
|
1354
|
+
* @returns Promise resolving to an array of `TnTabHarness` instances.
|
|
1355
|
+
*
|
|
1356
|
+
* @example
|
|
1357
|
+
* ```typescript
|
|
1358
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1359
|
+
* const allTabs = await tabs.getTabs();
|
|
1360
|
+
* expect(allTabs.length).toBe(3);
|
|
1361
|
+
* ```
|
|
1362
|
+
*/
|
|
1363
|
+
getTabs(): Promise<TnTabHarness[]>;
|
|
1364
|
+
/**
|
|
1365
|
+
* Gets a specific tab by filter criteria.
|
|
1366
|
+
*
|
|
1367
|
+
* @param filter Optional filter to match a specific tab.
|
|
1368
|
+
* @returns Promise resolving to the matching `TnTabHarness`.
|
|
1369
|
+
*
|
|
1370
|
+
* @example
|
|
1371
|
+
* ```typescript
|
|
1372
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1373
|
+
* const settingsTab = await tabs.getTab({ label: 'Settings' });
|
|
1374
|
+
* ```
|
|
1375
|
+
*/
|
|
1376
|
+
getTab(filter?: TabHarnessFilters): Promise<TnTabHarness>;
|
|
1377
|
+
/**
|
|
1378
|
+
* Gets all panel harnesses within this tab group.
|
|
1379
|
+
*
|
|
1380
|
+
* @returns Promise resolving to an array of `TnTabPanelHarness` instances.
|
|
1381
|
+
*
|
|
1382
|
+
* @example
|
|
1383
|
+
* ```typescript
|
|
1384
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1385
|
+
* const panels = await tabs.getPanels();
|
|
1386
|
+
* expect(panels.length).toBe(3);
|
|
1387
|
+
* ```
|
|
1388
|
+
*/
|
|
1389
|
+
getPanels(): Promise<TnTabPanelHarness[]>;
|
|
1390
|
+
/**
|
|
1391
|
+
* Gets all tab labels as strings.
|
|
1392
|
+
*
|
|
1393
|
+
* @returns Promise resolving to an array of tab label strings.
|
|
1394
|
+
*
|
|
1395
|
+
* @example
|
|
1396
|
+
* ```typescript
|
|
1397
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1398
|
+
* const labels = await tabs.getTabLabels();
|
|
1399
|
+
* expect(labels).toEqual(['Overview', 'Details', 'Settings']);
|
|
1400
|
+
* ```
|
|
1401
|
+
*/
|
|
1402
|
+
getTabLabels(): Promise<string[]>;
|
|
1403
|
+
/**
|
|
1404
|
+
* Gets the currently selected (active) tab.
|
|
1405
|
+
*
|
|
1406
|
+
* @returns Promise resolving to the active `TnTabHarness`.
|
|
1407
|
+
* @throws If no active tab is found.
|
|
1408
|
+
*
|
|
1409
|
+
* @example
|
|
1410
|
+
* ```typescript
|
|
1411
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1412
|
+
* const selected = await tabs.getSelectedTab();
|
|
1413
|
+
* expect(await selected.getLabel()).toBe('Overview');
|
|
1414
|
+
* ```
|
|
1415
|
+
*/
|
|
1416
|
+
getSelectedTab(): Promise<TnTabHarness>;
|
|
1417
|
+
/**
|
|
1418
|
+
* Selects a tab by filter criteria. Clicks the matching tab button.
|
|
1419
|
+
*
|
|
1420
|
+
* @param filter Filter to identify which tab to select.
|
|
1421
|
+
* @returns Promise that resolves when the tab has been selected.
|
|
1422
|
+
*
|
|
1423
|
+
* @example
|
|
1424
|
+
* ```typescript
|
|
1425
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1426
|
+
*
|
|
1427
|
+
* // Select by label
|
|
1428
|
+
* await tabs.selectTab({ label: 'Settings' });
|
|
1429
|
+
*
|
|
1430
|
+
* // Select by regex
|
|
1431
|
+
* await tabs.selectTab({ label: /detail/i });
|
|
1432
|
+
* ```
|
|
1433
|
+
*/
|
|
1434
|
+
selectTab(filter: TabHarnessFilters): Promise<void>;
|
|
1435
|
+
/**
|
|
1436
|
+
* Gets the orientation of the tab group.
|
|
1437
|
+
*
|
|
1438
|
+
* @returns Promise resolving to 'horizontal' or 'vertical'.
|
|
1439
|
+
*
|
|
1440
|
+
* @example
|
|
1441
|
+
* ```typescript
|
|
1442
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1443
|
+
* expect(await tabs.getOrientation()).toBe('horizontal');
|
|
1444
|
+
* ```
|
|
1445
|
+
*/
|
|
1446
|
+
getOrientation(): Promise<string>;
|
|
1447
|
+
/**
|
|
1448
|
+
* Gets the number of tabs.
|
|
1449
|
+
*
|
|
1450
|
+
* @returns Promise resolving to the tab count.
|
|
1451
|
+
*
|
|
1452
|
+
* @example
|
|
1453
|
+
* ```typescript
|
|
1454
|
+
* const tabs = await loader.getHarness(TnTabsHarness);
|
|
1455
|
+
* expect(await tabs.getTabCount()).toBe(3);
|
|
1456
|
+
* ```
|
|
1457
|
+
*/
|
|
1458
|
+
getTabCount(): Promise<number>;
|
|
1459
|
+
}
|
|
1460
|
+
/**
|
|
1461
|
+
* A set of criteria that can be used to filter a list of `TnTabsHarness` instances.
|
|
1462
|
+
*/
|
|
1463
|
+
interface TabsHarnessFilters extends BaseHarnessFilters {
|
|
1464
|
+
/** Filters by tab group orientation. */
|
|
1465
|
+
orientation?: 'horizontal' | 'vertical';
|
|
1466
|
+
/** Filters by the presence of a tab with a matching label. Supports string or regex. */
|
|
1467
|
+
hasTab?: string | RegExp;
|
|
1468
|
+
}
|
|
1469
|
+
|
|
1470
|
+
/**
|
|
1471
|
+
* Directive that attaches a menu to any element.
|
|
1472
|
+
* Usage: <button [tnMenuTriggerFor]="menu">Open Menu</button>
|
|
1473
|
+
*/
|
|
1474
|
+
declare class TnMenuTriggerDirective {
|
|
1475
|
+
menu: _angular_core.InputSignal<TnMenuComponent>;
|
|
1476
|
+
tnMenuPosition: _angular_core.InputSignal<"after" | "before" | "above" | "below">;
|
|
1477
|
+
private overlayRef?;
|
|
1478
|
+
private isMenuOpen;
|
|
1479
|
+
private elementRef;
|
|
812
1480
|
private overlay;
|
|
813
1481
|
private viewContainerRef;
|
|
814
1482
|
onClick(): void;
|
|
@@ -1076,188 +1744,6 @@ interface SelectHarnessFilters extends BaseHarnessFilters {
|
|
|
1076
1744
|
displayText?: string | RegExp;
|
|
1077
1745
|
}
|
|
1078
1746
|
|
|
1079
|
-
/**
|
|
1080
|
-
* Harness for interacting with tn-icon in tests.
|
|
1081
|
-
* Provides filtering by icon name and library for existence checks, as well as click interaction.
|
|
1082
|
-
*
|
|
1083
|
-
* @example
|
|
1084
|
-
* ```typescript
|
|
1085
|
-
* // Check for existence
|
|
1086
|
-
* const icon = await loader.getHarness(TnIconHarness);
|
|
1087
|
-
*
|
|
1088
|
-
* // Find icon by name
|
|
1089
|
-
* const folderIcon = await loader.getHarness(
|
|
1090
|
-
* TnIconHarness.with({ name: 'folder' })
|
|
1091
|
-
* );
|
|
1092
|
-
*
|
|
1093
|
-
* // Find icon by name and library
|
|
1094
|
-
* const mdiIcon = await loader.getHarness(
|
|
1095
|
-
* TnIconHarness.with({ name: 'account-circle', library: 'mdi' })
|
|
1096
|
-
* );
|
|
1097
|
-
*
|
|
1098
|
-
* // Check if icon exists
|
|
1099
|
-
* const hasIcon = await loader.hasHarness(
|
|
1100
|
-
* TnIconHarness.with({ name: 'check' })
|
|
1101
|
-
* );
|
|
1102
|
-
*
|
|
1103
|
-
* // Click an icon
|
|
1104
|
-
* const closeIcon = await loader.getHarness(
|
|
1105
|
-
* TnIconHarness.with({ name: 'close' })
|
|
1106
|
-
* );
|
|
1107
|
-
* await closeIcon.click();
|
|
1108
|
-
* ```
|
|
1109
|
-
*/
|
|
1110
|
-
declare class TnIconHarness extends ComponentHarness {
|
|
1111
|
-
/**
|
|
1112
|
-
* The selector for the host element of a `TnIconComponent` instance.
|
|
1113
|
-
*/
|
|
1114
|
-
static hostSelector: string;
|
|
1115
|
-
/**
|
|
1116
|
-
* Gets a `HarnessPredicate` that can be used to search for an icon
|
|
1117
|
-
* with specific attributes.
|
|
1118
|
-
*
|
|
1119
|
-
* @param options Options for filtering which icon instances are considered a match.
|
|
1120
|
-
* @returns A `HarnessPredicate` configured with the given options.
|
|
1121
|
-
*
|
|
1122
|
-
* @example
|
|
1123
|
-
* ```typescript
|
|
1124
|
-
* // Find icon by name
|
|
1125
|
-
* const icon = await loader.getHarness(
|
|
1126
|
-
* TnIconHarness.with({ name: 'home' })
|
|
1127
|
-
* );
|
|
1128
|
-
*
|
|
1129
|
-
* // Find icon by library
|
|
1130
|
-
* const customIcon = await loader.getHarness(
|
|
1131
|
-
* TnIconHarness.with({ library: 'custom' })
|
|
1132
|
-
* );
|
|
1133
|
-
*
|
|
1134
|
-
* // Find icon with specific size
|
|
1135
|
-
* const largeIcon = await loader.getHarness(
|
|
1136
|
-
* TnIconHarness.with({ size: 'lg' })
|
|
1137
|
-
* );
|
|
1138
|
-
* ```
|
|
1139
|
-
*/
|
|
1140
|
-
static with(options?: IconHarnessFilters): HarnessPredicate<TnIconHarness>;
|
|
1141
|
-
/**
|
|
1142
|
-
* Gets the icon name.
|
|
1143
|
-
*
|
|
1144
|
-
* @returns Promise resolving to the icon name.
|
|
1145
|
-
*
|
|
1146
|
-
* @example
|
|
1147
|
-
* ```typescript
|
|
1148
|
-
* const icon = await loader.getHarness(TnIconHarness);
|
|
1149
|
-
* const name = await icon.getName();
|
|
1150
|
-
* expect(name).toBe('folder');
|
|
1151
|
-
* ```
|
|
1152
|
-
*/
|
|
1153
|
-
getName(): Promise<string | null>;
|
|
1154
|
-
/**
|
|
1155
|
-
* Gets the icon library.
|
|
1156
|
-
*
|
|
1157
|
-
* @returns Promise resolving to the icon library.
|
|
1158
|
-
*
|
|
1159
|
-
* @example
|
|
1160
|
-
* ```typescript
|
|
1161
|
-
* const icon = await loader.getHarness(TnIconHarness);
|
|
1162
|
-
* const library = await icon.getLibrary();
|
|
1163
|
-
* expect(library).toBe('mdi');
|
|
1164
|
-
* ```
|
|
1165
|
-
*/
|
|
1166
|
-
getLibrary(): Promise<string | null>;
|
|
1167
|
-
/**
|
|
1168
|
-
* Gets the icon size.
|
|
1169
|
-
*
|
|
1170
|
-
* @returns Promise resolving to the icon size.
|
|
1171
|
-
*
|
|
1172
|
-
* @example
|
|
1173
|
-
* ```typescript
|
|
1174
|
-
* const icon = await loader.getHarness(TnIconHarness);
|
|
1175
|
-
* const size = await icon.getSize();
|
|
1176
|
-
* expect(size).toBe('lg');
|
|
1177
|
-
* ```
|
|
1178
|
-
*/
|
|
1179
|
-
getSize(): Promise<string | null>;
|
|
1180
|
-
/**
|
|
1181
|
-
* Gets the icon color.
|
|
1182
|
-
*
|
|
1183
|
-
* @returns Promise resolving to the icon color.
|
|
1184
|
-
*
|
|
1185
|
-
* @example
|
|
1186
|
-
* ```typescript
|
|
1187
|
-
* const icon = await loader.getHarness(TnIconHarness);
|
|
1188
|
-
* const color = await icon.getColor();
|
|
1189
|
-
* expect(color).toBe('primary');
|
|
1190
|
-
* ```
|
|
1191
|
-
*/
|
|
1192
|
-
getColor(): Promise<string | null>;
|
|
1193
|
-
/**
|
|
1194
|
-
* Checks if the icon is in full-size mode.
|
|
1195
|
-
*
|
|
1196
|
-
* @returns Promise resolving to true if the icon is full-size, false otherwise.
|
|
1197
|
-
*
|
|
1198
|
-
* @example
|
|
1199
|
-
* ```typescript
|
|
1200
|
-
* const icon = await loader.getHarness(TnIconHarness);
|
|
1201
|
-
* const isFullSize = await icon.isFullSize();
|
|
1202
|
-
* expect(isFullSize).toBe(true);
|
|
1203
|
-
* ```
|
|
1204
|
-
*/
|
|
1205
|
-
isFullSize(): Promise<boolean>;
|
|
1206
|
-
/**
|
|
1207
|
-
* Gets the icon custom size.
|
|
1208
|
-
*
|
|
1209
|
-
* @returns Promise resolving to the custom size value, or null if not set.
|
|
1210
|
-
*
|
|
1211
|
-
* @example
|
|
1212
|
-
* ```typescript
|
|
1213
|
-
* const icon = await loader.getHarness(TnIconHarness);
|
|
1214
|
-
* const customSize = await icon.getCustomSize();
|
|
1215
|
-
* expect(customSize).toBe('64px');
|
|
1216
|
-
* ```
|
|
1217
|
-
*/
|
|
1218
|
-
getCustomSize(): Promise<string | null>;
|
|
1219
|
-
/**
|
|
1220
|
-
* Checks if the icon is using a custom size.
|
|
1221
|
-
*
|
|
1222
|
-
* @returns Promise resolving to true if a custom size is set, false otherwise.
|
|
1223
|
-
*
|
|
1224
|
-
* @example
|
|
1225
|
-
* ```typescript
|
|
1226
|
-
* const icon = await loader.getHarness(TnIconHarness);
|
|
1227
|
-
* const hasCustomSize = await icon.hasCustomSize();
|
|
1228
|
-
* expect(hasCustomSize).toBe(true);
|
|
1229
|
-
* ```
|
|
1230
|
-
*/
|
|
1231
|
-
hasCustomSize(): Promise<boolean>;
|
|
1232
|
-
/**
|
|
1233
|
-
* Clicks the icon.
|
|
1234
|
-
*
|
|
1235
|
-
* @returns Promise that resolves when the click action is complete.
|
|
1236
|
-
*
|
|
1237
|
-
* @example
|
|
1238
|
-
* ```typescript
|
|
1239
|
-
* const icon = await loader.getHarness(TnIconHarness.with({ name: 'close' }));
|
|
1240
|
-
* await icon.click();
|
|
1241
|
-
* ```
|
|
1242
|
-
*/
|
|
1243
|
-
click(): Promise<void>;
|
|
1244
|
-
}
|
|
1245
|
-
/**
|
|
1246
|
-
* A set of criteria that can be used to filter a list of `TnIconHarness` instances.
|
|
1247
|
-
*/
|
|
1248
|
-
interface IconHarnessFilters extends BaseHarnessFilters {
|
|
1249
|
-
/** Filters by icon name. */
|
|
1250
|
-
name?: string;
|
|
1251
|
-
/** Filters by icon library (material, mdi, custom, lucide). */
|
|
1252
|
-
library?: string;
|
|
1253
|
-
/** Filters by icon size (xs, sm, md, lg, xl). */
|
|
1254
|
-
size?: string;
|
|
1255
|
-
/** Filters by full-size mode. */
|
|
1256
|
-
fullSize?: boolean;
|
|
1257
|
-
/** Filters by custom size value. */
|
|
1258
|
-
customSize?: string;
|
|
1259
|
-
}
|
|
1260
|
-
|
|
1261
1747
|
/**
|
|
1262
1748
|
* Default base path for sprite assets (namespaced to avoid collisions with consumer apps)
|
|
1263
1749
|
* This should match the value in sprite-config-interface.ts
|
|
@@ -3251,5 +3737,5 @@ declare const TN_THEME_DEFINITIONS: readonly TnThemeDefinition[];
|
|
|
3251
3737
|
*/
|
|
3252
3738
|
declare const THEME_MAP: Map<TnTheme, TnThemeDefinition>;
|
|
3253
3739
|
|
|
3254
|
-
export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_THEME_DEFINITIONS, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCellDefDirective, TnCheckboxComponent, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateRangeInputComponent, TnDialog, TnDialogShellComponent, TnDividerComponent, TnDividerDirective, TnExpansionPanelComponent, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuComponent, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSlideToggleComponent, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabPanelComponent, TnTableColumnDirective, TnTableComponent, TnTabsComponent, TnTheme, TnThemeService, TnTimeInputComponent, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
|
|
3255
|
-
export type { BannerHarnessFilters, ButtonHarnessFilters, CalendarCell, ChipColor, CreateFolderEvent, DateRange, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, KeyCombination, LabelType, LucideIconOptions, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SlideToggleColor, SpinnerMode, SpriteConfig, TabChangeEvent, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnTableDataSource, TnThemeDefinition, TooltipPosition, YearCell };
|
|
3740
|
+
export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_THEME_DEFINITIONS, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCellDefDirective, TnCheckboxComponent, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateRangeInputComponent, TnDialog, TnDialogShellComponent, TnDividerComponent, TnDividerDirective, TnExpansionPanelComponent, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnInputHarness, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuComponent, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSlideToggleComponent, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTabsComponent, TnTabsHarness, TnTheme, TnThemeService, TnTimeInputComponent, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
|
|
3741
|
+
export type { BannerHarnessFilters, ButtonHarnessFilters, CalendarCell, ChipColor, CreateFolderEvent, DateRange, FilePickerCallbacks, FilePickerError, FilePickerMode, FileSystemItem, IconButtonHarnessFilters, IconHarnessFilters, IconLibrary, IconLibraryType, IconResult, IconSize, IconSource, IconTestingMockOverrides, InputHarnessFilters, KeyCombination, LabelType, LucideIconOptions, MockIconRegistry, MockSpriteLoader, PathSegment, PlatformType, ProgressBarMode, ResolvedIcon, SelectHarnessFilters, ShortcutHandler, SlideToggleColor, SpinnerMode, SpriteConfig, TabChangeEvent, TabHarnessFilters, TabPanelHarnessFilters, TabsHarnessFilters, TnBannerType, TnButtonToggleType, TnCardAction, TnCardControl, TnCardFooterLink, TnCardHeaderStatus, TnConfirmDialogData, TnDialogDefaults, TnDialogOpenTarget, TnFlatTreeNode, TnMenuItem, TnSelectOption, TnSelectOptionGroup, TnSelectionChange, TnTableDataSource, TnThemeDefinition, TooltipPosition, YearCell };
|