@quinnjr/ngx-tailwindcss 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +20 -12
- package/fesm2022/quinnjr-ngx-tailwindcss.mjs +6077 -11986
- package/fesm2022/quinnjr-ngx-tailwindcss.mjs.map +1 -1
- package/package.json +10 -6
- package/src/lib/styles/theme.css +24 -6
- package/types/quinnjr-ngx-tailwindcss.d.ts +1039 -569
|
@@ -150,7 +150,7 @@ declare function withTwConfig(config: Partial<TwConfig>): Provider;
|
|
|
150
150
|
* @example
|
|
151
151
|
* ```typescript
|
|
152
152
|
* // In app.config.ts
|
|
153
|
-
* import { provideTwTheme, createTheme } from '@
|
|
153
|
+
* import { provideTwTheme, createTheme } from '@quinnjr/ngx-tailwindcss';
|
|
154
154
|
*
|
|
155
155
|
* const customTheme = createTheme({
|
|
156
156
|
* colors: {
|
|
@@ -298,7 +298,7 @@ declare const THEME_CSS_CLASSES: {
|
|
|
298
298
|
readonly bgSurface: "bg-[var(--tw-color-surface)]";
|
|
299
299
|
readonly bgSurfaceAlt: "bg-[var(--tw-color-surface-alt)]";
|
|
300
300
|
readonly bgBackground: "bg-[var(--tw-color-background)]";
|
|
301
|
-
readonly textPrimary: "text-[var(--tw-color-text)]";
|
|
301
|
+
readonly textPrimary: "text-[var(--tw-color-text-primary)]";
|
|
302
302
|
readonly textSecondary: "text-[var(--tw-color-text-secondary)]";
|
|
303
303
|
readonly textMuted: "text-[var(--tw-color-text-muted)]";
|
|
304
304
|
readonly textInverse: "text-[var(--tw-color-text-inverse)]";
|
|
@@ -406,7 +406,7 @@ declare class TwThemeService {
|
|
|
406
406
|
* @example
|
|
407
407
|
* ```typescript
|
|
408
408
|
* // In app.config.ts
|
|
409
|
-
* import { provideTwTheme, createTheme } from '@
|
|
409
|
+
* import { provideTwTheme, createTheme } from '@quinnjr/ngx-tailwindcss';
|
|
410
410
|
*
|
|
411
411
|
* const myTheme = createTheme({
|
|
412
412
|
* colors: {
|
|
@@ -854,6 +854,8 @@ type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
|
854
854
|
declare class TwTooltipDirective implements OnDestroy, OnChanges {
|
|
855
855
|
private readonly el;
|
|
856
856
|
private readonly renderer;
|
|
857
|
+
private readonly platformId;
|
|
858
|
+
private readonly tooltipId;
|
|
857
859
|
/** The tooltip text content */
|
|
858
860
|
content: string;
|
|
859
861
|
/** Position of the tooltip relative to the host element */
|
|
@@ -873,6 +875,8 @@ declare class TwTooltipDirective implements OnDestroy, OnChanges {
|
|
|
873
875
|
private hideTimeout;
|
|
874
876
|
private isVisible;
|
|
875
877
|
ngOnChanges(changes: SimpleChanges): void;
|
|
878
|
+
private readonly escapeHandler;
|
|
879
|
+
private readonly repositionHandler;
|
|
876
880
|
show(): void;
|
|
877
881
|
hide(): void;
|
|
878
882
|
private createTooltip;
|
|
@@ -910,6 +914,7 @@ declare class TwTooltipDirective implements OnDestroy, OnChanges {
|
|
|
910
914
|
declare class TwClickOutsideDirective implements OnInit, OnDestroy {
|
|
911
915
|
private readonly el;
|
|
912
916
|
private readonly ngZone;
|
|
917
|
+
private readonly platformId;
|
|
913
918
|
/** Event emitted when a click occurs outside the element */
|
|
914
919
|
clickOutside: EventEmitter<MouseEvent>;
|
|
915
920
|
/** Whether the click outside detection is enabled */
|
|
@@ -949,9 +954,10 @@ declare class TwClickOutsideDirective implements OnInit, OnDestroy {
|
|
|
949
954
|
* </div>
|
|
950
955
|
* ```
|
|
951
956
|
*/
|
|
952
|
-
declare class TwFocusTrapDirective implements OnInit, AfterViewInit, OnDestroy {
|
|
957
|
+
declare class TwFocusTrapDirective implements OnInit, AfterViewInit, OnChanges, OnDestroy {
|
|
953
958
|
private readonly el;
|
|
954
959
|
private readonly ngZone;
|
|
960
|
+
private readonly platformId;
|
|
955
961
|
/** Whether the focus trap is active */
|
|
956
962
|
enabled: boolean;
|
|
957
963
|
/** Whether to auto-focus the first focusable element when the trap is initialized */
|
|
@@ -962,10 +968,19 @@ declare class TwFocusTrapDirective implements OnInit, AfterViewInit, OnDestroy {
|
|
|
962
968
|
focusTrapInitialFocus: string;
|
|
963
969
|
private keydownHandler;
|
|
964
970
|
private previouslyFocusedElement;
|
|
971
|
+
private viewInitialized;
|
|
965
972
|
ngOnInit(): void;
|
|
966
973
|
ngAfterViewInit(): void;
|
|
974
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
975
|
+
private activateTrap;
|
|
976
|
+
private deactivateTrap;
|
|
967
977
|
private setupTrap;
|
|
968
|
-
private
|
|
978
|
+
private isFocusVisible;
|
|
979
|
+
/**
|
|
980
|
+
* Find only the first and last visible focusable elements, short-circuiting
|
|
981
|
+
* from both ends to avoid forcing a reflow for every candidate on each Tab.
|
|
982
|
+
*/
|
|
983
|
+
private getFocusBoundaries;
|
|
969
984
|
private focusInitial;
|
|
970
985
|
/** Manually focus the first focusable element */
|
|
971
986
|
focusFirst(): void;
|
|
@@ -1045,8 +1060,9 @@ declare class TwVariantDirective implements OnChanges {
|
|
|
1045
1060
|
* <input [twAutoFocus]="shouldFocus" />
|
|
1046
1061
|
* ```
|
|
1047
1062
|
*/
|
|
1048
|
-
declare class TwAutoFocusDirective implements AfterViewInit {
|
|
1063
|
+
declare class TwAutoFocusDirective implements AfterViewInit, OnChanges {
|
|
1049
1064
|
private readonly el;
|
|
1065
|
+
private viewInitialized;
|
|
1050
1066
|
constructor();
|
|
1051
1067
|
/** Whether auto-focus is enabled */
|
|
1052
1068
|
autoFocusEnabled: boolean;
|
|
@@ -1057,6 +1073,8 @@ declare class TwAutoFocusDirective implements AfterViewInit {
|
|
|
1057
1073
|
/** Whether to scroll element into view */
|
|
1058
1074
|
autoFocusScroll: boolean;
|
|
1059
1075
|
ngAfterViewInit(): void;
|
|
1076
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1077
|
+
private scheduleFocus;
|
|
1060
1078
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAutoFocusDirective, never>;
|
|
1061
1079
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwAutoFocusDirective, "[twAutoFocus]", never, { "autoFocusEnabled": { "alias": "twAutoFocus"; "required": false; }; "autoFocusDelay": { "alias": "autoFocusDelay"; "required": false; }; "autoFocusSelect": { "alias": "autoFocusSelect"; "required": false; }; "autoFocusScroll": { "alias": "autoFocusScroll"; "required": false; }; }, {}, never, never, true, never>;
|
|
1062
1080
|
static ngAcceptInputType_autoFocusEnabled: unknown;
|
|
@@ -1081,10 +1099,11 @@ interface InViewEvent {
|
|
|
1081
1099
|
* <div twInView [inViewOnce]="true" (enterView)="loadOnce()">Load once when visible</div>
|
|
1082
1100
|
* ```
|
|
1083
1101
|
*/
|
|
1084
|
-
declare class TwInViewDirective implements OnInit, OnDestroy {
|
|
1102
|
+
declare class TwInViewDirective implements OnInit, OnChanges, OnDestroy {
|
|
1085
1103
|
private readonly el;
|
|
1086
1104
|
constructor();
|
|
1087
1105
|
private observer;
|
|
1106
|
+
private initialized;
|
|
1088
1107
|
/** Root margin for intersection observer (CSS margin syntax) */
|
|
1089
1108
|
inViewRootMargin: string;
|
|
1090
1109
|
/** Threshold(s) for triggering - 0 to 1, or array of values */
|
|
@@ -1100,6 +1119,9 @@ declare class TwInViewDirective implements OnInit, OnDestroy {
|
|
|
1100
1119
|
/** Emits when element leaves the viewport */
|
|
1101
1120
|
leaveView: EventEmitter<InViewEvent>;
|
|
1102
1121
|
ngOnInit(): void;
|
|
1122
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1123
|
+
private setupObserver;
|
|
1124
|
+
private disconnectObserver;
|
|
1103
1125
|
ngOnDestroy(): void;
|
|
1104
1126
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwInViewDirective, never>;
|
|
1105
1127
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwInViewDirective, "[twInView]", never, { "inViewRootMargin": { "alias": "inViewRootMargin"; "required": false; }; "inViewThreshold": { "alias": "inViewThreshold"; "required": false; }; "inViewOnce": { "alias": "inViewOnce"; "required": false; }; "inViewDisabled": { "alias": "inViewDisabled"; "required": false; }; }, { "inView": "inView"; "enterView": "enterView"; "leaveView": "leaveView"; }, never, never, true, never>;
|
|
@@ -1130,6 +1152,7 @@ declare class TwLongPressDirective implements OnInit, OnDestroy {
|
|
|
1130
1152
|
private startTime;
|
|
1131
1153
|
private startX;
|
|
1132
1154
|
private startY;
|
|
1155
|
+
private longPressFired;
|
|
1133
1156
|
/** Duration in ms to trigger long press (default: 500ms) */
|
|
1134
1157
|
longPressDuration: number;
|
|
1135
1158
|
/** Maximum movement allowed during press (default: 10px) */
|
|
@@ -1160,7 +1183,8 @@ declare class TwLongPressDirective implements OnInit, OnDestroy {
|
|
|
1160
1183
|
}
|
|
1161
1184
|
|
|
1162
1185
|
/**
|
|
1163
|
-
* Directive to
|
|
1186
|
+
* Directive to prevent accidental double-clicks: the first click emits
|
|
1187
|
+
* immediately and any further clicks within the interval are ignored
|
|
1164
1188
|
*
|
|
1165
1189
|
* @example
|
|
1166
1190
|
* ```html
|
|
@@ -1171,7 +1195,7 @@ declare class TwLongPressDirective implements OnInit, OnDestroy {
|
|
|
1171
1195
|
declare class TwDebounceClickDirective implements OnInit, OnDestroy {
|
|
1172
1196
|
private readonly clicks;
|
|
1173
1197
|
private subscription;
|
|
1174
|
-
/**
|
|
1198
|
+
/** Interval in milliseconds during which repeat clicks are ignored (default: 300ms) */
|
|
1175
1199
|
debounceTime: number;
|
|
1176
1200
|
/** Disable debouncing */
|
|
1177
1201
|
debounceDisabled: boolean;
|
|
@@ -1235,6 +1259,8 @@ interface KeyboardShortcutEvent {
|
|
|
1235
1259
|
declare class TwKeyboardShortcutDirective implements OnInit, OnDestroy {
|
|
1236
1260
|
private readonly ngZone;
|
|
1237
1261
|
private readonly platformId;
|
|
1262
|
+
private readonly el;
|
|
1263
|
+
private listenTarget;
|
|
1238
1264
|
constructor();
|
|
1239
1265
|
/** Keyboard shortcut string (e.g., "ctrl+s", "ctrl+shift+p", "escape") */
|
|
1240
1266
|
twKeyboardShortcut: string;
|
|
@@ -1331,13 +1357,14 @@ interface ResizeEvent {
|
|
|
1331
1357
|
* <div twResizeObserver [resizeDebounce]="100" (resize)="onResize($event)">Debounced resize</div>
|
|
1332
1358
|
* ```
|
|
1333
1359
|
*/
|
|
1334
|
-
declare class TwResizeObserverDirective implements OnInit, OnDestroy {
|
|
1360
|
+
declare class TwResizeObserverDirective implements OnInit, OnChanges, OnDestroy {
|
|
1335
1361
|
private readonly el;
|
|
1336
1362
|
private readonly ngZone;
|
|
1337
1363
|
constructor();
|
|
1338
1364
|
private observer;
|
|
1339
1365
|
private readonly resizeSubject;
|
|
1340
1366
|
private subscription;
|
|
1367
|
+
private initialized;
|
|
1341
1368
|
/** Debounce time in milliseconds (default: 0 = no debounce) */
|
|
1342
1369
|
resizeDebounce: number;
|
|
1343
1370
|
/** Disable the observer */
|
|
@@ -1345,6 +1372,9 @@ declare class TwResizeObserverDirective implements OnInit, OnDestroy {
|
|
|
1345
1372
|
/** Emits when element size changes */
|
|
1346
1373
|
resize: EventEmitter<ResizeEvent>;
|
|
1347
1374
|
ngOnInit(): void;
|
|
1375
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1376
|
+
private setupObserver;
|
|
1377
|
+
private teardownObserver;
|
|
1348
1378
|
ngOnDestroy(): void;
|
|
1349
1379
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwResizeObserverDirective, never>;
|
|
1350
1380
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwResizeObserverDirective, "[twResizeObserver]", never, { "resizeDebounce": { "alias": "resizeDebounce"; "required": false; }; "resizeDisabled": { "alias": "resizeDisabled"; "required": false; }; }, { "resize": "resize"; }, never, never, true, never>;
|
|
@@ -1371,6 +1401,7 @@ declare class TwLazyImageDirective implements OnInit, OnDestroy {
|
|
|
1371
1401
|
private readonly renderer;
|
|
1372
1402
|
constructor();
|
|
1373
1403
|
private observer;
|
|
1404
|
+
private removeNativeListeners;
|
|
1374
1405
|
/** The image source to lazy load */
|
|
1375
1406
|
twLazyImage: string;
|
|
1376
1407
|
/** Placeholder image to show before loading */
|
|
@@ -1389,6 +1420,8 @@ declare class TwLazyImageDirective implements OnInit, OnDestroy {
|
|
|
1389
1420
|
lazyLoaded: EventEmitter<LazyImageEvent>;
|
|
1390
1421
|
ngOnInit(): void;
|
|
1391
1422
|
private loadImage;
|
|
1423
|
+
private loadImageNatively;
|
|
1424
|
+
private applyLoadedClasses;
|
|
1392
1425
|
ngOnDestroy(): void;
|
|
1393
1426
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwLazyImageDirective, never>;
|
|
1394
1427
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwLazyImageDirective, "img[twLazyImage]", never, { "twLazyImage": { "alias": "twLazyImage"; "required": true; }; "lazyPlaceholder": { "alias": "lazyPlaceholder"; "required": false; }; "lazyLoadingClass": { "alias": "lazyLoadingClass"; "required": false; }; "lazyLoadedClass": { "alias": "lazyLoadedClass"; "required": false; }; "lazyRootMargin": { "alias": "lazyRootMargin"; "required": false; }; "lazyDisabled": { "alias": "lazyDisabled"; "required": false; }; "lazyNative": { "alias": "lazyNative"; "required": false; }; }, { "lazyLoaded": "lazyLoaded"; }, never, never, true, never>;
|
|
@@ -1407,6 +1440,7 @@ declare class TwLazyImageDirective implements OnInit, OnDestroy {
|
|
|
1407
1440
|
* ```
|
|
1408
1441
|
*/
|
|
1409
1442
|
declare class TwScrollToDirective {
|
|
1443
|
+
private readonly platformId;
|
|
1410
1444
|
/** Target selector or element ID */
|
|
1411
1445
|
twScrollTo: string;
|
|
1412
1446
|
/** Offset from the top in pixels (useful for fixed headers) */
|
|
@@ -1424,7 +1458,8 @@ declare class TwScrollToDirective {
|
|
|
1424
1458
|
static ngAcceptInputType_scrollDisabled: unknown;
|
|
1425
1459
|
}
|
|
1426
1460
|
/**
|
|
1427
|
-
* Directive
|
|
1461
|
+
* Directive that exposes the section's viewport position (via `getPosition()`)
|
|
1462
|
+
* for a caller-implemented scroll spy
|
|
1428
1463
|
*
|
|
1429
1464
|
* @example
|
|
1430
1465
|
* ```html
|
|
@@ -1522,8 +1557,9 @@ declare class TwTrapScrollDirective implements OnInit, OnDestroy {
|
|
|
1522
1557
|
*/
|
|
1523
1558
|
declare class TwSrOnlyDirective {
|
|
1524
1559
|
set twSrOnly(value: boolean);
|
|
1525
|
-
focusable: boolean;
|
|
1560
|
+
set focusable(value: boolean);
|
|
1526
1561
|
private readonly _enabled;
|
|
1562
|
+
private readonly _focusable;
|
|
1527
1563
|
protected srOnlyClasses: _angular_core.Signal<"" | "sr-only focus:not-sr-only focus:absolute focus:z-50 focus:p-2 focus:bg-white focus:text-slate-900 focus:border focus:border-slate-300 focus:rounded" | "sr-only">;
|
|
1528
1564
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSrOnlyDirective, never>;
|
|
1529
1565
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwSrOnlyDirective, "[twSrOnly]", never, { "twSrOnly": { "alias": "twSrOnly"; "required": false; }; "focusable": { "alias": "focusable"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -1533,12 +1569,11 @@ declare class TwSrOnlyDirective {
|
|
|
1533
1569
|
/**
|
|
1534
1570
|
* Directive to announce content changes to screen readers.
|
|
1535
1571
|
*/
|
|
1536
|
-
declare class TwAnnounceDirective
|
|
1572
|
+
declare class TwAnnounceDirective {
|
|
1537
1573
|
private readonly ariaService;
|
|
1538
1574
|
private previousMessage;
|
|
1539
1575
|
set twAnnounce(message: string);
|
|
1540
1576
|
announceAssertive: boolean;
|
|
1541
|
-
ngOnDestroy(): void;
|
|
1542
1577
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAnnounceDirective, never>;
|
|
1543
1578
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwAnnounceDirective, "[twAnnounce]", never, { "twAnnounce": { "alias": "twAnnounce"; "required": false; }; "announceAssertive": { "alias": "announceAssertive"; "required": false; }; }, {}, never, never, true, never>;
|
|
1544
1579
|
static ngAcceptInputType_announceAssertive: unknown;
|
|
@@ -1592,6 +1627,8 @@ declare class TwAriaPressedDirective {
|
|
|
1592
1627
|
declare class TwAriaDisabledDirective {
|
|
1593
1628
|
private readonly elementRef;
|
|
1594
1629
|
private readonly renderer;
|
|
1630
|
+
private originalTabindex;
|
|
1631
|
+
private isDisabled;
|
|
1595
1632
|
set twAriaDisabled(value: boolean);
|
|
1596
1633
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAriaDisabledDirective, never>;
|
|
1597
1634
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwAriaDisabledDirective, "[twAriaDisabled]", never, { "twAriaDisabled": { "alias": "twAriaDisabled"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -1798,6 +1835,8 @@ declare class TwButtonComponent {
|
|
|
1798
1835
|
focus(): void;
|
|
1799
1836
|
/** Programmatically blur the button */
|
|
1800
1837
|
blur(): void;
|
|
1838
|
+
/** Keyboard activation (Enter/Space) for the role="button" host element */
|
|
1839
|
+
protected onHostKeydown(event: KeyboardEvent): void;
|
|
1801
1840
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwButtonComponent, never>;
|
|
1802
1841
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwButtonComponent, "tw-button", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "iconOnly": { "alias": "iconOnly"; "required": false; }; "ripple": { "alias": "ripple"; "required": false; }; "rippleColor": { "alias": "rippleColor"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; "classReplace": { "alias": "classReplace"; "required": false; }; }, {}, never, ["[twButtonIcon], [slot=icon]", "*", "[twButtonIconEnd], [slot=icon-end]"], true, [{ directive: typeof TwRippleDirective; inputs: {}; outputs: {}; }]>;
|
|
1803
1842
|
static ngAcceptInputType_disabled: unknown;
|
|
@@ -1827,6 +1866,7 @@ declare class TwLabelDirective {
|
|
|
1827
1866
|
class: string;
|
|
1828
1867
|
required: boolean;
|
|
1829
1868
|
get hostClass(): string;
|
|
1869
|
+
get ariaRequired(): 'true' | null;
|
|
1830
1870
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwLabelDirective, never>;
|
|
1831
1871
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwLabelDirective, "tw-label, [twLabel]", never, { "class": { "alias": "class"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, {}, never, never, true, never>;
|
|
1832
1872
|
static ngAcceptInputType_required: unknown;
|
|
@@ -1889,59 +1929,61 @@ declare class TwInputComponent implements ControlValueAccessor {
|
|
|
1889
1929
|
private readonly elementRef;
|
|
1890
1930
|
inputElement: ElementRef<HTMLInputElement>;
|
|
1891
1931
|
/** Input type */
|
|
1892
|
-
type: string
|
|
1932
|
+
readonly type: _angular_core.InputSignal<string>;
|
|
1893
1933
|
/** Visual variant */
|
|
1894
|
-
variant: InputVariant
|
|
1934
|
+
readonly variant: _angular_core.InputSignal<InputVariant>;
|
|
1895
1935
|
/** Size of the input */
|
|
1896
|
-
size: InputSize
|
|
1936
|
+
readonly size: _angular_core.InputSignal<InputSize>;
|
|
1897
1937
|
/** Label text */
|
|
1898
|
-
label: string
|
|
1938
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1899
1939
|
/** Placeholder text */
|
|
1900
|
-
placeholder: string
|
|
1940
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1901
1941
|
/** Hint/helper text */
|
|
1902
|
-
hint: string
|
|
1942
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1903
1943
|
/** Error message */
|
|
1904
|
-
error: string
|
|
1944
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
1905
1945
|
/** Whether the field is disabled */
|
|
1906
|
-
disabled: boolean
|
|
1946
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1907
1947
|
/** Whether the field is readonly */
|
|
1908
|
-
readonly: boolean
|
|
1948
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1909
1949
|
/** Whether the field is required */
|
|
1910
|
-
required: boolean
|
|
1950
|
+
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1911
1951
|
/** Whether to show a clear button */
|
|
1912
|
-
clearable: boolean
|
|
1952
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1913
1953
|
/** Unique ID for the input (auto-generated if not provided) */
|
|
1914
|
-
inputId: string
|
|
1954
|
+
readonly inputId: _angular_core.InputSignal<string>;
|
|
1915
1955
|
/** Autocomplete attribute */
|
|
1916
|
-
autocomplete: string
|
|
1956
|
+
readonly autocomplete: _angular_core.InputSignal<string>;
|
|
1917
1957
|
/** Input mode for virtual keyboards */
|
|
1918
|
-
inputmode: string
|
|
1958
|
+
readonly inputmode: _angular_core.InputSignal<string>;
|
|
1919
1959
|
/** Validation pattern */
|
|
1920
|
-
pattern: string
|
|
1960
|
+
readonly pattern: _angular_core.InputSignal<string>;
|
|
1921
1961
|
/** Minimum value (for number/date inputs) */
|
|
1922
|
-
min: string
|
|
1962
|
+
readonly min: _angular_core.InputSignal<string>;
|
|
1923
1963
|
/** Maximum value (for number/date inputs) */
|
|
1924
|
-
max: string
|
|
1964
|
+
readonly max: _angular_core.InputSignal<string>;
|
|
1925
1965
|
/** Minimum length */
|
|
1926
|
-
minlength: number | null
|
|
1966
|
+
readonly minlength: _angular_core.InputSignal<number | null>;
|
|
1927
1967
|
/** Maximum length */
|
|
1928
|
-
maxlength: number | null
|
|
1968
|
+
readonly maxlength: _angular_core.InputSignal<number | null>;
|
|
1929
1969
|
/** Step value (for number inputs) */
|
|
1930
|
-
step: string
|
|
1970
|
+
readonly step: _angular_core.InputSignal<string>;
|
|
1931
1971
|
/** IDs of elements that describe this input */
|
|
1932
|
-
describedBy: string
|
|
1972
|
+
readonly describedBy: _angular_core.InputSignal<string>;
|
|
1933
1973
|
/** Additional classes to merge */
|
|
1934
|
-
classOverride: string
|
|
1974
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
1935
1975
|
/** Focus event */
|
|
1936
|
-
onFocus:
|
|
1976
|
+
readonly onFocus: _angular_core.OutputEmitterRef<FocusEvent>;
|
|
1937
1977
|
/** Clear event */
|
|
1938
|
-
onClear:
|
|
1939
|
-
protected value: string
|
|
1978
|
+
readonly onClear: _angular_core.OutputEmitterRef<void>;
|
|
1979
|
+
protected readonly value: _angular_core.WritableSignal<string>;
|
|
1980
|
+
protected readonly _disabled: _angular_core.WritableSignal<boolean>;
|
|
1940
1981
|
private onChange;
|
|
1941
1982
|
private onTouched;
|
|
1942
|
-
|
|
1943
|
-
protected
|
|
1944
|
-
protected
|
|
1983
|
+
constructor();
|
|
1984
|
+
protected readonly hasError: _angular_core.Signal<boolean>;
|
|
1985
|
+
protected readonly wrapperClasses: _angular_core.Signal<string>;
|
|
1986
|
+
protected readonly computedClasses: _angular_core.Signal<string>;
|
|
1945
1987
|
writeValue(value: string): void;
|
|
1946
1988
|
registerOnChange(fn: (value: string) => void): void;
|
|
1947
1989
|
registerOnTouched(fn: () => void): void;
|
|
@@ -1954,39 +1996,38 @@ declare class TwInputComponent implements ControlValueAccessor {
|
|
|
1954
1996
|
/** Select all text in the input */
|
|
1955
1997
|
select(): void;
|
|
1956
1998
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwInputComponent, never>;
|
|
1957
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwInputComponent, "tw-input", never, { "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "inputmode": { "alias": "inputmode"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "step": { "alias": "step"; "required": false; }; "describedBy": { "alias": "describedBy"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; }, { "onFocus": "onFocus"; "onClear": "onClear"; }, never, ["[twInputPrefix]", "[twInputSuffix]", "tw-hint, [twHint], tw-error, [twError]"], true, never>;
|
|
1958
|
-
static ngAcceptInputType_disabled: unknown;
|
|
1959
|
-
static ngAcceptInputType_readonly: unknown;
|
|
1960
|
-
static ngAcceptInputType_required: unknown;
|
|
1961
|
-
static ngAcceptInputType_clearable: unknown;
|
|
1999
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwInputComponent, "tw-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "inputmode": { "alias": "inputmode"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "describedBy": { "alias": "describedBy"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "onFocus": "onFocus"; "onClear": "onClear"; }, never, ["[twInputPrefix]", "[twInputSuffix]", "tw-hint, [twHint], tw-error, [twError]"], true, never>;
|
|
1962
2000
|
}
|
|
1963
2001
|
/**
|
|
1964
|
-
* Textarea component with
|
|
2002
|
+
* Textarea component with a subset of the tw-input API
|
|
2003
|
+
* (no type/clearable/pattern/min/max/step/prefix/suffix)
|
|
1965
2004
|
*/
|
|
1966
2005
|
declare class TwTextareaComponent implements ControlValueAccessor {
|
|
1967
2006
|
private readonly twClass;
|
|
1968
2007
|
textareaElement: ElementRef<HTMLTextAreaElement>;
|
|
1969
|
-
variant: InputVariant
|
|
1970
|
-
size: InputSize
|
|
1971
|
-
label: string
|
|
1972
|
-
placeholder: string
|
|
1973
|
-
hint: string
|
|
1974
|
-
error: string
|
|
1975
|
-
disabled: boolean
|
|
1976
|
-
readonly: boolean
|
|
1977
|
-
required: boolean
|
|
1978
|
-
showCount: boolean
|
|
1979
|
-
inputId: string
|
|
1980
|
-
rows: number
|
|
1981
|
-
minlength: number | null
|
|
1982
|
-
maxlength: number | null
|
|
1983
|
-
classOverride: string
|
|
1984
|
-
autoResize: boolean
|
|
1985
|
-
protected value: string
|
|
2008
|
+
readonly variant: _angular_core.InputSignal<InputVariant>;
|
|
2009
|
+
readonly size: _angular_core.InputSignal<InputSize>;
|
|
2010
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2011
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
2012
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
2013
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
2014
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2015
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2016
|
+
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2017
|
+
readonly showCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2018
|
+
readonly inputId: _angular_core.InputSignal<string>;
|
|
2019
|
+
readonly rows: _angular_core.InputSignal<number>;
|
|
2020
|
+
readonly minlength: _angular_core.InputSignal<number | null>;
|
|
2021
|
+
readonly maxlength: _angular_core.InputSignal<number | null>;
|
|
2022
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
2023
|
+
readonly autoResize: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2024
|
+
protected readonly value: _angular_core.WritableSignal<string>;
|
|
2025
|
+
protected readonly _disabled: _angular_core.WritableSignal<boolean>;
|
|
1986
2026
|
private onChange;
|
|
1987
2027
|
private onTouched;
|
|
1988
|
-
|
|
1989
|
-
protected
|
|
2028
|
+
constructor();
|
|
2029
|
+
protected readonly hasError: _angular_core.Signal<boolean>;
|
|
2030
|
+
protected readonly computedClasses: _angular_core.Signal<string>;
|
|
1990
2031
|
writeValue(value: string): void;
|
|
1991
2032
|
registerOnChange(fn: (value: string) => void): void;
|
|
1992
2033
|
registerOnTouched(fn: () => void): void;
|
|
@@ -1996,12 +2037,7 @@ declare class TwTextareaComponent implements ControlValueAccessor {
|
|
|
1996
2037
|
private adjustHeight;
|
|
1997
2038
|
focus(): void;
|
|
1998
2039
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwTextareaComponent, never>;
|
|
1999
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTextareaComponent, "tw-textarea", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "error": { "alias": "error"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "showCount": { "alias": "showCount"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; "autoResize": { "alias": "autoResize"; "required": false; }; }, {}, never, never, true, never>;
|
|
2000
|
-
static ngAcceptInputType_disabled: unknown;
|
|
2001
|
-
static ngAcceptInputType_readonly: unknown;
|
|
2002
|
-
static ngAcceptInputType_required: unknown;
|
|
2003
|
-
static ngAcceptInputType_showCount: unknown;
|
|
2004
|
-
static ngAcceptInputType_autoResize: unknown;
|
|
2040
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTextareaComponent, "tw-textarea", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "showCount": { "alias": "showCount"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; "autoResize": { "alias": "autoResize"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2005
2041
|
}
|
|
2006
2042
|
|
|
2007
2043
|
declare const TW_INPUT_COMPONENTS: readonly [typeof TwInputComponent, typeof TwTextareaComponent, typeof TwLabelDirective, typeof TwHintDirective, typeof TwErrorDirective, typeof TwInputAffixDirective];
|
|
@@ -2034,16 +2070,18 @@ declare class TwCheckboxComponent implements ControlValueAccessor {
|
|
|
2034
2070
|
value: any;
|
|
2035
2071
|
}>;
|
|
2036
2072
|
protected readonly checked: _angular_core.WritableSignal<boolean>;
|
|
2073
|
+
/** Disabled state set through the forms API (setDisabledState) */
|
|
2037
2074
|
private readonly _disabled;
|
|
2075
|
+
/** Effective disabled state: the `disabled` input OR the forms API state */
|
|
2076
|
+
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
2038
2077
|
private onChangeFn;
|
|
2039
2078
|
private onTouchedFn;
|
|
2040
|
-
constructor();
|
|
2041
2079
|
protected readonly labelContainerClasses: _angular_core.Signal<string>;
|
|
2042
2080
|
protected readonly checkboxClasses: _angular_core.Signal<string>;
|
|
2043
2081
|
protected readonly labelTextClasses: _angular_core.Signal<string>;
|
|
2044
2082
|
onCheckboxChange(event: Event): void;
|
|
2045
2083
|
onInputBlur(event: FocusEvent): void;
|
|
2046
|
-
writeValue(value: boolean): void;
|
|
2084
|
+
writeValue(value: boolean | null | undefined): void;
|
|
2047
2085
|
registerOnChange(fn: (value: boolean) => void): void;
|
|
2048
2086
|
registerOnTouched(fn: () => void): void;
|
|
2049
2087
|
setDisabledState(isDisabled: boolean): void;
|
|
@@ -2132,6 +2170,8 @@ declare class TwRadioGroupComponent implements ControlValueAccessor, AfterConten
|
|
|
2132
2170
|
protected isDisabled: _angular_core.Signal<boolean>;
|
|
2133
2171
|
protected groupClasses: _angular_core.Signal<string>;
|
|
2134
2172
|
constructor();
|
|
2173
|
+
/** Marks the control as touched when focus leaves any radio in the group. */
|
|
2174
|
+
onFocusOut(): void;
|
|
2135
2175
|
ngAfterContentInit(): void;
|
|
2136
2176
|
private updateRadioButtons;
|
|
2137
2177
|
private updateRadioButtonsSelection;
|
|
@@ -2158,13 +2198,14 @@ declare class TwSwitchComponent implements ControlValueAccessor {
|
|
|
2158
2198
|
private readonly twClass;
|
|
2159
2199
|
readonly variant: _angular_core.InputSignal<SwitchVariant>;
|
|
2160
2200
|
readonly size: _angular_core.InputSignal<SwitchSize>;
|
|
2161
|
-
readonly disabled: _angular_core.InputSignalWithTransform<boolean,
|
|
2201
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2162
2202
|
readonly labelPosition: _angular_core.InputSignal<"left" | "right">;
|
|
2163
2203
|
readonly classOverride: _angular_core.InputSignal<string>;
|
|
2164
2204
|
readonly onChange: _angular_core.OutputEmitterRef<boolean>;
|
|
2165
2205
|
protected readonly checked: _angular_core.WritableSignal<boolean>;
|
|
2166
|
-
protected readonly hasLabel = true;
|
|
2167
2206
|
private readonly _disabled;
|
|
2207
|
+
/** Disabled either via the input or via the forms API (setDisabledState). */
|
|
2208
|
+
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
2168
2209
|
private onChangeFn;
|
|
2169
2210
|
private onTouchedFn;
|
|
2170
2211
|
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
@@ -2172,7 +2213,7 @@ declare class TwSwitchComponent implements ControlValueAccessor {
|
|
|
2172
2213
|
protected readonly thumbClasses: _angular_core.Signal<string>;
|
|
2173
2214
|
protected readonly labelClasses: _angular_core.Signal<string>;
|
|
2174
2215
|
toggle(): void;
|
|
2175
|
-
writeValue(value: boolean): void;
|
|
2216
|
+
writeValue(value: boolean | null | undefined): void;
|
|
2176
2217
|
registerOnChange(fn: (value: boolean) => void): void;
|
|
2177
2218
|
registerOnTouched(fn: () => void): void;
|
|
2178
2219
|
setDisabledState(isDisabled: boolean): void;
|
|
@@ -2203,11 +2244,11 @@ type SelectAppendTo = 'body' | 'self';
|
|
|
2203
2244
|
* <tw-select [options]="options" appendTo="body"></tw-select>
|
|
2204
2245
|
* ```
|
|
2205
2246
|
*/
|
|
2206
|
-
declare class TwSelectComponent implements ControlValueAccessor, OnDestroy
|
|
2247
|
+
declare class TwSelectComponent implements ControlValueAccessor, OnDestroy {
|
|
2207
2248
|
private readonly twClass;
|
|
2208
2249
|
private readonly elementRef;
|
|
2209
|
-
private readonly document;
|
|
2210
2250
|
private readonly platformId;
|
|
2251
|
+
private readonly ngZone;
|
|
2211
2252
|
triggerButton: ElementRef<HTMLButtonElement>;
|
|
2212
2253
|
/** Options to display (flat list) */
|
|
2213
2254
|
readonly options: _angular_core.InputSignal<SelectOption[]>;
|
|
@@ -2242,9 +2283,12 @@ declare class TwSelectComponent implements ControlValueAccessor, OnDestroy, Afte
|
|
|
2242
2283
|
/** Additional classes */
|
|
2243
2284
|
readonly classOverride: _angular_core.InputSignal<string>;
|
|
2244
2285
|
/**
|
|
2245
|
-
*
|
|
2246
|
-
* - 'body':
|
|
2247
|
-
*
|
|
2286
|
+
* How the dropdown layer is positioned
|
|
2287
|
+
* - 'body': Renders the dropdown as a fixed-position layer so it escapes
|
|
2288
|
+
* `overflow` clipping from scrollable ancestors (default). Note that an
|
|
2289
|
+
* ancestor with a `transform` or `filter` creates a new containing block
|
|
2290
|
+
* and can offset the layer.
|
|
2291
|
+
* - 'self': Renders the dropdown absolutely positioned within the component
|
|
2248
2292
|
*/
|
|
2249
2293
|
readonly appendTo: _angular_core.InputSignal<SelectAppendTo>;
|
|
2250
2294
|
/** Change event */
|
|
@@ -2259,16 +2303,18 @@ declare class TwSelectComponent implements ControlValueAccessor, OnDestroy, Afte
|
|
|
2259
2303
|
left: number;
|
|
2260
2304
|
width: number;
|
|
2261
2305
|
} | null>;
|
|
2306
|
+
/** Index of the keyboard-active option within filteredOptions() */
|
|
2307
|
+
protected activeIndex: _angular_core.WritableSignal<number>;
|
|
2262
2308
|
private readonly _disabled;
|
|
2309
|
+
protected readonly listboxId: string;
|
|
2263
2310
|
private onChangeFn;
|
|
2264
2311
|
private onTouchedFn;
|
|
2265
|
-
private
|
|
2266
|
-
private scrollListener;
|
|
2267
|
-
private resizeListener;
|
|
2312
|
+
private positionListener;
|
|
2268
2313
|
protected isDisabled: _angular_core.Signal<boolean>;
|
|
2269
2314
|
protected allOptions: _angular_core.Signal<SelectOption[]>;
|
|
2270
2315
|
protected selectedOption: _angular_core.Signal<SelectOption | null>;
|
|
2271
2316
|
protected filteredOptions: _angular_core.Signal<SelectOption[]>;
|
|
2317
|
+
protected activeDescendantId: _angular_core.Signal<string | null>;
|
|
2272
2318
|
protected filteredGroups: _angular_core.Signal<SelectGroup[]>;
|
|
2273
2319
|
protected containerClasses: _angular_core.Signal<string>;
|
|
2274
2320
|
protected labelClasses: _angular_core.Signal<string>;
|
|
@@ -2285,8 +2331,7 @@ declare class TwSelectComponent implements ControlValueAccessor, OnDestroy, Afte
|
|
|
2285
2331
|
left?: undefined;
|
|
2286
2332
|
width?: undefined;
|
|
2287
2333
|
}>;
|
|
2288
|
-
protected optionClasses(option: SelectOption): string;
|
|
2289
|
-
ngAfterViewInit(): void;
|
|
2334
|
+
protected optionClasses(option: SelectOption, isActive?: boolean): string;
|
|
2290
2335
|
ngOnDestroy(): void;
|
|
2291
2336
|
isSelected(option: SelectOption): boolean;
|
|
2292
2337
|
toggleDropdown(): void;
|
|
@@ -2294,12 +2339,12 @@ declare class TwSelectComponent implements ControlValueAccessor, OnDestroy, Afte
|
|
|
2294
2339
|
onFilterInput(event: Event): void;
|
|
2295
2340
|
onKeydown(event: KeyboardEvent): void;
|
|
2296
2341
|
onDocumentClick(event: MouseEvent): void;
|
|
2342
|
+
private openDropdown;
|
|
2343
|
+
private closeDropdown;
|
|
2344
|
+
private moveActiveIndex;
|
|
2297
2345
|
private updateDropdownPosition;
|
|
2298
|
-
private
|
|
2299
|
-
private
|
|
2300
|
-
private setupResizeListener;
|
|
2301
|
-
private removeResizeListener;
|
|
2302
|
-
private removePortal;
|
|
2346
|
+
private attachPositionListeners;
|
|
2347
|
+
private detachPositionListeners;
|
|
2303
2348
|
writeValue(value: any): void;
|
|
2304
2349
|
registerOnChange(fn: (value: any) => void): void;
|
|
2305
2350
|
registerOnTouched(fn: () => void): void;
|
|
@@ -2336,36 +2381,37 @@ type MultiSelectAppendTo = 'body' | 'self';
|
|
|
2336
2381
|
*/
|
|
2337
2382
|
declare class TwMultiSelectComponent implements ControlValueAccessor, OnDestroy, AfterViewInit {
|
|
2338
2383
|
triggerButton: ElementRef<HTMLButtonElement>;
|
|
2384
|
+
filterInput?: ElementRef<HTMLInputElement>;
|
|
2339
2385
|
/** Options to display (flat list) */
|
|
2340
|
-
options: MultiSelectOption[]
|
|
2386
|
+
readonly options: _angular_core.InputSignal<MultiSelectOption[]>;
|
|
2341
2387
|
/** Grouped options to display */
|
|
2342
|
-
groups: MultiSelectGroup[]
|
|
2388
|
+
readonly groups: _angular_core.InputSignal<MultiSelectGroup[]>;
|
|
2343
2389
|
/** Placeholder text */
|
|
2344
|
-
placeholder: string
|
|
2390
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
2345
2391
|
/** Label text */
|
|
2346
|
-
label: string
|
|
2392
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2347
2393
|
/** Enable search/filter */
|
|
2348
|
-
filter: boolean
|
|
2394
|
+
readonly filter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2349
2395
|
/** Size variant */
|
|
2350
|
-
size: MultiSelectSize
|
|
2396
|
+
readonly size: _angular_core.InputSignal<MultiSelectSize>;
|
|
2351
2397
|
/** Visual variant */
|
|
2352
|
-
variant: MultiSelectVariant
|
|
2398
|
+
readonly variant: _angular_core.InputSignal<MultiSelectVariant>;
|
|
2353
2399
|
/** Where to append dropdown */
|
|
2354
|
-
appendTo: MultiSelectAppendTo
|
|
2400
|
+
readonly appendTo: _angular_core.InputSignal<MultiSelectAppendTo>;
|
|
2355
2401
|
/** Disabled state */
|
|
2356
|
-
disabled: boolean
|
|
2402
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2357
2403
|
/** Show checkboxes */
|
|
2358
|
-
showCheckbox: boolean
|
|
2404
|
+
readonly showCheckbox: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2359
2405
|
/** Show select all option */
|
|
2360
|
-
showSelectAll: boolean
|
|
2406
|
+
readonly showSelectAll: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2361
2407
|
/** Maximum number of selections allowed (0 = unlimited) */
|
|
2362
|
-
maxSelections: number
|
|
2408
|
+
readonly maxSelections: _angular_core.InputSignal<number>;
|
|
2363
2409
|
/** Custom class for dropdown */
|
|
2364
|
-
dropdownClass: string
|
|
2410
|
+
readonly dropdownClass: _angular_core.InputSignal<string>;
|
|
2365
2411
|
/** Custom class for trigger button */
|
|
2366
|
-
triggerClass: string
|
|
2412
|
+
readonly triggerClass: _angular_core.InputSignal<string>;
|
|
2367
2413
|
/** Selection change event */
|
|
2368
|
-
selectionChange:
|
|
2414
|
+
readonly selectionChange: _angular_core.OutputEmitterRef<unknown[]>;
|
|
2369
2415
|
protected readonly twClass: TwClassService;
|
|
2370
2416
|
protected readonly elementRef: ElementRef<any>;
|
|
2371
2417
|
protected readonly document: Document;
|
|
@@ -2378,15 +2424,33 @@ declare class TwMultiSelectComponent implements ControlValueAccessor, OnDestroy,
|
|
|
2378
2424
|
left: number;
|
|
2379
2425
|
width: number;
|
|
2380
2426
|
} | null>;
|
|
2427
|
+
protected readonly _disabled: _angular_core.WritableSignal<boolean>;
|
|
2428
|
+
protected activeIndex: _angular_core.WritableSignal<number>;
|
|
2429
|
+
protected readonly listboxId: string;
|
|
2381
2430
|
private onChangeFn;
|
|
2382
2431
|
private onTouchedFn;
|
|
2383
2432
|
private clickListener;
|
|
2384
2433
|
private resizeListener;
|
|
2434
|
+
private scrollListener;
|
|
2435
|
+
constructor();
|
|
2385
2436
|
protected allOptions: _angular_core.Signal<MultiSelectOption[]>;
|
|
2437
|
+
protected enabledOptions: _angular_core.Signal<MultiSelectOption[]>;
|
|
2438
|
+
/**
|
|
2439
|
+
* The number of enabled options a "Select All" can effectively reach,
|
|
2440
|
+
* capped by maxSelections when set.
|
|
2441
|
+
*/
|
|
2442
|
+
protected selectAllTarget: _angular_core.Signal<number>;
|
|
2443
|
+
/** Select All cannot select everything when maxSelections is lower than the option count */
|
|
2444
|
+
protected selectAllLimited: _angular_core.Signal<boolean>;
|
|
2445
|
+
/** Number of currently selected enabled options (ignores disabled pre-selected values) */
|
|
2446
|
+
protected selectedEnabledCount: _angular_core.Signal<number>;
|
|
2386
2447
|
protected selectedOptions: _angular_core.Signal<MultiSelectOption[]>;
|
|
2387
2448
|
protected displayText: _angular_core.Signal<string>;
|
|
2388
2449
|
protected filteredGroups: _angular_core.Signal<MultiSelectGroup[]>;
|
|
2389
2450
|
protected filteredOptions: _angular_core.Signal<MultiSelectOption[]>;
|
|
2451
|
+
/** Currently visible options in display order (flattened across groups) */
|
|
2452
|
+
protected visibleOptions: _angular_core.Signal<MultiSelectOption[]>;
|
|
2453
|
+
protected activeOptionId: _angular_core.Signal<string | null>;
|
|
2390
2454
|
protected triggerClasses: _angular_core.Signal<string>;
|
|
2391
2455
|
protected dropdownClasses: _angular_core.Signal<string>;
|
|
2392
2456
|
ngAfterViewInit(): void;
|
|
@@ -2397,23 +2461,24 @@ declare class TwMultiSelectComponent implements ControlValueAccessor, OnDestroy,
|
|
|
2397
2461
|
setDisabledState(isDisabled: boolean): void;
|
|
2398
2462
|
toggleDropdown(): void;
|
|
2399
2463
|
openDropdown(): void;
|
|
2400
|
-
closeDropdown(): void;
|
|
2464
|
+
closeDropdown(returnFocus?: boolean): void;
|
|
2401
2465
|
toggleOption(option: MultiSelectOption): void;
|
|
2402
2466
|
toggleSelectAll(): void;
|
|
2403
2467
|
isSelected(option: MultiSelectOption): boolean;
|
|
2404
2468
|
isAllSelected(): boolean;
|
|
2405
2469
|
isSomeSelected(): boolean;
|
|
2470
|
+
protected isActive(option: MultiSelectOption): boolean;
|
|
2471
|
+
protected optionId(option: MultiSelectOption): string | null;
|
|
2406
2472
|
clearAll(): void;
|
|
2407
2473
|
protected onFilterInput(event: Event): void;
|
|
2474
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
2475
|
+
private moveActiveIndex;
|
|
2476
|
+
private setActiveToEdge;
|
|
2408
2477
|
protected onEscapePress(): void;
|
|
2409
2478
|
private onDocumentClick;
|
|
2410
2479
|
private updateDropdownPosition;
|
|
2411
2480
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwMultiSelectComponent, never>;
|
|
2412
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwMultiSelectComponent, "tw-multiselect", never, { "options": { "alias": "options"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "label": { "alias": "label"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; }; "maxSelections": { "alias": "maxSelections"; "required": false; }; "dropdownClass": { "alias": "dropdownClass"; "required": false; }; "triggerClass": { "alias": "triggerClass"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
2413
|
-
static ngAcceptInputType_filter: unknown;
|
|
2414
|
-
static ngAcceptInputType_disabled: unknown;
|
|
2415
|
-
static ngAcceptInputType_showCheckbox: unknown;
|
|
2416
|
-
static ngAcceptInputType_showSelectAll: unknown;
|
|
2481
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwMultiSelectComponent, "tw-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "groups": { "alias": "groups"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "showSelectAll": { "alias": "showSelectAll"; "required": false; "isSignal": true; }; "maxSelections": { "alias": "maxSelections"; "required": false; "isSignal": true; }; "dropdownClass": { "alias": "dropdownClass"; "required": false; "isSignal": true; }; "triggerClass": { "alias": "triggerClass"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
2417
2482
|
}
|
|
2418
2483
|
|
|
2419
2484
|
type SliderVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
|
|
@@ -2455,6 +2520,8 @@ declare class TwSliderComponent implements ControlValueAccessor {
|
|
|
2455
2520
|
readonly showValueBubble: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2456
2521
|
/** Format function for display value */
|
|
2457
2522
|
readonly valueFormat: _angular_core.InputSignal<(value: number) => string>;
|
|
2523
|
+
/** ID applied to the range input and referenced by the label */
|
|
2524
|
+
readonly inputId: _angular_core.InputSignal<string>;
|
|
2458
2525
|
/** Additional classes */
|
|
2459
2526
|
readonly classOverride: _angular_core.InputSignal<string>;
|
|
2460
2527
|
/** Change event (fires on mouseup/touchend) */
|
|
@@ -2491,7 +2558,7 @@ declare class TwSliderComponent implements ControlValueAccessor {
|
|
|
2491
2558
|
registerOnTouched(fn: () => void): void;
|
|
2492
2559
|
setDisabledState(isDisabled: boolean): void;
|
|
2493
2560
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSliderComponent, never>;
|
|
2494
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSliderComponent, "tw-slider", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "showMinMax": { "alias": "showMinMax"; "required": false; "isSignal": true; }; "showTicks": { "alias": "showTicks"; "required": false; "isSignal": true; }; "tickCount": { "alias": "tickCount"; "required": false; "isSignal": true; }; "showValueBubble": { "alias": "showValueBubble"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; "onInput": "onInput"; "onFocus": "onFocus"; "onBlur": "onBlur"; }, never, never, true, never>;
|
|
2561
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSliderComponent, "tw-slider", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "showMinMax": { "alias": "showMinMax"; "required": false; "isSignal": true; }; "showTicks": { "alias": "showTicks"; "required": false; "isSignal": true; }; "tickCount": { "alias": "tickCount"; "required": false; "isSignal": true; }; "showValueBubble": { "alias": "showValueBubble"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; "onInput": "onInput"; "onFocus": "onFocus"; "onBlur": "onBlur"; }, never, never, true, never>;
|
|
2495
2562
|
}
|
|
2496
2563
|
|
|
2497
2564
|
type RatingVariant = 'primary' | 'warning' | 'danger';
|
|
@@ -2503,7 +2570,7 @@ type RatingSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
|
2503
2570
|
* ```html
|
|
2504
2571
|
* <tw-rating [(ngModel)]="rating"></tw-rating>
|
|
2505
2572
|
* <tw-rating [stars]="10" [allowHalf]="true" variant="warning"></tw-rating>
|
|
2506
|
-
* <tw-rating [readonly]="true" [
|
|
2573
|
+
* <tw-rating [readonly]="true" [(ngModel)]="rating"></tw-rating>
|
|
2507
2574
|
* ```
|
|
2508
2575
|
*/
|
|
2509
2576
|
declare class TwRatingComponent implements ControlValueAccessor {
|
|
@@ -2542,11 +2609,15 @@ declare class TwRatingComponent implements ControlValueAccessor {
|
|
|
2542
2609
|
protected hoverValue: _angular_core.WritableSignal<number | null>;
|
|
2543
2610
|
protected starsArray: _angular_core.Signal<number[]>;
|
|
2544
2611
|
protected containerClasses: _angular_core.Signal<string>;
|
|
2545
|
-
|
|
2612
|
+
/** Value currently displayed: the hovered value while hovering, otherwise the selected value */
|
|
2613
|
+
protected currentValue: _angular_core.Signal<number>;
|
|
2614
|
+
/** Index of the star that participates in the roving tabindex */
|
|
2615
|
+
protected activeStarIndex: _angular_core.Signal<number>;
|
|
2546
2616
|
protected starClasses(index: number): string;
|
|
2547
2617
|
protected iconClasses(): string;
|
|
2548
2618
|
protected valueClasses(): string;
|
|
2549
|
-
onStarClick(index: number): void;
|
|
2619
|
+
onStarClick(index: number, event?: MouseEvent): void;
|
|
2620
|
+
onStarKeydown(event: KeyboardEvent): void;
|
|
2550
2621
|
onStarHover(index: number): void;
|
|
2551
2622
|
onStarLeave(): void;
|
|
2552
2623
|
onInputBlur(event: FocusEvent): void;
|
|
@@ -2615,6 +2686,8 @@ declare class TwChipsComponent {
|
|
|
2615
2686
|
readonly allowAdd: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2616
2687
|
readonly field: _angular_core.InputSignal<string>;
|
|
2617
2688
|
readonly classOverride: _angular_core.InputSignal<string>;
|
|
2689
|
+
/** Accessible name for the text input used to add chips */
|
|
2690
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
2618
2691
|
readonly valuesChange: _angular_core.OutputEmitterRef<any[]>;
|
|
2619
2692
|
readonly onAdd: _angular_core.OutputEmitterRef<any>;
|
|
2620
2693
|
readonly onRemove: _angular_core.OutputEmitterRef<{
|
|
@@ -2628,7 +2701,7 @@ declare class TwChipsComponent {
|
|
|
2628
2701
|
onAddChip(event: Event): void;
|
|
2629
2702
|
onBackspace(event: Event): void;
|
|
2630
2703
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwChipsComponent, never>;
|
|
2631
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwChipsComponent, "tw-chips", never, { "values": { "alias": "values"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "chipStyle": { "alias": "chipStyle"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "allowAdd": { "alias": "allowAdd"; "required": false; "isSignal": true; }; "field": { "alias": "field"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "valuesChange": "valuesChange"; "onAdd": "onAdd"; "onRemove": "onRemove"; }, never, never, true, never>;
|
|
2704
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwChipsComponent, "tw-chips", never, { "values": { "alias": "values"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "chipStyle": { "alias": "chipStyle"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "allowAdd": { "alias": "allowAdd"; "required": false; "isSignal": true; }; "field": { "alias": "field"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "valuesChange": "valuesChange"; "onAdd": "onAdd"; "onRemove": "onRemove"; }, never, never, true, never>;
|
|
2632
2705
|
}
|
|
2633
2706
|
|
|
2634
2707
|
type CardVariant = 'elevated' | 'outlined' | 'filled' | 'ghost';
|
|
@@ -2637,62 +2710,62 @@ type CardVariant = 'elevated' | 'outlined' | 'filled' | 'ghost';
|
|
|
2637
2710
|
*/
|
|
2638
2711
|
declare class TwCardHeaderDirective {
|
|
2639
2712
|
private readonly twClass;
|
|
2640
|
-
class: string
|
|
2641
|
-
|
|
2713
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
2714
|
+
protected readonly hostClass: _angular_core.Signal<string>;
|
|
2642
2715
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCardHeaderDirective, never>;
|
|
2643
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardHeaderDirective, "tw-card-header, [twCardHeader]", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
2716
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardHeaderDirective, "tw-card-header, [twCardHeader]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2644
2717
|
}
|
|
2645
2718
|
/**
|
|
2646
2719
|
* Card title directive
|
|
2647
2720
|
*/
|
|
2648
2721
|
declare class TwCardTitleDirective {
|
|
2649
2722
|
private readonly twClass;
|
|
2650
|
-
class: string
|
|
2651
|
-
|
|
2723
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
2724
|
+
protected readonly hostClass: _angular_core.Signal<string>;
|
|
2652
2725
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCardTitleDirective, never>;
|
|
2653
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardTitleDirective, "tw-card-title, [twCardTitle]", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
2726
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardTitleDirective, "tw-card-title, [twCardTitle]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2654
2727
|
}
|
|
2655
2728
|
/**
|
|
2656
2729
|
* Card subtitle directive
|
|
2657
2730
|
*/
|
|
2658
2731
|
declare class TwCardSubtitleDirective {
|
|
2659
2732
|
private readonly twClass;
|
|
2660
|
-
class: string
|
|
2661
|
-
|
|
2733
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
2734
|
+
protected readonly hostClass: _angular_core.Signal<string>;
|
|
2662
2735
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCardSubtitleDirective, never>;
|
|
2663
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardSubtitleDirective, "tw-card-subtitle, [twCardSubtitle]", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
2736
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardSubtitleDirective, "tw-card-subtitle, [twCardSubtitle]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2664
2737
|
}
|
|
2665
2738
|
/**
|
|
2666
2739
|
* Card body/content directive
|
|
2667
2740
|
*/
|
|
2668
2741
|
declare class TwCardBodyDirective {
|
|
2669
2742
|
private readonly twClass;
|
|
2670
|
-
class: string
|
|
2671
|
-
|
|
2743
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
2744
|
+
protected readonly hostClass: _angular_core.Signal<string>;
|
|
2672
2745
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCardBodyDirective, never>;
|
|
2673
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardBodyDirective, "tw-card-body, [twCardBody]", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
2746
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardBodyDirective, "tw-card-body, [twCardBody]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2674
2747
|
}
|
|
2675
2748
|
/**
|
|
2676
2749
|
* Card footer directive
|
|
2677
2750
|
*/
|
|
2678
2751
|
declare class TwCardFooterDirective {
|
|
2679
2752
|
private readonly twClass;
|
|
2680
|
-
class: string
|
|
2681
|
-
|
|
2753
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
2754
|
+
protected readonly hostClass: _angular_core.Signal<string>;
|
|
2682
2755
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCardFooterDirective, never>;
|
|
2683
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardFooterDirective, "tw-card-footer, [twCardFooter]", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
2756
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardFooterDirective, "tw-card-footer, [twCardFooter]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2684
2757
|
}
|
|
2685
2758
|
/**
|
|
2686
2759
|
* Card media/image container directive
|
|
2687
2760
|
*/
|
|
2688
2761
|
declare class TwCardMediaDirective {
|
|
2689
2762
|
private readonly twClass;
|
|
2690
|
-
class: string
|
|
2763
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
2691
2764
|
/** Position of the media (top for header image, full for background) */
|
|
2692
|
-
position:
|
|
2693
|
-
|
|
2765
|
+
readonly position: _angular_core.InputSignal<"top" | "bottom" | "full">;
|
|
2766
|
+
protected readonly hostClass: _angular_core.Signal<string>;
|
|
2694
2767
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCardMediaDirective, never>;
|
|
2695
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardMediaDirective, "tw-card-media, [twCardMedia]", never, { "class": { "alias": "class"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, {}, never, never, true, never>;
|
|
2768
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwCardMediaDirective, "tw-card-media, [twCardMedia]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2696
2769
|
}
|
|
2697
2770
|
/**
|
|
2698
2771
|
* Highly customizable card component with Tailwind CSS styling
|
|
@@ -2724,51 +2797,64 @@ declare class TwCardMediaDirective {
|
|
|
2724
2797
|
*/
|
|
2725
2798
|
declare class TwCardComponent {
|
|
2726
2799
|
private readonly twClass;
|
|
2800
|
+
private readonly elementRef;
|
|
2727
2801
|
/** Visual variant of the card */
|
|
2728
|
-
variant: CardVariant
|
|
2802
|
+
readonly variant: _angular_core.InputSignal<CardVariant>;
|
|
2729
2803
|
/** Whether the card should have hover effects */
|
|
2730
|
-
hoverable: boolean
|
|
2804
|
+
readonly hoverable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2731
2805
|
/** Whether the card is clickable (adds cursor and focus styles) */
|
|
2732
|
-
clickable: boolean
|
|
2806
|
+
readonly clickable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2733
2807
|
/** Whether to add padding to the card (use false when using card-body) */
|
|
2734
|
-
padded: boolean
|
|
2808
|
+
readonly padded: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2735
2809
|
/** Additional classes to merge with base styles */
|
|
2736
|
-
classOverride: string
|
|
2810
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
2737
2811
|
/** Complete class override (replaces all default classes) */
|
|
2738
|
-
classReplace: string
|
|
2812
|
+
readonly classReplace: _angular_core.InputSignal<string>;
|
|
2739
2813
|
protected computedClasses: _angular_core.Signal<string>;
|
|
2814
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
2740
2815
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCardComponent, never>;
|
|
2741
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCardComponent, "tw-card", never, { "variant": { "alias": "variant"; "required": false; }; "hoverable": { "alias": "hoverable"; "required": false; }; "clickable": { "alias": "clickable"; "required": false; }; "padded": { "alias": "padded"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; "classReplace": { "alias": "classReplace"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
2742
|
-
static ngAcceptInputType_hoverable: unknown;
|
|
2743
|
-
static ngAcceptInputType_clickable: unknown;
|
|
2744
|
-
static ngAcceptInputType_padded: unknown;
|
|
2816
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCardComponent, "tw-card", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "padded": { "alias": "padded"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; "classReplace": { "alias": "classReplace"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2745
2817
|
}
|
|
2746
2818
|
/**
|
|
2747
2819
|
* Horizontal card layout component
|
|
2748
2820
|
*/
|
|
2749
2821
|
declare class TwCardHorizontalComponent {
|
|
2750
2822
|
private readonly twClass;
|
|
2751
|
-
variant: CardVariant
|
|
2752
|
-
classOverride: string
|
|
2823
|
+
readonly variant: _angular_core.InputSignal<CardVariant>;
|
|
2824
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
2753
2825
|
protected computedClasses: _angular_core.Signal<string>;
|
|
2754
2826
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCardHorizontalComponent, never>;
|
|
2755
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCardHorizontalComponent, "tw-card-horizontal", never, { "variant": { "alias": "variant"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; }, {}, never, ["tw-card-media, [twCardMedia]", "*"], true, never>;
|
|
2827
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCardHorizontalComponent, "tw-card-horizontal", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, {}, never, ["tw-card-media, [twCardMedia]", "*"], true, never>;
|
|
2756
2828
|
}
|
|
2757
2829
|
|
|
2758
2830
|
declare const TW_CARD_COMPONENTS: readonly [typeof TwCardComponent, typeof TwCardHorizontalComponent, typeof TwCardHeaderDirective, typeof TwCardTitleDirective, typeof TwCardSubtitleDirective, typeof TwCardBodyDirective, typeof TwCardFooterDirective, typeof TwCardMediaDirective];
|
|
2759
2831
|
|
|
2832
|
+
type AccordionVariant = 'default' | 'bordered' | 'separated';
|
|
2833
|
+
/**
|
|
2834
|
+
* Marks projected content as the custom header of an accordion item,
|
|
2835
|
+
* replacing the plain-text `itemTitle`.
|
|
2836
|
+
*/
|
|
2837
|
+
declare class TwAccordionHeaderDirective {
|
|
2838
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAccordionHeaderDirective, never>;
|
|
2839
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwAccordionHeaderDirective, "[twAccordionHeader]", never, {}, {}, never, never, true, never>;
|
|
2840
|
+
}
|
|
2760
2841
|
declare class TwAccordionItemComponent {
|
|
2761
2842
|
set itemTitle(value: string);
|
|
2762
2843
|
set open(value: boolean);
|
|
2763
2844
|
set itemDisabled(value: boolean);
|
|
2764
2845
|
set value(value: string);
|
|
2765
|
-
variant:
|
|
2846
|
+
set variant(value: AccordionVariant);
|
|
2766
2847
|
openChange: EventEmitter<boolean>;
|
|
2848
|
+
protected headerContent?: TwAccordionHeaderDirective;
|
|
2767
2849
|
protected _title: _angular_core.WritableSignal<string>;
|
|
2768
2850
|
protected _open: _angular_core.WritableSignal<boolean>;
|
|
2769
2851
|
protected _disabled: _angular_core.WritableSignal<boolean>;
|
|
2770
2852
|
protected _value: _angular_core.WritableSignal<string>;
|
|
2771
|
-
|
|
2853
|
+
protected _variant: _angular_core.WritableSignal<AccordionVariant>;
|
|
2854
|
+
protected readonly itemId: string;
|
|
2855
|
+
protected readonly headerId: string;
|
|
2856
|
+
protected readonly panelId: string;
|
|
2857
|
+
get hasHeaderContent(): boolean;
|
|
2772
2858
|
protected itemTitleValue: _angular_core.Signal<string>;
|
|
2773
2859
|
protected isOpen: _angular_core.Signal<boolean>;
|
|
2774
2860
|
protected isDisabled: _angular_core.Signal<boolean>;
|
|
@@ -2780,17 +2866,22 @@ declare class TwAccordionItemComponent {
|
|
|
2780
2866
|
protected iconClasses: _angular_core.Signal<string>;
|
|
2781
2867
|
protected contentClasses: _angular_core.Signal<string>;
|
|
2782
2868
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAccordionItemComponent, never>;
|
|
2783
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAccordionItemComponent, "tw-accordion-item", never, { "itemTitle": { "alias": "itemTitle"; "required": false; }; "open": { "alias": "open"; "required": false; }; "itemDisabled": { "alias": "itemDisabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, { "openChange": "openChange"; },
|
|
2869
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAccordionItemComponent, "tw-accordion-item", never, { "itemTitle": { "alias": "itemTitle"; "required": false; }; "open": { "alias": "open"; "required": false; }; "itemDisabled": { "alias": "itemDisabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, { "openChange": "openChange"; }, ["headerContent"], ["[twAccordionHeader]", "*"], true, never>;
|
|
2784
2870
|
}
|
|
2785
2871
|
declare class TwAccordionComponent implements AfterContentInit {
|
|
2786
2872
|
set allowMultiple(value: boolean);
|
|
2787
|
-
set variant(value:
|
|
2873
|
+
set variant(value: AccordionVariant);
|
|
2788
2874
|
set defaultValue(value: string | string[]);
|
|
2789
2875
|
items: QueryList<TwAccordionItemComponent>;
|
|
2790
2876
|
protected _allowMultiple: _angular_core.WritableSignal<boolean>;
|
|
2791
|
-
protected _variant: _angular_core.WritableSignal<
|
|
2877
|
+
protected _variant: _angular_core.WritableSignal<AccordionVariant>;
|
|
2792
2878
|
protected _defaultValue: _angular_core.WritableSignal<string | string[]>;
|
|
2879
|
+
private readonly destroyRef;
|
|
2880
|
+
private readonly initializedItems;
|
|
2881
|
+
private itemSubscriptions;
|
|
2882
|
+
constructor();
|
|
2793
2883
|
ngAfterContentInit(): void;
|
|
2884
|
+
private wireItems;
|
|
2794
2885
|
protected accordionClasses: _angular_core.Signal<string>;
|
|
2795
2886
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAccordionComponent, never>;
|
|
2796
2887
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAccordionComponent, "tw-accordion", never, { "allowMultiple": { "alias": "allowMultiple"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; }, {}, ["items"], ["*"], true, never>;
|
|
@@ -2805,26 +2896,29 @@ type TabsOrientation = 'horizontal' | 'vertical';
|
|
|
2805
2896
|
declare class TwTabPanelComponent {
|
|
2806
2897
|
private readonly twClass;
|
|
2807
2898
|
/** Unique identifier for this tab */
|
|
2808
|
-
value: string
|
|
2899
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
2809
2900
|
/** Label for the tab (if not using template) */
|
|
2810
|
-
label: string
|
|
2901
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2811
2902
|
/** Whether the tab is disabled */
|
|
2812
|
-
disabled: boolean
|
|
2903
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2813
2904
|
/** Icon to show before the label */
|
|
2814
|
-
icon: string
|
|
2815
|
-
/** Whether to lazy load the content */
|
|
2816
|
-
lazy: boolean
|
|
2905
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
2906
|
+
/** Whether to lazy load the content (rendered on first activation, then kept) */
|
|
2907
|
+
readonly lazy: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2817
2908
|
/** Additional panel classes */
|
|
2818
|
-
panelClass: string
|
|
2819
|
-
/** Whether this panel is active */
|
|
2820
|
-
active: boolean
|
|
2821
|
-
/** ID of the tab that labels this panel */
|
|
2822
|
-
labelledBy: string
|
|
2909
|
+
readonly panelClass: _angular_core.InputSignal<string>;
|
|
2910
|
+
/** Whether this panel is active (managed by the parent tabs component) */
|
|
2911
|
+
readonly active: _angular_core.WritableSignal<boolean>;
|
|
2912
|
+
/** ID of the tab that labels this panel (managed by the parent tabs component) */
|
|
2913
|
+
readonly labelledBy: _angular_core.WritableSignal<string>;
|
|
2914
|
+
/** Whether activation should animate (synced from the parent tabs component) */
|
|
2915
|
+
readonly animated: _angular_core.WritableSignal<boolean>;
|
|
2916
|
+
/** Once a lazy panel has been activated its content stays rendered (hidden via [hidden]) */
|
|
2917
|
+
protected readonly hasBeenActive: _angular_core.WritableSignal<boolean>;
|
|
2918
|
+
private readonly trackActivation;
|
|
2823
2919
|
protected computedClasses: _angular_core.Signal<string>;
|
|
2824
2920
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwTabPanelComponent, never>;
|
|
2825
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTabPanelComponent, "tw-tab-panel", never, { "value": { "alias": "value"; "required": false; }; "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "lazy": { "alias": "lazy"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
2826
|
-
static ngAcceptInputType_disabled: unknown;
|
|
2827
|
-
static ngAcceptInputType_lazy: unknown;
|
|
2921
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTabPanelComponent, "tw-tab-panel", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2828
2922
|
}
|
|
2829
2923
|
/**
|
|
2830
2924
|
* Tabs component for organizing content into switchable panels
|
|
@@ -2847,22 +2941,23 @@ declare class TwTabPanelComponent {
|
|
|
2847
2941
|
declare class TwTabsComponent implements AfterContentInit {
|
|
2848
2942
|
private readonly twClass;
|
|
2849
2943
|
tabPanels: QueryList<TwTabPanelComponent>;
|
|
2944
|
+
private readonly tabButtons;
|
|
2850
2945
|
/** Currently active tab value */
|
|
2851
2946
|
value: string;
|
|
2852
2947
|
/** Visual variant */
|
|
2853
|
-
variant: TabsVariant
|
|
2948
|
+
readonly variant: _angular_core.InputSignal<TabsVariant>;
|
|
2854
2949
|
/** Size of the tabs */
|
|
2855
|
-
size: TabsSize
|
|
2950
|
+
readonly size: _angular_core.InputSignal<TabsSize>;
|
|
2856
2951
|
/** Orientation of the tabs */
|
|
2857
|
-
orientation: TabsOrientation
|
|
2952
|
+
readonly orientation: _angular_core.InputSignal<TabsOrientation>;
|
|
2858
2953
|
/** Whether the tab list should be full width */
|
|
2859
|
-
fullWidth: boolean
|
|
2954
|
+
readonly fullWidth: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2860
2955
|
/** Whether to animate panel transitions */
|
|
2861
|
-
animated: boolean
|
|
2956
|
+
readonly animated: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2862
2957
|
/** Additional tab list classes */
|
|
2863
|
-
tabListClass: string
|
|
2958
|
+
readonly tabListClass: _angular_core.InputSignal<string>;
|
|
2864
2959
|
/** Additional panels container classes */
|
|
2865
|
-
panelsClass: string
|
|
2960
|
+
readonly panelsClass: _angular_core.InputSignal<string>;
|
|
2866
2961
|
/** Value change event */
|
|
2867
2962
|
valueChange: EventEmitter<string>;
|
|
2868
2963
|
/** Tab change event with previous and current values */
|
|
@@ -2883,9 +2978,7 @@ declare class TwTabsComponent implements AfterContentInit {
|
|
|
2883
2978
|
/** Get the currently active panel */
|
|
2884
2979
|
getActivePanel(): TwTabPanelComponent | undefined;
|
|
2885
2980
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwTabsComponent, never>;
|
|
2886
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTabsComponent, "tw-tabs", never, { "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "animated": { "alias": "animated"; "required": false; }; "tabListClass": { "alias": "tabListClass"; "required": false; }; "panelsClass": { "alias": "panelsClass"; "required": false; }; }, { "valueChange": "valueChange"; "tabChange": "tabChange"; }, ["tabPanels"], ["*"], true, never>;
|
|
2887
|
-
static ngAcceptInputType_fullWidth: unknown;
|
|
2888
|
-
static ngAcceptInputType_animated: unknown;
|
|
2981
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTabsComponent, "tw-tabs", never, { "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "tabListClass": { "alias": "tabListClass"; "required": false; "isSignal": true; }; "panelsClass": { "alias": "panelsClass"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "tabChange": "tabChange"; }, ["tabPanels"], ["*"], true, never>;
|
|
2889
2982
|
}
|
|
2890
2983
|
|
|
2891
2984
|
declare const TW_TABS_COMPONENTS: readonly [typeof TwTabsComponent, typeof TwTabPanelComponent];
|
|
@@ -2935,20 +3028,19 @@ type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | 'prose';
|
|
|
2935
3028
|
declare class TwContainerComponent {
|
|
2936
3029
|
private readonly twClass;
|
|
2937
3030
|
/** Maximum width of the container */
|
|
2938
|
-
size: ContainerSize
|
|
3031
|
+
readonly size: _angular_core.InputSignal<ContainerSize>;
|
|
2939
3032
|
/** Whether to center the container horizontally */
|
|
2940
|
-
centered: boolean
|
|
3033
|
+
readonly centered: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2941
3034
|
/** Horizontal padding */
|
|
2942
|
-
padding:
|
|
3035
|
+
readonly padding: _angular_core.InputSignal<"none" | "sm" | "md" | "lg">;
|
|
2943
3036
|
/**
|
|
2944
3037
|
* Additional CSS classes. Signal input so a bound `[class]` survives Angular's
|
|
2945
3038
|
* special class-binding handling and re-renders the inner element on change.
|
|
2946
3039
|
*/
|
|
2947
3040
|
readonly class: _angular_core.InputSignal<string>;
|
|
2948
|
-
|
|
2949
|
-
protected containerClasses(): string;
|
|
3041
|
+
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
2950
3042
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwContainerComponent, never>;
|
|
2951
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwContainerComponent, "tw-container", never, { "size": { "alias": "size"; "required": false; }; "centered": { "alias": "centered"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3043
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwContainerComponent, "tw-container", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "centered": { "alias": "centered"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2952
3044
|
}
|
|
2953
3045
|
|
|
2954
3046
|
type StackDirection = 'vertical' | 'horizontal' | 'vertical-reverse' | 'horizontal-reverse';
|
|
@@ -2977,52 +3069,49 @@ type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'
|
|
|
2977
3069
|
declare class TwStackComponent {
|
|
2978
3070
|
private readonly twClass;
|
|
2979
3071
|
/** Direction of the stack */
|
|
2980
|
-
direction: StackDirection
|
|
3072
|
+
readonly direction: _angular_core.InputSignal<StackDirection>;
|
|
2981
3073
|
/** Spacing between items */
|
|
2982
|
-
spacing: StackSpacing
|
|
3074
|
+
readonly spacing: _angular_core.InputSignal<StackSpacing>;
|
|
2983
3075
|
/** Alignment of items (perpendicular to direction) */
|
|
2984
|
-
align: StackAlign
|
|
3076
|
+
readonly align: _angular_core.InputSignal<StackAlign>;
|
|
2985
3077
|
/** Justification of items (along direction) */
|
|
2986
|
-
justify: StackJustify
|
|
3078
|
+
readonly justify: _angular_core.InputSignal<StackJustify>;
|
|
2987
3079
|
/** Whether items should wrap */
|
|
2988
|
-
wrap: boolean
|
|
3080
|
+
readonly wrap: _angular_core.InputSignal<boolean>;
|
|
2989
3081
|
/** Whether to take full width */
|
|
2990
|
-
fullWidth: boolean
|
|
3082
|
+
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
2991
3083
|
/** Additional CSS classes */
|
|
2992
|
-
class: string
|
|
2993
|
-
|
|
2994
|
-
protected stackClasses(): string;
|
|
3084
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3085
|
+
protected readonly stackClasses: _angular_core.Signal<string>;
|
|
2995
3086
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwStackComponent, never>;
|
|
2996
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwStackComponent, "tw-stack", never, { "direction": { "alias": "direction"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "align": { "alias": "align"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3087
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwStackComponent, "tw-stack", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "justify": { "alias": "justify"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2997
3088
|
}
|
|
2998
3089
|
/**
|
|
2999
3090
|
* VStack component - shorthand for vertical Stack
|
|
3000
3091
|
*/
|
|
3001
3092
|
declare class TwVStackComponent {
|
|
3002
3093
|
private readonly twClass;
|
|
3003
|
-
spacing: StackSpacing
|
|
3004
|
-
align: StackAlign
|
|
3005
|
-
justify: StackJustify
|
|
3006
|
-
class: string
|
|
3007
|
-
|
|
3008
|
-
protected stackClasses(): string;
|
|
3094
|
+
readonly spacing: _angular_core.InputSignal<StackSpacing>;
|
|
3095
|
+
readonly align: _angular_core.InputSignal<StackAlign>;
|
|
3096
|
+
readonly justify: _angular_core.InputSignal<StackJustify>;
|
|
3097
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3098
|
+
protected readonly stackClasses: _angular_core.Signal<string>;
|
|
3009
3099
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwVStackComponent, never>;
|
|
3010
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwVStackComponent, "tw-vstack", never, { "spacing": { "alias": "spacing"; "required": false; }; "align": { "alias": "align"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3100
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwVStackComponent, "tw-vstack", never, { "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "justify": { "alias": "justify"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3011
3101
|
}
|
|
3012
3102
|
/**
|
|
3013
3103
|
* HStack component - shorthand for horizontal Stack
|
|
3014
3104
|
*/
|
|
3015
3105
|
declare class TwHStackComponent {
|
|
3016
3106
|
private readonly twClass;
|
|
3017
|
-
spacing: StackSpacing
|
|
3018
|
-
align: StackAlign
|
|
3019
|
-
justify: StackJustify
|
|
3020
|
-
wrap: boolean
|
|
3021
|
-
class: string
|
|
3022
|
-
|
|
3023
|
-
protected stackClasses(): string;
|
|
3107
|
+
readonly spacing: _angular_core.InputSignal<StackSpacing>;
|
|
3108
|
+
readonly align: _angular_core.InputSignal<StackAlign>;
|
|
3109
|
+
readonly justify: _angular_core.InputSignal<StackJustify>;
|
|
3110
|
+
readonly wrap: _angular_core.InputSignal<boolean>;
|
|
3111
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3112
|
+
protected readonly stackClasses: _angular_core.Signal<string>;
|
|
3024
3113
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwHStackComponent, never>;
|
|
3025
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwHStackComponent, "tw-hstack", never, { "spacing": { "alias": "spacing"; "required": false; }; "align": { "alias": "align"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3114
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwHStackComponent, "tw-hstack", never, { "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "justify": { "alias": "justify"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3026
3115
|
}
|
|
3027
3116
|
|
|
3028
3117
|
type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'none' | 'auto';
|
|
@@ -3051,30 +3140,29 @@ type GridGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
|
3051
3140
|
declare class TwGridComponent {
|
|
3052
3141
|
private readonly twClass;
|
|
3053
3142
|
/** Number of columns (base) */
|
|
3054
|
-
cols: GridCols
|
|
3143
|
+
readonly cols: _angular_core.InputSignal<GridCols>;
|
|
3055
3144
|
/** Number of columns at sm breakpoint */
|
|
3056
|
-
colsSm
|
|
3145
|
+
readonly colsSm: _angular_core.InputSignal<GridCols | undefined>;
|
|
3057
3146
|
/** Number of columns at md breakpoint */
|
|
3058
|
-
colsMd
|
|
3147
|
+
readonly colsMd: _angular_core.InputSignal<GridCols | undefined>;
|
|
3059
3148
|
/** Number of columns at lg breakpoint */
|
|
3060
|
-
colsLg
|
|
3149
|
+
readonly colsLg: _angular_core.InputSignal<GridCols | undefined>;
|
|
3061
3150
|
/** Number of columns at xl breakpoint */
|
|
3062
|
-
colsXl
|
|
3151
|
+
readonly colsXl: _angular_core.InputSignal<GridCols | undefined>;
|
|
3063
3152
|
/** Gap between items */
|
|
3064
|
-
gap: GridGap
|
|
3153
|
+
readonly gap: _angular_core.InputSignal<GridGap>;
|
|
3065
3154
|
/** Row gap (if different from column gap) */
|
|
3066
|
-
rowGap
|
|
3155
|
+
readonly rowGap: _angular_core.InputSignal<GridGap | undefined>;
|
|
3067
3156
|
/** Column gap (if different from row gap) */
|
|
3068
|
-
colGap
|
|
3157
|
+
readonly colGap: _angular_core.InputSignal<GridGap | undefined>;
|
|
3069
3158
|
/**
|
|
3070
3159
|
* Additional CSS classes. Signal input so a bound `[class]` survives Angular's
|
|
3071
3160
|
* special class-binding handling and re-renders the inner element on change.
|
|
3072
3161
|
*/
|
|
3073
3162
|
readonly class: _angular_core.InputSignal<string>;
|
|
3074
|
-
|
|
3075
|
-
protected gridClasses(): string;
|
|
3163
|
+
protected readonly gridClasses: _angular_core.Signal<string>;
|
|
3076
3164
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwGridComponent, never>;
|
|
3077
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwGridComponent, "tw-grid", never, { "cols": { "alias": "cols"; "required": false; }; "colsSm": { "alias": "colsSm"; "required": false; }; "colsMd": { "alias": "colsMd"; "required": false; }; "colsLg": { "alias": "colsLg"; "required": false; }; "colsXl": { "alias": "colsXl"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; "rowGap": { "alias": "rowGap"; "required": false; }; "colGap": { "alias": "colGap"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3165
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwGridComponent, "tw-grid", never, { "cols": { "alias": "cols"; "required": false; "isSignal": true; }; "colsSm": { "alias": "colsSm"; "required": false; "isSignal": true; }; "colsMd": { "alias": "colsMd"; "required": false; "isSignal": true; }; "colsLg": { "alias": "colsLg"; "required": false; "isSignal": true; }; "colsXl": { "alias": "colsXl"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "rowGap": { "alias": "rowGap"; "required": false; "isSignal": true; }; "colGap": { "alias": "colGap"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3078
3166
|
}
|
|
3079
3167
|
/**
|
|
3080
3168
|
* SimpleGrid component for auto-fit grid layouts with minimum column width.
|
|
@@ -3091,19 +3179,18 @@ declare class TwGridComponent {
|
|
|
3091
3179
|
declare class TwSimpleGridComponent {
|
|
3092
3180
|
private readonly twClass;
|
|
3093
3181
|
/** Minimum width of each child (e.g., '200px', '15rem') */
|
|
3094
|
-
minChildWidth: string
|
|
3182
|
+
readonly minChildWidth: _angular_core.InputSignal<string>;
|
|
3095
3183
|
/** Gap between items */
|
|
3096
|
-
gap: GridGap
|
|
3184
|
+
readonly gap: _angular_core.InputSignal<GridGap>;
|
|
3097
3185
|
/**
|
|
3098
3186
|
* Additional CSS classes. Signal input so a bound `[class]` survives Angular's
|
|
3099
3187
|
* special class-binding handling and re-renders the inner element on change.
|
|
3100
3188
|
*/
|
|
3101
3189
|
readonly class: _angular_core.InputSignal<string>;
|
|
3102
|
-
|
|
3103
|
-
protected
|
|
3104
|
-
protected gridTemplateColumns(): string;
|
|
3190
|
+
protected readonly gridClasses: _angular_core.Signal<string>;
|
|
3191
|
+
protected readonly gridTemplateColumns: _angular_core.Signal<string>;
|
|
3105
3192
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSimpleGridComponent, never>;
|
|
3106
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSimpleGridComponent, "tw-simple-grid", never, { "minChildWidth": { "alias": "minChildWidth"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3193
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSimpleGridComponent, "tw-simple-grid", never, { "minChildWidth": { "alias": "minChildWidth"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3107
3194
|
}
|
|
3108
3195
|
|
|
3109
3196
|
type AspectRatioPreset = 'square' | 'video' | 'portrait' | 'wide' | 'ultrawide' | 'custom';
|
|
@@ -3126,16 +3213,15 @@ type AspectRatioPreset = 'square' | 'video' | 'portrait' | 'wide' | 'ultrawide'
|
|
|
3126
3213
|
declare class TwAspectRatioComponent {
|
|
3127
3214
|
private readonly twClass;
|
|
3128
3215
|
/** Preset aspect ratio */
|
|
3129
|
-
ratio: AspectRatioPreset
|
|
3216
|
+
readonly ratio: _angular_core.InputSignal<AspectRatioPreset>;
|
|
3130
3217
|
/** Custom ratio value (e.g., 16/9 or 1.777) - used when ratio is 'custom' */
|
|
3131
|
-
customRatio
|
|
3218
|
+
readonly customRatio: _angular_core.InputSignal<number | undefined>;
|
|
3132
3219
|
/** Additional CSS classes */
|
|
3133
|
-
class: string
|
|
3134
|
-
|
|
3135
|
-
protected
|
|
3136
|
-
protected computedRatio(): string | null;
|
|
3220
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3221
|
+
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
3222
|
+
protected readonly computedRatio: _angular_core.Signal<string | null>;
|
|
3137
3223
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAspectRatioComponent, never>;
|
|
3138
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAspectRatioComponent, "tw-aspect-ratio", never, { "ratio": { "alias": "ratio"; "required": false; }; "customRatio": { "alias": "customRatio"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3224
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAspectRatioComponent, "tw-aspect-ratio", never, { "ratio": { "alias": "ratio"; "required": false; "isSignal": true; }; "customRatio": { "alias": "customRatio"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3139
3225
|
}
|
|
3140
3226
|
|
|
3141
3227
|
/**
|
|
@@ -3157,17 +3243,16 @@ declare class TwAspectRatioComponent {
|
|
|
3157
3243
|
declare class TwCenterComponent {
|
|
3158
3244
|
private readonly twClass;
|
|
3159
3245
|
/** Use inline-flex instead of flex */
|
|
3160
|
-
inline: boolean
|
|
3161
|
-
/**
|
|
3162
|
-
horizontal: boolean
|
|
3163
|
-
/**
|
|
3164
|
-
vertical: boolean
|
|
3246
|
+
readonly inline: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3247
|
+
/** Apply horizontal centering (justify-center); combines with `vertical` */
|
|
3248
|
+
readonly horizontal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3249
|
+
/** Apply vertical centering (items-center); combines with `horizontal` */
|
|
3250
|
+
readonly vertical: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3165
3251
|
/** Additional CSS classes */
|
|
3166
|
-
class: string
|
|
3167
|
-
|
|
3168
|
-
protected centerClasses(): string;
|
|
3252
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3253
|
+
protected readonly centerClasses: _angular_core.Signal<string>;
|
|
3169
3254
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCenterComponent, never>;
|
|
3170
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCenterComponent, "tw-center", never, { "inline": { "alias": "inline"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3255
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCenterComponent, "tw-center", never, { "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "horizontal": { "alias": "horizontal"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3171
3256
|
}
|
|
3172
3257
|
/**
|
|
3173
3258
|
* Square component for creating square-shaped containers.
|
|
@@ -3183,15 +3268,14 @@ declare class TwCenterComponent {
|
|
|
3183
3268
|
declare class TwSquareComponent {
|
|
3184
3269
|
private readonly twClass;
|
|
3185
3270
|
/** Size of the square (e.g., '64px', '4rem') */
|
|
3186
|
-
size: string
|
|
3271
|
+
readonly size: _angular_core.InputSignal<string>;
|
|
3187
3272
|
/** Whether to center the content */
|
|
3188
|
-
centerContent: boolean
|
|
3273
|
+
readonly centerContent: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3189
3274
|
/** Additional CSS classes */
|
|
3190
|
-
class: string
|
|
3191
|
-
|
|
3192
|
-
protected squareClasses(): string;
|
|
3275
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3276
|
+
protected readonly squareClasses: _angular_core.Signal<string>;
|
|
3193
3277
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSquareComponent, never>;
|
|
3194
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSquareComponent, "tw-square", never, { "size": { "alias": "size"; "required": false; }; "centerContent": { "alias": "centerContent"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3278
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSquareComponent, "tw-square", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "centerContent": { "alias": "centerContent"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3195
3279
|
}
|
|
3196
3280
|
/**
|
|
3197
3281
|
* Circle component for creating circular containers.
|
|
@@ -3206,15 +3290,14 @@ declare class TwSquareComponent {
|
|
|
3206
3290
|
declare class TwCircleComponent {
|
|
3207
3291
|
private readonly twClass;
|
|
3208
3292
|
/** Size of the circle (e.g., '64px', '4rem') */
|
|
3209
|
-
size: string
|
|
3293
|
+
readonly size: _angular_core.InputSignal<string>;
|
|
3210
3294
|
/** Whether to center the content */
|
|
3211
|
-
centerContent: boolean
|
|
3295
|
+
readonly centerContent: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3212
3296
|
/** Additional CSS classes */
|
|
3213
|
-
class: string
|
|
3214
|
-
|
|
3215
|
-
protected circleClasses(): string;
|
|
3297
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3298
|
+
protected readonly circleClasses: _angular_core.Signal<string>;
|
|
3216
3299
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCircleComponent, never>;
|
|
3217
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCircleComponent, "tw-circle", never, { "size": { "alias": "size"; "required": false; }; "centerContent": { "alias": "centerContent"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3300
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCircleComponent, "tw-circle", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "centerContent": { "alias": "centerContent"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3218
3301
|
}
|
|
3219
3302
|
|
|
3220
3303
|
type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'auto';
|
|
@@ -3238,18 +3321,17 @@ type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'auto';
|
|
|
3238
3321
|
declare class TwSpacerComponent {
|
|
3239
3322
|
private readonly twClass;
|
|
3240
3323
|
/** Direction of the space */
|
|
3241
|
-
axis:
|
|
3324
|
+
readonly axis: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
3242
3325
|
/** Size of the space (or 'auto' for flexible space in flex containers) */
|
|
3243
|
-
size: SpacerSize
|
|
3326
|
+
readonly size: _angular_core.InputSignal<SpacerSize>;
|
|
3244
3327
|
/**
|
|
3245
3328
|
* Additional CSS classes. Signal input so a bound `[class]` survives Angular's
|
|
3246
3329
|
* special class-binding handling and re-renders the inner element on change.
|
|
3247
3330
|
*/
|
|
3248
3331
|
readonly class: _angular_core.InputSignal<string>;
|
|
3249
|
-
|
|
3250
|
-
protected spacerClasses(): string;
|
|
3332
|
+
protected spacerClasses: _angular_core.Signal<string>;
|
|
3251
3333
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSpacerComponent, never>;
|
|
3252
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSpacerComponent, "tw-spacer", never, { "axis": { "alias": "axis"; "required": false; }; "size": { "alias": "size"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3334
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSpacerComponent, "tw-spacer", never, { "axis": { "alias": "axis"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3253
3335
|
}
|
|
3254
3336
|
/**
|
|
3255
3337
|
* Wrap component for wrapping flex items with consistent spacing.
|
|
@@ -3266,20 +3348,19 @@ declare class TwSpacerComponent {
|
|
|
3266
3348
|
declare class TwWrapComponent {
|
|
3267
3349
|
private readonly twClass;
|
|
3268
3350
|
/** Spacing between items */
|
|
3269
|
-
spacing: SpacerSize
|
|
3351
|
+
readonly spacing: _angular_core.InputSignal<SpacerSize>;
|
|
3270
3352
|
/** Alignment of items */
|
|
3271
|
-
align:
|
|
3353
|
+
readonly align: _angular_core.InputSignal<"center" | "end" | "start">;
|
|
3272
3354
|
/** Justification of items */
|
|
3273
|
-
justify:
|
|
3355
|
+
readonly justify: _angular_core.InputSignal<"center" | "end" | "start" | "between" | "around" | "evenly">;
|
|
3274
3356
|
/**
|
|
3275
3357
|
* Additional CSS classes. Signal input so a bound `[class]` survives Angular's
|
|
3276
3358
|
* special class-binding handling and re-renders the inner element on change.
|
|
3277
3359
|
*/
|
|
3278
3360
|
readonly class: _angular_core.InputSignal<string>;
|
|
3279
|
-
|
|
3280
|
-
protected wrapClasses(): string;
|
|
3361
|
+
protected wrapClasses: _angular_core.Signal<string>;
|
|
3281
3362
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwWrapComponent, never>;
|
|
3282
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwWrapComponent, "tw-wrap", never, { "spacing": { "alias": "spacing"; "required": false; }; "align": { "alias": "align"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3363
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwWrapComponent, "tw-wrap", never, { "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "justify": { "alias": "justify"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3283
3364
|
}
|
|
3284
3365
|
|
|
3285
3366
|
type SplitterDirection = 'horizontal' | 'vertical';
|
|
@@ -3287,18 +3368,22 @@ type SplitterGutterSize = 'sm' | 'md' | 'lg';
|
|
|
3287
3368
|
/**
|
|
3288
3369
|
* Splitter component for creating resizable split pane layouts.
|
|
3289
3370
|
*
|
|
3371
|
+
* Mark the two panes with the `twSplitterPaneStart` and `twSplitterPaneEnd`
|
|
3372
|
+
* attributes. Content marked with the plain `twSplitterPane` attribute (or a
|
|
3373
|
+
* `tw-splitter-pane` element) is projected into the first pane.
|
|
3374
|
+
*
|
|
3290
3375
|
* @example
|
|
3291
3376
|
* ```html
|
|
3292
3377
|
* <!-- Horizontal split -->
|
|
3293
3378
|
* <tw-splitter direction="horizontal" [initialSizes]="[30, 70]">
|
|
3294
|
-
* <div
|
|
3295
|
-
* <div
|
|
3379
|
+
* <div twSplitterPaneStart>Left Panel</div>
|
|
3380
|
+
* <div twSplitterPaneEnd>Right Panel</div>
|
|
3296
3381
|
* </tw-splitter>
|
|
3297
3382
|
*
|
|
3298
3383
|
* <!-- Vertical split with min sizes -->
|
|
3299
3384
|
* <tw-splitter direction="vertical" [minSizes]="[100, 200]">
|
|
3300
|
-
* <div
|
|
3301
|
-
* <div
|
|
3385
|
+
* <div twSplitterPaneStart>Top Panel</div>
|
|
3386
|
+
* <div twSplitterPaneEnd>Bottom Panel</div>
|
|
3302
3387
|
* </tw-splitter>
|
|
3303
3388
|
* ```
|
|
3304
3389
|
*/
|
|
@@ -3307,19 +3392,19 @@ declare class TwSplitterComponent implements AfterViewInit, OnDestroy {
|
|
|
3307
3392
|
containerRef: ElementRef<HTMLElement>;
|
|
3308
3393
|
gutterRef: ElementRef<HTMLElement>;
|
|
3309
3394
|
/** Direction of the split */
|
|
3310
|
-
direction: SplitterDirection
|
|
3395
|
+
readonly direction: _angular_core.InputSignal<SplitterDirection>;
|
|
3311
3396
|
/** Initial sizes as percentages (should sum to 100) */
|
|
3312
|
-
initialSizes: [number, number]
|
|
3397
|
+
readonly initialSizes: _angular_core.InputSignal<[number, number]>;
|
|
3313
3398
|
/** Minimum sizes in pixels for each pane */
|
|
3314
|
-
minSizes: [number, number]
|
|
3399
|
+
readonly minSizes: _angular_core.InputSignal<[number, number]>;
|
|
3315
3400
|
/** Size of the gutter */
|
|
3316
|
-
gutterSize: SplitterGutterSize
|
|
3401
|
+
readonly gutterSize: _angular_core.InputSignal<SplitterGutterSize>;
|
|
3317
3402
|
/** Whether the splitter is disabled */
|
|
3318
|
-
disabled: boolean
|
|
3403
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
3319
3404
|
/** Whether to show visual gutter */
|
|
3320
|
-
showGutter: boolean
|
|
3405
|
+
readonly showGutter: _angular_core.InputSignal<boolean>;
|
|
3321
3406
|
/** Additional CSS classes */
|
|
3322
|
-
class: string
|
|
3407
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3323
3408
|
/** Emits when sizes change */
|
|
3324
3409
|
sizesChange: EventEmitter<[number, number]>;
|
|
3325
3410
|
/** Emits when dragging starts */
|
|
@@ -3335,15 +3420,17 @@ declare class TwSplitterComponent implements AfterViewInit, OnDestroy {
|
|
|
3335
3420
|
private readonly mouseUpHandler;
|
|
3336
3421
|
private readonly touchMoveHandler;
|
|
3337
3422
|
private readonly touchEndHandler;
|
|
3338
|
-
constructor(twClass: TwClassService);
|
|
3339
3423
|
ngAfterViewInit(): void;
|
|
3340
3424
|
ngOnDestroy(): void;
|
|
3341
|
-
protected containerClasses
|
|
3342
|
-
protected paneClasses
|
|
3343
|
-
protected gutterClasses
|
|
3344
|
-
protected gutterHandleClasses
|
|
3425
|
+
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
3426
|
+
protected readonly paneClasses: _angular_core.Signal<string>;
|
|
3427
|
+
protected readonly gutterClasses: _angular_core.Signal<string>;
|
|
3428
|
+
protected readonly gutterHandleClasses: _angular_core.Signal<string>;
|
|
3429
|
+
protected readonly gutterAriaValueNow: _angular_core.Signal<number>;
|
|
3345
3430
|
protected onGutterMouseDown(event: MouseEvent): void;
|
|
3346
3431
|
protected onGutterTouchStart(event: TouchEvent): void;
|
|
3432
|
+
protected onGutterKeydown(event: KeyboardEvent): void;
|
|
3433
|
+
private resizeByPercent;
|
|
3347
3434
|
private startDrag;
|
|
3348
3435
|
private onMouseMove;
|
|
3349
3436
|
private onTouchMove;
|
|
@@ -3357,14 +3444,14 @@ declare class TwSplitterComponent implements AfterViewInit, OnDestroy {
|
|
|
3357
3444
|
/** Reset to initial sizes */
|
|
3358
3445
|
reset(): void;
|
|
3359
3446
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSplitterComponent, never>;
|
|
3360
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSplitterComponent, "tw-splitter", never, { "direction": { "alias": "direction"; "required": false; }; "initialSizes": { "alias": "initialSizes"; "required": false; }; "minSizes": { "alias": "minSizes"; "required": false; }; "gutterSize": { "alias": "gutterSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showGutter": { "alias": "showGutter"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "sizesChange": "sizesChange"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, ["[twSplitterPane]
|
|
3447
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSplitterComponent, "tw-splitter", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "initialSizes": { "alias": "initialSizes"; "required": false; "isSignal": true; }; "minSizes": { "alias": "minSizes"; "required": false; "isSignal": true; }; "gutterSize": { "alias": "gutterSize"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showGutter": { "alias": "showGutter"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "sizesChange": "sizesChange"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, ["[twSplitterPaneStart], [twSplitterPane], tw-splitter-pane", "[twSplitterPaneEnd]"], true, never>;
|
|
3361
3448
|
}
|
|
3362
3449
|
/**
|
|
3363
3450
|
* Directive to mark elements as splitter panes
|
|
3364
3451
|
*/
|
|
3365
3452
|
declare class TwSplitterPaneComponent {
|
|
3366
3453
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSplitterPaneComponent, never>;
|
|
3367
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSplitterPaneComponent, "tw-splitter-pane, [twSplitterPane]", never, {}, {}, never, ["*"], true, never>;
|
|
3454
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSplitterPaneComponent, "tw-splitter-pane, [twSplitterPane], [twSplitterPaneStart], [twSplitterPaneEnd]", never, {}, {}, never, ["*"], true, never>;
|
|
3368
3455
|
}
|
|
3369
3456
|
|
|
3370
3457
|
type StickyPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
@@ -3393,22 +3480,21 @@ type StickyOffset = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
|
3393
3480
|
declare class TwStickyComponent {
|
|
3394
3481
|
private readonly twClass;
|
|
3395
3482
|
/** Which edge to stick to */
|
|
3396
|
-
position: StickyPosition
|
|
3483
|
+
readonly position: _angular_core.InputSignal<StickyPosition>;
|
|
3397
3484
|
/** Offset from the edge */
|
|
3398
|
-
offset: StickyOffset
|
|
3485
|
+
readonly offset: _angular_core.InputSignal<StickyOffset>;
|
|
3399
3486
|
/** Custom offset value (e.g., '60px', '4rem') */
|
|
3400
|
-
customOffset
|
|
3487
|
+
readonly customOffset: _angular_core.InputSignal<string | undefined>;
|
|
3401
3488
|
/** Z-index for stacking */
|
|
3402
|
-
zIndex: number
|
|
3489
|
+
readonly zIndex: _angular_core.InputSignal<number>;
|
|
3403
3490
|
/** Whether sticky is disabled */
|
|
3404
|
-
disabled: boolean
|
|
3491
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
3405
3492
|
/** Additional CSS classes */
|
|
3406
|
-
class: string
|
|
3407
|
-
|
|
3408
|
-
protected
|
|
3409
|
-
protected stickyStyles(): Record<string, string>;
|
|
3493
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3494
|
+
protected readonly stickyClasses: _angular_core.Signal<string>;
|
|
3495
|
+
protected readonly stickyStyles: _angular_core.Signal<Record<string, string>>;
|
|
3410
3496
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwStickyComponent, never>;
|
|
3411
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwStickyComponent, "tw-sticky", never, { "position": { "alias": "position"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "customOffset": { "alias": "customOffset"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3497
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwStickyComponent, "tw-sticky", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "customOffset": { "alias": "customOffset"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3412
3498
|
}
|
|
3413
3499
|
|
|
3414
3500
|
type ScrollAreaDirection = 'vertical' | 'horizontal' | 'both';
|
|
@@ -3439,27 +3525,26 @@ declare class TwScrollAreaComponent {
|
|
|
3439
3525
|
private readonly twClass;
|
|
3440
3526
|
scrollContainerRef: ElementRef<HTMLElement>;
|
|
3441
3527
|
/** Scroll direction */
|
|
3442
|
-
direction: ScrollAreaDirection
|
|
3528
|
+
readonly direction: _angular_core.InputSignal<ScrollAreaDirection>;
|
|
3443
3529
|
/** Scrollbar visibility */
|
|
3444
|
-
scrollbar: ScrollAreaScrollbar
|
|
3530
|
+
readonly scrollbar: _angular_core.InputSignal<ScrollAreaScrollbar>;
|
|
3445
3531
|
/** Fixed height */
|
|
3446
|
-
height
|
|
3532
|
+
readonly height: _angular_core.InputSignal<string | undefined>;
|
|
3447
3533
|
/** Maximum height */
|
|
3448
|
-
maxHeight
|
|
3534
|
+
readonly maxHeight: _angular_core.InputSignal<string | undefined>;
|
|
3449
3535
|
/** Fixed width */
|
|
3450
|
-
width
|
|
3536
|
+
readonly width: _angular_core.InputSignal<string | undefined>;
|
|
3451
3537
|
/** Maximum width */
|
|
3452
|
-
maxWidth
|
|
3538
|
+
readonly maxWidth: _angular_core.InputSignal<string | undefined>;
|
|
3453
3539
|
/** Whether to use thin scrollbar */
|
|
3454
|
-
thin: boolean
|
|
3540
|
+
readonly thin: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3455
3541
|
/** Whether to use dark mode scrollbar */
|
|
3456
|
-
dark: boolean
|
|
3542
|
+
readonly dark: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3457
3543
|
/** Whether to enable smooth scrolling */
|
|
3458
|
-
smooth: boolean
|
|
3544
|
+
readonly smooth: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3459
3545
|
/** Additional CSS classes */
|
|
3460
|
-
class: string
|
|
3461
|
-
|
|
3462
|
-
protected scrollAreaClasses(): string;
|
|
3546
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3547
|
+
protected scrollAreaClasses: _angular_core.Signal<string>;
|
|
3463
3548
|
/** Scroll to a specific position */
|
|
3464
3549
|
scrollTo(options: ScrollToOptions): void;
|
|
3465
3550
|
/** Scroll to top */
|
|
@@ -3471,7 +3556,7 @@ declare class TwScrollAreaComponent {
|
|
|
3471
3556
|
/** Scroll to right */
|
|
3472
3557
|
scrollToRight(smooth?: boolean): void;
|
|
3473
3558
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwScrollAreaComponent, never>;
|
|
3474
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwScrollAreaComponent, "tw-scroll-area", never, { "direction": { "alias": "direction"; "required": false; }; "scrollbar": { "alias": "scrollbar"; "required": false; }; "height": { "alias": "height"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "thin": { "alias": "thin"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "smooth": { "alias": "smooth"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3559
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwScrollAreaComponent, "tw-scroll-area", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "scrollbar": { "alias": "scrollbar"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "thin": { "alias": "thin"; "required": false; "isSignal": true; }; "dark": { "alias": "dark"; "required": false; "isSignal": true; }; "smooth": { "alias": "smooth"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3475
3560
|
}
|
|
3476
3561
|
|
|
3477
3562
|
type ColumnsCount = 1 | 2 | 3 | 4 | 5 | 6 | 'auto';
|
|
@@ -3503,32 +3588,31 @@ type ColumnsRule = 'none' | 'solid' | 'dashed' | 'dotted';
|
|
|
3503
3588
|
declare class TwColumnsComponent {
|
|
3504
3589
|
private readonly twClass;
|
|
3505
3590
|
/** Number of columns (base) */
|
|
3506
|
-
count: ColumnsCount
|
|
3591
|
+
readonly count: _angular_core.InputSignal<ColumnsCount>;
|
|
3507
3592
|
/** Number of columns at sm breakpoint */
|
|
3508
|
-
countSm
|
|
3593
|
+
readonly countSm: _angular_core.InputSignal<ColumnsCount | undefined>;
|
|
3509
3594
|
/** Number of columns at md breakpoint */
|
|
3510
|
-
countMd
|
|
3595
|
+
readonly countMd: _angular_core.InputSignal<ColumnsCount | undefined>;
|
|
3511
3596
|
/** Number of columns at lg breakpoint */
|
|
3512
|
-
countLg
|
|
3597
|
+
readonly countLg: _angular_core.InputSignal<ColumnsCount | undefined>;
|
|
3513
3598
|
/** Number of columns at xl breakpoint */
|
|
3514
|
-
countXl
|
|
3599
|
+
readonly countXl: _angular_core.InputSignal<ColumnsCount | undefined>;
|
|
3515
3600
|
/** Gap between columns */
|
|
3516
|
-
gap: ColumnsGap
|
|
3601
|
+
readonly gap: _angular_core.InputSignal<ColumnsGap>;
|
|
3517
3602
|
/** Column rule style */
|
|
3518
|
-
rule: ColumnsRule
|
|
3519
|
-
/** Column rule color (Tailwind color, e.g
|
|
3520
|
-
ruleColor: string
|
|
3603
|
+
readonly rule: _angular_core.InputSignal<ColumnsRule>;
|
|
3604
|
+
/** Column rule color (Tailwind color token, e.g. 'slate-300', or any CSS color) */
|
|
3605
|
+
readonly ruleColor: _angular_core.InputSignal<string>;
|
|
3521
3606
|
/** Column rule width in pixels */
|
|
3522
|
-
ruleWidth: number
|
|
3607
|
+
readonly ruleWidth: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
3523
3608
|
/** Whether children should not break across columns */
|
|
3524
|
-
avoidBreak: boolean
|
|
3609
|
+
readonly avoidBreak: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3525
3610
|
/** Additional CSS classes */
|
|
3526
|
-
class: string
|
|
3527
|
-
|
|
3528
|
-
protected
|
|
3529
|
-
protected columnsStyles(): Record<string, string>;
|
|
3611
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3612
|
+
protected readonly columnsClasses: _angular_core.Signal<string>;
|
|
3613
|
+
protected readonly columnsStyles: _angular_core.Signal<Record<string, string>>;
|
|
3530
3614
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwColumnsComponent, never>;
|
|
3531
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwColumnsComponent, "tw-columns", never, { "count": { "alias": "count"; "required": false; }; "countSm": { "alias": "countSm"; "required": false; }; "countMd": { "alias": "countMd"; "required": false; }; "countLg": { "alias": "countLg"; "required": false; }; "countXl": { "alias": "countXl"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; "rule": { "alias": "rule"; "required": false; }; "ruleColor": { "alias": "ruleColor"; "required": false; }; "ruleWidth": { "alias": "ruleWidth"; "required": false; }; "avoidBreak": { "alias": "avoidBreak"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3615
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwColumnsComponent, "tw-columns", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "countSm": { "alias": "countSm"; "required": false; "isSignal": true; }; "countMd": { "alias": "countMd"; "required": false; "isSignal": true; }; "countLg": { "alias": "countLg"; "required": false; "isSignal": true; }; "countXl": { "alias": "countXl"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "rule": { "alias": "rule"; "required": false; "isSignal": true; }; "ruleColor": { "alias": "ruleColor"; "required": false; "isSignal": true; }; "ruleWidth": { "alias": "ruleWidth"; "required": false; "isSignal": true; }; "avoidBreak": { "alias": "avoidBreak"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3532
3616
|
}
|
|
3533
3617
|
|
|
3534
3618
|
type BleedDirection = 'horizontal' | 'left' | 'right' | 'all';
|
|
@@ -3562,20 +3646,19 @@ type BleedAmount = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
|
3562
3646
|
declare class TwBleedComponent {
|
|
3563
3647
|
private readonly twClass;
|
|
3564
3648
|
/** Direction of the bleed */
|
|
3565
|
-
direction: BleedDirection
|
|
3649
|
+
readonly direction: _angular_core.InputSignal<BleedDirection>;
|
|
3566
3650
|
/** Amount of bleed */
|
|
3567
|
-
amount: BleedAmount
|
|
3568
|
-
/** Custom bleed amount (e.g., '2rem', '32px') */
|
|
3569
|
-
customAmount
|
|
3651
|
+
readonly amount: _angular_core.InputSignal<BleedAmount>;
|
|
3652
|
+
/** Custom bleed amount (e.g., '2rem', '32px'); takes precedence over `amount` */
|
|
3653
|
+
readonly customAmount: _angular_core.InputSignal<string | undefined>;
|
|
3570
3654
|
/** Whether to preserve the same visual spacing inside */
|
|
3571
|
-
preservePadding: boolean
|
|
3655
|
+
readonly preservePadding: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3572
3656
|
/** Additional CSS classes */
|
|
3573
|
-
class: string
|
|
3574
|
-
|
|
3575
|
-
protected
|
|
3576
|
-
protected bleedStyles(): Record<string, string>;
|
|
3657
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3658
|
+
protected readonly bleedClasses: _angular_core.Signal<string>;
|
|
3659
|
+
protected readonly bleedStyles: _angular_core.Signal<Record<string, string>>;
|
|
3577
3660
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwBleedComponent, never>;
|
|
3578
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwBleedComponent, "tw-bleed", never, { "direction": { "alias": "direction"; "required": false; }; "amount": { "alias": "amount"; "required": false; }; "customAmount": { "alias": "customAmount"; "required": false; }; "preservePadding": { "alias": "preservePadding"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3661
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwBleedComponent, "tw-bleed", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "amount": { "alias": "amount"; "required": false; "isSignal": true; }; "customAmount": { "alias": "customAmount"; "required": false; "isSignal": true; }; "preservePadding": { "alias": "preservePadding"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
3579
3662
|
}
|
|
3580
3663
|
|
|
3581
3664
|
type OverlayBlur = 'none' | 'sm' | 'md' | 'lg';
|
|
@@ -3601,36 +3684,41 @@ type OverlayOpacity = 'light' | 'medium' | 'dark' | 'solid';
|
|
|
3601
3684
|
* </tw-overlay>
|
|
3602
3685
|
* ```
|
|
3603
3686
|
*/
|
|
3604
|
-
declare class TwOverlayComponent {
|
|
3687
|
+
declare class TwOverlayComponent implements OnDestroy {
|
|
3605
3688
|
private readonly twClass;
|
|
3689
|
+
private readonly document;
|
|
3690
|
+
private readonly platformId;
|
|
3606
3691
|
/** Whether the overlay is visible */
|
|
3607
|
-
visible: boolean
|
|
3692
|
+
readonly visible: _angular_core.InputSignal<boolean>;
|
|
3608
3693
|
/** Whether clicking the overlay closes it */
|
|
3609
|
-
closeOnClick: boolean
|
|
3694
|
+
readonly closeOnClick: _angular_core.InputSignal<boolean>;
|
|
3610
3695
|
/** Whether pressing Escape closes the overlay */
|
|
3611
|
-
closeOnEscape: boolean
|
|
3696
|
+
readonly closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
3612
3697
|
/** Blur intensity */
|
|
3613
|
-
blur: OverlayBlur
|
|
3698
|
+
readonly blur: _angular_core.InputSignal<OverlayBlur>;
|
|
3614
3699
|
/** Opacity level */
|
|
3615
|
-
opacity: OverlayOpacity
|
|
3700
|
+
readonly opacity: _angular_core.InputSignal<OverlayOpacity>;
|
|
3616
3701
|
/** Whether to center content */
|
|
3617
|
-
centered: boolean
|
|
3702
|
+
readonly centered: _angular_core.InputSignal<boolean>;
|
|
3618
3703
|
/** Whether to lock body scroll when visible */
|
|
3619
|
-
lockScroll: boolean
|
|
3704
|
+
readonly lockScroll: _angular_core.InputSignal<boolean>;
|
|
3620
3705
|
/** Whether to animate transitions */
|
|
3621
|
-
animate: boolean
|
|
3706
|
+
readonly animate: _angular_core.InputSignal<boolean>;
|
|
3622
3707
|
/** Z-index of the overlay */
|
|
3623
|
-
zIndex: number
|
|
3708
|
+
readonly zIndex: _angular_core.InputSignal<number>;
|
|
3624
3709
|
/** Additional CSS classes */
|
|
3625
|
-
class: string
|
|
3710
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
3626
3711
|
/** Emits when overlay should close */
|
|
3627
|
-
close:
|
|
3628
|
-
|
|
3712
|
+
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
3713
|
+
private previousOverflow;
|
|
3714
|
+
private scrollLocked;
|
|
3715
|
+
constructor();
|
|
3716
|
+
ngOnDestroy(): void;
|
|
3629
3717
|
onEscapeKey(): void;
|
|
3630
|
-
protected overlayClasses
|
|
3718
|
+
protected readonly overlayClasses: _angular_core.Signal<string>;
|
|
3631
3719
|
protected onOverlayClick(event: MouseEvent): void;
|
|
3632
3720
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwOverlayComponent, never>;
|
|
3633
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwOverlayComponent, "tw-overlay", never, { "visible": { "alias": "visible"; "required": false; }; "closeOnClick": { "alias": "closeOnClick"; "required": false; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; }; "blur": { "alias": "blur"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; "centered": { "alias": "centered"; "required": false; }; "lockScroll": { "alias": "lockScroll"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "close": "close"; }, never, ["*"], true, never>;
|
|
3721
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwOverlayComponent, "tw-overlay", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "closeOnClick": { "alias": "closeOnClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "blur": { "alias": "blur"; "required": false; "isSignal": true; }; "opacity": { "alias": "opacity"; "required": false; "isSignal": true; }; "centered": { "alias": "centered"; "required": false; "isSignal": true; }; "lockScroll": { "alias": "lockScroll"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, ["*"], true, never>;
|
|
3634
3722
|
}
|
|
3635
3723
|
|
|
3636
3724
|
type BadgeVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';
|
|
@@ -3714,6 +3802,8 @@ declare class TwAvatarComponent {
|
|
|
3714
3802
|
protected _badge: _angular_core.WritableSignal<string>;
|
|
3715
3803
|
protected _color: _angular_core.WritableSignal<string>;
|
|
3716
3804
|
protected _imageError: _angular_core.WritableSignal<boolean>;
|
|
3805
|
+
/** Internal: set by TwAvatarGroupComponent to hide avatars beyond its `max` */
|
|
3806
|
+
readonly hiddenInGroup: _angular_core.WritableSignal<boolean>;
|
|
3717
3807
|
protected srcVal: _angular_core.Signal<string>;
|
|
3718
3808
|
protected altVal: _angular_core.Signal<string>;
|
|
3719
3809
|
protected initialsVal: _angular_core.Signal<string>;
|
|
@@ -3728,21 +3818,27 @@ declare class TwAvatarComponent {
|
|
|
3728
3818
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAvatarComponent, never>;
|
|
3729
3819
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAvatarComponent, "tw-avatar", never, { "src": { "alias": "src"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "initials": { "alias": "initials"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "status": { "alias": "status"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
|
|
3730
3820
|
}
|
|
3731
|
-
declare class TwAvatarGroupComponent {
|
|
3821
|
+
declare class TwAvatarGroupComponent implements AfterContentInit {
|
|
3732
3822
|
set max(val: number);
|
|
3733
3823
|
set total(val: number);
|
|
3734
3824
|
set size(val: AvatarSize);
|
|
3735
3825
|
set spacing(val: 'tight' | 'normal' | 'loose');
|
|
3826
|
+
protected avatars: QueryList<TwAvatarComponent>;
|
|
3736
3827
|
protected _max: _angular_core.WritableSignal<number>;
|
|
3737
3828
|
protected _total: _angular_core.WritableSignal<number>;
|
|
3738
3829
|
protected _size: _angular_core.WritableSignal<AvatarSize>;
|
|
3739
3830
|
protected _spacing: _angular_core.WritableSignal<"tight" | "normal" | "loose">;
|
|
3831
|
+
private readonly destroyRef;
|
|
3832
|
+
constructor();
|
|
3833
|
+
ngAfterContentInit(): void;
|
|
3834
|
+
/** Propagates the group size to each avatar and hides avatars beyond `max` */
|
|
3835
|
+
private applyToAvatars;
|
|
3740
3836
|
protected maxVal: _angular_core.Signal<number>;
|
|
3741
3837
|
protected overflowVal: _angular_core.Signal<number>;
|
|
3742
3838
|
protected groupClasses: _angular_core.Signal<string>;
|
|
3743
3839
|
protected overflowClasses: _angular_core.Signal<string>;
|
|
3744
3840
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAvatarGroupComponent, never>;
|
|
3745
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAvatarGroupComponent, "tw-avatar-group", never, { "max": { "alias": "max"; "required": false; }; "total": { "alias": "total"; "required": false; }; "size": { "alias": "size"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; }, {},
|
|
3841
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAvatarGroupComponent, "tw-avatar-group", never, { "max": { "alias": "max"; "required": false; }; "total": { "alias": "total"; "required": false; }; "size": { "alias": "size"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; }, {}, ["avatars"], ["*"], true, never>;
|
|
3746
3842
|
}
|
|
3747
3843
|
|
|
3748
3844
|
interface TableColumn {
|
|
@@ -3757,26 +3853,40 @@ type TableSize = 'sm' | 'md' | 'lg';
|
|
|
3757
3853
|
type TableVariant = 'default' | 'striped' | 'bordered';
|
|
3758
3854
|
/**
|
|
3759
3855
|
* Table/DataTable component with Tailwind CSS styling
|
|
3856
|
+
*
|
|
3857
|
+
* Header and per-row action slots are provided as named templates:
|
|
3858
|
+
*
|
|
3859
|
+
* @example
|
|
3860
|
+
* ```html
|
|
3861
|
+
* <tw-table [data]="rows" [columns]="cols">
|
|
3862
|
+
* <ng-template #twTableActions>
|
|
3863
|
+
* <button>Export</button>
|
|
3864
|
+
* </ng-template>
|
|
3865
|
+
* <ng-template #twRowActions let-row>
|
|
3866
|
+
* <button (click)="edit(row)">Edit</button>
|
|
3867
|
+
* </ng-template>
|
|
3868
|
+
* </tw-table>
|
|
3869
|
+
* ```
|
|
3760
3870
|
*/
|
|
3761
3871
|
declare class TwTableComponent {
|
|
3762
3872
|
private readonly twClass;
|
|
3763
|
-
data: any[]
|
|
3764
|
-
columns: TableColumn[]
|
|
3765
|
-
title: string
|
|
3766
|
-
size: TableSize
|
|
3767
|
-
variant: TableVariant
|
|
3768
|
-
selectable: boolean
|
|
3769
|
-
selectionMode:
|
|
3770
|
-
showGlobalFilter: boolean
|
|
3771
|
-
filterPlaceholder: string
|
|
3772
|
-
paginator: boolean
|
|
3773
|
-
rows: number
|
|
3774
|
-
rowsPerPageOptions: number[]
|
|
3775
|
-
emptyMessage: string
|
|
3776
|
-
hoverable: boolean
|
|
3777
|
-
responsive: boolean
|
|
3778
|
-
trackByFn: (item: any) => any
|
|
3779
|
-
classOverride: string
|
|
3873
|
+
readonly data: _angular_core.InputSignal<any[]>;
|
|
3874
|
+
readonly columns: _angular_core.InputSignal<TableColumn[]>;
|
|
3875
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3876
|
+
readonly size: _angular_core.InputSignal<TableSize>;
|
|
3877
|
+
readonly variant: _angular_core.InputSignal<TableVariant>;
|
|
3878
|
+
readonly selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3879
|
+
readonly selectionMode: _angular_core.InputSignal<"single" | "multiple">;
|
|
3880
|
+
readonly showGlobalFilter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3881
|
+
readonly filterPlaceholder: _angular_core.InputSignal<string>;
|
|
3882
|
+
readonly paginator: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3883
|
+
readonly rows: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
3884
|
+
readonly rowsPerPageOptions: _angular_core.InputSignal<number[]>;
|
|
3885
|
+
readonly emptyMessage: _angular_core.InputSignal<string>;
|
|
3886
|
+
readonly hoverable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3887
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3888
|
+
readonly trackByFn: _angular_core.InputSignal<(item: any) => any>;
|
|
3889
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
3780
3890
|
selectionChange: EventEmitter<any[]>;
|
|
3781
3891
|
rowClick: EventEmitter<any>;
|
|
3782
3892
|
sortChange: EventEmitter<{
|
|
@@ -3787,16 +3897,19 @@ declare class TwTableComponent {
|
|
|
3787
3897
|
page: number;
|
|
3788
3898
|
rows: number;
|
|
3789
3899
|
}>;
|
|
3790
|
-
headerActionsTemplate: TemplateRef<any>;
|
|
3791
|
-
rowActionsTemplate: TemplateRef<any>;
|
|
3900
|
+
readonly headerActionsTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
3901
|
+
readonly rowActionsTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
3792
3902
|
protected globalFilter: _angular_core.WritableSignal<string>;
|
|
3793
3903
|
protected sortField: _angular_core.WritableSignal<string>;
|
|
3794
3904
|
protected sortOrder: _angular_core.WritableSignal<1 | -1>;
|
|
3795
3905
|
protected currentPage: _angular_core.WritableSignal<number>;
|
|
3796
|
-
|
|
3797
|
-
protected
|
|
3798
|
-
|
|
3799
|
-
protected
|
|
3906
|
+
/** Current page size; follows the `rows` input until changed via the rows-per-page select. */
|
|
3907
|
+
protected pageSize: _angular_core.WritableSignal<number>;
|
|
3908
|
+
/** Selection is held as a Set internally for O(1) lookups; emitted as an array. */
|
|
3909
|
+
protected selection: _angular_core.WritableSignal<ReadonlySet<any>>;
|
|
3910
|
+
protected readonly hasHeaderActions: _angular_core.Signal<boolean>;
|
|
3911
|
+
protected readonly hasRowActions: _angular_core.Signal<boolean>;
|
|
3912
|
+
protected readonly totalColumns: _angular_core.Signal<number>;
|
|
3800
3913
|
protected filteredData: _angular_core.Signal<any[]>;
|
|
3801
3914
|
protected totalRecords: _angular_core.Signal<number>;
|
|
3802
3915
|
protected totalPages: _angular_core.Signal<number>;
|
|
@@ -3810,15 +3923,21 @@ declare class TwTableComponent {
|
|
|
3810
3923
|
protected tableWrapperClasses: _angular_core.Signal<"" | "overflow-x-auto">;
|
|
3811
3924
|
protected tableClasses: _angular_core.Signal<string>;
|
|
3812
3925
|
protected theadClasses: _angular_core.Signal<string>;
|
|
3813
|
-
protected thClasses(col: TableColumn): string;
|
|
3814
3926
|
protected tbodyClasses: _angular_core.Signal<string>;
|
|
3815
|
-
|
|
3927
|
+
/** Per-column th/td class map, recomputed only when columns/size/variant change. */
|
|
3928
|
+
private readonly columnClassMap;
|
|
3929
|
+
protected thClasses(col: TableColumn): string;
|
|
3816
3930
|
protected tdClasses(col: TableColumn): string;
|
|
3931
|
+
/** Row class matrix memoized per selected/odd combination. */
|
|
3932
|
+
private readonly rowClassMatrix;
|
|
3933
|
+
protected trClasses(row: any, isOdd: boolean): string;
|
|
3817
3934
|
protected pageButtonClasses(page: number): string;
|
|
3935
|
+
protected ariaSort(col: TableColumn): 'ascending' | 'descending' | 'none' | null;
|
|
3818
3936
|
getFieldValue(obj: any, field: string): any;
|
|
3819
3937
|
onGlobalFilterChange(event: Event): void;
|
|
3820
3938
|
onSort(col: TableColumn): void;
|
|
3821
3939
|
goToPage(page: number): void;
|
|
3940
|
+
onRowsPerPageChange(event: Event): void;
|
|
3822
3941
|
isSelected(row: any): boolean;
|
|
3823
3942
|
toggleSelection(row: any): void;
|
|
3824
3943
|
toggleSelectAll(): void;
|
|
@@ -3826,50 +3945,48 @@ declare class TwTableComponent {
|
|
|
3826
3945
|
clearSelection(): void;
|
|
3827
3946
|
reset(): void;
|
|
3828
3947
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwTableComponent, never>;
|
|
3829
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTableComponent, "tw-table", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "title": { "alias": "title"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "showGlobalFilter": { "alias": "showGlobalFilter"; "required": false; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "rowsPerPageOptions": { "alias": "rowsPerPageOptions"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "hoverable": { "alias": "hoverable"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; }, { "selectionChange": "selectionChange"; "rowClick": "rowClick"; "sortChange": "sortChange"; "pageChange": "pageChange"; }, ["headerActionsTemplate", "rowActionsTemplate"], ["[twTableActions]"
|
|
3830
|
-
static ngAcceptInputType_selectable: unknown;
|
|
3831
|
-
static ngAcceptInputType_showGlobalFilter: unknown;
|
|
3832
|
-
static ngAcceptInputType_paginator: unknown;
|
|
3833
|
-
static ngAcceptInputType_rows: unknown;
|
|
3834
|
-
static ngAcceptInputType_hoverable: unknown;
|
|
3835
|
-
static ngAcceptInputType_responsive: unknown;
|
|
3948
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTableComponent, "tw-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "showGlobalFilter": { "alias": "showGlobalFilter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "paginator": { "alias": "paginator"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "rowsPerPageOptions": { "alias": "rowsPerPageOptions"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "rowClick": "rowClick"; "sortChange": "sortChange"; "pageChange": "pageChange"; }, ["headerActionsTemplate", "rowActionsTemplate"], ["[twTableActions]"], true, never>;
|
|
3836
3949
|
}
|
|
3837
3950
|
|
|
3838
3951
|
declare class TwDatatablesComponent {
|
|
3839
|
-
data: unknown[]
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3952
|
+
readonly data: _angular_core.InputSignal<unknown[]>;
|
|
3953
|
+
/**
|
|
3954
|
+
* Column definitions forwarded to the underlying tw-table.
|
|
3955
|
+
* Columns are sortable by default; set `sortable: false` on a column to disable sorting for it.
|
|
3956
|
+
*/
|
|
3957
|
+
readonly columns: _angular_core.InputSignal<TableColumn[]>;
|
|
3958
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
3959
|
+
readonly subtitle: _angular_core.InputSignal<string | undefined>;
|
|
3960
|
+
readonly description: _angular_core.InputSignal<string | undefined>;
|
|
3961
|
+
readonly tableSize: _angular_core.InputSignal<TableSize>;
|
|
3962
|
+
readonly tableVariant: _angular_core.InputSignal<TableVariant>;
|
|
3963
|
+
readonly selectable: _angular_core.InputSignal<boolean>;
|
|
3964
|
+
readonly selectionMode: _angular_core.InputSignal<"single" | "multiple">;
|
|
3965
|
+
readonly showGlobalFilter: _angular_core.InputSignal<boolean>;
|
|
3966
|
+
readonly paginator: _angular_core.InputSignal<boolean>;
|
|
3967
|
+
readonly rows: _angular_core.InputSignal<number>;
|
|
3968
|
+
readonly hoverable: _angular_core.InputSignal<boolean>;
|
|
3969
|
+
readonly responsive: _angular_core.InputSignal<boolean>;
|
|
3970
|
+
readonly emptyMessage: _angular_core.InputSignal<string>;
|
|
3971
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
3972
|
+
readonly containerClass: _angular_core.InputSignal<string>;
|
|
3973
|
+
readonly toolbarClass: _angular_core.InputSignal<string>;
|
|
3974
|
+
readonly selectionChange: _angular_core.OutputEmitterRef<unknown[]>;
|
|
3975
|
+
readonly rowClick: _angular_core.OutputEmitterRef<unknown>;
|
|
3976
|
+
readonly sortChange: _angular_core.OutputEmitterRef<{
|
|
3860
3977
|
field: string;
|
|
3861
3978
|
order: number;
|
|
3862
3979
|
}>;
|
|
3863
|
-
pageChange:
|
|
3980
|
+
readonly pageChange: _angular_core.OutputEmitterRef<{
|
|
3864
3981
|
page: number;
|
|
3865
3982
|
rows: number;
|
|
3866
3983
|
}>;
|
|
3867
3984
|
protected readonly baseContainerClass = "bg-white dark:bg-slate-900 border border-slate-200 dark:border-slate-700 rounded-2xl shadow-sm p-6 space-y-6";
|
|
3868
3985
|
protected readonly baseToolbarClass = "flex items-center gap-2 flex-wrap";
|
|
3869
|
-
protected
|
|
3870
|
-
protected
|
|
3986
|
+
protected readonly containerClassList: _angular_core.Signal<string>;
|
|
3987
|
+
protected readonly toolbarClassList: _angular_core.Signal<string>;
|
|
3871
3988
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwDatatablesComponent, never>;
|
|
3872
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwDatatablesComponent, "tw-datatables", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "description": { "alias": "description"; "required": false; }; "tableSize": { "alias": "tableSize"; "required": false; }; "tableVariant": { "alias": "tableVariant"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "showGlobalFilter": { "alias": "showGlobalFilter"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "hoverable": { "alias": "hoverable"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; "containerClass": { "alias": "containerClass"; "required": false; }; "toolbarClass": { "alias": "toolbarClass"; "required": false; }; }, { "selectionChange": "selectionChange"; "rowClick": "rowClick"; "sortChange": "sortChange"; "pageChange": "pageChange"; }, never, ["[twDatatablesActions]"], true, never>;
|
|
3989
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwDatatablesComponent, "tw-datatables", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "tableSize": { "alias": "tableSize"; "required": false; "isSignal": true; }; "tableVariant": { "alias": "tableVariant"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "showGlobalFilter": { "alias": "showGlobalFilter"; "required": false; "isSignal": true; }; "paginator": { "alias": "paginator"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; "containerClass": { "alias": "containerClass"; "required": false; "isSignal": true; }; "toolbarClass": { "alias": "toolbarClass"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "rowClick": "rowClick"; "sortChange": "sortChange"; "pageChange": "pageChange"; }, never, ["[twDatatablesActions]"], true, never>;
|
|
3873
3990
|
}
|
|
3874
3991
|
|
|
3875
3992
|
interface TreeNode {
|
|
@@ -3897,18 +4014,19 @@ type TreeSelectionMode = 'none' | 'single' | 'multiple' | 'checkbox';
|
|
|
3897
4014
|
*/
|
|
3898
4015
|
declare class TwTreeComponent {
|
|
3899
4016
|
private readonly twClass;
|
|
4017
|
+
private readonly nodeRows;
|
|
3900
4018
|
/** Tree nodes */
|
|
3901
|
-
nodes: TreeNode[]
|
|
4019
|
+
readonly nodes: _angular_core.InputSignal<TreeNode[]>;
|
|
3902
4020
|
/** Selection mode */
|
|
3903
|
-
selectionMode: TreeSelectionMode
|
|
4021
|
+
readonly selectionMode: _angular_core.InputSignal<TreeSelectionMode>;
|
|
3904
4022
|
/** Indent size in pixels */
|
|
3905
|
-
indentSize: number
|
|
4023
|
+
readonly indentSize: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
3906
4024
|
/** Whether to propagate selection to children */
|
|
3907
|
-
propagateSelectionDown: boolean
|
|
4025
|
+
readonly propagateSelectionDown: _angular_core.InputSignal<boolean>;
|
|
3908
4026
|
/** Whether to propagate selection to parent */
|
|
3909
|
-
propagateSelectionUp: boolean
|
|
4027
|
+
readonly propagateSelectionUp: _angular_core.InputSignal<boolean>;
|
|
3910
4028
|
/** Additional classes */
|
|
3911
|
-
classOverride: string
|
|
4029
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
3912
4030
|
/** Node select event */
|
|
3913
4031
|
onNodeSelect: EventEmitter<TreeNode>;
|
|
3914
4032
|
/** Node unselect event */
|
|
@@ -3919,8 +4037,18 @@ declare class TwTreeComponent {
|
|
|
3919
4037
|
onNodeCollapse: EventEmitter<TreeNode>;
|
|
3920
4038
|
/** Selection change event */
|
|
3921
4039
|
selectionChange: EventEmitter<TreeNode[]>;
|
|
3922
|
-
|
|
4040
|
+
/** Selection is held as a Set internally for O(1) lookups; emitted as an array. */
|
|
4041
|
+
protected selection: _angular_core.WritableSignal<ReadonlySet<TreeNode>>;
|
|
4042
|
+
/** Node currently owning the roving tabindex. */
|
|
4043
|
+
protected readonly focusedNode: _angular_core.WritableSignal<TreeNode | null>;
|
|
3923
4044
|
protected containerClasses: _angular_core.Signal<string>;
|
|
4045
|
+
/**
|
|
4046
|
+
* Per-node view state (selected/indeterminate flags and classes), computed in a
|
|
4047
|
+
* single pass over the tree whenever the nodes input or the selection changes.
|
|
4048
|
+
*/
|
|
4049
|
+
private readonly nodeViewState;
|
|
4050
|
+
/** Child-to-parent lookup used for upward selection propagation. */
|
|
4051
|
+
private readonly parentMap;
|
|
3924
4052
|
protected nodeClasses(node: TreeNode, level: number): string;
|
|
3925
4053
|
protected labelClasses(node: TreeNode): string;
|
|
3926
4054
|
isSelected(node: TreeNode): boolean;
|
|
@@ -3928,10 +4056,18 @@ declare class TwTreeComponent {
|
|
|
3928
4056
|
onNodeClick(node: TreeNode): void;
|
|
3929
4057
|
onCheckboxChange(node: TreeNode, event: Event): void;
|
|
3930
4058
|
toggleNode(node: TreeNode): void;
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
private
|
|
3934
|
-
|
|
4059
|
+
protected nodeTabIndex(node: TreeNode): number;
|
|
4060
|
+
protected onNodeKeydown(event: KeyboardEvent, node: TreeNode): void;
|
|
4061
|
+
private focusNodeAt;
|
|
4062
|
+
/** Nodes currently rendered, in DOM order (visible and all ancestors expanded). */
|
|
4063
|
+
private getVisibleNodes;
|
|
4064
|
+
private selectNodeInto;
|
|
4065
|
+
private unselectNodeFrom;
|
|
4066
|
+
/**
|
|
4067
|
+
* Walks up from the given node: a parent becomes selected when all of its
|
|
4068
|
+
* direct children are selected, and is deselected otherwise.
|
|
4069
|
+
*/
|
|
4070
|
+
private updateAncestors;
|
|
3935
4071
|
/** Expand all nodes */
|
|
3936
4072
|
expandAll(): void;
|
|
3937
4073
|
/** Collapse all nodes */
|
|
@@ -3941,8 +4077,7 @@ declare class TwTreeComponent {
|
|
|
3941
4077
|
/** Clear selection */
|
|
3942
4078
|
clearSelection(): void;
|
|
3943
4079
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwTreeComponent, never>;
|
|
3944
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTreeComponent, "tw-tree", never, { "nodes": { "alias": "nodes"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "indentSize": { "alias": "indentSize"; "required": false; }; "propagateSelectionDown": { "alias": "propagateSelectionDown"; "required": false; }; "propagateSelectionUp": { "alias": "propagateSelectionUp"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; }, { "onNodeSelect": "onNodeSelect"; "onNodeUnselect": "onNodeUnselect"; "onNodeExpand": "onNodeExpand"; "onNodeCollapse": "onNodeCollapse"; "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
3945
|
-
static ngAcceptInputType_indentSize: unknown;
|
|
4080
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTreeComponent, "tw-tree", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "propagateSelectionDown": { "alias": "propagateSelectionDown"; "required": false; "isSignal": true; }; "propagateSelectionUp": { "alias": "propagateSelectionUp"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "onNodeSelect": "onNodeSelect"; "onNodeUnselect": "onNodeUnselect"; "onNodeExpand": "onNodeExpand"; "onNodeCollapse": "onNodeCollapse"; "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
3946
4081
|
}
|
|
3947
4082
|
|
|
3948
4083
|
interface TimelineEvent {
|
|
@@ -3981,12 +4116,14 @@ declare class TwTimelineComponent {
|
|
|
3981
4116
|
readonly classOverride: _angular_core.InputSignal<string>;
|
|
3982
4117
|
private readonly MARKER_SIZES;
|
|
3983
4118
|
protected containerClasses: _angular_core.Signal<string>;
|
|
3984
|
-
|
|
3985
|
-
protected
|
|
4119
|
+
/** Effective alignment for an item; 'alternate' resolves per index (even left, odd right) */
|
|
4120
|
+
protected effectiveAlign(index: number): 'left' | 'right';
|
|
4121
|
+
protected itemClasses(index: number, isFirst: boolean, isLast: boolean): string;
|
|
4122
|
+
protected connectorClasses(index: number): string;
|
|
3986
4123
|
protected markerContainerClasses(): string;
|
|
3987
4124
|
protected dotMarkerClasses(event: TimelineEvent): string;
|
|
3988
4125
|
protected iconMarkerClasses(event: TimelineEvent): string;
|
|
3989
|
-
protected contentClasses(): string;
|
|
4126
|
+
protected contentClasses(index: number): string;
|
|
3990
4127
|
protected dateClasses(): string;
|
|
3991
4128
|
protected titleClasses(): string;
|
|
3992
4129
|
protected descriptionClasses(): string;
|
|
@@ -3997,6 +4134,10 @@ declare class TwTimelineComponent {
|
|
|
3997
4134
|
interface BreadcrumbItem {
|
|
3998
4135
|
label: string;
|
|
3999
4136
|
href?: string;
|
|
4137
|
+
/**
|
|
4138
|
+
* Optional icon rendered before the label. Treated as an HTML string
|
|
4139
|
+
* (e.g. an inline SVG) and sanitized by Angular's built-in HTML sanitizer.
|
|
4140
|
+
*/
|
|
4000
4141
|
icon?: string;
|
|
4001
4142
|
}
|
|
4002
4143
|
type BreadcrumbSeparator = 'slash' | 'chevron' | 'arrow' | 'dot';
|
|
@@ -4072,8 +4213,8 @@ declare class TwStepsComponent {
|
|
|
4072
4213
|
private readonly twClass;
|
|
4073
4214
|
/** Step definitions */
|
|
4074
4215
|
readonly steps: _angular_core.InputSignal<StepItem[]>;
|
|
4075
|
-
/** Current active step index */
|
|
4076
|
-
readonly activeIndex: _angular_core.
|
|
4216
|
+
/** Current active step index (two-way bindable) */
|
|
4217
|
+
readonly activeIndex: _angular_core.ModelSignal<number>;
|
|
4077
4218
|
/** Orientation */
|
|
4078
4219
|
readonly orientation: _angular_core.InputSignal<StepsOrientation>;
|
|
4079
4220
|
/** Size variant */
|
|
@@ -4082,12 +4223,10 @@ declare class TwStepsComponent {
|
|
|
4082
4223
|
readonly showLabels: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4083
4224
|
/** Whether steps are readonly (non-clickable) */
|
|
4084
4225
|
readonly readonlyMode: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4085
|
-
/** Whether
|
|
4226
|
+
/** Whether navigation is linear (future steps are not clickable) */
|
|
4086
4227
|
readonly linear: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4087
4228
|
/** Additional classes */
|
|
4088
4229
|
readonly classOverride: _angular_core.InputSignal<string>;
|
|
4089
|
-
/** Active index change event */
|
|
4090
|
-
readonly activeIndexChange: _angular_core.OutputEmitterRef<number>;
|
|
4091
4230
|
/** Step click event */
|
|
4092
4231
|
readonly onStepClick$: _angular_core.OutputEmitterRef<{
|
|
4093
4232
|
step: StepItem;
|
|
@@ -4100,6 +4239,8 @@ declare class TwStepsComponent {
|
|
|
4100
4239
|
protected getHorizontalConnectorStyle(): Record<string, string>;
|
|
4101
4240
|
protected verticalConnectorClasses(index: number): string;
|
|
4102
4241
|
protected getVerticalConnectorStyle(): Record<string, string>;
|
|
4242
|
+
/** Whether the step at the given index can be activated by the user */
|
|
4243
|
+
protected isStepClickable(index: number): boolean;
|
|
4103
4244
|
protected stepContentClasses(index: number): string;
|
|
4104
4245
|
protected indicatorClasses(index: number): string;
|
|
4105
4246
|
protected labelContainerClasses(): string;
|
|
@@ -4114,7 +4255,7 @@ declare class TwStepsComponent {
|
|
|
4114
4255
|
/** Go to specific step */
|
|
4115
4256
|
goTo(index: number): void;
|
|
4116
4257
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwStepsComponent, never>;
|
|
4117
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwStepsComponent, "tw-steps", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "readonlyMode": { "alias": "readonly"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "
|
|
4258
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwStepsComponent, "tw-steps", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "readonlyMode": { "alias": "readonly"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "activeIndex": "activeIndexChange"; "onStepClick$": "onStepClick$"; }, never, never, true, never>;
|
|
4118
4259
|
}
|
|
4119
4260
|
|
|
4120
4261
|
interface MenuItem {
|
|
@@ -4125,6 +4266,10 @@ interface MenuItem {
|
|
|
4125
4266
|
item: MenuItem;
|
|
4126
4267
|
}) => void;
|
|
4127
4268
|
url?: string;
|
|
4269
|
+
/**
|
|
4270
|
+
* @deprecated The library does not depend on `@angular/router`; this value is
|
|
4271
|
+
* rendered as a plain `href` (array segments joined with `/`). Prefer `url`.
|
|
4272
|
+
*/
|
|
4128
4273
|
routerLink?: string | any[];
|
|
4129
4274
|
disabled?: boolean;
|
|
4130
4275
|
visible?: boolean;
|
|
@@ -4145,36 +4290,41 @@ type MenuVariant = 'default' | 'bordered' | 'elevated';
|
|
|
4145
4290
|
*/
|
|
4146
4291
|
declare class TwMenuComponent {
|
|
4147
4292
|
private readonly twClass;
|
|
4293
|
+
private readonly elementRef;
|
|
4294
|
+
private readonly document;
|
|
4148
4295
|
/** Menu items */
|
|
4149
|
-
items: MenuItem[]
|
|
4296
|
+
readonly items: _angular_core.InputSignal<MenuItem[]>;
|
|
4150
4297
|
/** Visual variant */
|
|
4151
|
-
variant: MenuVariant
|
|
4298
|
+
readonly variant: _angular_core.InputSignal<MenuVariant>;
|
|
4152
4299
|
/** Whether menu is popup style */
|
|
4153
|
-
popup: boolean
|
|
4300
|
+
readonly popup: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4154
4301
|
/** Additional classes */
|
|
4155
|
-
classOverride: string
|
|
4302
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
4156
4303
|
/** Item select event */
|
|
4157
|
-
onSelect:
|
|
4304
|
+
readonly onSelect: _angular_core.OutputEmitterRef<MenuItem>;
|
|
4158
4305
|
protected openSubmenu: _angular_core.WritableSignal<MenuItem | null>;
|
|
4159
4306
|
protected containerClasses: _angular_core.Signal<string>;
|
|
4160
4307
|
protected itemClasses(item: MenuItem): string;
|
|
4161
4308
|
protected separatorClasses(): string;
|
|
4162
4309
|
protected submenuClasses(): string;
|
|
4163
4310
|
protected badgeClasses(): string;
|
|
4311
|
+
/** Href for link items: `url` wins; `routerLink` renders as a plain href fallback */
|
|
4312
|
+
protected itemHref(item: MenuItem): string | null;
|
|
4164
4313
|
onSubmenuEnter(item: MenuItem): void;
|
|
4165
4314
|
onSubmenuLeave(): void;
|
|
4166
4315
|
onItemClick(item: MenuItem): void;
|
|
4316
|
+
protected onLinkClick(item: MenuItem, event: Event): void;
|
|
4317
|
+
protected onMenuKeydown(event: KeyboardEvent): void;
|
|
4167
4318
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwMenuComponent, never>;
|
|
4168
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwMenuComponent, "tw-menu", never, { "items": { "alias": "items"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "popup": { "alias": "popup"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; }, { "onSelect": "onSelect"; }, never, never, true, never>;
|
|
4169
|
-
static ngAcceptInputType_popup: unknown;
|
|
4319
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwMenuComponent, "tw-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "popup": { "alias": "popup"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; }, never, never, true, never>;
|
|
4170
4320
|
}
|
|
4171
4321
|
/**
|
|
4172
4322
|
* Context menu component
|
|
4173
4323
|
*/
|
|
4174
4324
|
declare class TwContextMenuComponent {
|
|
4175
|
-
items: MenuItem[]
|
|
4176
|
-
onSelect:
|
|
4177
|
-
onHide:
|
|
4325
|
+
readonly items: _angular_core.InputSignal<MenuItem[]>;
|
|
4326
|
+
readonly onSelect: _angular_core.OutputEmitterRef<MenuItem>;
|
|
4327
|
+
readonly onHide: _angular_core.OutputEmitterRef<void>;
|
|
4178
4328
|
protected visible: _angular_core.WritableSignal<boolean>;
|
|
4179
4329
|
protected x: _angular_core.WritableSignal<number>;
|
|
4180
4330
|
protected y: _angular_core.WritableSignal<number>;
|
|
@@ -4182,7 +4332,7 @@ declare class TwContextMenuComponent {
|
|
|
4182
4332
|
hide(): void;
|
|
4183
4333
|
onItemSelect(item: MenuItem): void;
|
|
4184
4334
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwContextMenuComponent, never>;
|
|
4185
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwContextMenuComponent, "tw-context-menu", never, { "items": { "alias": "items"; "required": false; }; }, { "onSelect": "onSelect"; "onHide": "onHide"; }, never, never, true, never>;
|
|
4335
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwContextMenuComponent, "tw-context-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onHide": "onHide"; }, never, never, true, never>;
|
|
4186
4336
|
}
|
|
4187
4337
|
|
|
4188
4338
|
type AlertVariant = 'info' | 'success' | 'warning' | 'danger' | 'neutral';
|
|
@@ -4201,7 +4351,8 @@ type AlertStyle = 'solid' | 'soft' | 'outlined' | 'accent';
|
|
|
4201
4351
|
* Your changes have been saved successfully.
|
|
4202
4352
|
* </tw-alert>
|
|
4203
4353
|
*
|
|
4204
|
-
* <tw-alert variant="danger" alertStyle="accent" [
|
|
4354
|
+
* <tw-alert variant="danger" alertStyle="accent" [hasCustomIcon]="true">
|
|
4355
|
+
* <svg twAlertIcon class="w-5 h-5" viewBox="0 0 24 24">...</svg>
|
|
4205
4356
|
* An error occurred while processing your request.
|
|
4206
4357
|
* </tw-alert>
|
|
4207
4358
|
* ```
|
|
@@ -4209,9 +4360,9 @@ type AlertStyle = 'solid' | 'soft' | 'outlined' | 'accent';
|
|
|
4209
4360
|
declare class TwAlertComponent {
|
|
4210
4361
|
private readonly twClass;
|
|
4211
4362
|
/** Color variant */
|
|
4212
|
-
variant: AlertVariant
|
|
4363
|
+
readonly variant: _angular_core.InputSignal<AlertVariant>;
|
|
4213
4364
|
/** Style variant */
|
|
4214
|
-
alertStyle: AlertStyle
|
|
4365
|
+
readonly alertStyle: _angular_core.InputSignal<AlertStyle>;
|
|
4215
4366
|
/** Whether the alert can be dismissed */
|
|
4216
4367
|
dismissible: boolean;
|
|
4217
4368
|
/** Whether to show the icon */
|
|
@@ -4219,12 +4370,19 @@ declare class TwAlertComponent {
|
|
|
4219
4370
|
/** Whether a custom icon is provided */
|
|
4220
4371
|
hasCustomIcon: boolean;
|
|
4221
4372
|
/** ARIA live region setting */
|
|
4222
|
-
ariaLive:
|
|
4373
|
+
readonly ariaLive: _angular_core.InputSignal<"polite" | "assertive" | "off">;
|
|
4223
4374
|
/** Additional classes */
|
|
4224
|
-
classOverride: string
|
|
4375
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
4225
4376
|
/** Dismiss event */
|
|
4226
4377
|
dismiss: EventEmitter<void>;
|
|
4227
4378
|
protected dismissed: _angular_core.WritableSignal<boolean>;
|
|
4379
|
+
/**
|
|
4380
|
+
* Role derived from the ariaLive setting: assertive maps to role="alert",
|
|
4381
|
+
* polite maps to role="status", off sets no role.
|
|
4382
|
+
*/
|
|
4383
|
+
protected readonly alertRole: _angular_core.Signal<"status" | "alert" | null>;
|
|
4384
|
+
/** aria-live attribute, omitted when the role already conveys the live semantics */
|
|
4385
|
+
protected readonly ariaLiveAttr: _angular_core.Signal<"polite" | "assertive" | "off" | null>;
|
|
4228
4386
|
protected computedClasses: _angular_core.Signal<string>;
|
|
4229
4387
|
protected iconClasses: _angular_core.Signal<string>;
|
|
4230
4388
|
protected dismissButtonClasses: _angular_core.Signal<string>;
|
|
@@ -4234,7 +4392,7 @@ declare class TwAlertComponent {
|
|
|
4234
4392
|
/** Programmatically show the alert again */
|
|
4235
4393
|
show(): void;
|
|
4236
4394
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwAlertComponent, never>;
|
|
4237
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAlertComponent, "tw-alert", never, { "variant": { "alias": "variant"; "required": false; }; "alertStyle": { "alias": "alertStyle"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "hasCustomIcon": { "alias": "hasCustomIcon"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; }, { "dismiss": "dismiss"; }, never, ["[twAlertIcon]", "*", "[twAlertAction]"], true, never>;
|
|
4395
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwAlertComponent, "tw-alert", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "alertStyle": { "alias": "alertStyle"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "hasCustomIcon": { "alias": "hasCustomIcon"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, ["[twAlertIcon]", "*", "[twAlertAction]"], true, never>;
|
|
4238
4396
|
static ngAcceptInputType_dismissible: unknown;
|
|
4239
4397
|
static ngAcceptInputType_showIcon: unknown;
|
|
4240
4398
|
static ngAcceptInputType_hasCustomIcon: unknown;
|
|
@@ -4275,9 +4433,14 @@ interface Toast extends ToastOptions {
|
|
|
4275
4433
|
declare class TwToastService {
|
|
4276
4434
|
private readonly _toasts;
|
|
4277
4435
|
private readonly _position;
|
|
4436
|
+
/** Pending auto-dismiss timers, keyed by toast id, so dismissal can cancel them. */
|
|
4437
|
+
private readonly timers;
|
|
4438
|
+
private _maxToasts;
|
|
4278
4439
|
readonly toasts: _angular_core.Signal<Toast[]>;
|
|
4279
4440
|
readonly position: _angular_core.Signal<ToastPosition>;
|
|
4280
4441
|
setPosition(position: ToastPosition): void;
|
|
4442
|
+
/** Cap the number of simultaneously shown toasts; the oldest are evicted. */
|
|
4443
|
+
setMaxToasts(max: number): void;
|
|
4281
4444
|
show(options: ToastOptions): string;
|
|
4282
4445
|
success(message: string, title?: string): string;
|
|
4283
4446
|
error(message: string, title?: string): string;
|
|
@@ -4285,6 +4448,7 @@ declare class TwToastService {
|
|
|
4285
4448
|
info(message: string, title?: string): string;
|
|
4286
4449
|
dismiss(id: string): void;
|
|
4287
4450
|
dismissAll(): void;
|
|
4451
|
+
private clearTimer;
|
|
4288
4452
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwToastService, never>;
|
|
4289
4453
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TwToastService>;
|
|
4290
4454
|
}
|
|
@@ -4314,6 +4478,8 @@ declare class TwToastComponent {
|
|
|
4314
4478
|
label: string;
|
|
4315
4479
|
onClick: () => void;
|
|
4316
4480
|
} | undefined>;
|
|
4481
|
+
/** Only urgent variants interrupt as alerts; the rest are polite status messages. */
|
|
4482
|
+
protected roleValue: _angular_core.Signal<"status" | "alert">;
|
|
4317
4483
|
protected toastClasses: _angular_core.Signal<string>;
|
|
4318
4484
|
protected iconClasses: _angular_core.Signal<string>;
|
|
4319
4485
|
protected onDismiss(): void;
|
|
@@ -4326,6 +4492,8 @@ declare class TwToastContainerComponent {
|
|
|
4326
4492
|
protected position: _angular_core.Signal<ToastPosition>;
|
|
4327
4493
|
constructor(toastService: TwToastService);
|
|
4328
4494
|
protected containerClasses: _angular_core.Signal<string>;
|
|
4495
|
+
/** Cached per-id dismiss closures so bindings stay referentially stable across CD runs. */
|
|
4496
|
+
private readonly dismissFns;
|
|
4329
4497
|
getDismissFunction(id: string): () => void;
|
|
4330
4498
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwToastContainerComponent, never>;
|
|
4331
4499
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwToastContainerComponent, "tw-toast-container", never, {}, {}, never, never, true, never>;
|
|
@@ -4337,13 +4505,17 @@ type SpinnerColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' |
|
|
|
4337
4505
|
declare class TwSpinnerComponent {
|
|
4338
4506
|
set size(val: SpinnerSize);
|
|
4339
4507
|
set variant(val: SpinnerVariant);
|
|
4508
|
+
/**
|
|
4509
|
+
* Spinner color. Accepts a named color, or a complete Tailwind utility class
|
|
4510
|
+
* matching the variant (e.g. `border-red-500` for the border variant,
|
|
4511
|
+
* `bg-red-500` for dots/pulse/bars). Partial values such as `red-500` are
|
|
4512
|
+
* not supported because Tailwind cannot generate classes composed at runtime.
|
|
4513
|
+
*/
|
|
4340
4514
|
set color(val: SpinnerColor | string);
|
|
4341
4515
|
protected _size: _angular_core.WritableSignal<SpinnerSize>;
|
|
4342
4516
|
protected _variant: _angular_core.WritableSignal<SpinnerVariant>;
|
|
4343
4517
|
protected _color: _angular_core.WritableSignal<string>;
|
|
4344
4518
|
protected variantVal: _angular_core.Signal<SpinnerVariant>;
|
|
4345
|
-
private readonly borderColors;
|
|
4346
|
-
private readonly bgColors;
|
|
4347
4519
|
private getBorderColor;
|
|
4348
4520
|
private getBgColor;
|
|
4349
4521
|
protected borderClasses: _angular_core.Signal<string>;
|
|
@@ -4358,6 +4530,11 @@ declare class TwSpinnerComponent {
|
|
|
4358
4530
|
declare class TwLoadingOverlayComponent {
|
|
4359
4531
|
set size(val: SpinnerSize);
|
|
4360
4532
|
set variant(val: SpinnerVariant);
|
|
4533
|
+
/**
|
|
4534
|
+
* Spinner color. Accepts a named color, or a complete Tailwind utility class
|
|
4535
|
+
* matching the variant (e.g. `border-red-500` for the border variant,
|
|
4536
|
+
* `bg-red-500` for dots/pulse/bars).
|
|
4537
|
+
*/
|
|
4361
4538
|
set color(val: SpinnerColor | string);
|
|
4362
4539
|
set message(val: string);
|
|
4363
4540
|
set overlay(val: 'full' | 'inline');
|
|
@@ -4404,6 +4581,7 @@ declare class TwProgressComponent {
|
|
|
4404
4581
|
protected labelText: _angular_core.Signal<string>;
|
|
4405
4582
|
protected showValueFlag: _angular_core.Signal<boolean>;
|
|
4406
4583
|
protected labelPositionVal: _angular_core.Signal<"top" | "bottom" | "inside">;
|
|
4584
|
+
protected indeterminateFlag: _angular_core.Signal<boolean>;
|
|
4407
4585
|
protected percentage: _angular_core.Signal<number>;
|
|
4408
4586
|
protected containerClasses: _angular_core.Signal<string>;
|
|
4409
4587
|
protected trackClasses: _angular_core.Signal<string>;
|
|
@@ -4455,6 +4633,7 @@ declare class TwSkeletonComponent {
|
|
|
4455
4633
|
protected customStyle: _angular_core.Signal<Record<string, string>>;
|
|
4456
4634
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSkeletonComponent, never>;
|
|
4457
4635
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSkeletonComponent, "tw-skeleton", never, { "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "animated": { "alias": "animated"; "required": false; }; }, {}, never, never, true, never>;
|
|
4636
|
+
static ngAcceptInputType_animated: unknown;
|
|
4458
4637
|
}
|
|
4459
4638
|
type SkeletonGap = 'sm' | 'md' | 'lg';
|
|
4460
4639
|
declare class TwSkeletonTextComponent {
|
|
@@ -4473,6 +4652,8 @@ declare class TwSkeletonTextComponent {
|
|
|
4473
4652
|
}[]>;
|
|
4474
4653
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSkeletonTextComponent, never>;
|
|
4475
4654
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSkeletonTextComponent, "tw-skeleton-text", never, { "lineCount": { "alias": "lineCount"; "required": false; }; "animated": { "alias": "animated"; "required": false; }; "lastLineWidth": { "alias": "lastLineWidth"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; }, {}, never, never, true, never>;
|
|
4655
|
+
static ngAcceptInputType_lineCount: unknown;
|
|
4656
|
+
static ngAcceptInputType_animated: unknown;
|
|
4476
4657
|
}
|
|
4477
4658
|
declare class TwSkeletonCardComponent {
|
|
4478
4659
|
set showMedia(value: boolean);
|
|
@@ -4489,6 +4670,10 @@ declare class TwSkeletonCardComponent {
|
|
|
4489
4670
|
protected lineCountValue: _angular_core.Signal<number>;
|
|
4490
4671
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSkeletonCardComponent, never>;
|
|
4491
4672
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSkeletonCardComponent, "tw-skeleton-card", never, { "showMedia": { "alias": "showMedia"; "required": false; }; "showAvatar": { "alias": "showAvatar"; "required": false; }; "mediaHeight": { "alias": "mediaHeight"; "required": false; }; "lineCount": { "alias": "lineCount"; "required": false; }; }, {}, never, never, true, never>;
|
|
4673
|
+
static ngAcceptInputType_showMedia: unknown;
|
|
4674
|
+
static ngAcceptInputType_showAvatar: unknown;
|
|
4675
|
+
static ngAcceptInputType_mediaHeight: unknown;
|
|
4676
|
+
static ngAcceptInputType_lineCount: unknown;
|
|
4492
4677
|
}
|
|
4493
4678
|
declare class TwSkeletonTableComponent {
|
|
4494
4679
|
set rowCount(value: number);
|
|
@@ -4502,6 +4687,8 @@ declare class TwSkeletonTableComponent {
|
|
|
4502
4687
|
}[]>;
|
|
4503
4688
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSkeletonTableComponent, never>;
|
|
4504
4689
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSkeletonTableComponent, "tw-skeleton-table", never, { "rowCount": { "alias": "rowCount"; "required": false; }; "columnCount": { "alias": "columnCount"; "required": false; }; }, {}, never, never, true, never>;
|
|
4690
|
+
static ngAcceptInputType_rowCount: unknown;
|
|
4691
|
+
static ngAcceptInputType_columnCount: unknown;
|
|
4505
4692
|
}
|
|
4506
4693
|
|
|
4507
4694
|
type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
@@ -4559,6 +4746,8 @@ declare class TwModalComponent implements OnDestroy {
|
|
|
4559
4746
|
closed: EventEmitter<void>;
|
|
4560
4747
|
openChange: EventEmitter<boolean>;
|
|
4561
4748
|
private previousOverflow;
|
|
4749
|
+
/** Projected title, used as the default aria-labelledby target */
|
|
4750
|
+
protected readonly modalTitle: _angular_core.Signal<TwModalTitleComponent | undefined>;
|
|
4562
4751
|
constructor();
|
|
4563
4752
|
ngOnDestroy(): void;
|
|
4564
4753
|
onEscapeKey(event: Event): void;
|
|
@@ -4576,7 +4765,7 @@ declare class TwModalComponent implements OnDestroy {
|
|
|
4576
4765
|
private lockScroll;
|
|
4577
4766
|
private unlockScroll;
|
|
4578
4767
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwModalComponent, never>;
|
|
4579
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwModalComponent, "tw-modal", never, { "open": { "alias": "open"; "required": false; }; "size": { "alias": "size"; "required": false; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; "centered": { "alias": "centered"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; "openChange": "openChange"; },
|
|
4768
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwModalComponent, "tw-modal", never, { "open": { "alias": "open"; "required": false; }; "size": { "alias": "size"; "required": false; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; "centered": { "alias": "centered"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; "openChange": "openChange"; }, ["modalTitle"], ["*"], true, never>;
|
|
4580
4769
|
static ngAcceptInputType_closeOnBackdropClick: unknown;
|
|
4581
4770
|
static ngAcceptInputType_closeOnEscape: unknown;
|
|
4582
4771
|
static ngAcceptInputType_showCloseButton: unknown;
|
|
@@ -4595,8 +4784,10 @@ declare class TwModalHeaderComponent {
|
|
|
4595
4784
|
* Modal title component
|
|
4596
4785
|
*/
|
|
4597
4786
|
declare class TwModalTitleComponent {
|
|
4787
|
+
/** Unique ID used as the modal's default aria-labelledby (auto-generated if not provided) */
|
|
4788
|
+
id: string;
|
|
4598
4789
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwModalTitleComponent, never>;
|
|
4599
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwModalTitleComponent, "tw-modal-title", never, {}, {}, never, ["*"], true, never>;
|
|
4790
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwModalTitleComponent, "tw-modal-title", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
4600
4791
|
}
|
|
4601
4792
|
/**
|
|
4602
4793
|
* Modal body component
|
|
@@ -4716,6 +4907,7 @@ declare class TwDropdownComponent implements OnDestroy {
|
|
|
4716
4907
|
/** Event emitted when the dropdown closes */
|
|
4717
4908
|
closed: EventEmitter<void>;
|
|
4718
4909
|
protected isOpen: _angular_core.WritableSignal<boolean>;
|
|
4910
|
+
private readonly triggerDirective;
|
|
4719
4911
|
private portalHost;
|
|
4720
4912
|
private portalElement;
|
|
4721
4913
|
private menuContentElement;
|
|
@@ -4730,11 +4922,13 @@ declare class TwDropdownComponent implements OnDestroy {
|
|
|
4730
4922
|
toggle(): void;
|
|
4731
4923
|
open(): void;
|
|
4732
4924
|
close(): void;
|
|
4925
|
+
private getMenuItems;
|
|
4926
|
+
private moveItemFocus;
|
|
4733
4927
|
private createPortal;
|
|
4734
4928
|
private destroyPortal;
|
|
4735
4929
|
private updatePosition;
|
|
4736
4930
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwDropdownComponent, never>;
|
|
4737
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwDropdownComponent, "tw-dropdown", never, { "position": { "alias": "position"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "menuClass": { "alias": "menuClass"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; },
|
|
4931
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwDropdownComponent, "tw-dropdown", never, { "position": { "alias": "position"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "menuClass": { "alias": "menuClass"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; }, ["triggerDirective"], ["[twDropdownTrigger]", "tw-dropdown-menu"], true, never>;
|
|
4738
4932
|
static ngAcceptInputType_disabled: unknown;
|
|
4739
4933
|
static ngAcceptInputType_closeOnSelect: unknown;
|
|
4740
4934
|
}
|
|
@@ -4749,7 +4943,7 @@ declare class TwDropdownMenuComponent {
|
|
|
4749
4943
|
* Trigger directive for dropdown
|
|
4750
4944
|
*/
|
|
4751
4945
|
declare class TwDropdownTriggerDirective {
|
|
4752
|
-
expanded: boolean
|
|
4946
|
+
readonly expanded: _angular_core.WritableSignal<boolean>;
|
|
4753
4947
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwDropdownTriggerDirective, never>;
|
|
4754
4948
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TwDropdownTriggerDirective, "[twDropdownTrigger]", never, {}, {}, never, never, true, never>;
|
|
4755
4949
|
}
|
|
@@ -4770,45 +4964,53 @@ type SidebarSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
|
4770
4964
|
*/
|
|
4771
4965
|
declare class TwSidebarComponent {
|
|
4772
4966
|
private readonly twClass;
|
|
4773
|
-
|
|
4967
|
+
private readonly platformId;
|
|
4968
|
+
/** Whether the sidebar is visible. Supports two-way binding via `[(visible)]`. */
|
|
4969
|
+
readonly visible: _angular_core.ModelSignal<boolean>;
|
|
4970
|
+
/**
|
|
4971
|
+
* Whether the sidebar is visible
|
|
4972
|
+
*
|
|
4973
|
+
* @deprecated Use `[(visible)]` instead.
|
|
4974
|
+
*/
|
|
4774
4975
|
set visibleInput(value: boolean);
|
|
4775
4976
|
/** Header text */
|
|
4776
|
-
header: string
|
|
4977
|
+
readonly header: _angular_core.InputSignal<string>;
|
|
4777
4978
|
/** Position of the sidebar */
|
|
4778
|
-
position: SidebarPosition
|
|
4979
|
+
readonly position: _angular_core.InputSignal<SidebarPosition>;
|
|
4779
4980
|
/** Size of the sidebar */
|
|
4780
|
-
size: SidebarSize
|
|
4981
|
+
readonly size: _angular_core.InputSignal<SidebarSize>;
|
|
4781
4982
|
/** Whether to show backdrop */
|
|
4782
|
-
showBackdrop: boolean
|
|
4983
|
+
readonly showBackdrop: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4783
4984
|
/** Whether clicking backdrop closes sidebar */
|
|
4784
|
-
dismissible: boolean
|
|
4985
|
+
readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4785
4986
|
/** Whether pressing Escape closes sidebar */
|
|
4786
|
-
closeOnEscape: boolean
|
|
4987
|
+
readonly closeOnEscape: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4787
4988
|
/** Whether to show close button */
|
|
4788
|
-
showCloseButton: boolean
|
|
4989
|
+
readonly showCloseButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4789
4990
|
/** Whether the sidebar is modal (blocks interaction with page) */
|
|
4790
|
-
modal: boolean
|
|
4991
|
+
readonly modal: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4791
4992
|
/** Additional classes */
|
|
4792
|
-
classOverride: string
|
|
4793
|
-
/** Visibility change event */
|
|
4794
|
-
visibleChange: EventEmitter<boolean>;
|
|
4993
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
4795
4994
|
/** Show event */
|
|
4796
|
-
onShow:
|
|
4995
|
+
readonly onShow: _angular_core.OutputEmitterRef<void>;
|
|
4797
4996
|
/** Hide event */
|
|
4798
|
-
onHide:
|
|
4799
|
-
footerTemplate
|
|
4800
|
-
|
|
4801
|
-
|
|
4997
|
+
readonly onHide: _angular_core.OutputEmitterRef<void>;
|
|
4998
|
+
footerTemplate?: TemplateRef<unknown>;
|
|
4999
|
+
/** Previous body overflow value, restored on hide so underlying scroll locks survive */
|
|
5000
|
+
private previousBodyOverflow;
|
|
4802
5001
|
protected backdropClasses: _angular_core.Signal<string>;
|
|
4803
5002
|
protected panelClasses: _angular_core.Signal<string>;
|
|
4804
5003
|
protected headerClasses: _angular_core.Signal<string>;
|
|
4805
5004
|
protected contentClasses: _angular_core.Signal<string>;
|
|
4806
5005
|
protected footerClasses: _angular_core.Signal<string>;
|
|
5006
|
+
constructor();
|
|
4807
5007
|
private getSizeClasses;
|
|
4808
5008
|
private getPositionClasses;
|
|
4809
5009
|
private getTransformClasses;
|
|
4810
5010
|
onEscapePress(): void;
|
|
4811
5011
|
onBackdropClick(): void;
|
|
5012
|
+
private applyShowEffects;
|
|
5013
|
+
private applyHideEffects;
|
|
4812
5014
|
/** Show the sidebar */
|
|
4813
5015
|
show(): void;
|
|
4814
5016
|
/** Hide the sidebar */
|
|
@@ -4816,13 +5018,8 @@ declare class TwSidebarComponent {
|
|
|
4816
5018
|
/** Toggle the sidebar visibility */
|
|
4817
5019
|
toggle(): void;
|
|
4818
5020
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwSidebarComponent, never>;
|
|
4819
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSidebarComponent, "tw-sidebar", never, { "visibleInput": { "alias": "visibleInput"; "required": false; }; "header": { "alias": "header"; "required": false; }; "position": { "alias": "position"; "required": false; }; "size": { "alias": "size"; "required": false; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "modal": { "alias": "modal"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; }, { "
|
|
5021
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwSidebarComponent, "tw-sidebar", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "visibleInput": { "alias": "visibleInput"; "required": false; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "onShow": "onShow"; "onHide": "onHide"; }, ["footerTemplate"], ["*", "[twSidebarFooter]"], true, never>;
|
|
4820
5022
|
static ngAcceptInputType_visibleInput: unknown;
|
|
4821
|
-
static ngAcceptInputType_showBackdrop: unknown;
|
|
4822
|
-
static ngAcceptInputType_dismissible: unknown;
|
|
4823
|
-
static ngAcceptInputType_closeOnEscape: unknown;
|
|
4824
|
-
static ngAcceptInputType_showCloseButton: unknown;
|
|
4825
|
-
static ngAcceptInputType_modal: unknown;
|
|
4826
5023
|
}
|
|
4827
5024
|
|
|
4828
5025
|
type PopoverPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
@@ -4870,6 +5067,7 @@ declare class TwPopoverComponent implements OnDestroy {
|
|
|
4870
5067
|
private hoverTimeout;
|
|
4871
5068
|
private portalHost;
|
|
4872
5069
|
private portalElement;
|
|
5070
|
+
private movedElements;
|
|
4873
5071
|
private clickOutsideListener;
|
|
4874
5072
|
private scrollListener;
|
|
4875
5073
|
private resizeListener;
|
|
@@ -4883,6 +5081,8 @@ declare class TwPopoverComponent implements OnDestroy {
|
|
|
4883
5081
|
onTriggerClick(): void;
|
|
4884
5082
|
onTriggerEnter(): void;
|
|
4885
5083
|
onTriggerLeave(): void;
|
|
5084
|
+
onTriggerFocusIn(): void;
|
|
5085
|
+
onTriggerFocusOut(): void;
|
|
4886
5086
|
private onPopoverEnter;
|
|
4887
5087
|
private onPopoverLeave;
|
|
4888
5088
|
private clearHoverTimeout;
|
|
@@ -4915,6 +5115,8 @@ type ImageBorderRadius = 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'f
|
|
|
4915
5115
|
*/
|
|
4916
5116
|
declare class TwImageComponent {
|
|
4917
5117
|
private readonly twClass;
|
|
5118
|
+
private readonly document;
|
|
5119
|
+
private readonly platformId;
|
|
4918
5120
|
/** Image source URL */
|
|
4919
5121
|
readonly src: _angular_core.InputSignal<string>;
|
|
4920
5122
|
/** Alternative text */
|
|
@@ -4949,7 +5151,9 @@ declare class TwImageComponent {
|
|
|
4949
5151
|
protected previewVisible: _angular_core.WritableSignal<boolean>;
|
|
4950
5152
|
protected zoomLevel: _angular_core.WritableSignal<number>;
|
|
4951
5153
|
protected rotation: _angular_core.WritableSignal<number>;
|
|
5154
|
+
private previousOverflow;
|
|
4952
5155
|
protected Math: Math;
|
|
5156
|
+
constructor();
|
|
4953
5157
|
protected containerClasses: _angular_core.Signal<string>;
|
|
4954
5158
|
protected containerStyles: _angular_core.Signal<Record<string, string>>;
|
|
4955
5159
|
protected imageClasses: _angular_core.Signal<string>;
|
|
@@ -4959,6 +5163,7 @@ declare class TwImageComponent {
|
|
|
4959
5163
|
onImageLoad(): void;
|
|
4960
5164
|
onImageError(): void;
|
|
4961
5165
|
onImageClick(): void;
|
|
5166
|
+
protected onThumbnailKeydown(event: KeyboardEvent): void;
|
|
4962
5167
|
openPreview(): void;
|
|
4963
5168
|
closePreview(): void;
|
|
4964
5169
|
zoomIn(): void;
|
|
@@ -4980,35 +5185,30 @@ type ScrollTopVariant = 'primary' | 'secondary' | 'dark';
|
|
|
4980
5185
|
* <tw-scroll-top [threshold]="200" position="bottom-left"></tw-scroll-top>
|
|
4981
5186
|
* ```
|
|
4982
5187
|
*/
|
|
4983
|
-
declare class TwScrollTopComponent
|
|
5188
|
+
declare class TwScrollTopComponent {
|
|
4984
5189
|
private readonly twClass;
|
|
4985
5190
|
private readonly platformId;
|
|
4986
5191
|
/** Scroll threshold to show button (in pixels) */
|
|
4987
|
-
threshold: number
|
|
5192
|
+
readonly threshold: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
4988
5193
|
/** Position of the button */
|
|
4989
|
-
position: ScrollTopPosition
|
|
5194
|
+
readonly position: _angular_core.InputSignal<ScrollTopPosition>;
|
|
4990
5195
|
/** Visual variant */
|
|
4991
|
-
variant: ScrollTopVariant
|
|
5196
|
+
readonly variant: _angular_core.InputSignal<ScrollTopVariant>;
|
|
4992
5197
|
/** Scroll behavior */
|
|
4993
|
-
behavior: ScrollBehavior
|
|
5198
|
+
readonly behavior: _angular_core.InputSignal<ScrollBehavior>;
|
|
4994
5199
|
/** Target element to scroll (defaults to window) */
|
|
4995
|
-
target:
|
|
5200
|
+
readonly target: _angular_core.InputSignal<Window | HTMLElement | null>;
|
|
4996
5201
|
/** Custom icon template */
|
|
4997
|
-
icon: TemplateRef<any> | null
|
|
5202
|
+
readonly icon: _angular_core.InputSignal<TemplateRef<any> | null>;
|
|
4998
5203
|
/** Additional classes */
|
|
4999
|
-
classOverride: string
|
|
5204
|
+
readonly classOverride: _angular_core.InputSignal<string>;
|
|
5000
5205
|
protected visible: _angular_core.WritableSignal<boolean>;
|
|
5001
|
-
private scrollListener;
|
|
5002
5206
|
protected buttonClasses: _angular_core.Signal<string>;
|
|
5003
|
-
|
|
5004
|
-
ngOnDestroy(): void;
|
|
5005
|
-
private setupScrollListener;
|
|
5006
|
-
private removeScrollListener;
|
|
5207
|
+
constructor();
|
|
5007
5208
|
private getScrollTop;
|
|
5008
5209
|
scrollToTop(): void;
|
|
5009
5210
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwScrollTopComponent, never>;
|
|
5010
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwScrollTopComponent, "tw-scroll-top", never, { "threshold": { "alias": "threshold"; "required": false; }; "position": { "alias": "position"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "behavior": { "alias": "behavior"; "required": false; }; "target": { "alias": "target"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "classOverride": { "alias": "classOverride"; "required": false; }; }, {}, never, never, true, never>;
|
|
5011
|
-
static ngAcceptInputType_threshold: unknown;
|
|
5211
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwScrollTopComponent, "tw-scroll-top", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "behavior": { "alias": "behavior"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5012
5212
|
}
|
|
5013
5213
|
|
|
5014
5214
|
type DialVariant = 'modern' | 'vintage' | 'minimal' | 'led' | 'light' | 'highContrast';
|
|
@@ -5022,10 +5222,12 @@ type DialSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
|
5022
5222
|
* <tw-volume-dial [value]="gain" variant="vintage" size="lg" [showValue]="true"></tw-volume-dial>
|
|
5023
5223
|
* ```
|
|
5024
5224
|
*/
|
|
5025
|
-
declare class TwVolumeDialComponent implements ControlValueAccessor {
|
|
5225
|
+
declare class TwVolumeDialComponent implements ControlValueAccessor, OnDestroy {
|
|
5026
5226
|
private readonly twClass;
|
|
5027
5227
|
private readonly a11y;
|
|
5228
|
+
private readonly mobileSupport;
|
|
5028
5229
|
private readonly dialSvg;
|
|
5230
|
+
ngOnDestroy(): void;
|
|
5029
5231
|
/** Initial/bound value - supports two-way binding with [(value)] */
|
|
5030
5232
|
readonly value: _angular_core.ModelSignal<number>;
|
|
5031
5233
|
readonly min: _angular_core.InputSignal<number>;
|
|
@@ -5054,6 +5256,9 @@ declare class TwVolumeDialComponent implements ControlValueAccessor {
|
|
|
5054
5256
|
private isDragging;
|
|
5055
5257
|
private startAngle;
|
|
5056
5258
|
private startValue;
|
|
5259
|
+
private dragController;
|
|
5260
|
+
private lastHapticTime;
|
|
5261
|
+
protected readonly effectiveReducedMotion: _angular_core.Signal<boolean>;
|
|
5057
5262
|
private onChangeFn;
|
|
5058
5263
|
private onTouchedFn;
|
|
5059
5264
|
protected readonly sizeConfig: _angular_core.Signal<{
|
|
@@ -5108,6 +5313,7 @@ declare class TwVolumeDialComponent implements ControlValueAccessor {
|
|
|
5108
5313
|
private getAngleFromPoint;
|
|
5109
5314
|
onKeyDown(event: KeyboardEvent): void;
|
|
5110
5315
|
private setValue;
|
|
5316
|
+
private triggerHaptics;
|
|
5111
5317
|
writeValue(value: number): void;
|
|
5112
5318
|
registerOnChange(fn: (value: number) => void): void;
|
|
5113
5319
|
registerOnTouched(fn: () => void): void;
|
|
@@ -5133,9 +5339,8 @@ interface MeterSegment {
|
|
|
5133
5339
|
* <tw-vu-meter [leftValue]="leftChannel" [rightValue]="rightChannel" [stereo]="true"></tw-vu-meter>
|
|
5134
5340
|
* ```
|
|
5135
5341
|
*/
|
|
5136
|
-
declare class TwVuMeterComponent
|
|
5342
|
+
declare class TwVuMeterComponent {
|
|
5137
5343
|
private readonly twClass;
|
|
5138
|
-
private readonly destroyRef;
|
|
5139
5344
|
readonly value: _angular_core.InputSignal<number>;
|
|
5140
5345
|
readonly leftValue: _angular_core.InputSignal<number>;
|
|
5141
5346
|
readonly rightValue: _angular_core.InputSignal<number>;
|
|
@@ -5174,10 +5379,10 @@ declare class TwVuMeterComponent implements OnInit {
|
|
|
5174
5379
|
protected readonly peakValues: _angular_core.WritableSignal<number[]>;
|
|
5175
5380
|
protected readonly rmsValues: _angular_core.WritableSignal<number[]>;
|
|
5176
5381
|
protected readonly clipStates: _angular_core.WritableSignal<boolean[]>;
|
|
5177
|
-
private
|
|
5382
|
+
private peakHoldUntil;
|
|
5178
5383
|
private rmsBuffers;
|
|
5179
5384
|
private rmsWriteIndices;
|
|
5180
|
-
|
|
5385
|
+
constructor();
|
|
5181
5386
|
protected readonly channels: _angular_core.Signal<number[]>;
|
|
5182
5387
|
protected readonly showRmsBar: _angular_core.Signal<boolean>;
|
|
5183
5388
|
protected readonly meterModeLabel: _angular_core.Signal<"" | "PEAK" | "RMS" | "P/R">;
|
|
@@ -5191,6 +5396,7 @@ declare class TwVuMeterComponent implements OnInit {
|
|
|
5191
5396
|
label: string;
|
|
5192
5397
|
}[]>;
|
|
5193
5398
|
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
5399
|
+
protected readonly meterAriaLabel: _angular_core.Signal<string>;
|
|
5194
5400
|
protected readonly effectiveHeight: _angular_core.Signal<number>;
|
|
5195
5401
|
protected readonly effectiveWidth: _angular_core.Signal<number>;
|
|
5196
5402
|
protected readonly effectiveBarWidth: _angular_core.Signal<number>;
|
|
@@ -5258,17 +5464,19 @@ interface WaveformColors {
|
|
|
5258
5464
|
* <tw-waveform [peaks]="peakData" variant="mirror" colorScheme="green"></tw-waveform>
|
|
5259
5465
|
* ```
|
|
5260
5466
|
*/
|
|
5261
|
-
declare class TwWaveformComponent implements AfterViewInit, OnChanges {
|
|
5467
|
+
declare class TwWaveformComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
5262
5468
|
private readonly twClass;
|
|
5263
|
-
private readonly
|
|
5469
|
+
private readonly zone;
|
|
5264
5470
|
private readonly canvas;
|
|
5265
5471
|
readonly audioBuffer: _angular_core.InputSignal<AudioBuffer | null>;
|
|
5266
5472
|
readonly peaks: _angular_core.InputSignal<number[]>;
|
|
5267
5473
|
readonly duration: _angular_core.InputSignal<number>;
|
|
5268
5474
|
readonly mode: _angular_core.InputSignal<WaveformMode>;
|
|
5269
5475
|
readonly analyserNode: _angular_core.InputSignal<AnalyserNode | null>;
|
|
5270
|
-
|
|
5271
|
-
readonly
|
|
5476
|
+
/** FFT size for real-time analysis. When omitted, the analyser node's existing fftSize is used untouched. */
|
|
5477
|
+
readonly fftSize: _angular_core.InputSignal<number | undefined>;
|
|
5478
|
+
/** Smoothing factor for real-time analysis. When omitted, the analyser node's existing smoothing is used untouched. */
|
|
5479
|
+
readonly smoothing: _angular_core.InputSignal<number | undefined>;
|
|
5272
5480
|
readonly showTriggerLine: _angular_core.InputSignal<boolean>;
|
|
5273
5481
|
readonly gain: _angular_core.InputSignal<number>;
|
|
5274
5482
|
readonly size: _angular_core.InputSignal<WaveformSize>;
|
|
@@ -5322,12 +5530,15 @@ declare class TwWaveformComponent implements AfterViewInit, OnChanges {
|
|
|
5322
5530
|
private ctx;
|
|
5323
5531
|
private peakData;
|
|
5324
5532
|
private animationFrame;
|
|
5533
|
+
private panDragController;
|
|
5534
|
+
private peakProcessToken;
|
|
5325
5535
|
private timeDomainData;
|
|
5326
5536
|
private isRealTimeRunning;
|
|
5327
5537
|
protected readonly Math: Math;
|
|
5328
5538
|
constructor();
|
|
5329
5539
|
ngAfterViewInit(): void;
|
|
5330
5540
|
ngOnChanges(changes: SimpleChanges): void;
|
|
5541
|
+
ngOnDestroy(): void;
|
|
5331
5542
|
protected readonly effectiveWidth: _angular_core.Signal<number>;
|
|
5332
5543
|
protected readonly effectiveHeight: _angular_core.Signal<number>;
|
|
5333
5544
|
protected readonly effectiveBarWidth: _angular_core.Signal<number>;
|
|
@@ -5350,6 +5561,8 @@ declare class TwWaveformComponent implements AfterViewInit, OnChanges {
|
|
|
5350
5561
|
protected readonly colors: _angular_core.Signal<WaveformColors>;
|
|
5351
5562
|
private initCanvas;
|
|
5352
5563
|
private processPeaks;
|
|
5564
|
+
private processPeaksChunked;
|
|
5565
|
+
private scanPeakRange;
|
|
5353
5566
|
private setupRealTimeMode;
|
|
5354
5567
|
private stopRealTimeMode;
|
|
5355
5568
|
private drawRealTime;
|
|
@@ -5501,9 +5714,11 @@ interface ThumbnailSpriteConfig {
|
|
|
5501
5714
|
* ></tw-scrubber>
|
|
5502
5715
|
* ```
|
|
5503
5716
|
*/
|
|
5504
|
-
declare class TwScrubberComponent {
|
|
5717
|
+
declare class TwScrubberComponent implements OnDestroy {
|
|
5505
5718
|
private readonly twClass;
|
|
5506
5719
|
private readonly trackContainer;
|
|
5720
|
+
private dragController;
|
|
5721
|
+
ngOnDestroy(): void;
|
|
5507
5722
|
readonly currentTime: _angular_core.InputSignal<number>;
|
|
5508
5723
|
readonly duration: _angular_core.InputSignal<number>;
|
|
5509
5724
|
readonly buffered: _angular_core.InputSignal<number>;
|
|
@@ -5571,6 +5786,7 @@ type FaderOrientation = 'vertical' | 'horizontal';
|
|
|
5571
5786
|
declare class TwFaderComponent implements ControlValueAccessor, OnDestroy {
|
|
5572
5787
|
private readonly elementRef;
|
|
5573
5788
|
private readonly a11y;
|
|
5789
|
+
private readonly mobileSupport;
|
|
5574
5790
|
private readonly trackRef;
|
|
5575
5791
|
constructor();
|
|
5576
5792
|
ngOnDestroy(): void;
|
|
@@ -5610,10 +5826,16 @@ declare class TwFaderComponent implements ControlValueAccessor, OnDestroy {
|
|
|
5610
5826
|
protected readonly internalValue: _angular_core.WritableSignal<number>;
|
|
5611
5827
|
protected readonly isDragging: _angular_core.WritableSignal<boolean>;
|
|
5612
5828
|
protected readonly peakHoldLevel: _angular_core.WritableSignal<number>;
|
|
5829
|
+
private readonly cvaDisabled;
|
|
5830
|
+
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
5831
|
+
protected readonly ariaLabel: _angular_core.Signal<string>;
|
|
5832
|
+
protected readonly effectiveReducedMotion: _angular_core.Signal<boolean>;
|
|
5613
5833
|
private onChange;
|
|
5614
5834
|
private onTouched;
|
|
5615
5835
|
private peakHoldTimeout;
|
|
5616
5836
|
private lastPeakLevel;
|
|
5837
|
+
private dragController;
|
|
5838
|
+
private lastHapticTime;
|
|
5617
5839
|
protected readonly dimensions: _angular_core.Signal<{
|
|
5618
5840
|
trackLength: number;
|
|
5619
5841
|
trackWidth: number;
|
|
@@ -5678,9 +5900,11 @@ declare class TwFaderComponent implements ControlValueAccessor, OnDestroy {
|
|
|
5678
5900
|
protected checkPeakLevel(): void;
|
|
5679
5901
|
onMouseDown(event: MouseEvent): void;
|
|
5680
5902
|
onTouchStart(event: TouchEvent): void;
|
|
5903
|
+
onKeyDown(event: KeyboardEvent): void;
|
|
5681
5904
|
private startDrag;
|
|
5682
5905
|
private updateValueFromPosition;
|
|
5683
5906
|
private setValue;
|
|
5907
|
+
private triggerHaptics;
|
|
5684
5908
|
protected resetToDefault(): void;
|
|
5685
5909
|
writeValue(value: number): void;
|
|
5686
5910
|
registerOnChange(fn: (value: number) => void): void;
|
|
@@ -5702,7 +5926,7 @@ type PanControlSize = 'sm' | 'md' | 'lg';
|
|
|
5702
5926
|
* <tw-pan-control variant="stereo-width" [(ngModel)]="width"></tw-pan-control>
|
|
5703
5927
|
* ```
|
|
5704
5928
|
*/
|
|
5705
|
-
declare class TwPanControlComponent implements ControlValueAccessor {
|
|
5929
|
+
declare class TwPanControlComponent implements ControlValueAccessor, OnDestroy {
|
|
5706
5930
|
private readonly twClass;
|
|
5707
5931
|
protected readonly Math: Math;
|
|
5708
5932
|
private readonly trackRef;
|
|
@@ -5724,6 +5948,9 @@ declare class TwPanControlComponent implements ControlValueAccessor {
|
|
|
5724
5948
|
protected readonly isDragging: _angular_core.WritableSignal<boolean>;
|
|
5725
5949
|
private onChange;
|
|
5726
5950
|
private onTouched;
|
|
5951
|
+
private dragController;
|
|
5952
|
+
private dragRect;
|
|
5953
|
+
ngOnDestroy(): void;
|
|
5727
5954
|
writeValue(value: number): void;
|
|
5728
5955
|
registerOnChange(fn: (value: number) => void): void;
|
|
5729
5956
|
registerOnTouched(fn: () => void): void;
|
|
@@ -5747,6 +5974,7 @@ declare class TwPanControlComponent implements ControlValueAccessor {
|
|
|
5747
5974
|
}[]>;
|
|
5748
5975
|
onMouseDown(event: MouseEvent): void;
|
|
5749
5976
|
onDoubleClick(): void;
|
|
5977
|
+
onKeyDown(event: KeyboardEvent): void;
|
|
5750
5978
|
private readonly onMouseMove;
|
|
5751
5979
|
private readonly onMouseUp;
|
|
5752
5980
|
private updateValueFromMouseEvent;
|
|
@@ -5829,6 +6057,7 @@ type FrequencyScale = 'linear' | 'logarithmic';
|
|
|
5829
6057
|
declare class TwSpectrumComponent implements AfterViewInit, OnChanges {
|
|
5830
6058
|
private readonly twClass;
|
|
5831
6059
|
private readonly destroyRef;
|
|
6060
|
+
private readonly zone;
|
|
5832
6061
|
private readonly canvas;
|
|
5833
6062
|
readonly analyserNode: _angular_core.InputSignal<AnalyserNode | null>;
|
|
5834
6063
|
readonly frequencyData: _angular_core.InputSignal<number[] | Uint8Array<ArrayBufferLike>>;
|
|
@@ -5839,9 +6068,12 @@ declare class TwSpectrumComponent implements AfterViewInit, OnChanges {
|
|
|
5839
6068
|
readonly barCount: _angular_core.InputSignal<number>;
|
|
5840
6069
|
readonly barGap: _angular_core.InputSignal<number>;
|
|
5841
6070
|
readonly barRadius: _angular_core.InputSignal<number>;
|
|
5842
|
-
|
|
5843
|
-
readonly
|
|
5844
|
-
|
|
6071
|
+
/** Smoothing factor applied to the analyser. When omitted, the node's existing smoothing is used untouched. */
|
|
6072
|
+
readonly smoothing: _angular_core.InputSignal<number | undefined>;
|
|
6073
|
+
/** Analyser minDecibels. When omitted, the node's existing value is used untouched. */
|
|
6074
|
+
readonly minDecibels: _angular_core.InputSignal<number | undefined>;
|
|
6075
|
+
/** Analyser maxDecibels. When omitted, the node's existing value is used untouched. */
|
|
6076
|
+
readonly maxDecibels: _angular_core.InputSignal<number | undefined>;
|
|
5845
6077
|
readonly showPeaks: _angular_core.InputSignal<boolean>;
|
|
5846
6078
|
readonly peakDecay: _angular_core.InputSignal<number>;
|
|
5847
6079
|
readonly showLabels: _angular_core.InputSignal<boolean>;
|
|
@@ -5859,13 +6091,16 @@ declare class TwSpectrumComponent implements AfterViewInit, OnChanges {
|
|
|
5859
6091
|
readonly frequencyScale: _angular_core.InputSignal<FrequencyScale>;
|
|
5860
6092
|
readonly minFrequency: _angular_core.InputSignal<number>;
|
|
5861
6093
|
readonly maxFrequency: _angular_core.InputSignal<number>;
|
|
6094
|
+
protected readonly effectiveFrequencyScale: _angular_core.WritableSignal<FrequencyScale>;
|
|
5862
6095
|
private ctx;
|
|
5863
6096
|
private animationFrame;
|
|
5864
6097
|
private dataArray;
|
|
6098
|
+
private conversionBuffer;
|
|
5865
6099
|
private peaks;
|
|
5866
6100
|
private isRunning;
|
|
5867
6101
|
private sampleRate;
|
|
5868
6102
|
private binToBarMapping;
|
|
6103
|
+
constructor();
|
|
5869
6104
|
protected readonly frequencyLabels: _angular_core.Signal<string[]>;
|
|
5870
6105
|
private labelToFreq;
|
|
5871
6106
|
private freqToLabel;
|
|
@@ -5877,6 +6112,7 @@ declare class TwSpectrumComponent implements AfterViewInit, OnChanges {
|
|
|
5877
6112
|
private calculateBinMapping;
|
|
5878
6113
|
private startAnimation;
|
|
5879
6114
|
private draw;
|
|
6115
|
+
private getStaticData;
|
|
5880
6116
|
private drawBars;
|
|
5881
6117
|
private getBarValue;
|
|
5882
6118
|
private drawGradientBars;
|
|
@@ -5940,7 +6176,7 @@ interface MidiDevice {
|
|
|
5940
6176
|
* ></tw-piano>
|
|
5941
6177
|
* ```
|
|
5942
6178
|
*/
|
|
5943
|
-
declare class TwPianoComponent {
|
|
6179
|
+
declare class TwPianoComponent implements OnDestroy {
|
|
5944
6180
|
private readonly twClass;
|
|
5945
6181
|
readonly startOctave: _angular_core.InputSignal<number>;
|
|
5946
6182
|
readonly octaves: _angular_core.InputSignal<number>;
|
|
@@ -5968,6 +6204,8 @@ declare class TwPianoComponent {
|
|
|
5968
6204
|
protected readonly connectedMidiDevice: _angular_core.WritableSignal<MidiDevice | null>;
|
|
5969
6205
|
private midiAccess;
|
|
5970
6206
|
private midiInputs;
|
|
6207
|
+
private readonly midiStateChangeHandler;
|
|
6208
|
+
ngOnDestroy(): void;
|
|
5971
6209
|
private readonly sizeConfig;
|
|
5972
6210
|
protected readonly height: _angular_core.Signal<number>;
|
|
5973
6211
|
protected readonly whiteKeyWidth: _angular_core.Signal<number>;
|
|
@@ -5990,6 +6228,8 @@ declare class TwPianoComponent {
|
|
|
5990
6228
|
onKeyUp(key: PianoKey): void;
|
|
5991
6229
|
onTouchStart(event: TouchEvent, key: PianoKey): void;
|
|
5992
6230
|
onTouchEnd(key: PianoKey): void;
|
|
6231
|
+
onKeyboardDown(event: Event, key: PianoKey): void;
|
|
6232
|
+
onKeyboardUp(event: Event, key: PianoKey): void;
|
|
5993
6233
|
initMidi(): Promise<void>;
|
|
5994
6234
|
private updateMidiDevices;
|
|
5995
6235
|
private handleMidiMessage;
|
|
@@ -6034,6 +6274,8 @@ interface EQBandChange {
|
|
|
6034
6274
|
}
|
|
6035
6275
|
declare class TwParametricEQComponent implements AfterViewInit, OnDestroy {
|
|
6036
6276
|
canvasRef: ElementRef<HTMLCanvasElement>;
|
|
6277
|
+
private readonly zone;
|
|
6278
|
+
constructor();
|
|
6037
6279
|
readonly bands: _angular_core.InputSignal<EQBand[]>;
|
|
6038
6280
|
readonly width: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
6039
6281
|
readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -6068,6 +6310,7 @@ declare class TwParametricEQComponent implements AfterViewInit, OnDestroy {
|
|
|
6068
6310
|
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
6069
6311
|
ngAfterViewInit(): void;
|
|
6070
6312
|
ngOnDestroy(): void;
|
|
6313
|
+
private requestDraw;
|
|
6071
6314
|
onMouseDown(event: MouseEvent): void;
|
|
6072
6315
|
onMouseMove(event: MouseEvent): void;
|
|
6073
6316
|
onMouseUp(): void;
|
|
@@ -6087,6 +6330,8 @@ declare class TwParametricEQComponent implements AfterViewInit, OnDestroy {
|
|
|
6087
6330
|
private findBandAtPosition;
|
|
6088
6331
|
protected toggleBand(band: EQBand): void;
|
|
6089
6332
|
protected selectBand(band: EQBand): void;
|
|
6333
|
+
protected onBandKeydown(event: KeyboardEvent, band: EQBand): void;
|
|
6334
|
+
protected bandAriaLabel(band: EQBand): string;
|
|
6090
6335
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwParametricEQComponent, never>;
|
|
6091
6336
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwParametricEQComponent, "tw-parametric-eq", never, { "bands": { "alias": "bands"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "minFreq": { "alias": "minFreq"; "required": false; "isSignal": true; }; "maxFreq": { "alias": "maxFreq"; "required": false; "isSignal": true; }; "minGain": { "alias": "minGain"; "required": false; "isSignal": true; }; "maxGain": { "alias": "maxGain"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "showCurve": { "alias": "showCurve"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "analyserNode": { "alias": "analyserNode"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "bandChange": "bandChange"; "bandsChange": "bandsChange"; }, never, never, true, never>;
|
|
6092
6337
|
}
|
|
@@ -6106,7 +6351,7 @@ interface EQPreset {
|
|
|
6106
6351
|
}
|
|
6107
6352
|
type EQPresetCategory = 'flat' | 'music' | 'voice' | 'instrument' | 'correction' | 'custom';
|
|
6108
6353
|
declare const EQ_PRESETS: EQPreset[];
|
|
6109
|
-
declare class TwGraphicEQComponent implements ControlValueAccessor {
|
|
6354
|
+
declare class TwGraphicEQComponent implements ControlValueAccessor, OnDestroy {
|
|
6110
6355
|
readonly bandCount: _angular_core.InputSignal<GraphicEQBandCount>;
|
|
6111
6356
|
readonly minGain: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
6112
6357
|
readonly maxGain: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -6135,6 +6380,8 @@ declare class TwGraphicEQComponent implements ControlValueAccessor {
|
|
|
6135
6380
|
protected readonly EQ_PRESETS: EQPreset[];
|
|
6136
6381
|
private onChange;
|
|
6137
6382
|
private onTouched;
|
|
6383
|
+
private dragController;
|
|
6384
|
+
ngOnDestroy(): void;
|
|
6138
6385
|
protected readonly frequencies: _angular_core.Signal<number[]>;
|
|
6139
6386
|
protected readonly availablePresets: _angular_core.Signal<EQPreset[]>;
|
|
6140
6387
|
protected readonly filteredPresets: _angular_core.Signal<EQPreset[]>;
|
|
@@ -6159,8 +6406,7 @@ declare class TwGraphicEQComponent implements ControlValueAccessor {
|
|
|
6159
6406
|
protected readonly curvePath: _angular_core.Signal<string>;
|
|
6160
6407
|
protected onBandMouseDown(event: MouseEvent, bandIndex: number): void;
|
|
6161
6408
|
protected onBandTouchStart(event: TouchEvent, bandIndex: number): void;
|
|
6162
|
-
|
|
6163
|
-
private updateBandFromTouch;
|
|
6409
|
+
protected onBandKeydown(event: KeyboardEvent, bandIndex: number): void;
|
|
6164
6410
|
private updateBandValue;
|
|
6165
6411
|
private emitValues;
|
|
6166
6412
|
protected resetBand(bandIndex: number): void;
|
|
@@ -6188,6 +6434,7 @@ type OscilloscopeVariant = 'default' | 'retro' | 'neon' | 'minimal';
|
|
|
6188
6434
|
type OscilloscopeTriggerMode = 'auto' | 'normal' | 'single';
|
|
6189
6435
|
declare class TwOscilloscopeComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
6190
6436
|
private readonly canvasRef;
|
|
6437
|
+
private readonly zone;
|
|
6191
6438
|
readonly analyserNode: _angular_core.InputSignal<AnalyserNode | undefined>;
|
|
6192
6439
|
readonly width: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
6193
6440
|
readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -6204,6 +6451,7 @@ declare class TwOscilloscopeComponent implements AfterViewInit, OnChanges, OnDes
|
|
|
6204
6451
|
private ctx;
|
|
6205
6452
|
private animationFrameId;
|
|
6206
6453
|
private dataArray;
|
|
6454
|
+
private singleFrozen;
|
|
6207
6455
|
protected readonly colors: _angular_core.Signal<{
|
|
6208
6456
|
background: string;
|
|
6209
6457
|
grid: string;
|
|
@@ -6216,6 +6464,9 @@ declare class TwOscilloscopeComponent implements AfterViewInit, OnChanges, OnDes
|
|
|
6216
6464
|
ngOnChanges(changes: SimpleChanges): void;
|
|
6217
6465
|
ngOnDestroy(): void;
|
|
6218
6466
|
private setupAnalyser;
|
|
6467
|
+
/** Re-arm a frozen 'single' trigger sweep and resume drawing. */
|
|
6468
|
+
rearm(): void;
|
|
6469
|
+
private restartDraw;
|
|
6219
6470
|
private draw;
|
|
6220
6471
|
private drawGrid;
|
|
6221
6472
|
private drawWaveform;
|
|
@@ -6296,6 +6547,8 @@ declare class TwChannelStripComponent implements ControlValueAccessor {
|
|
|
6296
6547
|
protected readonly dialSize: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
6297
6548
|
protected readonly labelClasses: _angular_core.Signal<string>;
|
|
6298
6549
|
protected readonly auxKnobSize: _angular_core.Signal<"xs" | "sm">;
|
|
6550
|
+
protected readonly meterHeight: _angular_core.Signal<100 | 60 | 80>;
|
|
6551
|
+
protected peakMarkerBottom(peak: number): number;
|
|
6299
6552
|
protected onVolumeChange(value: number): void;
|
|
6300
6553
|
protected onPanChange(value: number): void;
|
|
6301
6554
|
protected toggleMute(): void;
|
|
@@ -6401,6 +6654,7 @@ declare class TwMixerComponent {
|
|
|
6401
6654
|
protected readonly scrollOffset: _angular_core.WritableSignal<number>;
|
|
6402
6655
|
protected readonly collapsedSections: _angular_core.WritableSignal<Set<string>>;
|
|
6403
6656
|
protected readonly currentBreakpoint: _angular_core.WritableSignal<MixerBreakpoint>;
|
|
6657
|
+
constructor();
|
|
6404
6658
|
protected readonly visibleChannels: _angular_core.Signal<MixerChannel[]>;
|
|
6405
6659
|
protected readonly effectiveMaxChannels: _angular_core.Signal<number>;
|
|
6406
6660
|
protected readonly effectiveSize: _angular_core.Signal<MixerSize>;
|
|
@@ -6450,7 +6704,7 @@ interface MetronomeBeat {
|
|
|
6450
6704
|
}
|
|
6451
6705
|
declare const ACCENT_PRESETS: Record<TimeSignature, AccentPattern[]>;
|
|
6452
6706
|
declare class TwMetronomeComponent implements OnInit, OnDestroy {
|
|
6453
|
-
private readonly
|
|
6707
|
+
private readonly zone;
|
|
6454
6708
|
readonly bpm: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
6455
6709
|
readonly timeSignature: _angular_core.InputSignal<TimeSignature>;
|
|
6456
6710
|
readonly variant: _angular_core.InputSignal<MetronomeVariant>;
|
|
@@ -6477,9 +6731,17 @@ declare class TwMetronomeComponent implements OnInit, OnDestroy {
|
|
|
6477
6731
|
protected readonly tapTimes: _angular_core.WritableSignal<number[]>;
|
|
6478
6732
|
protected readonly internalAccentPattern: _angular_core.WritableSignal<AccentLevel[]>;
|
|
6479
6733
|
protected readonly selectedPresetIndex: _angular_core.WritableSignal<number>;
|
|
6734
|
+
/** True when the AudioContext could not resume without a user gesture (e.g. autoStart). */
|
|
6735
|
+
protected readonly needsGesture: _angular_core.WritableSignal<boolean>;
|
|
6480
6736
|
protected readonly Math: Math;
|
|
6481
|
-
private readonly stop$;
|
|
6482
6737
|
private audioContext;
|
|
6738
|
+
private schedulerTimer;
|
|
6739
|
+
private nextNoteTime;
|
|
6740
|
+
private subBeatCounter;
|
|
6741
|
+
private beatCounter;
|
|
6742
|
+
private readonly pendingBeatTimeouts;
|
|
6743
|
+
private static readonly SCHEDULER_INTERVAL_MS;
|
|
6744
|
+
private static readonly LOOKAHEAD_SECONDS;
|
|
6483
6745
|
protected readonly beatsPerMeasure: _angular_core.Signal<number>;
|
|
6484
6746
|
protected readonly beatUnit: _angular_core.Signal<number>;
|
|
6485
6747
|
protected readonly beatIndicators: _angular_core.Signal<number[]>;
|
|
@@ -6493,7 +6755,9 @@ declare class TwMetronomeComponent implements OnInit, OnDestroy {
|
|
|
6493
6755
|
ngOnInit(): void;
|
|
6494
6756
|
private initializeAccentPattern;
|
|
6495
6757
|
ngOnDestroy(): void;
|
|
6496
|
-
protected start(): void
|
|
6758
|
+
protected start(): Promise<void>;
|
|
6759
|
+
private scheduler;
|
|
6760
|
+
private scheduleSubBeat;
|
|
6497
6761
|
protected stop(): void;
|
|
6498
6762
|
protected toggle(): void;
|
|
6499
6763
|
protected onBpmInput(event: Event): void;
|
|
@@ -6520,14 +6784,18 @@ interface BeatEvent {
|
|
|
6520
6784
|
}
|
|
6521
6785
|
declare class TwVisualizerComponent implements AfterViewInit, OnDestroy {
|
|
6522
6786
|
canvasRef: ElementRef<HTMLCanvasElement>;
|
|
6787
|
+
private readonly zone;
|
|
6523
6788
|
readonly analyserNode: _angular_core.InputSignal<AnalyserNode | undefined>;
|
|
6789
|
+
/** Render animated mock data when no analyser node is connected (for demos). */
|
|
6790
|
+
readonly demoMode: _angular_core.InputSignal<boolean>;
|
|
6524
6791
|
readonly width: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
6525
6792
|
readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
6526
6793
|
readonly variant: _angular_core.InputSignal<VisualizerVariant>;
|
|
6527
6794
|
readonly colorScheme: _angular_core.InputSignal<VisualizerColorScheme>;
|
|
6528
6795
|
readonly customColors: _angular_core.InputSignal<string[]>;
|
|
6529
6796
|
readonly sensitivity: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
6530
|
-
|
|
6797
|
+
/** Smoothing factor applied to the analyser. When omitted, the node's existing smoothing is used untouched. */
|
|
6798
|
+
readonly smoothing: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
|
|
6531
6799
|
readonly backgroundColor: _angular_core.InputSignal<string>;
|
|
6532
6800
|
readonly showBackground: _angular_core.InputSignal<boolean>;
|
|
6533
6801
|
readonly reactive: _angular_core.InputSignal<boolean>;
|
|
@@ -6553,6 +6821,7 @@ declare class TwVisualizerComponent implements AfterViewInit, OnDestroy {
|
|
|
6553
6821
|
private timeDomainData;
|
|
6554
6822
|
private particles;
|
|
6555
6823
|
private rotation;
|
|
6824
|
+
private idleFrameDrawn;
|
|
6556
6825
|
private readonly energyHistory;
|
|
6557
6826
|
private beatTimestamps;
|
|
6558
6827
|
private lastBeatTime;
|
|
@@ -6562,6 +6831,8 @@ declare class TwVisualizerComponent implements AfterViewInit, OnDestroy {
|
|
|
6562
6831
|
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
6563
6832
|
ngAfterViewInit(): void;
|
|
6564
6833
|
ngOnDestroy(): void;
|
|
6834
|
+
private scheduleNextFrame;
|
|
6835
|
+
private drawIdleFrame;
|
|
6565
6836
|
private draw;
|
|
6566
6837
|
private detectBeat;
|
|
6567
6838
|
private getFrequencyBandEnergy;
|
|
@@ -6579,7 +6850,7 @@ declare class TwVisualizerComponent implements AfterViewInit, OnDestroy {
|
|
|
6579
6850
|
private getAverageFrequency;
|
|
6580
6851
|
private roundRect;
|
|
6581
6852
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwVisualizerComponent, never>;
|
|
6582
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwVisualizerComponent, "tw-visualizer", never, { "analyserNode": { "alias": "analyserNode"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "colorScheme": { "alias": "colorScheme"; "required": false; "isSignal": true; }; "customColors": { "alias": "customColors"; "required": false; "isSignal": true; }; "sensitivity": { "alias": "sensitivity"; "required": false; "isSignal": true; }; "smoothing": { "alias": "smoothing"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "showBackground": { "alias": "showBackground"; "required": false; "isSignal": true; }; "reactive": { "alias": "reactive"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; "enableBeatDetection": { "alias": "enableBeatDetection"; "required": false; "isSignal": true; }; "beatHighlightMode": { "alias": "beatHighlightMode"; "required": false; "isSignal": true; }; "beatSensitivity": { "alias": "beatSensitivity"; "required": false; "isSignal": true; }; "beatDecay": { "alias": "beatDecay"; "required": false; "isSignal": true; }; "beatHistorySize": { "alias": "beatHistorySize"; "required": false; "isSignal": true; }; "beatFlashColor": { "alias": "beatFlashColor"; "required": false; "isSignal": true; }; "beatFlashOpacity": { "alias": "beatFlashOpacity"; "required": false; "isSignal": true; }; "showBeatIndicator": { "alias": "showBeatIndicator"; "required": false; "isSignal": true; }; "detectLowBeat": { "alias": "detectLowBeat"; "required": false; "isSignal": true; }; "detectMidBeat": { "alias": "detectMidBeat"; "required": false; "isSignal": true; }; "detectHighBeat": { "alias": "detectHighBeat"; "required": false; "isSignal": true; }; }, { "beatDetected": "beatDetected"; }, never, never, true, never>;
|
|
6853
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwVisualizerComponent, "tw-visualizer", never, { "analyserNode": { "alias": "analyserNode"; "required": false; "isSignal": true; }; "demoMode": { "alias": "demoMode"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "colorScheme": { "alias": "colorScheme"; "required": false; "isSignal": true; }; "customColors": { "alias": "customColors"; "required": false; "isSignal": true; }; "sensitivity": { "alias": "sensitivity"; "required": false; "isSignal": true; }; "smoothing": { "alias": "smoothing"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "showBackground": { "alias": "showBackground"; "required": false; "isSignal": true; }; "reactive": { "alias": "reactive"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; "enableBeatDetection": { "alias": "enableBeatDetection"; "required": false; "isSignal": true; }; "beatHighlightMode": { "alias": "beatHighlightMode"; "required": false; "isSignal": true; }; "beatSensitivity": { "alias": "beatSensitivity"; "required": false; "isSignal": true; }; "beatDecay": { "alias": "beatDecay"; "required": false; "isSignal": true; }; "beatHistorySize": { "alias": "beatHistorySize"; "required": false; "isSignal": true; }; "beatFlashColor": { "alias": "beatFlashColor"; "required": false; "isSignal": true; }; "beatFlashOpacity": { "alias": "beatFlashOpacity"; "required": false; "isSignal": true; }; "showBeatIndicator": { "alias": "showBeatIndicator"; "required": false; "isSignal": true; }; "detectLowBeat": { "alias": "detectLowBeat"; "required": false; "isSignal": true; }; "detectMidBeat": { "alias": "detectMidBeat"; "required": false; "isSignal": true; }; "detectHighBeat": { "alias": "detectHighBeat"; "required": false; "isSignal": true; }; }, { "beatDetected": "beatDetected"; }, never, never, true, never>;
|
|
6583
6854
|
}
|
|
6584
6855
|
|
|
6585
6856
|
type AudioPlayerVariant = 'default' | 'minimal' | 'compact' | 'full';
|
|
@@ -6689,8 +6960,8 @@ interface LooperEvent {
|
|
|
6689
6960
|
* <tw-looper [maxLayers]="4" [showWaveform]="true"></tw-looper>
|
|
6690
6961
|
* ```
|
|
6691
6962
|
*/
|
|
6692
|
-
declare class TwLooperComponent implements
|
|
6693
|
-
private readonly
|
|
6963
|
+
declare class TwLooperComponent implements OnDestroy {
|
|
6964
|
+
private readonly zone;
|
|
6694
6965
|
readonly waveformCanvas: _angular_core.Signal<ElementRef<HTMLCanvasElement> | undefined>;
|
|
6695
6966
|
readonly variant: _angular_core.InputSignal<LooperVariant>;
|
|
6696
6967
|
readonly size: _angular_core.InputSignal<LooperSize>;
|
|
@@ -6715,6 +6986,8 @@ declare class TwLooperComponent implements OnInit, OnDestroy {
|
|
|
6715
6986
|
readonly loopEvent: _angular_core.OutputEmitterRef<LooperEvent>;
|
|
6716
6987
|
readonly layerChange: _angular_core.OutputEmitterRef<LoopLayer[]>;
|
|
6717
6988
|
readonly durationChange: _angular_core.OutputEmitterRef<number>;
|
|
6989
|
+
/** Emits when microphone access or audio setup fails */
|
|
6990
|
+
readonly error: _angular_core.OutputEmitterRef<string>;
|
|
6718
6991
|
protected readonly state: _angular_core.WritableSignal<LooperState>;
|
|
6719
6992
|
protected readonly layers: _angular_core.WritableSignal<LoopLayer[]>;
|
|
6720
6993
|
protected readonly currentLayerIndex: _angular_core.WritableSignal<number>;
|
|
@@ -6738,7 +7011,9 @@ declare class TwLooperComponent implements OnInit, OnDestroy {
|
|
|
6738
7011
|
private animationFrame;
|
|
6739
7012
|
private ctx;
|
|
6740
7013
|
private layerIdCounter;
|
|
6741
|
-
|
|
7014
|
+
private micErrorMessage;
|
|
7015
|
+
private clickTrackTimer;
|
|
7016
|
+
constructor();
|
|
6742
7017
|
ngOnDestroy(): void;
|
|
6743
7018
|
private initAudio;
|
|
6744
7019
|
private cleanup;
|
|
@@ -6760,6 +7035,8 @@ declare class TwLooperComponent implements OnInit, OnDestroy {
|
|
|
6760
7035
|
private performCountIn;
|
|
6761
7036
|
private playClickSound;
|
|
6762
7037
|
private sleep;
|
|
7038
|
+
private startClickTrack;
|
|
7039
|
+
private stopClickTrack;
|
|
6763
7040
|
private processRecording;
|
|
6764
7041
|
private playAllLayers;
|
|
6765
7042
|
private stopAllPlayback;
|
|
@@ -6788,7 +7065,7 @@ declare class TwLooperComponent implements OnInit, OnDestroy {
|
|
|
6788
7065
|
protected readonly canOverdub: _angular_core.Signal<boolean>;
|
|
6789
7066
|
protected readonly isActive: _angular_core.Signal<boolean>;
|
|
6790
7067
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwLooperComponent, never>;
|
|
6791
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwLooperComponent, "tw-looper", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "maxLayers": { "alias": "maxLayers"; "required": false; "isSignal": true; }; "maxDuration": { "alias": "maxDuration"; "required": false; "isSignal": true; }; "showWaveform": { "alias": "showWaveform"; "required": false; "isSignal": true; }; "showLayers": { "alias": "showLayers"; "required": false; "isSignal": true; }; "showTimer": { "alias": "showTimer"; "required": false; "isSignal": true; }; "showControls": { "alias": "showControls"; "required": false; "isSignal": true; }; "showUndoRedo": { "alias": "showUndoRedo"; "required": false; "isSignal": true; }; "showSpeedControl": { "alias": "showSpeedControl"; "required": false; "isSignal": true; }; "showVolumeControl": { "alias": "showVolumeControl"; "required": false; "isSignal": true; }; "autoPlay": { "alias": "autoPlay"; "required": false; "isSignal": true; }; "countIn": { "alias": "countIn"; "required": false; "isSignal": true; }; "countInBeats": { "alias": "countInBeats"; "required": false; "isSignal": true; }; "clickTrack": { "alias": "clickTrack"; "required": false; "isSignal": true; }; "clickBpm": { "alias": "clickBpm"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; "audioSource": { "alias": "audioSource"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "loopEvent": "loopEvent"; "layerChange": "layerChange"; "durationChange": "durationChange"; }, never, never, true, never>;
|
|
7068
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwLooperComponent, "tw-looper", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "maxLayers": { "alias": "maxLayers"; "required": false; "isSignal": true; }; "maxDuration": { "alias": "maxDuration"; "required": false; "isSignal": true; }; "showWaveform": { "alias": "showWaveform"; "required": false; "isSignal": true; }; "showLayers": { "alias": "showLayers"; "required": false; "isSignal": true; }; "showTimer": { "alias": "showTimer"; "required": false; "isSignal": true; }; "showControls": { "alias": "showControls"; "required": false; "isSignal": true; }; "showUndoRedo": { "alias": "showUndoRedo"; "required": false; "isSignal": true; }; "showSpeedControl": { "alias": "showSpeedControl"; "required": false; "isSignal": true; }; "showVolumeControl": { "alias": "showVolumeControl"; "required": false; "isSignal": true; }; "autoPlay": { "alias": "autoPlay"; "required": false; "isSignal": true; }; "countIn": { "alias": "countIn"; "required": false; "isSignal": true; }; "countInBeats": { "alias": "countInBeats"; "required": false; "isSignal": true; }; "clickTrack": { "alias": "clickTrack"; "required": false; "isSignal": true; }; "clickBpm": { "alias": "clickBpm"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; "audioSource": { "alias": "audioSource"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "loopEvent": "loopEvent"; "layerChange": "layerChange"; "durationChange": "durationChange"; "error": "error"; }, never, never, true, never>;
|
|
6792
7069
|
}
|
|
6793
7070
|
|
|
6794
7071
|
type ClefType = 'treble' | 'bass' | 'alto' | 'tenor' | 'percussion';
|
|
@@ -6911,7 +7188,7 @@ declare class TwNoteComponent {
|
|
|
6911
7188
|
protected readonly stemX: _angular_core.Signal<number>;
|
|
6912
7189
|
protected readonly stemY1: _angular_core.Signal<number>;
|
|
6913
7190
|
protected readonly stemY2: _angular_core.Signal<number>;
|
|
6914
|
-
protected readonly flagCount: _angular_core.Signal<
|
|
7191
|
+
protected readonly flagCount: _angular_core.Signal<0 | 1 | 2 | 3>;
|
|
6915
7192
|
protected readonly noteColor: _angular_core.Signal<string>;
|
|
6916
7193
|
protected readonly noteHeadFill: _angular_core.Signal<string>;
|
|
6917
7194
|
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
@@ -6961,7 +7238,6 @@ interface ClipboardData {
|
|
|
6961
7238
|
measureEnd: number;
|
|
6962
7239
|
}
|
|
6963
7240
|
declare class TwNoteInputComponent implements AfterViewInit, OnDestroy {
|
|
6964
|
-
private readonly destroyRef;
|
|
6965
7241
|
private readonly elementRef;
|
|
6966
7242
|
private readonly staffContainer;
|
|
6967
7243
|
readonly clef: _angular_core.InputSignal<ClefType>;
|
|
@@ -7013,6 +7289,8 @@ declare class TwNoteInputComponent implements AfterViewInit, OnDestroy {
|
|
|
7013
7289
|
private midiAccess;
|
|
7014
7290
|
protected readonly midiConnected: _angular_core.WritableSignal<boolean>;
|
|
7015
7291
|
protected readonly midiDeviceName: _angular_core.WritableSignal<string | null>;
|
|
7292
|
+
private readonly midiStateChangeHandler;
|
|
7293
|
+
private noteDragController;
|
|
7016
7294
|
private noteIdCounter;
|
|
7017
7295
|
protected readonly voiceColors: Record<Voice, string>;
|
|
7018
7296
|
protected getVoiceColorByNumber(voice: number): string;
|
|
@@ -7564,14 +7842,10 @@ declare class TwLeadSheetComponent {
|
|
|
7564
7842
|
readonly showMeasureNumbers: _angular_core.InputSignal<boolean>;
|
|
7565
7843
|
readonly showSlashes: _angular_core.InputSignal<boolean>;
|
|
7566
7844
|
readonly showChordDiagrams: _angular_core.InputSignal<boolean>;
|
|
7567
|
-
readonly showMelodyLine: _angular_core.InputSignal<boolean>;
|
|
7568
7845
|
readonly showRehearsalMarks: _angular_core.InputSignal<boolean>;
|
|
7569
7846
|
readonly diagramSize: _angular_core.InputSignal<"sm" | "md" | "lg">;
|
|
7570
7847
|
readonly interactive: _angular_core.InputSignal<boolean>;
|
|
7571
7848
|
readonly classOverride: _angular_core.InputSignal<string>;
|
|
7572
|
-
readonly staffClef: _angular_core.InputSignal<ClefType>;
|
|
7573
|
-
readonly staffWidth: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
7574
|
-
readonly staffHeight: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
7575
7849
|
readonly chordClick: _angular_core.OutputEmitterRef<{
|
|
7576
7850
|
section: number;
|
|
7577
7851
|
measure: number;
|
|
@@ -7615,7 +7889,7 @@ declare class TwLeadSheetComponent {
|
|
|
7615
7889
|
protected getStaffTimeSignature(): StaffTimeSignature;
|
|
7616
7890
|
protected getRhythmicSlashPath(beat: number, isAccent: boolean, measureWidth: number, beatsPerMeasure: number): string;
|
|
7617
7891
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwLeadSheetComponent, never>;
|
|
7618
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwLeadSheetComponent, "tw-lead-sheet", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "displayMode": { "alias": "displayMode"; "required": false; "isSignal": true; }; "slashStyle": { "alias": "slashStyle"; "required": false; "isSignal": true; }; "measuresPerRow": { "alias": "measuresPerRow"; "required": false; "isSignal": true; }; "showSectionNames": { "alias": "showSectionNames"; "required": false; "isSignal": true; }; "showMeasureNumbers": { "alias": "showMeasureNumbers"; "required": false; "isSignal": true; }; "showSlashes": { "alias": "showSlashes"; "required": false; "isSignal": true; }; "showChordDiagrams": { "alias": "showChordDiagrams"; "required": false; "isSignal": true; }; "
|
|
7892
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwLeadSheetComponent, "tw-lead-sheet", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "displayMode": { "alias": "displayMode"; "required": false; "isSignal": true; }; "slashStyle": { "alias": "slashStyle"; "required": false; "isSignal": true; }; "measuresPerRow": { "alias": "measuresPerRow"; "required": false; "isSignal": true; }; "showSectionNames": { "alias": "showSectionNames"; "required": false; "isSignal": true; }; "showMeasureNumbers": { "alias": "showMeasureNumbers"; "required": false; "isSignal": true; }; "showSlashes": { "alias": "showSlashes"; "required": false; "isSignal": true; }; "showChordDiagrams": { "alias": "showChordDiagrams"; "required": false; "isSignal": true; }; "showRehearsalMarks": { "alias": "showRehearsalMarks"; "required": false; "isSignal": true; }; "diagramSize": { "alias": "diagramSize"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "chordClick": "chordClick"; "measureClick": "measureClick"; }, never, never, true, never>;
|
|
7619
7893
|
}
|
|
7620
7894
|
|
|
7621
7895
|
type ScoreEditorVariant = 'default' | 'print' | 'minimal';
|
|
@@ -7672,8 +7946,6 @@ declare class TwScoreEditorComponent {
|
|
|
7672
7946
|
readonly lineSpacing: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
7673
7947
|
readonly editable: _angular_core.InputSignal<boolean>;
|
|
7674
7948
|
readonly initialScore: _angular_core.InputSignal<ScoreData | null>;
|
|
7675
|
-
readonly musicXml: _angular_core.InputSignal<string | null>;
|
|
7676
|
-
readonly abcNotation: _angular_core.InputSignal<string | null>;
|
|
7677
7949
|
readonly showToolbar: _angular_core.InputSignal<boolean>;
|
|
7678
7950
|
readonly showPartPanel: _angular_core.InputSignal<boolean>;
|
|
7679
7951
|
readonly showLyricsEditor: _angular_core.InputSignal<boolean>;
|
|
@@ -7772,7 +8044,7 @@ declare class TwScoreEditorComponent {
|
|
|
7772
8044
|
protected toggleRest(): void;
|
|
7773
8045
|
protected setVoice(voice: number): void;
|
|
7774
8046
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwScoreEditorComponent, never>;
|
|
7775
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwScoreEditorComponent, "tw-score-editor", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "staffHeight": { "alias": "staffHeight"; "required": false; "isSignal": true; }; "measures": { "alias": "measures"; "required": false; "isSignal": true; }; "lineSpacing": { "alias": "lineSpacing"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "initialScore": { "alias": "initialScore"; "required": false; "isSignal": true; }; "
|
|
8047
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwScoreEditorComponent, "tw-score-editor", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "staffHeight": { "alias": "staffHeight"; "required": false; "isSignal": true; }; "measures": { "alias": "measures"; "required": false; "isSignal": true; }; "lineSpacing": { "alias": "lineSpacing"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "initialScore": { "alias": "initialScore"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "showPartPanel": { "alias": "showPartPanel"; "required": false; "isSignal": true; }; "showLyricsEditor": { "alias": "showLyricsEditor"; "required": false; "isSignal": true; }; "enableMidiInput": { "alias": "enableMidiInput"; "required": false; "isSignal": true; }; "enableKeyboardShortcuts": { "alias": "enableKeyboardShortcuts"; "required": false; "isSignal": true; }; "maxParts": { "alias": "maxParts"; "required": false; "isSignal": true; }; "maxUndoHistory": { "alias": "maxUndoHistory"; "required": false; "isSignal": true; }; }, { "scoreChanged": "scoreChanged"; "partAdded": "partAdded"; "partRemoved": "partRemoved"; "exportRequested": "exportRequested"; "parseError": "parseError"; }, never, never, true, never>;
|
|
7776
8048
|
}
|
|
7777
8049
|
|
|
7778
8050
|
type TunerVariant = 'default' | 'minimal' | 'analog' | 'strobe';
|
|
@@ -7785,7 +8057,7 @@ interface TuningData {
|
|
|
7785
8057
|
inTune: boolean;
|
|
7786
8058
|
}
|
|
7787
8059
|
declare class TwTunerComponent implements AfterViewInit, OnDestroy {
|
|
7788
|
-
private readonly
|
|
8060
|
+
private readonly zone;
|
|
7789
8061
|
readonly variant: _angular_core.InputSignal<TunerVariant>;
|
|
7790
8062
|
readonly mode: _angular_core.InputSignal<TunerMode>;
|
|
7791
8063
|
readonly referenceFrequency: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -7799,7 +8071,10 @@ declare class TwTunerComponent implements AfterViewInit, OnDestroy {
|
|
|
7799
8071
|
readonly classOverride: _angular_core.InputSignal<string>;
|
|
7800
8072
|
readonly tuningChange: _angular_core.OutputEmitterRef<TuningData>;
|
|
7801
8073
|
readonly inTune: _angular_core.OutputEmitterRef<boolean>;
|
|
8074
|
+
/** Emits when microphone access or audio setup fails */
|
|
8075
|
+
readonly error: _angular_core.OutputEmitterRef<string>;
|
|
7802
8076
|
protected readonly isListening: _angular_core.WritableSignal<boolean>;
|
|
8077
|
+
protected readonly errorState: _angular_core.WritableSignal<string | null>;
|
|
7803
8078
|
protected readonly currentFrequency: _angular_core.WritableSignal<number>;
|
|
7804
8079
|
protected readonly currentNote: _angular_core.WritableSignal<string>;
|
|
7805
8080
|
protected readonly currentOctave: _angular_core.WritableSignal<number>;
|
|
@@ -7828,7 +8103,7 @@ declare class TwTunerComponent implements AfterViewInit, OnDestroy {
|
|
|
7828
8103
|
protected selectString(index: number): void;
|
|
7829
8104
|
protected getExpectedFrequency(noteName: string): number;
|
|
7830
8105
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwTunerComponent, never>;
|
|
7831
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTunerComponent, "tw-tuner", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "referenceFrequency": { "alias": "referenceFrequency"; "required": false; "isSignal": true; }; "tolerance": { "alias": "tolerance"; "required": false; "isSignal": true; }; "showFrequency": { "alias": "showFrequency"; "required": false; "isSignal": true; }; "showOctave": { "alias": "showOctave"; "required": false; "isSignal": true; }; "showCents": { "alias": "showCents"; "required": false; "isSignal": true; }; "showMeter": { "alias": "showMeter"; "required": false; "isSignal": true; }; "showStringSelector": { "alias": "showStringSelector"; "required": false; "isSignal": true; }; "autoStart": { "alias": "autoStart"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "tuningChange": "tuningChange"; "inTune": "inTune"; }, never, never, true, never>;
|
|
8106
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwTunerComponent, "tw-tuner", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "referenceFrequency": { "alias": "referenceFrequency"; "required": false; "isSignal": true; }; "tolerance": { "alias": "tolerance"; "required": false; "isSignal": true; }; "showFrequency": { "alias": "showFrequency"; "required": false; "isSignal": true; }; "showOctave": { "alias": "showOctave"; "required": false; "isSignal": true; }; "showCents": { "alias": "showCents"; "required": false; "isSignal": true; }; "showMeter": { "alias": "showMeter"; "required": false; "isSignal": true; }; "showStringSelector": { "alias": "showStringSelector"; "required": false; "isSignal": true; }; "autoStart": { "alias": "autoStart"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "tuningChange": "tuningChange"; "inTune": "inTune"; "error": "error"; }, never, never, true, never>;
|
|
7832
8107
|
}
|
|
7833
8108
|
|
|
7834
8109
|
type NoteDisplayVariant = 'default' | 'minimal' | 'led' | 'lcd' | 'meter';
|
|
@@ -8096,6 +8371,7 @@ declare class TwPitchDisplayComponent implements OnInit {
|
|
|
8096
8371
|
protected onCentsChange(value: number): void;
|
|
8097
8372
|
protected onPitchWheelDragStart(event: MouseEvent | TouchEvent): void;
|
|
8098
8373
|
private readonly onPitchWheelDrag;
|
|
8374
|
+
private applyBendSnap;
|
|
8099
8375
|
private readonly onPitchWheelDragEnd;
|
|
8100
8376
|
protected toggleKeyLock(): void;
|
|
8101
8377
|
protected resetSemitones(): void;
|
|
@@ -8304,7 +8580,7 @@ declare const BPM_RANGES: {
|
|
|
8304
8580
|
* <tw-bpm-display [bpm]="tempo" (bpmChange)="onTempoChange($event)" [showTapTempo]="true"></tw-bpm-display>
|
|
8305
8581
|
* ```
|
|
8306
8582
|
*/
|
|
8307
|
-
declare class TwBpmDisplayComponent implements OnInit {
|
|
8583
|
+
declare class TwBpmDisplayComponent implements OnInit, OnDestroy {
|
|
8308
8584
|
private readonly destroyRef;
|
|
8309
8585
|
readonly variant: _angular_core.InputSignal<BpmDisplayVariant>;
|
|
8310
8586
|
readonly size: _angular_core.InputSignal<BpmDisplaySize>;
|
|
@@ -8340,6 +8616,8 @@ declare class TwBpmDisplayComponent implements OnInit {
|
|
|
8340
8616
|
protected readonly editValue: _angular_core.WritableSignal<string>;
|
|
8341
8617
|
protected readonly beatActive: _angular_core.WritableSignal<boolean>;
|
|
8342
8618
|
private beatInterval;
|
|
8619
|
+
private beatFlashTimeout;
|
|
8620
|
+
ngOnDestroy(): void;
|
|
8343
8621
|
ngOnInit(): void;
|
|
8344
8622
|
private startBeatIndicator;
|
|
8345
8623
|
private updateBeatInterval;
|
|
@@ -8570,7 +8848,7 @@ declare class TwCompressorMeterComponent implements OnInit, OnDestroy {
|
|
|
8570
8848
|
protected readonly releaseSpeed: _angular_core.Signal<"medium" | "fast" | "slow" | "very-slow">;
|
|
8571
8849
|
protected readonly attackBarPercent: _angular_core.Signal<number>;
|
|
8572
8850
|
protected readonly releaseBarPercent: _angular_core.Signal<number>;
|
|
8573
|
-
protected readonly compressionActivity: _angular_core.Signal<"light" | "
|
|
8851
|
+
protected readonly compressionActivity: _angular_core.Signal<"light" | "heavy" | "idle" | "moderate" | "limiting">;
|
|
8574
8852
|
protected readonly activityColorClass: _angular_core.Signal<string>;
|
|
8575
8853
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwCompressorMeterComponent, never>;
|
|
8576
8854
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TwCompressorMeterComponent, "tw-compressor-meter", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "inputLevel": { "alias": "inputLevel"; "required": false; "isSignal": true; }; "outputLevel": { "alias": "outputLevel"; "required": false; "isSignal": true; }; "gainReduction": { "alias": "gainReduction"; "required": false; "isSignal": true; }; "settings": { "alias": "settings"; "required": false; "isSignal": true; }; "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "ratio": { "alias": "ratio"; "required": false; "isSignal": true; }; "attack": { "alias": "attack"; "required": false; "isSignal": true; }; "release": { "alias": "release"; "required": false; "isSignal": true; }; "knee": { "alias": "knee"; "required": false; "isSignal": true; }; "makeupGain": { "alias": "makeupGain"; "required": false; "isSignal": true; }; "showInputMeter": { "alias": "showInputMeter"; "required": false; "isSignal": true; }; "showOutputMeter": { "alias": "showOutputMeter"; "required": false; "isSignal": true; }; "showGainReduction": { "alias": "showGainReduction"; "required": false; "isSignal": true; }; "showThreshold": { "alias": "showThreshold"; "required": false; "isSignal": true; }; "showSettings": { "alias": "showSettings"; "required": false; "isSignal": true; }; "showCurve": { "alias": "showCurve"; "required": false; "isSignal": true; }; "showAttackRelease": { "alias": "showAttackRelease"; "required": false; "isSignal": true; }; "attackReleaseDisplay": { "alias": "attackReleaseDisplay"; "required": false; "isSignal": true; }; "showGrHistory": { "alias": "showGrHistory"; "required": false; "isSignal": true; }; "grHistoryLength": { "alias": "grHistoryLength"; "required": false; "isSignal": true; }; "peakHold": { "alias": "peakHold"; "required": false; "isSignal": true; }; "peakHoldTime": { "alias": "peakHoldTime"; "required": false; "isSignal": true; }; "meterMin": { "alias": "meterMin"; "required": false; "isSignal": true; }; "meterMax": { "alias": "meterMax"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "classOverride": { "alias": "classOverride"; "required": false; "isSignal": true; }; }, { "settingsChange": "settingsChange"; "clipInput": "clipInput"; "clipOutput": "clipOutput"; }, never, never, true, never>;
|
|
@@ -8676,8 +8954,21 @@ declare class MobileSupportService {
|
|
|
8676
8954
|
setTouchGuardEnabled(enabled: boolean): void;
|
|
8677
8955
|
/**
|
|
8678
8956
|
* Check if an action should be allowed based on touch guard config
|
|
8957
|
+
*
|
|
8958
|
+
* This is a pure check: it does not record the action. Call
|
|
8959
|
+
* {@link consumeAction} once the allowed action has actually been performed
|
|
8960
|
+
* so the cooldown window starts; checking alone never blocks a later check.
|
|
8961
|
+
*
|
|
8962
|
+
* Only `cooldownMs` and `minDuration` are evaluated here. `minDragDistance`,
|
|
8963
|
+
* `axisLock` and `requireConfirm` need per-gesture context and are handled
|
|
8964
|
+
* by `TwTouchGuardDirective`, so they are intentionally ignored.
|
|
8679
8965
|
*/
|
|
8680
8966
|
shouldAllowAction(config?: TouchGuardConfig): boolean;
|
|
8967
|
+
/**
|
|
8968
|
+
* Record that a guarded action was performed, starting the cooldown window
|
|
8969
|
+
* evaluated by {@link shouldAllowAction}
|
|
8970
|
+
*/
|
|
8971
|
+
consumeAction(): void;
|
|
8681
8972
|
/**
|
|
8682
8973
|
* Start tracking a touch for guard validation
|
|
8683
8974
|
*/
|
|
@@ -8765,7 +9056,11 @@ declare class TwTouchGuardDirective implements OnInit, OnDestroy {
|
|
|
8765
9056
|
readonly guardDisabled: _angular_core.InputSignal<boolean>;
|
|
8766
9057
|
/** Emitted when a guarded click/tap passes validation */
|
|
8767
9058
|
readonly guardedClick: _angular_core.OutputEmitterRef<MouseEvent | TouchEvent>;
|
|
8768
|
-
/**
|
|
9059
|
+
/**
|
|
9060
|
+
* Emitted when a long press is detected (touch input only). Mouse long
|
|
9061
|
+
* presses gate `guardedClick` the same way but do not emit this output,
|
|
9062
|
+
* which keeps its `TouchEvent` payload type.
|
|
9063
|
+
*/
|
|
8769
9064
|
readonly longPress: _angular_core.OutputEmitterRef<TouchEvent>;
|
|
8770
9065
|
/** Emitted when drag starts and passes validation */
|
|
8771
9066
|
readonly guardedDragStart: _angular_core.OutputEmitterRef<MouseEvent | TouchEvent>;
|
|
@@ -8830,7 +9125,6 @@ declare class MusicAccessibilityService implements OnDestroy {
|
|
|
8830
9125
|
private assertiveRegion;
|
|
8831
9126
|
private announcementQueue;
|
|
8832
9127
|
private isProcessingQueue;
|
|
8833
|
-
private readonly cleanupTimer;
|
|
8834
9128
|
private reducedMotionQuery;
|
|
8835
9129
|
private highContrastQuery;
|
|
8836
9130
|
private reducedMotionHandler;
|
|
@@ -8838,6 +9132,7 @@ declare class MusicAccessibilityService implements OnDestroy {
|
|
|
8838
9132
|
private readonly _reducedMotion;
|
|
8839
9133
|
private readonly _highContrast;
|
|
8840
9134
|
private readonly _screenReaderHints;
|
|
9135
|
+
private readonly _largeText;
|
|
8841
9136
|
/** Whether the user prefers reduced motion */
|
|
8842
9137
|
readonly prefersReducedMotion: _angular_core.Signal<boolean>;
|
|
8843
9138
|
/** Whether the user prefers high contrast */
|
|
@@ -8855,7 +9150,9 @@ declare class MusicAccessibilityService implements OnDestroy {
|
|
|
8855
9150
|
*/
|
|
8856
9151
|
announce(message: string, priority?: AnnouncementPriority): void;
|
|
8857
9152
|
/**
|
|
8858
|
-
* Announce a value change (
|
|
9153
|
+
* Announce a value change (coalesced for rapid changes: a still-queued
|
|
9154
|
+
* announcement with the same label is replaced by the newest value instead
|
|
9155
|
+
* of flooding the queue, e.g. while dragging a fader)
|
|
8859
9156
|
*/
|
|
8860
9157
|
announceValueChange(label: string, value: string | number, unit?: string): void;
|
|
8861
9158
|
/**
|
|
@@ -8879,6 +9176,8 @@ declare class MusicAccessibilityService implements OnDestroy {
|
|
|
8879
9176
|
*/
|
|
8880
9177
|
clearAnnouncements(): void;
|
|
8881
9178
|
private processAnnouncementQueue;
|
|
9179
|
+
/** Re-create the live regions if they are missing (browser only) */
|
|
9180
|
+
private ensureLiveRegions;
|
|
8882
9181
|
private initLiveRegions;
|
|
8883
9182
|
private applyScreenReaderOnlyStyles;
|
|
8884
9183
|
/**
|
|
@@ -9019,6 +9318,8 @@ declare class AudioContextService implements OnDestroy {
|
|
|
9019
9318
|
private readonly _sources;
|
|
9020
9319
|
private readonly _workletModules;
|
|
9021
9320
|
private sourceIdCounter;
|
|
9321
|
+
private readonly elementSourceIds;
|
|
9322
|
+
private readonly sourceElements;
|
|
9022
9323
|
/** Current audio context state */
|
|
9023
9324
|
readonly state: _angular_core.Signal<AudioContextState>;
|
|
9024
9325
|
/** Current sample rate */
|
|
@@ -9188,16 +9489,28 @@ declare class AudioContextService implements OnDestroy {
|
|
|
9188
9489
|
setSourceMuted(id: string, muted: boolean): void;
|
|
9189
9490
|
/**
|
|
9190
9491
|
* Get frequency data from an analyser
|
|
9492
|
+
* @param out Optional pre-allocated buffer to fill (length must equal
|
|
9493
|
+
* `analyser.frequencyBinCount`). Without `out` a fresh array is allocated
|
|
9494
|
+
* on every call, so this is only allocation-free (per-frame safe) when a
|
|
9495
|
+
* reused buffer is provided.
|
|
9191
9496
|
*/
|
|
9192
|
-
getFrequencyData(analyser: AnalyserNode): Uint8Array
|
|
9497
|
+
getFrequencyData(analyser: AnalyserNode, out?: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
|
|
9193
9498
|
/**
|
|
9194
9499
|
* Get time domain data from an analyser
|
|
9500
|
+
* @param out Optional pre-allocated buffer to fill (length must equal
|
|
9501
|
+
* `analyser.fftSize`). Without `out` a fresh array is allocated on every
|
|
9502
|
+
* call, so this is only allocation-free (per-frame safe) when a reused
|
|
9503
|
+
* buffer is provided.
|
|
9195
9504
|
*/
|
|
9196
|
-
getTimeDomainData(analyser: AnalyserNode): Uint8Array
|
|
9505
|
+
getTimeDomainData(analyser: AnalyserNode, out?: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
|
|
9197
9506
|
/**
|
|
9198
9507
|
* Get float frequency data from an analyser
|
|
9508
|
+
* @param out Optional pre-allocated buffer to fill (length must equal
|
|
9509
|
+
* `analyser.frequencyBinCount`). Without `out` a fresh array is allocated
|
|
9510
|
+
* on every call, so this is only allocation-free (per-frame safe) when a
|
|
9511
|
+
* reused buffer is provided.
|
|
9199
9512
|
*/
|
|
9200
|
-
getFloatFrequencyData(analyser: AnalyserNode): Float32Array
|
|
9513
|
+
getFloatFrequencyData(analyser: AnalyserNode, out?: Float32Array<ArrayBuffer>): Float32Array<ArrayBuffer>;
|
|
9201
9514
|
/**
|
|
9202
9515
|
* Convert frequency bin index to frequency in Hz
|
|
9203
9516
|
*/
|
|
@@ -9584,7 +9897,11 @@ declare class TwMidiLearnDirective implements OnInit, OnDestroy {
|
|
|
9584
9897
|
readonly midiCurve: _angular_core.InputSignal<"linear" | "logarithmic" | "exponential">;
|
|
9585
9898
|
/** Pre-configured CC number (skip learn mode) */
|
|
9586
9899
|
readonly midiCC: _angular_core.InputSignal<number | null>;
|
|
9587
|
-
/**
|
|
9900
|
+
/**
|
|
9901
|
+
* Enable right-click to start MIDI Learn.
|
|
9902
|
+
* Off by default so that merely applying the directive does not suppress
|
|
9903
|
+
* the browser context menu; set to `true` to opt in.
|
|
9904
|
+
*/
|
|
9588
9905
|
readonly enableContextMenuLearn: _angular_core.InputSignal<boolean>;
|
|
9589
9906
|
/** Emitted when a MIDI value is received for this control */
|
|
9590
9907
|
readonly midiValueChange: _angular_core.OutputEmitterRef<CCValueChangeEvent>;
|
|
@@ -9607,13 +9924,15 @@ declare class TwMidiLearnDirective implements OnInit, OnDestroy {
|
|
|
9607
9924
|
*/
|
|
9608
9925
|
cancelLearn(): void;
|
|
9609
9926
|
/**
|
|
9610
|
-
*
|
|
9927
|
+
* Whether MIDI Learn is active for this control
|
|
9928
|
+
* (computed so the host class bindings only re-evaluate on signal changes)
|
|
9611
9929
|
*/
|
|
9612
|
-
isLearning
|
|
9930
|
+
readonly isLearning: _angular_core.Signal<boolean>;
|
|
9613
9931
|
/**
|
|
9614
|
-
*
|
|
9932
|
+
* Whether this control has a MIDI mapping
|
|
9933
|
+
* (computed so the host class bindings only re-evaluate on signal changes)
|
|
9615
9934
|
*/
|
|
9616
|
-
isMapped
|
|
9935
|
+
readonly isMapped: _angular_core.Signal<boolean>;
|
|
9617
9936
|
/**
|
|
9618
9937
|
* Get the current mapping
|
|
9619
9938
|
*/
|
|
@@ -9636,6 +9955,14 @@ declare class TwMidiLearnDirective implements OnInit, OnDestroy {
|
|
|
9636
9955
|
* Platform type detection
|
|
9637
9956
|
*/
|
|
9638
9957
|
type PlatformType = 'browser' | 'tauri' | 'electron';
|
|
9958
|
+
/**
|
|
9959
|
+
* Error thrown when an operation has no meaningful implementation on the
|
|
9960
|
+
* current platform (typically the browser, which cannot access the file
|
|
9961
|
+
* system or produce real file paths)
|
|
9962
|
+
*/
|
|
9963
|
+
declare class UnsupportedOnPlatformError extends Error {
|
|
9964
|
+
constructor(operation: string, platform: PlatformType, hint?: string);
|
|
9965
|
+
}
|
|
9639
9966
|
/**
|
|
9640
9967
|
* File filter for dialogs
|
|
9641
9968
|
*/
|
|
@@ -9800,7 +10127,14 @@ declare class NativePlatformService {
|
|
|
9800
10127
|
private openFileBrowser;
|
|
9801
10128
|
/**
|
|
9802
10129
|
* Open a save file dialog
|
|
9803
|
-
*
|
|
10130
|
+
*
|
|
10131
|
+
* Browser semantics: the browser has no save dialog that can produce a real
|
|
10132
|
+
* file system path or signal cancellation, so this throws
|
|
10133
|
+
* {@link UnsupportedOnPlatformError} instead of fabricating a path — use
|
|
10134
|
+
* `writeTextFile()` / `downloadBlob()` to trigger a download instead.
|
|
10135
|
+
*
|
|
10136
|
+
* @returns Selected path or null if cancelled (Tauri/Electron)
|
|
10137
|
+
* @throws UnsupportedOnPlatformError in the browser
|
|
9804
10138
|
*/
|
|
9805
10139
|
saveFile(options?: SaveFileOptions): Promise<string | null>;
|
|
9806
10140
|
/**
|
|
@@ -9821,6 +10155,12 @@ declare class NativePlatformService {
|
|
|
9821
10155
|
writeBinaryFile(path: string, contents: ArrayBuffer | Uint8Array): Promise<void>;
|
|
9822
10156
|
/**
|
|
9823
10157
|
* Check if a file exists
|
|
10158
|
+
*
|
|
10159
|
+
* Browser semantics: the browser cannot query the file system, so this
|
|
10160
|
+
* throws {@link UnsupportedOnPlatformError} instead of fabricating `false`
|
|
10161
|
+
* for every path — work with `File` objects from `openFile()` instead.
|
|
10162
|
+
*
|
|
10163
|
+
* @throws UnsupportedOnPlatformError in the browser
|
|
9824
10164
|
*/
|
|
9825
10165
|
fileExists(path: string): Promise<boolean>;
|
|
9826
10166
|
/**
|
|
@@ -10044,11 +10384,20 @@ interface FrequencyConversionResult {
|
|
|
10044
10384
|
}
|
|
10045
10385
|
/**
|
|
10046
10386
|
* Worker message handler - processes incoming messages
|
|
10387
|
+
*
|
|
10388
|
+
* Exported for unit testing. At runtime the worker uses the `onmessage`
|
|
10389
|
+
* dispatcher generated by {@link getWorkerScript} from the same
|
|
10390
|
+
* {@link WORKER_HANDLERS} table, which is the canonical dispatcher.
|
|
10047
10391
|
*/
|
|
10048
10392
|
declare function handleMessage(event: MessageEvent<WorkerMessage>): WorkerResponse;
|
|
10049
10393
|
/**
|
|
10050
10394
|
* Get the worker script as a string for creating a blob URL
|
|
10051
10395
|
* This allows the worker to be bundled with the library
|
|
10396
|
+
*
|
|
10397
|
+
* WARNING: both the function definitions and the `onmessage` dispatcher below
|
|
10398
|
+
* are generated from {@link WORKER_HANDLERS} by serializing the processing
|
|
10399
|
+
* functions with `toString()`, so those functions must remain closure-free
|
|
10400
|
+
* (see the note on the table above).
|
|
10052
10401
|
*/
|
|
10053
10402
|
declare function getWorkerScript(): string;
|
|
10054
10403
|
|
|
@@ -10066,8 +10415,11 @@ interface AudioWorkerConfig {
|
|
|
10066
10415
|
/**
|
|
10067
10416
|
* Service for offloading audio processing to a Web Worker
|
|
10068
10417
|
*
|
|
10069
|
-
*
|
|
10070
|
-
* audio processing
|
|
10418
|
+
* An opt-in service that manages a Web Worker for computationally intensive
|
|
10419
|
+
* audio processing. The music visualization components run their DSP on the
|
|
10420
|
+
* main thread by default; route heavy per-frame work through this service
|
|
10421
|
+
* (e.g. `processFFT`, `downsampleWaveform` for large waveforms, `detectBeat`)
|
|
10422
|
+
* when the main thread needs to stay free for smooth UI updates.
|
|
10071
10423
|
*
|
|
10072
10424
|
* @example
|
|
10073
10425
|
* ```typescript
|
|
@@ -10221,7 +10573,15 @@ declare const TW_MUSIC_DIRECTIVES: readonly [typeof TwTouchGuardDirective, typeo
|
|
|
10221
10573
|
/**
|
|
10222
10574
|
* Native App UI Component Types
|
|
10223
10575
|
*/
|
|
10224
|
-
|
|
10576
|
+
/** Operating system detected from the user agent. */
|
|
10577
|
+
type OsPlatform = 'macos' | 'windows' | 'linux' | 'web';
|
|
10578
|
+
/** Runtime shell the application is executing in. */
|
|
10579
|
+
type RuntimePlatform = 'tauri' | 'electron' | 'web';
|
|
10580
|
+
/**
|
|
10581
|
+
* @deprecated Use `OsPlatform` for OS detection or `RuntimePlatform` for
|
|
10582
|
+
* runtime-shell detection instead. This union conflated the two concerns.
|
|
10583
|
+
*/
|
|
10584
|
+
type Platform = OsPlatform | 'tauri' | 'electron';
|
|
10225
10585
|
type PlatformTheme = 'light' | 'dark' | 'system';
|
|
10226
10586
|
interface WindowState {
|
|
10227
10587
|
isMaximized: boolean;
|
|
@@ -10455,7 +10815,8 @@ declare class NativeAppPlatformService {
|
|
|
10455
10815
|
private readonly _isElectron;
|
|
10456
10816
|
private readonly _theme;
|
|
10457
10817
|
private readonly _windowState;
|
|
10458
|
-
|
|
10818
|
+
/** Detected operating system. Use `isTauri`/`isElectron` for runtime-shell detection. */
|
|
10819
|
+
readonly platform: _angular_core.Signal<OsPlatform>;
|
|
10459
10820
|
readonly isTauri: _angular_core.Signal<boolean>;
|
|
10460
10821
|
readonly isElectron: _angular_core.Signal<boolean>;
|
|
10461
10822
|
readonly isNative: _angular_core.Signal<boolean>;
|
|
@@ -10506,7 +10867,7 @@ declare class TwTitleBarComponent {
|
|
|
10506
10867
|
readonly showMaximize: _angular_core.InputSignal<boolean>;
|
|
10507
10868
|
readonly showFullscreen: _angular_core.InputSignal<boolean>;
|
|
10508
10869
|
readonly doubleClick: _angular_core.OutputEmitterRef<void>;
|
|
10509
|
-
protected readonly effectivePlatform: _angular_core.Signal<_quinnjr_ngx_tailwindcss.
|
|
10870
|
+
protected readonly effectivePlatform: _angular_core.Signal<"tauri" | "electron" | _quinnjr_ngx_tailwindcss.OsPlatform>;
|
|
10510
10871
|
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
10511
10872
|
protected onDoubleClick(): void;
|
|
10512
10873
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwTitleBarComponent, never>;
|
|
@@ -10537,7 +10898,7 @@ declare class TwWindowControlsComponent {
|
|
|
10537
10898
|
readonly maximizeClick: _angular_core.OutputEmitterRef<void>;
|
|
10538
10899
|
readonly fullscreenClick: _angular_core.OutputEmitterRef<void>;
|
|
10539
10900
|
protected hovered: boolean;
|
|
10540
|
-
protected readonly effectivePlatform: _angular_core.Signal<_quinnjr_ngx_tailwindcss.
|
|
10901
|
+
protected readonly effectivePlatform: _angular_core.Signal<"tauri" | "electron" | _quinnjr_ngx_tailwindcss.OsPlatform>;
|
|
10541
10902
|
protected readonly containerClasses: _angular_core.Signal<"flex items-center" | "flex items-center -mr-1">;
|
|
10542
10903
|
protected onClose(): void;
|
|
10543
10904
|
protected onMinimize(): void;
|
|
@@ -10583,7 +10944,7 @@ declare class TwMenuBarComponent {
|
|
|
10583
10944
|
* <tw-context-menu [items]="menuItems" [trigger]="targetElement" (itemSelect)="onSelect($event)"></tw-context-menu>
|
|
10584
10945
|
* ```
|
|
10585
10946
|
*/
|
|
10586
|
-
declare class TwNativeContextMenuComponent implements
|
|
10947
|
+
declare class TwNativeContextMenuComponent implements OnDestroy {
|
|
10587
10948
|
private readonly platformService;
|
|
10588
10949
|
readonly items: _angular_core.InputSignal<NativeMenuItem[]>;
|
|
10589
10950
|
readonly trigger: _angular_core.InputSignal<HTMLElement | null>;
|
|
@@ -10593,13 +10954,19 @@ declare class TwNativeContextMenuComponent implements OnInit, OnDestroy {
|
|
|
10593
10954
|
protected readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
10594
10955
|
protected readonly position: _angular_core.WritableSignal<NativeContextMenuPosition>;
|
|
10595
10956
|
protected readonly hoveredItemId: _angular_core.WritableSignal<string | null>;
|
|
10957
|
+
private readonly menuRef;
|
|
10596
10958
|
private readonly contextMenuHandler;
|
|
10597
|
-
|
|
10959
|
+
/** The exact node the contextmenu listener is currently attached to */
|
|
10960
|
+
private listenerTarget;
|
|
10961
|
+
constructor();
|
|
10598
10962
|
ngOnDestroy(): void;
|
|
10963
|
+
private detachContextMenuListener;
|
|
10599
10964
|
protected onDocumentClick(): void;
|
|
10600
10965
|
protected onEscape(): void;
|
|
10601
10966
|
protected onScroll(): void;
|
|
10602
10967
|
private onContextMenu;
|
|
10968
|
+
/** Adjust position after a tick (once the menu is rendered) so it stays within the viewport */
|
|
10969
|
+
private clampToViewport;
|
|
10603
10970
|
protected selectItem(item: NativeMenuItem, event: MouseEvent): void;
|
|
10604
10971
|
protected formatShortcut(shortcut: string): string;
|
|
10605
10972
|
open(x: number, y: number): void;
|
|
@@ -10771,11 +11138,15 @@ declare class TwCommandPaletteComponent implements OnInit, OnDestroy {
|
|
|
10771
11138
|
protected readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
10772
11139
|
protected readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
10773
11140
|
protected readonly selectedIndex: _angular_core.WritableSignal<number>;
|
|
11141
|
+
protected readonly paletteId: string;
|
|
11142
|
+
private readonly searchInput;
|
|
11143
|
+
private readonly searchableCommands;
|
|
10774
11144
|
protected readonly filteredCommands: _angular_core.Signal<CommandItem[]>;
|
|
10775
11145
|
protected readonly groupedCommands: _angular_core.Signal<{
|
|
10776
11146
|
category: string;
|
|
10777
11147
|
commands: CommandItem[];
|
|
10778
11148
|
}[]>;
|
|
11149
|
+
private readonly groupStartIndexes;
|
|
10779
11150
|
private readonly keydownHandler;
|
|
10780
11151
|
ngOnInit(): void;
|
|
10781
11152
|
ngOnDestroy(): void;
|
|
@@ -10854,6 +11225,8 @@ declare class TwQuickSwitcherComponent {
|
|
|
10854
11225
|
readonly itemSelected: _angular_core.OutputEmitterRef<QuickSwitcherItem>;
|
|
10855
11226
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
10856
11227
|
readonly searchInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
11228
|
+
/** Unique id prefix for option elements (aria-activedescendant) */
|
|
11229
|
+
readonly switcherId: string;
|
|
10857
11230
|
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
10858
11231
|
readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
10859
11232
|
readonly selectedIndex: _angular_core.WritableSignal<number>;
|
|
@@ -11246,7 +11619,8 @@ declare class TwOnboardingWizardComponent {
|
|
|
11246
11619
|
|
|
11247
11620
|
/**
|
|
11248
11621
|
* Terminal / Console output component
|
|
11249
|
-
* Displays command output
|
|
11622
|
+
* Displays command output; strips ANSI escape codes for safe display, with
|
|
11623
|
+
* line colors derived from each line's type
|
|
11250
11624
|
*
|
|
11251
11625
|
* @example
|
|
11252
11626
|
* ```html
|
|
@@ -11276,6 +11650,7 @@ declare class TwTerminalComponent implements AfterViewChecked {
|
|
|
11276
11650
|
protected readonly commandHistory: _angular_core.WritableSignal<string[]>;
|
|
11277
11651
|
protected readonly historyIndex: _angular_core.WritableSignal<number>;
|
|
11278
11652
|
private shouldScroll;
|
|
11653
|
+
protected readonly displayedLines: _angular_core.Signal<TerminalLine[]>;
|
|
11279
11654
|
ngAfterViewChecked(): void;
|
|
11280
11655
|
protected readonly containerClasses: _angular_core.Signal<string>;
|
|
11281
11656
|
protected getLineClasses(line: TerminalLine): string;
|
|
@@ -11515,6 +11890,8 @@ declare class TwResizablePanelsComponent {
|
|
|
11515
11890
|
readonly panel1Collapsed: _angular_core.WritableSignal<boolean>;
|
|
11516
11891
|
readonly panel2Collapsed: _angular_core.WritableSignal<boolean>;
|
|
11517
11892
|
readonly isResizing: _angular_core.WritableSignal<boolean>;
|
|
11893
|
+
/** Cleanup for the document listeners of an in-progress drag */
|
|
11894
|
+
private activeResizeEnd;
|
|
11518
11895
|
constructor();
|
|
11519
11896
|
readonly containerClasses: _angular_core.Signal<string>;
|
|
11520
11897
|
panelClasses(index: number): string;
|
|
@@ -11550,21 +11927,56 @@ declare class TwShortcutDisplayComponent {
|
|
|
11550
11927
|
}
|
|
11551
11928
|
|
|
11552
11929
|
/**
|
|
11553
|
-
* Storage service for persistent data
|
|
11554
|
-
* Supports
|
|
11930
|
+
* Storage service for persistent data.
|
|
11931
|
+
* Supports Web Storage (localStorage/sessionStorage), IndexedDB, and a
|
|
11932
|
+
* native-backed persistent store on Tauri/Electron.
|
|
11933
|
+
*
|
|
11934
|
+
* Note: despite their names, the `*Secure` methods are NOT backed by an OS
|
|
11935
|
+
* keychain — see their individual docs for what each platform actually does.
|
|
11555
11936
|
*/
|
|
11556
11937
|
declare class NativeStorageService {
|
|
11557
11938
|
private readonly platformService;
|
|
11558
11939
|
private readonly _isInitialized;
|
|
11940
|
+
/**
|
|
11941
|
+
* True once the Web Storage backends are available (set at construction;
|
|
11942
|
+
* stays false during SSR). Native Tauri/Electron stores load lazily on
|
|
11943
|
+
* first `*Secure` call.
|
|
11944
|
+
*/
|
|
11559
11945
|
readonly isInitialized: _angular_core.Signal<boolean>;
|
|
11946
|
+
private tauriStorePromise;
|
|
11947
|
+
constructor();
|
|
11560
11948
|
get<T>(key: string, defaultValue?: T): T | null;
|
|
11561
11949
|
set(key: string, value: unknown, options?: StorageOptions): void;
|
|
11562
11950
|
remove(key: string): void;
|
|
11563
11951
|
clear(): void;
|
|
11564
11952
|
keys(): string[];
|
|
11565
11953
|
has(key: string): boolean;
|
|
11954
|
+
private getTauriStore;
|
|
11955
|
+
/**
|
|
11956
|
+
* Read a value from the platform's persistent store.
|
|
11957
|
+
*
|
|
11958
|
+
* Despite the name, this is NOT OS-keychain-backed secure storage:
|
|
11959
|
+
* - Tauri: plaintext JSON persisted via `@tauri-apps/plugin-store`
|
|
11960
|
+
* (optional `@tauri-apps/plugin-store` peer dependency required).
|
|
11961
|
+
* - Electron: delegated to the host app's `secure-storage-get` IPC handler;
|
|
11962
|
+
* security depends entirely on that implementation.
|
|
11963
|
+
* - Web: falls back to plain localStorage with a console warning.
|
|
11964
|
+
*/
|
|
11566
11965
|
getSecure<T>(key: string): Promise<T | null>;
|
|
11966
|
+
/**
|
|
11967
|
+
* Write a value to the platform's persistent store.
|
|
11968
|
+
*
|
|
11969
|
+
* Despite the name, the value is NOT stored in an OS keychain: on Tauri it
|
|
11970
|
+
* is persisted as plaintext JSON via `@tauri-apps/plugin-store`, on
|
|
11971
|
+
* Electron it is delegated to the host app's `secure-storage-set` IPC
|
|
11972
|
+
* handler, and on the web it falls back to plain localStorage.
|
|
11973
|
+
*/
|
|
11567
11974
|
setSecure(key: string, value: unknown): Promise<void>;
|
|
11975
|
+
/**
|
|
11976
|
+
* Remove a value from the platform's persistent store (plaintext JSON on
|
|
11977
|
+
* Tauri, host-app IPC handler on Electron, localStorage on the web — NOT an
|
|
11978
|
+
* OS keychain; see getSecure).
|
|
11979
|
+
*/
|
|
11568
11980
|
removeSecure(key: string): Promise<void>;
|
|
11569
11981
|
getSession<T>(key: string, defaultValue?: T): T | null;
|
|
11570
11982
|
setSession(key: string, value: unknown): void;
|
|
@@ -11584,11 +11996,10 @@ type IpcCallback<T> = (data: T) => void;
|
|
|
11584
11996
|
* IPC (Inter-Process Communication) service
|
|
11585
11997
|
* Handles communication between renderer and main process in Tauri/Electron
|
|
11586
11998
|
*/
|
|
11587
|
-
declare class NativeIpcService {
|
|
11999
|
+
declare class NativeIpcService implements OnDestroy {
|
|
11588
12000
|
private readonly platformService;
|
|
11589
12001
|
private readonly ngZone;
|
|
11590
12002
|
private readonly listeners;
|
|
11591
|
-
private unlistenFns;
|
|
11592
12003
|
private readonly _isConnected;
|
|
11593
12004
|
readonly isConnected: _angular_core.Signal<boolean>;
|
|
11594
12005
|
constructor();
|
|
@@ -11602,7 +12013,9 @@ declare class NativeIpcService {
|
|
|
11602
12013
|
*/
|
|
11603
12014
|
send(channel: string, payload?: unknown): Promise<void>;
|
|
11604
12015
|
/**
|
|
11605
|
-
* Listen for messages from the main process
|
|
12016
|
+
* Listen for messages from the main process.
|
|
12017
|
+
* Returns an unlisten function that removes both the platform listener and
|
|
12018
|
+
* the service's bookkeeping (equivalent to `off(channel, callback)`).
|
|
11606
12019
|
*/
|
|
11607
12020
|
on<T>(channel: string, callback: IpcCallback<T>): Promise<() => void>;
|
|
11608
12021
|
/**
|
|
@@ -11610,7 +12023,9 @@ declare class NativeIpcService {
|
|
|
11610
12023
|
*/
|
|
11611
12024
|
once<T>(channel: string, callback: IpcCallback<T>): Promise<void>;
|
|
11612
12025
|
/**
|
|
11613
|
-
* Remove listener for a channel
|
|
12026
|
+
* Remove listener(s) for a channel, tearing down the underlying platform
|
|
12027
|
+
* listener so callbacks stop firing. Omit `callback` to remove all
|
|
12028
|
+
* listeners registered for the channel.
|
|
11614
12029
|
*/
|
|
11615
12030
|
off(channel: string, callback?: IpcCallback<unknown>): void;
|
|
11616
12031
|
/**
|
|
@@ -11621,6 +12036,7 @@ declare class NativeIpcService {
|
|
|
11621
12036
|
* Clean up all listeners
|
|
11622
12037
|
*/
|
|
11623
12038
|
destroy(): void;
|
|
12039
|
+
ngOnDestroy(): void;
|
|
11624
12040
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NativeIpcService, never>;
|
|
11625
12041
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NativeIpcService>;
|
|
11626
12042
|
}
|
|
@@ -11676,17 +12092,50 @@ declare class SystemTrayService {
|
|
|
11676
12092
|
readonly isSupported: _angular_core.WritableSignal<boolean>;
|
|
11677
12093
|
readonly isVisible: _angular_core.WritableSignal<boolean>;
|
|
11678
12094
|
private trayInstance;
|
|
12095
|
+
private readonly electronMenuActions;
|
|
12096
|
+
private electronMenuListenerRegistered;
|
|
11679
12097
|
constructor();
|
|
11680
12098
|
private checkSupport;
|
|
11681
12099
|
create(config: TrayConfig): Promise<boolean>;
|
|
11682
|
-
|
|
11683
|
-
|
|
11684
|
-
|
|
12100
|
+
/**
|
|
12101
|
+
* Set the tray icon.
|
|
12102
|
+
* @returns false when the tray has not been created yet (Tauri) or the
|
|
12103
|
+
* platform has no tray support; true when the update was dispatched.
|
|
12104
|
+
*/
|
|
12105
|
+
setIcon(icon: string): Promise<boolean>;
|
|
12106
|
+
/**
|
|
12107
|
+
* Set the tray tooltip.
|
|
12108
|
+
* @returns false when the tray has not been created yet (Tauri) or the
|
|
12109
|
+
* platform has no tray support; true when the update was dispatched.
|
|
12110
|
+
*/
|
|
12111
|
+
setTooltip(tooltip: string): Promise<boolean>;
|
|
12112
|
+
/**
|
|
12113
|
+
* Set the tray context menu.
|
|
12114
|
+
* On Electron, item `action` callbacks are routed by id: the main process
|
|
12115
|
+
* must echo the clicked item's id back on the 'tray-menu-click' channel.
|
|
12116
|
+
* @returns false when the tray has not been created yet (Tauri) or the
|
|
12117
|
+
* platform has no tray support; true when the update was dispatched.
|
|
12118
|
+
*/
|
|
12119
|
+
setMenu(menu: NativeMenuItem[]): Promise<boolean>;
|
|
11685
12120
|
destroy(): Promise<void>;
|
|
11686
12121
|
private createTauriTray;
|
|
11687
12122
|
private createElectronTray;
|
|
12123
|
+
private buildTauriMenuItems;
|
|
11688
12124
|
private buildTauriMenu;
|
|
11689
12125
|
private setTauriMenu;
|
|
12126
|
+
/**
|
|
12127
|
+
* Listen for tray menu clicks echoed back from the Electron main process on
|
|
12128
|
+
* the 'tray-menu-click' channel (payload: the clicked item's id) and invoke
|
|
12129
|
+
* the matching registered action.
|
|
12130
|
+
*/
|
|
12131
|
+
private registerElectronMenuClickListener;
|
|
12132
|
+
/**
|
|
12133
|
+
* Convert menu items to a serializable structure for the Electron main
|
|
12134
|
+
* process. Functions cannot cross the IPC boundary, so each item's `action`
|
|
12135
|
+
* is registered locally under its id; the main process must echo the
|
|
12136
|
+
* clicked item's id back on the 'tray-menu-click' channel for actions to
|
|
12137
|
+
* fire (see registerElectronMenuClickListener).
|
|
12138
|
+
*/
|
|
11690
12139
|
private convertMenuForElectron;
|
|
11691
12140
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SystemTrayService, never>;
|
|
11692
12141
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SystemTrayService>;
|
|
@@ -11725,10 +12174,13 @@ declare class NativeNotificationsService {
|
|
|
11725
12174
|
declare class DockService {
|
|
11726
12175
|
private readonly platformService;
|
|
11727
12176
|
readonly isSupported: _angular_core.WritableSignal<boolean>;
|
|
12177
|
+
private readonly electronMenuActions;
|
|
12178
|
+
private electronMenuListenerRegistered;
|
|
11728
12179
|
constructor();
|
|
11729
12180
|
private checkSupport;
|
|
11730
12181
|
/**
|
|
11731
|
-
* Set the dock badge (macOS) or taskbar overlay (Windows)
|
|
12182
|
+
* Set the dock badge (macOS) or taskbar overlay (Windows).
|
|
12183
|
+
* No-op on Tauri (warns): Tauri has no dock badge API.
|
|
11732
12184
|
*/
|
|
11733
12185
|
setBadge(text: string): Promise<void>;
|
|
11734
12186
|
/**
|
|
@@ -11752,7 +12204,9 @@ declare class DockService {
|
|
|
11752
12204
|
*/
|
|
11753
12205
|
cancelBounce(id: number): Promise<void>;
|
|
11754
12206
|
/**
|
|
11755
|
-
* Set the dock menu (macOS only)
|
|
12207
|
+
* Set the dock menu (macOS only).
|
|
12208
|
+
* Item `action` callbacks are routed by id: the main process must echo the
|
|
12209
|
+
* clicked item's id back on the 'dock-menu-click' channel.
|
|
11756
12210
|
*/
|
|
11757
12211
|
setMenu(items: NativeMenuItem[]): Promise<void>;
|
|
11758
12212
|
/**
|
|
@@ -11767,6 +12221,19 @@ declare class DockService {
|
|
|
11767
12221
|
* Flash the window in the taskbar (Windows only)
|
|
11768
12222
|
*/
|
|
11769
12223
|
flashFrame(flash: boolean): Promise<void>;
|
|
12224
|
+
/**
|
|
12225
|
+
* Listen for dock menu clicks echoed back from the Electron main process on
|
|
12226
|
+
* the 'dock-menu-click' channel (payload: the clicked item's id) and invoke
|
|
12227
|
+
* the matching registered action.
|
|
12228
|
+
*/
|
|
12229
|
+
private registerElectronMenuClickListener;
|
|
12230
|
+
/**
|
|
12231
|
+
* Convert menu items to a serializable structure for the Electron main
|
|
12232
|
+
* process. Functions cannot cross the IPC boundary, so each item's `action`
|
|
12233
|
+
* is registered locally under its id; the main process must echo the
|
|
12234
|
+
* clicked item's id back on the 'dock-menu-click' channel for actions to
|
|
12235
|
+
* fire (see registerElectronMenuClickListener).
|
|
12236
|
+
*/
|
|
11770
12237
|
private convertMenuForElectron;
|
|
11771
12238
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DockService, never>;
|
|
11772
12239
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DockService>;
|
|
@@ -11825,7 +12292,7 @@ declare class UpdateService {
|
|
|
11825
12292
|
* <div twDraggable [dragData]="{ type: 'file', data: file }">Drag me</div>
|
|
11826
12293
|
* ```
|
|
11827
12294
|
*/
|
|
11828
|
-
declare class TwDraggableDirective
|
|
12295
|
+
declare class TwDraggableDirective {
|
|
11829
12296
|
private readonly elementRef;
|
|
11830
12297
|
readonly twDraggable: _angular_core.InputSignal<boolean | "">;
|
|
11831
12298
|
readonly dragData: _angular_core.InputSignal<DragData>;
|
|
@@ -11838,7 +12305,6 @@ declare class TwDraggableDirective implements OnInit {
|
|
|
11838
12305
|
protected get isDraggable(): boolean;
|
|
11839
12306
|
protected readonly baseClass = true;
|
|
11840
12307
|
protected get cursorClass(): boolean;
|
|
11841
|
-
ngOnInit(): void;
|
|
11842
12308
|
protected onDragStart(event: DragEvent): void;
|
|
11843
12309
|
protected onDragEnd(event: DragEvent): void;
|
|
11844
12310
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TwDraggableDirective, never>;
|
|
@@ -11891,12 +12357,16 @@ declare class TwDropZoneDirective {
|
|
|
11891
12357
|
declare class TwShortcutDirective implements OnInit, OnDestroy {
|
|
11892
12358
|
private readonly platformService;
|
|
11893
12359
|
private readonly ngZone;
|
|
12360
|
+
private readonly elementRef;
|
|
11894
12361
|
readonly twShortcut: _angular_core.InputSignal<string>;
|
|
11895
12362
|
readonly shortcutGlobal: _angular_core.InputSignal<boolean>;
|
|
11896
12363
|
readonly shortcutPreventDefault: _angular_core.InputSignal<boolean>;
|
|
11897
12364
|
readonly shortcutEnabled: _angular_core.InputSignal<boolean>;
|
|
11898
12365
|
readonly shortcutTriggered: _angular_core.OutputEmitterRef<KeyboardEvent>;
|
|
12366
|
+
private readonly parsedShortcut;
|
|
11899
12367
|
private readonly keydownHandler;
|
|
12368
|
+
/** The exact node the keydown listener is attached to */
|
|
12369
|
+
private listenerTarget;
|
|
11900
12370
|
ngOnInit(): void;
|
|
11901
12371
|
ngOnDestroy(): void;
|
|
11902
12372
|
private handleKeydown;
|
|
@@ -11955,7 +12425,7 @@ declare const TW_OVERLAY_COMPONENTS: readonly [typeof TwOverlayComponent];
|
|
|
11955
12425
|
*
|
|
11956
12426
|
* @example
|
|
11957
12427
|
* ```typescript
|
|
11958
|
-
* import { TW_ALL } from '@
|
|
12428
|
+
* import { TW_ALL } from '@quinnjr/ngx-tailwindcss';
|
|
11959
12429
|
*
|
|
11960
12430
|
* @Component({
|
|
11961
12431
|
* imports: [...TW_ALL],
|
|
@@ -11965,5 +12435,5 @@ declare const TW_OVERLAY_COMPONENTS: readonly [typeof TwOverlayComponent];
|
|
|
11965
12435
|
*/
|
|
11966
12436
|
declare const TW_ALL: readonly [typeof _quinnjr_ngx_tailwindcss.TwRippleDirective, typeof _quinnjr_ngx_tailwindcss.TwTooltipDirective, typeof _quinnjr_ngx_tailwindcss.TwClickOutsideDirective, typeof _quinnjr_ngx_tailwindcss.TwFocusTrapDirective, typeof _quinnjr_ngx_tailwindcss.TwClassDirective, typeof _quinnjr_ngx_tailwindcss.TwVariantDirective, typeof _quinnjr_ngx_tailwindcss.TwAutoFocusDirective, typeof _quinnjr_ngx_tailwindcss.TwInViewDirective, typeof _quinnjr_ngx_tailwindcss.TwLongPressDirective, typeof _quinnjr_ngx_tailwindcss.TwDebounceClickDirective, typeof _quinnjr_ngx_tailwindcss.TwCopyClipboardDirective, typeof _quinnjr_ngx_tailwindcss.TwKeyboardShortcutDirective, typeof _quinnjr_ngx_tailwindcss.TwSwipeDirective, typeof _quinnjr_ngx_tailwindcss.TwResizeObserverDirective, typeof _quinnjr_ngx_tailwindcss.TwLazyImageDirective, typeof _quinnjr_ngx_tailwindcss.TwScrollToDirective, typeof _quinnjr_ngx_tailwindcss.TwScrollSectionDirective, typeof _quinnjr_ngx_tailwindcss.TwHoverClassDirective, typeof _quinnjr_ngx_tailwindcss.TwTrapScrollDirective, typeof _quinnjr_ngx_tailwindcss.TwSrOnlyDirective, typeof _quinnjr_ngx_tailwindcss.TwAnnounceDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaExpandedDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaSelectedDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaCheckedDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaPressedDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaDisabledDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaHiddenDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaLiveDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaCurrentDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaBusyDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaDescribedbyDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaLabelledbyDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaLabelDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaValueDirective, typeof _quinnjr_ngx_tailwindcss.TwRoleDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaModalDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaHaspopupDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaOwnsDirective, typeof _quinnjr_ngx_tailwindcss.TwAriaActivedescendantDirective, typeof _quinnjr_ngx_tailwindcss.TwButtonComponent, typeof _quinnjr_ngx_tailwindcss.TwButtonLinkComponent, typeof _quinnjr_ngx_tailwindcss.TwInputComponent, typeof _quinnjr_ngx_tailwindcss.TwTextareaComponent, typeof _quinnjr_ngx_tailwindcss.TwLabelDirective, typeof _quinnjr_ngx_tailwindcss.TwHintDirective, typeof _quinnjr_ngx_tailwindcss.TwErrorDirective, typeof _quinnjr_ngx_tailwindcss.TwInputAffixDirective, typeof TwCheckboxComponent, typeof TwRadioButtonComponent, typeof TwRadioGroupComponent, typeof TwSwitchComponent, typeof TwSelectComponent, typeof TwMultiSelectComponent, typeof TwSliderComponent, typeof TwRatingComponent, typeof TwChipComponent, typeof TwChipsComponent, typeof _quinnjr_ngx_tailwindcss.TwCardComponent, typeof _quinnjr_ngx_tailwindcss.TwCardHorizontalComponent, typeof _quinnjr_ngx_tailwindcss.TwCardHeaderDirective, typeof _quinnjr_ngx_tailwindcss.TwCardTitleDirective, typeof _quinnjr_ngx_tailwindcss.TwCardSubtitleDirective, typeof _quinnjr_ngx_tailwindcss.TwCardBodyDirective, typeof _quinnjr_ngx_tailwindcss.TwCardFooterDirective, typeof _quinnjr_ngx_tailwindcss.TwCardMediaDirective, typeof TwAccordionComponent, typeof TwAccordionItemComponent, typeof _quinnjr_ngx_tailwindcss.TwTabsComponent, typeof _quinnjr_ngx_tailwindcss.TwTabPanelComponent, typeof TwDividerComponent, typeof TwContainerComponent, typeof TwStackComponent, typeof TwVStackComponent, typeof TwHStackComponent, typeof TwGridComponent, typeof TwSimpleGridComponent, typeof TwAspectRatioComponent, typeof TwCenterComponent, typeof TwSquareComponent, typeof TwCircleComponent, typeof TwSpacerComponent, typeof TwWrapComponent, typeof TwSplitterComponent, typeof TwSplitterPaneComponent, typeof TwStickyComponent, typeof TwScrollAreaComponent, typeof TwColumnsComponent, typeof TwBleedComponent, typeof TwOverlayComponent, typeof _quinnjr_ngx_tailwindcss.TwBadgeComponent, typeof _quinnjr_ngx_tailwindcss.TwBadgeGroupComponent, typeof TwAvatarComponent, typeof TwAvatarGroupComponent, typeof TwTableComponent, typeof TwDatatablesComponent, typeof TwTreeComponent, typeof TwTimelineComponent, typeof TwBreadcrumbComponent, typeof TwPaginationComponent, typeof TwStepsComponent, typeof TwMenuComponent, typeof TwContextMenuComponent, typeof _quinnjr_ngx_tailwindcss.TwAlertComponent, typeof _quinnjr_ngx_tailwindcss.TwAlertTitleComponent, typeof _quinnjr_ngx_tailwindcss.TwAlertDescriptionComponent, typeof TwToastComponent, typeof TwToastContainerComponent, typeof TwSpinnerComponent, typeof TwLoadingOverlayComponent, typeof TwProgressComponent, typeof TwProgressCircularComponent, typeof TwSkeletonComponent, typeof TwSkeletonTextComponent, typeof TwSkeletonCardComponent, typeof TwSkeletonTableComponent, typeof _quinnjr_ngx_tailwindcss.TwModalComponent, typeof _quinnjr_ngx_tailwindcss.TwModalHeaderComponent, typeof _quinnjr_ngx_tailwindcss.TwModalTitleComponent, typeof _quinnjr_ngx_tailwindcss.TwModalBodyComponent, typeof _quinnjr_ngx_tailwindcss.TwModalFooterComponent, typeof _quinnjr_ngx_tailwindcss.TwConfirmDialogComponent, typeof _quinnjr_ngx_tailwindcss.TwDropdownComponent, typeof _quinnjr_ngx_tailwindcss.TwDropdownMenuComponent, typeof _quinnjr_ngx_tailwindcss.TwDropdownItemDirective, typeof _quinnjr_ngx_tailwindcss.TwDropdownDividerComponent, typeof _quinnjr_ngx_tailwindcss.TwDropdownHeaderComponent, typeof _quinnjr_ngx_tailwindcss.TwDropdownTriggerDirective, typeof TwSidebarComponent, typeof TwPopoverComponent, typeof TwImageComponent, typeof TwScrollTopComponent, typeof _quinnjr_ngx_tailwindcss.TwVolumeDialComponent, typeof _quinnjr_ngx_tailwindcss.TwVuMeterComponent, typeof _quinnjr_ngx_tailwindcss.TwWaveformComponent, typeof _quinnjr_ngx_tailwindcss.TwTransportComponent, typeof _quinnjr_ngx_tailwindcss.TwScrubberComponent, typeof _quinnjr_ngx_tailwindcss.TwFaderComponent, typeof _quinnjr_ngx_tailwindcss.TwPanControlComponent, typeof _quinnjr_ngx_tailwindcss.TwTimeDisplayComponent, typeof _quinnjr_ngx_tailwindcss.TwSpectrumComponent, typeof _quinnjr_ngx_tailwindcss.TwPianoComponent, typeof _quinnjr_ngx_tailwindcss.TwParametricEQComponent, typeof _quinnjr_ngx_tailwindcss.TwGraphicEQComponent, typeof _quinnjr_ngx_tailwindcss.TwOscilloscopeComponent, typeof _quinnjr_ngx_tailwindcss.TwChannelStripComponent, typeof _quinnjr_ngx_tailwindcss.TwMixerComponent, typeof _quinnjr_ngx_tailwindcss.TwMetronomeComponent, typeof _quinnjr_ngx_tailwindcss.TwVisualizerComponent, typeof _quinnjr_ngx_tailwindcss.TwAudioPlayerComponent, typeof _quinnjr_ngx_tailwindcss.TwLooperComponent, typeof _quinnjr_ngx_tailwindcss.TwStaffComponent, typeof _quinnjr_ngx_tailwindcss.TwNoteComponent, typeof _quinnjr_ngx_tailwindcss.TwNoteInputComponent, typeof _quinnjr_ngx_tailwindcss.TwMusicalSymbolComponent, typeof _quinnjr_ngx_tailwindcss.TwChordDiagramComponent, typeof _quinnjr_ngx_tailwindcss.TwPianoChordComponent, typeof _quinnjr_ngx_tailwindcss.TwTablatureComponent, typeof _quinnjr_ngx_tailwindcss.TwSheetMusicComponent, typeof _quinnjr_ngx_tailwindcss.TwLeadSheetComponent, typeof _quinnjr_ngx_tailwindcss.TwScoreEditorComponent, typeof _quinnjr_ngx_tailwindcss.TwTunerComponent, typeof _quinnjr_ngx_tailwindcss.TwNoteDisplayComponent, typeof _quinnjr_ngx_tailwindcss.TwPitchDisplayComponent, typeof _quinnjr_ngx_tailwindcss.TwAudioStatsComponent, typeof _quinnjr_ngx_tailwindcss.TwBpmDisplayComponent, typeof _quinnjr_ngx_tailwindcss.TwCompressorMeterComponent, typeof _quinnjr_ngx_tailwindcss.TwTouchGuardDirective, typeof _quinnjr_ngx_tailwindcss.TwMidiLearnDirective, typeof _quinnjr_ngx_tailwindcss.TwTitleBarComponent, typeof _quinnjr_ngx_tailwindcss.TwWindowControlsComponent, typeof _quinnjr_ngx_tailwindcss.TwMenuBarComponent, typeof _quinnjr_ngx_tailwindcss.TwNativeContextMenuComponent, typeof _quinnjr_ngx_tailwindcss.TwSidebarNavComponent, typeof _quinnjr_ngx_tailwindcss.TwFileTreeComponent, typeof _quinnjr_ngx_tailwindcss.TwBreadcrumbsNavComponent, typeof _quinnjr_ngx_tailwindcss.TwTabBarComponent, typeof _quinnjr_ngx_tailwindcss.TwCommandPaletteComponent, typeof _quinnjr_ngx_tailwindcss.TwSearchBarComponent, typeof _quinnjr_ngx_tailwindcss.TwQuickSwitcherComponent, typeof _quinnjr_ngx_tailwindcss.TwSettingsPanelComponent, typeof _quinnjr_ngx_tailwindcss.TwPreferencesDialogComponent, typeof _quinnjr_ngx_tailwindcss.TwShortcutsEditorComponent, typeof _quinnjr_ngx_tailwindcss.TwThemeSelectorComponent, typeof _quinnjr_ngx_tailwindcss.TwAlertDialogComponent, typeof _quinnjr_ngx_tailwindcss.TwNativeConfirmDialogComponent, typeof _quinnjr_ngx_tailwindcss.TwPromptDialogComponent, typeof _quinnjr_ngx_tailwindcss.TwAboutDialogComponent, typeof _quinnjr_ngx_tailwindcss.TwUpdateDialogComponent, typeof _quinnjr_ngx_tailwindcss.TwOnboardingWizardComponent, typeof _quinnjr_ngx_tailwindcss.TwTerminalComponent, typeof _quinnjr_ngx_tailwindcss.TwLogViewerComponent, typeof _quinnjr_ngx_tailwindcss.TwPropertyInspectorComponent, typeof _quinnjr_ngx_tailwindcss.TwCodeViewerComponent, typeof _quinnjr_ngx_tailwindcss.TwStatusBarComponent, typeof _quinnjr_ngx_tailwindcss.TwToolbarComponent, typeof _quinnjr_ngx_tailwindcss.TwActivityIndicatorComponent, typeof _quinnjr_ngx_tailwindcss.TwConnectionStatusComponent, typeof _quinnjr_ngx_tailwindcss.TwResizablePanelsComponent, typeof _quinnjr_ngx_tailwindcss.TwShortcutDisplayComponent, typeof _quinnjr_ngx_tailwindcss.TwDraggableDirective, typeof _quinnjr_ngx_tailwindcss.TwDropZoneDirective, typeof _quinnjr_ngx_tailwindcss.TwShortcutDirective];
|
|
11967
12437
|
|
|
11968
|
-
export { ACCENT_PRESETS, AR_TIME_PRESETS, AriaUtils, AudioContextService, AudioWorkerService, BPM_RANGES, CODEC_INFO, COMMON_CHORDS, DEFAULT_THEME, DEFAULT_THEME_COLORS, DEFAULT_TW_CONFIG, DockService, EQ_PRESETS, FilePickerService, INSTRUMENT_PRESETS, MIDI_CC, MUSIC_FILE_FILTERS, MidiService, MobileSupportService, MusicAccessibilityService, NativeAppPlatformService, NativeIpcService, NativeNotificationsService, NativePlatformService, NativeStorageService, PIANO_CHORDS, PITCH_PRESETS, SAMPLE_MUSIC, SystemTrayService, THEME_CSS_CLASSES, TW_ACCORDION_COMPONENTS, TW_ALERT_COMPONENTS, TW_ALL, TW_ARIA_DIRECTIVES, TW_ASPECT_RATIO_COMPONENTS, TW_AVATAR_COMPONENTS, TW_BADGE_COMPONENTS, TW_BLEED_COMPONENTS, TW_BREADCRUMB_COMPONENTS, TW_BUTTON_COMPONENTS, TW_CARD_COMPONENTS, TW_CENTER_COMPONENTS, TW_CHECKBOX_COMPONENTS, TW_CHIP_COMPONENTS, TW_COLUMNS_COMPONENTS, TW_CONFIG, TW_CONTAINER_COMPONENTS, TW_CORE_DIRECTIVES, TW_DATATABLES_COMPONENTS, TW_DEFAULT_TRANSLATIONS, TW_DIRECTIVES, TW_DIVIDER_COMPONENTS, TW_DROPDOWN_COMPONENTS, TW_DX_DIRECTIVES, TW_GRID_COMPONENTS, TW_IMAGE_COMPONENTS, TW_INPUT_COMPONENTS, TW_LOCALE, TW_MENU_COMPONENTS, TW_MODAL_COMPONENTS, TW_MULTISELECT_COMPONENTS, TW_MUSIC_COMPONENTS, TW_MUSIC_DIRECTIVES, TW_NATIVE_COMPONENTS, TW_NATIVE_DIRECTIVES, TW_OVERLAY_COMPONENTS, TW_PAGINATION_COMPONENTS, TW_POPOVER_COMPONENTS, TW_PROGRESS_COMPONENTS, TW_RADIO_COMPONENTS, TW_RATING_COMPONENTS, TW_SCROLL_AREA_COMPONENTS, TW_SCROLL_TOP_COMPONENTS, TW_SELECT_COMPONENTS, TW_SIDEBAR_COMPONENTS, TW_SKELETON_COMPONENTS, TW_SLIDER_COMPONENTS, TW_SPACER_COMPONENTS, TW_SPINNER_COMPONENTS, TW_SPLITTER_COMPONENTS, TW_STACK_COMPONENTS, TW_STEPS_COMPONENTS, TW_STICKY_COMPONENTS, TW_SWITCH_COMPONENTS, TW_TABLE_COMPONENTS, TW_TABS_COMPONENTS, TW_THEME, TW_TIMELINE_COMPONENTS, TW_TOAST_COMPONENTS, TW_TRANSLATIONS, TW_TREE_COMPONENTS, TwAboutDialogComponent, TwAccordionComponent, TwAccordionItemComponent, TwActivityIndicatorComponent, TwAlertComponent, TwAlertDescriptionComponent, TwAlertDialogComponent, TwAlertTitleComponent, TwAnnounceDirective, TwAriaActivedescendantDirective, TwAriaBusyDirective, TwAriaCheckedDirective, TwAriaCurrentDirective, TwAriaDescribedbyDirective, TwAriaDisabledDirective, TwAriaExpandedDirective, TwAriaHaspopupDirective, TwAriaHiddenDirective, TwAriaLabelDirective, TwAriaLabelledbyDirective, TwAriaLiveDirective, TwAriaModalDirective, TwAriaOwnsDirective, TwAriaPressedDirective, TwAriaSelectedDirective, TwAriaService, TwAriaValueDirective, TwAspectRatioComponent, TwAudioPlayerComponent, TwAudioStatsComponent, TwAutoFocusDirective, TwAvatarComponent, TwAvatarGroupComponent, TwBadgeComponent, TwBadgeGroupComponent, TwBleedComponent, TwBpmDisplayComponent, TwBreadcrumbComponent, TwBreadcrumbsNavComponent, TwButtonComponent, TwButtonLinkComponent, TwCardBodyDirective, TwCardComponent, TwCardFooterDirective, TwCardHeaderDirective, TwCardHorizontalComponent, TwCardMediaDirective, TwCardSubtitleDirective, TwCardTitleDirective, TwCenterComponent, TwChannelStripComponent, TwCheckboxComponent, TwChipComponent, TwChipsComponent, TwChordDiagramComponent, TwCircleComponent, TwClassDirective, TwClassService, TwClickOutsideDirective, TwCodeViewerComponent, TwColumnsComponent, TwCommandPaletteComponent, TwCompressorMeterComponent, TwConfirmDialogComponent, TwConnectionStatusComponent, TwContainerComponent, TwContextMenuComponent, TwCopyClipboardDirective, TwDatatablesComponent, TwDebounceClickDirective, TwDividerComponent, TwDraggableDirective, TwDropZoneDirective, TwDropdownComponent, TwDropdownDividerComponent, TwDropdownHeaderComponent, TwDropdownItemDirective, TwDropdownMenuComponent, TwDropdownTriggerDirective, TwErrorDirective, TwFaderComponent, TwFileTreeComponent, TwFocusTrapDirective, TwGraphicEQComponent, TwGridComponent, TwHStackComponent, TwHintDirective, TwHoverClassDirective, TwI18nService, TwImageComponent, TwInViewDirective, TwInputAffixDirective, TwInputComponent, TwKeyboardShortcutDirective, TwLabelDirective, TwLazyImageDirective, TwLeadSheetComponent, TwLoadingOverlayComponent, TwLogViewerComponent, TwLongPressDirective, TwLooperComponent, TwMenuBarComponent, TwMenuComponent, TwMetronomeComponent, TwMidiLearnDirective, TwMixerComponent, TwModalBodyComponent, TwModalComponent, TwModalFooterComponent, TwModalHeaderComponent, TwModalTitleComponent, TwMultiSelectComponent, TwMusicalSymbolComponent, TwNativeConfirmDialogComponent, TwNativeContextMenuComponent, TwNoteComponent, TwNoteDisplayComponent, TwNoteInputComponent, TwOnboardingWizardComponent, TwOscilloscopeComponent, TwOverlayComponent, TwPaginationComponent, TwPanControlComponent, TwParametricEQComponent, TwPianoChordComponent, TwPianoComponent, TwPitchDisplayComponent, TwPopoverComponent, TwPreferencesDialogComponent, TwProgressCircularComponent, TwProgressComponent, TwPromptDialogComponent, TwPropertyInspectorComponent, TwQuickSwitcherComponent, TwRadioButtonComponent, TwRadioGroupComponent, TwRatingComponent, TwResizablePanelsComponent, TwResizeObserverDirective, TwRippleDirective, TwRoleDirective, TwScoreEditorComponent, TwScrollAreaComponent, TwScrollSectionDirective, TwScrollToDirective, TwScrollTopComponent, TwScrubberComponent, TwSearchBarComponent, TwSelectComponent, TwSettingTemplateDirective, TwSettingsPanelComponent, TwSheetMusicComponent, TwShortcutDirective, TwShortcutDisplayComponent, TwShortcutsEditorComponent, TwSidebarComponent, TwSidebarNavComponent, TwSimpleGridComponent, TwSkeletonCardComponent, TwSkeletonComponent, TwSkeletonTableComponent, TwSkeletonTextComponent, TwSliderComponent, TwSpacerComponent, TwSpectrumComponent, TwSpinnerComponent, TwSplitterComponent, TwSplitterPaneComponent, TwSquareComponent, TwSrOnlyDirective, TwStackComponent, TwStaffComponent, TwStatusBarComponent, TwStepsComponent, TwStickyComponent, TwSwipeDirective, TwSwitchComponent, TwTabBarComponent, TwTabPanelComponent, TwTablatureComponent, TwTableComponent, TwTabsComponent, TwTerminalComponent, TwTextareaComponent, TwThemeSelectorComponent, TwThemeService, TwTimeDisplayComponent, TwTimelineComponent, TwTitleBarComponent, TwToastComponent, TwToastContainerComponent, TwToastService, TwToolbarComponent, TwTooltipDirective, TwTouchGuardDirective, TwTransportComponent, TwTrapScrollDirective, TwTreeComponent, TwTunerComponent, TwUpdateDialogComponent, TwVStackComponent, TwVariantDirective, TwVisualizerComponent, TwVolumeDialComponent, TwVuMeterComponent, TwWaveformComponent, TwWindowControlsComponent, TwWrapComponent, UpdateService, createTheme, generateThemeCssProperties, getWorkerScript, handleMessage, parseABCNotation, parseMusicXML, provideTwConfig, provideTwLocale, provideTwTheme, provideTwTranslations, withTwConfig, withTwTheme };
|
|
11969
|
-
export type { AboutDialogConfig, AccentLevel, AccentPattern, AccessibilityPreferences, ActiveNote, ActivityIndicatorSize, ActivityIndicatorVariant, AlertDialogConfig, AlertDialogType, AlertStyle, AlertVariant, AnnouncementPriority, ArticulationType, AspectRatioPreset, AttackReleaseDisplay, AudioChain, AudioContextState, AudioFileInfo, AudioNodeConfig, AudioPlayerTheme, AudioPlayerVariant, AudioSourceType, AudioStatsSize, AudioStatsVariant, AudioTrack, AudioWorkerConfig, AudioWorkletModuleInfo, AuxSend, AvatarSize, AvatarStatus, AvatarVariant, BadgeSize, BadgeStyle, BadgeVariant, BeamConfig, BeamPosition, BeatDetectionOptions, BeatDetectionResult, BeatEvent, BeatHighlightMode, BleedAmount, BleedDirection, BpmDisplaySize, BpmDisplayVariant, BpmSyncStatus, BreadcrumbItem, BreadcrumbSeparator, ButtonSize, ButtonVariant, CCValueChangeEvent, CardVariant, ChannelGroup, ChannelStripSize, ChannelStripState, ChannelStripVariant, CheckboxSize, CheckboxVariant, ChipSize, ChipStyle, ChipVariant, ChordDefinition, ChordDiagramSize, ChordDiagramVariant, ChordFingering, ClefType, ClipboardData, CodeLanguage, ColorMode, ColumnsCount, ColumnsGap, ColumnsRule, CommandItem, CommandPaletteMode, CompressorMeterSize, CompressorMeterVariant, CompressorSettings, ConfirmDialogConfig, ConnectedSource, ConnectionState, ContainerSize, CopyClipboardEvent, DetectedNote, DialSize, DialVariant, DividerLabelPosition, DividerOrientation, DividerVariant, DragData, DropEvent, DropdownPosition, DynamicType, EQBand, EQBandChange, EQBandValue, EQFilterType, EQPreset, EQPresetCategory, EQVariant, ExportFormat, FFTProcessOptions, FFTProcessResult, FaderOrientation, FaderSize, FaderVariant, FileFilter, FileInfo, FilePickerResult, FileTreeEvent, FileTreeNode, FindPeaksOptions, FindPeaksResult, FrequencyConversionOptions, FrequencyConversionResult, FrequencyScale, GainReductionHistoryPoint, GraphicEQBandCount, GraphicEQVariant, GridCols, GridGap, HairpinType, HapticFeedbackType, HistoryEntry, ImageBorderRadius, ImageFit, InViewEvent, InputSize, InputVariant, InstrumentPart, IpcMessage, IpcResponse, KeySignature, KeyboardShortcut, KeyboardShortcutEvent, LazyImageEvent, LeadSheetChord, LeadSheetData, LeadSheetDisplayMode, LeadSheetMeasure, LeadSheetSection, LeadSheetStyle, LeadSheetVariant, LevelOptions, LevelResult, LogEntry, LogFilter, LongPressEvent, LoopLayer, LooperEvent, LooperSize, LooperState, LooperVariant, LyricEntry, MeasureData, MelodyNote, MenuItem, MenuVariant, MetronomeBeat, MetronomeSize, MetronomeVariant, MidiCCMapping, MidiDevice, MidiDeviceInfo, MidiLearnState, MidiMessage, MidiMessageType, MidiNoteInfo, MixerBreakpoint, MixerChannel, MixerSection, MixerSize, MixerState, MixerVariant, ModalSize, MultiSelectAppendTo, MultiSelectGroup, MultiSelectOption, MultiSelectSize, MultiSelectVariant, MusicSwipeDirection, NativeBreadcrumbItem, NativeClipboardData, NativeContextMenuEvent, NativeContextMenuPosition, NativeFileFilter, NativeMenuBarItem, NativeMenuItem, NativeNotificationAction, NativeNotificationOptions, NativeOpenFileOptions, NativeSaveFileOptions, NativeSidebarPosition, NativeSidebarVariant, NoteAccidental, NoteData, NoteDisplaySize, NoteDisplayVariant, NoteDuration, NoteEvent, NoteHistoryEntry, NoteInputEvent, NoteInputMeasureData, NoteName, OnboardingStep, OpenFileOptions, OrnamentType, OscilloscopeTriggerMode, OscilloscopeVariant, OverlayBlur, OverlayOpacity, PaginationSize, PaginationVariant, PanControlSize, PanControlVariant, PanelConfig, PedalType, PianoChordDefinition, PianoChordNote, PianoChordSize, PianoChordVariant, PianoKey, PianoSize, PianoVariant, PinchGestureState, PitchBendStyle, PitchDisplaySize, PitchDisplayVariant, PitchInfo, PlacedNote, Platform, PlatformTheme, PlatformType, PopoverPosition, PopoverTrigger, PreferencesTab, PrintOptions, ProgressSize, ProgressVariant, PromptInputType, PropertyItem, QuickSwitcherItem, RadioSize, RadioVariant, RatingSize, RatingVariant, RepeatType, ResizeEvent, SaveFileOptions, ScoreData, ScoreEditorVariant, ScrollAreaDirection, ScrollAreaScrollbar, ScrollTopPosition, ScrollTopVariant, ScrubberMarker, ScrubberThumbnail, ScrubberVariant, SearchFilter, SearchSuggestion, SelectAppendTo, SelectGroup, SelectOption, SelectSize, SelectVariant, SettingItem, SettingsCategory, SheetMusicData, SheetMusicLayout, SheetMusicVariant, ShortcutBinding, ShortcutDisplayPlatform, ShortcutDisplayVariant, SidebarItem, SidebarPosition, SidebarSize, SkeletonGap, SkeletonVariant, SlashPattern, SlashStyle, SliderSize, SliderVariant, SlurPoints, SmoothDataOptions, SmoothDataResult, SpacerSize, SpectrumColorScheme, SpectrumVariant, SpinnerColor, SpinnerSize, SpinnerVariant, SplitDirection, SplitterDirection, SplitterGutterSize, StackAlign, StackDirection, StackJustify, StackSpacing, StaffTimeSignature, StaffVariant, StatusBarItem, StemDirection, StepItem, StepsOrientation, StepsSize, StickyOffset, StickyPosition, StorageOptions, SwipeDirection, SwipeEvent, SwipeGestureResult, SwitchSize, SwitchVariant, SymbolCategory, TabBarPosition, TabBarVariant, TabEvent, TabItem, TabMeasure, TabNote, TablatureTechnique, TablatureVariant, TableColumn, TableSize, TableVariant, TabsOrientation, TabsSize, TabsVariant, TempoType, TerminalLine, TerminalVariant, ThemeColorValue, ThemeColors, ThemeComponentOverrides, ThemeMode, ThemePreset, ThumbnailSpriteConfig, TimeDisplayMode, TimeDisplaySize, TimeDisplayVariant, TimeDomainOptions, TimeDomainResult, TimeSignature, TimelineAlign, TimelineEvent, TimelineLayout, TitleBarPlatform, TitleBarVariant, ToastOptions, ToastPosition, ToastVariant, ToolbarItem, ToolbarPosition, ToolbarVariant, TooltipPosition, TouchGuardConfig, TransportSize, TransportVariant, TransposeOptions, TrayConfig, TreeNode, TreeSelectionMode, TunerMode, TunerVariant, TuningData, TupletConfig, TupletPosition, TwAlertClassConfig, TwBadgeClassConfig, TwButtonClassConfig, TwCardClassConfig, TwClassOverrides, TwConfig, TwDropdownClassConfig, TwInputClassConfig, TwModalClassConfig, TwTabsClassConfig, TwTheme, TwThemeConfig, TwTranslations, UpdateDialogInfo, UpdateInfo, UpdateProgress, UpdateStatus, VisualizerColorScheme, VisualizerVariant, Voice, VuMeterMode, VuMeterOrientation, VuMeterVariant, WaveformColorScheme, WaveformDownsampleOptions, WaveformDownsampleResult, WaveformMode, WaveformSize, WaveformVariant, WindowControlButton, WindowControlsPosition, WindowState, WorkerMessage, WorkerMessageType, WorkerResponse };
|
|
12438
|
+
export { ACCENT_PRESETS, AR_TIME_PRESETS, AriaUtils, AudioContextService, AudioWorkerService, BPM_RANGES, CODEC_INFO, COMMON_CHORDS, DEFAULT_THEME, DEFAULT_THEME_COLORS, DEFAULT_TW_CONFIG, DockService, EQ_PRESETS, FilePickerService, INSTRUMENT_PRESETS, MIDI_CC, MUSIC_FILE_FILTERS, MidiService, MobileSupportService, MusicAccessibilityService, NativeAppPlatformService, NativeIpcService, NativeNotificationsService, NativePlatformService, NativeStorageService, PIANO_CHORDS, PITCH_PRESETS, SAMPLE_MUSIC, SystemTrayService, THEME_CSS_CLASSES, TW_ACCORDION_COMPONENTS, TW_ALERT_COMPONENTS, TW_ALL, TW_ARIA_DIRECTIVES, TW_ASPECT_RATIO_COMPONENTS, TW_AVATAR_COMPONENTS, TW_BADGE_COMPONENTS, TW_BLEED_COMPONENTS, TW_BREADCRUMB_COMPONENTS, TW_BUTTON_COMPONENTS, TW_CARD_COMPONENTS, TW_CENTER_COMPONENTS, TW_CHECKBOX_COMPONENTS, TW_CHIP_COMPONENTS, TW_COLUMNS_COMPONENTS, TW_CONFIG, TW_CONTAINER_COMPONENTS, TW_CORE_DIRECTIVES, TW_DATATABLES_COMPONENTS, TW_DEFAULT_TRANSLATIONS, TW_DIRECTIVES, TW_DIVIDER_COMPONENTS, TW_DROPDOWN_COMPONENTS, TW_DX_DIRECTIVES, TW_GRID_COMPONENTS, TW_IMAGE_COMPONENTS, TW_INPUT_COMPONENTS, TW_LOCALE, TW_MENU_COMPONENTS, TW_MODAL_COMPONENTS, TW_MULTISELECT_COMPONENTS, TW_MUSIC_COMPONENTS, TW_MUSIC_DIRECTIVES, TW_NATIVE_COMPONENTS, TW_NATIVE_DIRECTIVES, TW_OVERLAY_COMPONENTS, TW_PAGINATION_COMPONENTS, TW_POPOVER_COMPONENTS, TW_PROGRESS_COMPONENTS, TW_RADIO_COMPONENTS, TW_RATING_COMPONENTS, TW_SCROLL_AREA_COMPONENTS, TW_SCROLL_TOP_COMPONENTS, TW_SELECT_COMPONENTS, TW_SIDEBAR_COMPONENTS, TW_SKELETON_COMPONENTS, TW_SLIDER_COMPONENTS, TW_SPACER_COMPONENTS, TW_SPINNER_COMPONENTS, TW_SPLITTER_COMPONENTS, TW_STACK_COMPONENTS, TW_STEPS_COMPONENTS, TW_STICKY_COMPONENTS, TW_SWITCH_COMPONENTS, TW_TABLE_COMPONENTS, TW_TABS_COMPONENTS, TW_THEME, TW_TIMELINE_COMPONENTS, TW_TOAST_COMPONENTS, TW_TRANSLATIONS, TW_TREE_COMPONENTS, TwAboutDialogComponent, TwAccordionComponent, TwAccordionHeaderDirective, TwAccordionItemComponent, TwActivityIndicatorComponent, TwAlertComponent, TwAlertDescriptionComponent, TwAlertDialogComponent, TwAlertTitleComponent, TwAnnounceDirective, TwAriaActivedescendantDirective, TwAriaBusyDirective, TwAriaCheckedDirective, TwAriaCurrentDirective, TwAriaDescribedbyDirective, TwAriaDisabledDirective, TwAriaExpandedDirective, TwAriaHaspopupDirective, TwAriaHiddenDirective, TwAriaLabelDirective, TwAriaLabelledbyDirective, TwAriaLiveDirective, TwAriaModalDirective, TwAriaOwnsDirective, TwAriaPressedDirective, TwAriaSelectedDirective, TwAriaService, TwAriaValueDirective, TwAspectRatioComponent, TwAudioPlayerComponent, TwAudioStatsComponent, TwAutoFocusDirective, TwAvatarComponent, TwAvatarGroupComponent, TwBadgeComponent, TwBadgeGroupComponent, TwBleedComponent, TwBpmDisplayComponent, TwBreadcrumbComponent, TwBreadcrumbsNavComponent, TwButtonComponent, TwButtonLinkComponent, TwCardBodyDirective, TwCardComponent, TwCardFooterDirective, TwCardHeaderDirective, TwCardHorizontalComponent, TwCardMediaDirective, TwCardSubtitleDirective, TwCardTitleDirective, TwCenterComponent, TwChannelStripComponent, TwCheckboxComponent, TwChipComponent, TwChipsComponent, TwChordDiagramComponent, TwCircleComponent, TwClassDirective, TwClassService, TwClickOutsideDirective, TwCodeViewerComponent, TwColumnsComponent, TwCommandPaletteComponent, TwCompressorMeterComponent, TwConfirmDialogComponent, TwConnectionStatusComponent, TwContainerComponent, TwContextMenuComponent, TwCopyClipboardDirective, TwDatatablesComponent, TwDebounceClickDirective, TwDividerComponent, TwDraggableDirective, TwDropZoneDirective, TwDropdownComponent, TwDropdownDividerComponent, TwDropdownHeaderComponent, TwDropdownItemDirective, TwDropdownMenuComponent, TwDropdownTriggerDirective, TwErrorDirective, TwFaderComponent, TwFileTreeComponent, TwFocusTrapDirective, TwGraphicEQComponent, TwGridComponent, TwHStackComponent, TwHintDirective, TwHoverClassDirective, TwI18nService, TwImageComponent, TwInViewDirective, TwInputAffixDirective, TwInputComponent, TwKeyboardShortcutDirective, TwLabelDirective, TwLazyImageDirective, TwLeadSheetComponent, TwLoadingOverlayComponent, TwLogViewerComponent, TwLongPressDirective, TwLooperComponent, TwMenuBarComponent, TwMenuComponent, TwMetronomeComponent, TwMidiLearnDirective, TwMixerComponent, TwModalBodyComponent, TwModalComponent, TwModalFooterComponent, TwModalHeaderComponent, TwModalTitleComponent, TwMultiSelectComponent, TwMusicalSymbolComponent, TwNativeConfirmDialogComponent, TwNativeContextMenuComponent, TwNoteComponent, TwNoteDisplayComponent, TwNoteInputComponent, TwOnboardingWizardComponent, TwOscilloscopeComponent, TwOverlayComponent, TwPaginationComponent, TwPanControlComponent, TwParametricEQComponent, TwPianoChordComponent, TwPianoComponent, TwPitchDisplayComponent, TwPopoverComponent, TwPreferencesDialogComponent, TwProgressCircularComponent, TwProgressComponent, TwPromptDialogComponent, TwPropertyInspectorComponent, TwQuickSwitcherComponent, TwRadioButtonComponent, TwRadioGroupComponent, TwRatingComponent, TwResizablePanelsComponent, TwResizeObserverDirective, TwRippleDirective, TwRoleDirective, TwScoreEditorComponent, TwScrollAreaComponent, TwScrollSectionDirective, TwScrollToDirective, TwScrollTopComponent, TwScrubberComponent, TwSearchBarComponent, TwSelectComponent, TwSettingTemplateDirective, TwSettingsPanelComponent, TwSheetMusicComponent, TwShortcutDirective, TwShortcutDisplayComponent, TwShortcutsEditorComponent, TwSidebarComponent, TwSidebarNavComponent, TwSimpleGridComponent, TwSkeletonCardComponent, TwSkeletonComponent, TwSkeletonTableComponent, TwSkeletonTextComponent, TwSliderComponent, TwSpacerComponent, TwSpectrumComponent, TwSpinnerComponent, TwSplitterComponent, TwSplitterPaneComponent, TwSquareComponent, TwSrOnlyDirective, TwStackComponent, TwStaffComponent, TwStatusBarComponent, TwStepsComponent, TwStickyComponent, TwSwipeDirective, TwSwitchComponent, TwTabBarComponent, TwTabPanelComponent, TwTablatureComponent, TwTableComponent, TwTabsComponent, TwTerminalComponent, TwTextareaComponent, TwThemeSelectorComponent, TwThemeService, TwTimeDisplayComponent, TwTimelineComponent, TwTitleBarComponent, TwToastComponent, TwToastContainerComponent, TwToastService, TwToolbarComponent, TwTooltipDirective, TwTouchGuardDirective, TwTransportComponent, TwTrapScrollDirective, TwTreeComponent, TwTunerComponent, TwUpdateDialogComponent, TwVStackComponent, TwVariantDirective, TwVisualizerComponent, TwVolumeDialComponent, TwVuMeterComponent, TwWaveformComponent, TwWindowControlsComponent, TwWrapComponent, UnsupportedOnPlatformError, UpdateService, createTheme, generateThemeCssProperties, getWorkerScript, handleMessage, parseABCNotation, parseMusicXML, provideTwConfig, provideTwLocale, provideTwTheme, provideTwTranslations, withTwConfig, withTwTheme };
|
|
12439
|
+
export type { AboutDialogConfig, AccentLevel, AccentPattern, AccessibilityPreferences, AccordionVariant, ActiveNote, ActivityIndicatorSize, ActivityIndicatorVariant, AlertDialogConfig, AlertDialogType, AlertStyle, AlertVariant, AnnouncementPriority, ArticulationType, AspectRatioPreset, AttackReleaseDisplay, AudioChain, AudioContextState, AudioFileInfo, AudioNodeConfig, AudioPlayerTheme, AudioPlayerVariant, AudioSourceType, AudioStatsSize, AudioStatsVariant, AudioTrack, AudioWorkerConfig, AudioWorkletModuleInfo, AuxSend, AvatarSize, AvatarStatus, AvatarVariant, BadgeSize, BadgeStyle, BadgeVariant, BeamConfig, BeamPosition, BeatDetectionOptions, BeatDetectionResult, BeatEvent, BeatHighlightMode, BleedAmount, BleedDirection, BpmDisplaySize, BpmDisplayVariant, BpmSyncStatus, BreadcrumbItem, BreadcrumbSeparator, ButtonSize, ButtonVariant, CCValueChangeEvent, CardVariant, ChannelGroup, ChannelStripSize, ChannelStripState, ChannelStripVariant, CheckboxSize, CheckboxVariant, ChipSize, ChipStyle, ChipVariant, ChordDefinition, ChordDiagramSize, ChordDiagramVariant, ChordFingering, ClefType, ClipboardData, CodeLanguage, ColorMode, ColumnsCount, ColumnsGap, ColumnsRule, CommandItem, CommandPaletteMode, CompressorMeterSize, CompressorMeterVariant, CompressorSettings, ConfirmDialogConfig, ConnectedSource, ConnectionState, ContainerSize, CopyClipboardEvent, DetectedNote, DialSize, DialVariant, DividerLabelPosition, DividerOrientation, DividerVariant, DragData, DropEvent, DropdownPosition, DynamicType, EQBand, EQBandChange, EQBandValue, EQFilterType, EQPreset, EQPresetCategory, EQVariant, ExportFormat, FFTProcessOptions, FFTProcessResult, FaderOrientation, FaderSize, FaderVariant, FileFilter, FileInfo, FilePickerResult, FileTreeEvent, FileTreeNode, FindPeaksOptions, FindPeaksResult, FrequencyConversionOptions, FrequencyConversionResult, FrequencyScale, GainReductionHistoryPoint, GraphicEQBandCount, GraphicEQVariant, GridCols, GridGap, HairpinType, HapticFeedbackType, HistoryEntry, ImageBorderRadius, ImageFit, InViewEvent, InputSize, InputVariant, InstrumentPart, IpcMessage, IpcResponse, KeySignature, KeyboardShortcut, KeyboardShortcutEvent, LazyImageEvent, LeadSheetChord, LeadSheetData, LeadSheetDisplayMode, LeadSheetMeasure, LeadSheetSection, LeadSheetStyle, LeadSheetVariant, LevelOptions, LevelResult, LogEntry, LogFilter, LongPressEvent, LoopLayer, LooperEvent, LooperSize, LooperState, LooperVariant, LyricEntry, MeasureData, MelodyNote, MenuItem, MenuVariant, MetronomeBeat, MetronomeSize, MetronomeVariant, MidiCCMapping, MidiDevice, MidiDeviceInfo, MidiLearnState, MidiMessage, MidiMessageType, MidiNoteInfo, MixerBreakpoint, MixerChannel, MixerSection, MixerSize, MixerState, MixerVariant, ModalSize, MultiSelectAppendTo, MultiSelectGroup, MultiSelectOption, MultiSelectSize, MultiSelectVariant, MusicSwipeDirection, NativeBreadcrumbItem, NativeClipboardData, NativeContextMenuEvent, NativeContextMenuPosition, NativeFileFilter, NativeMenuBarItem, NativeMenuItem, NativeNotificationAction, NativeNotificationOptions, NativeOpenFileOptions, NativeSaveFileOptions, NativeSidebarPosition, NativeSidebarVariant, NoteAccidental, NoteData, NoteDisplaySize, NoteDisplayVariant, NoteDuration, NoteEvent, NoteHistoryEntry, NoteInputEvent, NoteInputMeasureData, NoteName, OnboardingStep, OpenFileOptions, OrnamentType, OsPlatform, OscilloscopeTriggerMode, OscilloscopeVariant, OverlayBlur, OverlayOpacity, PaginationSize, PaginationVariant, PanControlSize, PanControlVariant, PanelConfig, PedalType, PianoChordDefinition, PianoChordNote, PianoChordSize, PianoChordVariant, PianoKey, PianoSize, PianoVariant, PinchGestureState, PitchBendStyle, PitchDisplaySize, PitchDisplayVariant, PitchInfo, PlacedNote, Platform, PlatformTheme, PlatformType, PopoverPosition, PopoverTrigger, PreferencesTab, PrintOptions, ProgressSize, ProgressVariant, PromptInputType, PropertyItem, QuickSwitcherItem, RadioSize, RadioVariant, RatingSize, RatingVariant, RepeatType, ResizeEvent, RuntimePlatform, SaveFileOptions, ScoreData, ScoreEditorVariant, ScrollAreaDirection, ScrollAreaScrollbar, ScrollTopPosition, ScrollTopVariant, ScrubberMarker, ScrubberThumbnail, ScrubberVariant, SearchFilter, SearchSuggestion, SelectAppendTo, SelectGroup, SelectOption, SelectSize, SelectVariant, SettingItem, SettingsCategory, SheetMusicData, SheetMusicLayout, SheetMusicVariant, ShortcutBinding, ShortcutDisplayPlatform, ShortcutDisplayVariant, SidebarItem, SidebarPosition, SidebarSize, SkeletonGap, SkeletonVariant, SlashPattern, SlashStyle, SliderSize, SliderVariant, SlurPoints, SmoothDataOptions, SmoothDataResult, SpacerSize, SpectrumColorScheme, SpectrumVariant, SpinnerColor, SpinnerSize, SpinnerVariant, SplitDirection, SplitterDirection, SplitterGutterSize, StackAlign, StackDirection, StackJustify, StackSpacing, StaffTimeSignature, StaffVariant, StatusBarItem, StemDirection, StepItem, StepsOrientation, StepsSize, StickyOffset, StickyPosition, StorageOptions, SwipeDirection, SwipeEvent, SwipeGestureResult, SwitchSize, SwitchVariant, SymbolCategory, TabBarPosition, TabBarVariant, TabEvent, TabItem, TabMeasure, TabNote, TablatureTechnique, TablatureVariant, TableColumn, TableSize, TableVariant, TabsOrientation, TabsSize, TabsVariant, TempoType, TerminalLine, TerminalVariant, ThemeColorValue, ThemeColors, ThemeComponentOverrides, ThemeMode, ThemePreset, ThumbnailSpriteConfig, TimeDisplayMode, TimeDisplaySize, TimeDisplayVariant, TimeDomainOptions, TimeDomainResult, TimeSignature, TimelineAlign, TimelineEvent, TimelineLayout, TitleBarPlatform, TitleBarVariant, ToastOptions, ToastPosition, ToastVariant, ToolbarItem, ToolbarPosition, ToolbarVariant, TooltipPosition, TouchGuardConfig, TransportSize, TransportVariant, TransposeOptions, TrayConfig, TreeNode, TreeSelectionMode, TunerMode, TunerVariant, TuningData, TupletConfig, TupletPosition, TwAlertClassConfig, TwBadgeClassConfig, TwButtonClassConfig, TwCardClassConfig, TwClassOverrides, TwConfig, TwDropdownClassConfig, TwInputClassConfig, TwModalClassConfig, TwTabsClassConfig, TwTheme, TwThemeConfig, TwTranslations, UpdateDialogInfo, UpdateInfo, UpdateProgress, UpdateStatus, VisualizerColorScheme, VisualizerVariant, Voice, VuMeterMode, VuMeterOrientation, VuMeterVariant, WaveformColorScheme, WaveformDownsampleOptions, WaveformDownsampleResult, WaveformMode, WaveformSize, WaveformVariant, WindowControlButton, WindowControlsPosition, WindowState, WorkerMessage, WorkerMessageType, WorkerResponse };
|