angular-tailwind-components 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-tailwind-components",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "files": [
5
5
  "fesm2022",
6
6
  "types",
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnDestroy, ElementRef, AfterViewInit, OnInit, Type, InjectionToken } from '@angular/core';
2
+ import { OnDestroy, TemplateRef, ElementRef, AfterViewInit, OnInit, Signal, Type, InjectionToken } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
 
5
5
  /** Common types used across all components */
@@ -65,6 +65,39 @@ declare class TailwindTooltipDirective implements OnDestroy {
65
65
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TailwindTooltipDirective, "[tooltip]", never, { "text": { "alias": "tooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; }, {}, never, never, true, never>;
66
66
  }
67
67
 
68
+ /**
69
+ * Row definition for `TailwindTable`. Prefer structural syntax on `<tbody>`:
70
+ * `<tbody *tailwindTableRow="let row">...</tbody>` — each rendered fragment is one `<tbody>` per data row.
71
+ *
72
+ * Legacy: `<ng-template tailwindTableRow let-row>` with only `<td>` cells still works.
73
+ */
74
+ declare class TailwindTableRowDirective {
75
+ readonly templateRef: TemplateRef<any>;
76
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindTableRowDirective, never>;
77
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TailwindTableRowDirective, "[tailwindTableRow]", never, {}, {}, never, never, true, never>;
78
+ }
79
+
80
+ /** Host attributes on `<tailwind-table>`; kept in sync for sort-header observers. */
81
+ declare const TW_TABLE_SORT_KEY_ATTR = "data-tw-sort-key";
82
+ declare const TW_TABLE_SORT_DIR_ATTR = "data-tw-sort-dir";
83
+ /**
84
+ * Sortable column header: put on `<th>` (plain header text + directive). Not sortable columns omit this directive.
85
+ * Sorting is handled by the nearest `tailwind-table` host (event delegation); do not pass a table reference.
86
+ */
87
+ declare class TailwindSortHeaderDirective {
88
+ /** Property key on each row used for sorting. */
89
+ readonly sortKey: _angular_core.InputSignal<string>;
90
+ private readonly host;
91
+ private readonly renderer;
92
+ private svg?;
93
+ constructor();
94
+ private createSvg;
95
+ private updateSvg;
96
+ private setPathHidden;
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindSortHeaderDirective, never>;
98
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TailwindSortHeaderDirective, "[tailwindSortHeader]", never, { "sortKey": { "alias": "sortKey"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
99
+ }
100
+
68
101
  declare abstract class TailwindComponent {
69
102
  /** Optional ID for the component */
70
103
  readonly id: _angular_core.InputSignal<string | undefined>;
@@ -153,7 +186,7 @@ declare class TailwindTextarea extends TailwindComponent implements ControlValue
153
186
  /** Maximum character length (HTML maxlength) */
154
187
  readonly maxlength: _angular_core.InputSignal<number | undefined>;
155
188
  /** Resize behavior */
156
- readonly resize: _angular_core.InputSignal<"vertical" | "none" | "both" | "horizontal">;
189
+ readonly resize: _angular_core.InputSignal<"horizontal" | "vertical" | "none" | "both">;
157
190
  /** Size variant */
158
191
  readonly size: _angular_core.InputSignal<TailwindSize>;
159
192
  /** Whether the textarea is readonly */
@@ -342,7 +375,7 @@ declare class TailwindRadioGroup<T = unknown> extends TailwindComponent implemen
342
375
  /** Size variant */
343
376
  readonly size: _angular_core.InputSignal<TailwindSize>;
344
377
  /** Layout orientation */
345
- readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
378
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
346
379
  /** Currently selected value */
347
380
  readonly value: _angular_core.ModelSignal<T | null>;
348
381
  /** Internal disabled state */
@@ -456,7 +489,7 @@ declare class TailwindToggle extends TailwindComponent implements ControlValueAc
456
489
 
457
490
  declare class TailwindBadge extends TailwindComponent {
458
491
  /** Color variant */
459
- readonly variant: _angular_core.InputSignal<"primary" | TailwindSeverity | "neutral">;
492
+ readonly variant: _angular_core.InputSignal<TailwindSeverity | "primary" | "neutral">;
460
493
  /** Size variant */
461
494
  readonly size: _angular_core.InputSignal<TailwindSize>;
462
495
  /** Show a dot indicator */
@@ -503,8 +536,6 @@ declare class TailwindAlert extends TailwindComponent {
503
536
  readonly severity: _angular_core.InputSignal<TailwindSeverity>;
504
537
  /** Alert title */
505
538
  readonly title: _angular_core.InputSignal<string>;
506
- /** Alert message */
507
- readonly message: _angular_core.InputSignal<string>;
508
539
  /** Whether the alert can be dismissed */
509
540
  readonly dismissible: _angular_core.InputSignal<boolean>;
510
541
  /** Whether to show a border on the left */
@@ -516,7 +547,7 @@ declare class TailwindAlert extends TailwindComponent {
516
547
  readonly computedClasses: _angular_core.Signal<string>;
517
548
  dismiss(): void;
518
549
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindAlert, never>;
519
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindAlert, "tailwind-alert", never, { "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, { "onDismiss": "onDismiss"; }, never, never, true, never>;
550
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindAlert, "tailwind-alert", never, { "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, { "onDismiss": "onDismiss"; }, never, ["*"], true, never>;
520
551
  }
521
552
 
522
553
  declare class TailwindSpinner extends TailwindComponent {
@@ -529,7 +560,7 @@ declare class TailwindSpinner extends TailwindComponent {
529
560
  /** Aria label for accessibility */
530
561
  readonly ariaLabel: _angular_core.InputSignal<string>;
531
562
  /** Layout orientation */
532
- readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
563
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
533
564
  readonly containerClasses: _angular_core.Signal<string>;
534
565
  readonly spinnerClasses: _angular_core.Signal<string>;
535
566
  readonly labelClasses: _angular_core.Signal<string>;
@@ -628,7 +659,7 @@ declare class TailwindProgressBar extends TailwindComponent {
628
659
  /** Show percentage value */
629
660
  readonly showValue: _angular_core.InputSignal<boolean>;
630
661
  /** Color variant */
631
- readonly variant: _angular_core.InputSignal<"primary" | TailwindSeverity>;
662
+ readonly variant: _angular_core.InputSignal<TailwindSeverity | "primary">;
632
663
  /** Size variant */
633
664
  readonly size: _angular_core.InputSignal<TailwindSize>;
634
665
  /** Indeterminate mode (animated) */
@@ -714,9 +745,10 @@ interface TailwindBreadcrumbItem {
714
745
 
715
746
  declare class TailwindBreadcrumb extends TailwindComponent {
716
747
  readonly items: _angular_core.InputSignal<TailwindBreadcrumbItem[]>;
748
+ readonly separator: _angular_core.InputSignal<string>;
717
749
  readonly ariaLabel: _angular_core.InputSignal<string>;
718
750
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindBreadcrumb, never>;
719
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindBreadcrumb, "tailwind-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
751
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindBreadcrumb, "tailwind-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
720
752
  }
721
753
 
722
754
  interface Pagination {
@@ -743,27 +775,27 @@ declare class TailwindPagination extends TailwindComponent {
743
775
  }
744
776
 
745
777
  declare class TailwindTag extends TailwindComponent {
746
- readonly variant: _angular_core.InputSignal<"primary" | TailwindSeverity | "neutral">;
778
+ readonly variant: _angular_core.InputSignal<TailwindSeverity | "primary" | "neutral">;
747
779
  readonly computedClasses: _angular_core.Signal<string>;
748
780
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindTag, never>;
749
781
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindTag, "tailwind-tag", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
750
782
  }
751
783
 
752
- interface TailwindTableColumn<T = any> {
753
- key: string;
754
- label: string;
755
- sortable?: boolean;
756
- width?: string;
757
- align?: 'left' | 'center' | 'right';
784
+ /** Implemented by `TailwindTable`; used for typing when calling `sort()` from TypeScript. */
785
+ interface TailwindTableSortHost {
786
+ sort(key: string): void;
787
+ readonly sortKey: Signal<string>;
788
+ readonly sortDir: Signal<'asc' | 'desc'>;
758
789
  }
759
790
 
760
- declare class TailwindTable extends TailwindComponent {
761
- readonly columns: _angular_core.InputSignal<TailwindTableColumn<any>[]>;
762
- readonly data: _angular_core.InputSignal<Record<string, any>[]>;
791
+ declare class TailwindTable extends TailwindComponent implements TailwindTableSortHost {
792
+ readonly data: _angular_core.InputSignal<Record<string, unknown>[]>;
763
793
  readonly selectable: _angular_core.InputSignal<boolean>;
764
794
  readonly striped: _angular_core.InputSignal<boolean>;
765
795
  readonly loading: _angular_core.InputSignal<boolean>;
766
796
  readonly emptyMessage: _angular_core.InputSignal<string>;
797
+ /** Match your column count so the empty state spans the full table width. */
798
+ readonly emptyColspan: _angular_core.InputSignal<number>;
767
799
  readonly paginated: _angular_core.InputSignal<boolean>;
768
800
  readonly pagination: _angular_core.InputSignal<Pagination | undefined>;
769
801
  readonly onSortChange: _angular_core.OutputEmitterRef<{
@@ -771,17 +803,22 @@ declare class TailwindTable extends TailwindComponent {
771
803
  direction: "asc" | "desc";
772
804
  }>;
773
805
  readonly onSelectionChange: _angular_core.OutputEmitterRef<Set<number>>;
806
+ readonly rowTemplate: _angular_core.Signal<TailwindTableRowDirective>;
807
+ rowContext(row: Record<string, unknown>, index: number): Record<string, unknown>;
774
808
  readonly sortKey: _angular_core.WritableSignal<string>;
775
- readonly sortDir: _angular_core.WritableSignal<"asc" | "desc">;
809
+ readonly sortDir: _angular_core.WritableSignal<"desc" | "asc">;
776
810
  readonly selectedRows: _angular_core.WritableSignal<Set<number>>;
777
811
  readonly currentPage: _angular_core.WritableSignal<number>;
778
812
  constructor();
779
- readonly sortedData: _angular_core.Signal<Record<string, any>[]>;
780
- readonly displayedData: _angular_core.Signal<Record<string, any>[]>;
813
+ readonly sortedData: _angular_core.Signal<Record<string, unknown>[]>;
814
+ readonly displayedData: _angular_core.Signal<Record<string, unknown>[]>;
781
815
  sort(key: string): void;
782
816
  toggleSelection(index: number): void;
817
+ protected onSortZoneClick(ev: Event): void;
818
+ protected onSortZoneKeydown(ev: KeyboardEvent): void;
819
+ private delegateSortFromEvent;
783
820
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindTable, never>;
784
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindTable, "tailwind-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "paginated": { "alias": "paginated"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; }, { "onSortChange": "onSortChange"; "onSelectionChange": "onSelectionChange"; }, never, never, true, never>;
821
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindTable, "tailwind-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "emptyColspan": { "alias": "emptyColspan"; "required": false; "isSignal": true; }; "paginated": { "alias": "paginated"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; }, { "onSortChange": "onSortChange"; "onSelectionChange": "onSelectionChange"; }, ["rowTemplate"], ["thead"], true, never>;
785
822
  }
786
823
 
787
824
  declare class TailwindDatePicker extends TailwindComponent implements ControlValueAccessor {
@@ -1061,15 +1098,19 @@ declare class TailwindToolbar extends TailwindComponent {
1061
1098
  /** Applies a stronger drop shadow. */
1062
1099
  readonly elevated: _angular_core.InputSignal<boolean>;
1063
1100
  /** `horizontal` for a top app bar; `vertical` for a side rail (logo → menu → end). */
1064
- readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
1101
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
1065
1102
  /** Navigation / actions rendered between logo and end slots. */
1066
1103
  readonly menu: _angular_core.InputSignal<TailwindMenuItem[]>;
1067
1104
  /** Emitted when a non-disabled, non-divider menu entry is activated. */
1068
1105
  readonly onMenuSelect: _angular_core.OutputEmitterRef<TailwindMenuItem>;
1069
- readonly menuContainerClasses: _angular_core.Signal<"min-w-0 flex-1 flex flex-row flex-wrap items-center gap-1" | "min-w-0 flex-1 flex flex-col gap-1 overflow-y-auto min-h-0">;
1070
- readonly menuItemButtonClasses: _angular_core.Signal<"shrink-0 rounded-md px-3 py-1.5 text-sm font-medium text-surface-700 hover:bg-surface-100 hover:text-surface-900 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer border-0 bg-transparent" | "w-full text-left rounded-md px-2 py-2 text-sm font-medium text-surface-700 hover:bg-surface-100 hover:text-surface-900 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer border-0 bg-transparent">;
1106
+ readonly menuContainerClasses: _angular_core.Signal<"min-w-0 flex-1 flex flex-row flex-wrap items-center gap-1" | "min-w-0 flex-1 flex flex-col gap-1.5 overflow-y-auto min-h-0">;
1107
+ readonly menuItemButtonClasses: _angular_core.Signal<"inline-flex shrink-0 items-center justify-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium text-surface-700 hover:bg-surface-100 hover:text-surface-900 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer border-0 bg-transparent" | "inline-flex w-full items-center gap-2 rounded-md px-3 py-3 text-left text-sm font-medium text-surface-700 hover:bg-surface-100 hover:text-surface-900 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer border-0 bg-transparent">;
1071
1108
  readonly rootClasses: _angular_core.Signal<string>;
1072
1109
  selectMenuItem(item: TailwindMenuItem): void;
1110
+ /** True when `label` is a non-empty string after trim (icon-only entries omit or blank `label`). */
1111
+ menuItemHasVisibleLabel(item: TailwindMenuItem): boolean;
1112
+ /** Accessible name when there is no visible label (`value`, trimmed). */
1113
+ menuItemAriaLabel(item: TailwindMenuItem): string | null;
1073
1114
  menuTrackKey(index: number, item: TailwindMenuItem): string;
1074
1115
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindToolbar, never>;
1075
1116
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindToolbar, "tailwind-toolbar", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "elevated": { "alias": "elevated"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "menu": { "alias": "menu"; "required": false; "isSignal": true; }; }, { "onMenuSelect": "onMenuSelect"; }, never, ["[tailwind-toolbar-logo]", "[tailwind-toolbar-end]"], true, never>;
@@ -1077,7 +1118,7 @@ declare class TailwindToolbar extends TailwindComponent {
1077
1118
 
1078
1119
  declare class TailwindDivider extends TailwindComponent {
1079
1120
  /** Rule direction */
1080
- readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
1121
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
1081
1122
  /** Adds horizontal margin to the rule (horizontal orientation only). */
1082
1123
  readonly inset: _angular_core.InputSignal<boolean>;
1083
1124
  /** Border style for the rule */
@@ -1144,13 +1185,13 @@ declare class TailwindSlider extends TailwindComponent implements ControlValueAc
1144
1185
  /** Two-thumb range mode */
1145
1186
  readonly range: _angular_core.InputSignal<boolean>;
1146
1187
  /** Layout */
1147
- readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
1188
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
1148
1189
  /** Tick marks at each step */
1149
1190
  readonly showTicks: _angular_core.InputSignal<boolean>;
1150
1191
  /** Control size */
1151
1192
  readonly size: _angular_core.InputSignal<TailwindSize>;
1152
1193
  /** Track fill / thumb color */
1153
- readonly variant: _angular_core.InputSignal<"primary" | TailwindSeverity>;
1194
+ readonly variant: _angular_core.InputSignal<TailwindSeverity | "primary">;
1154
1195
  readonly trackRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
1155
1196
  /** Single-thumb value */
1156
1197
  readonly singleValue: _angular_core.WritableSignal<number>;
@@ -1216,5 +1257,5 @@ declare class TailwindModalRef<R = any> {
1216
1257
  _getResult(): R | undefined;
1217
1258
  }
1218
1259
 
1219
- export { TAILWIND_COMPONENTS_SIZE, TAILWIND_DATETIME_LANGUAGE, TAILWIND_ICON_SIZE, TAILWIND_MODAL_DATA, TAILWIND_SOLAR_ICON_NAMES, TailwindAccordion, TailwindAccordionItem, TailwindAlert, TailwindBadge, TailwindBreadcrumb, TailwindButton, TailwindCard, TailwindCheckbox, TailwindDatePicker, TailwindDateTimePicker, TailwindDivider, TailwindDrawer, TailwindIcon, TailwindInput, TailwindInputOtp, TailwindMenu, TailwindMessage, TailwindMeter, TailwindModal, TailwindModalRef, TailwindModalService, TailwindNotification, TailwindPagination, TailwindProgressBar, TailwindRadioGroup, TailwindSelect, TailwindSkeleton, TailwindSlider, TailwindSpinner, TailwindStep, TailwindStepper, TailwindTab, TailwindTabGroup, TailwindTable, TailwindTag, TailwindTextarea, TailwindTimePicker, TailwindTitle, TailwindToast, TailwindToastService, TailwindToggle, TailwindToolbar, TailwindTooltip, TailwindTooltipDirective, TailwindUpload };
1220
- export type { Pagination, TailwindBreadcrumbItem, TailwindButtonKind, TailwindColor, TailwindIconSize, TailwindMenuItem, TailwindMeterSegment, TailwindModalConfig, TailwindOption, TailwindOptionGroup, TailwindPosition, TailwindSeverity, TailwindShape, TailwindSize, TailwindSliderValue, TailwindSolarIcon, TailwindTableColumn, TailwindTitleTag, TailwindToastConfig, TailwindToastItem };
1260
+ export { TAILWIND_COMPONENTS_SIZE, TAILWIND_DATETIME_LANGUAGE, TAILWIND_ICON_SIZE, TAILWIND_MODAL_DATA, TAILWIND_SOLAR_ICON_NAMES, TW_TABLE_SORT_DIR_ATTR, TW_TABLE_SORT_KEY_ATTR, TailwindAccordion, TailwindAccordionItem, TailwindAlert, TailwindBadge, TailwindBreadcrumb, TailwindButton, TailwindCard, TailwindCheckbox, TailwindDatePicker, TailwindDateTimePicker, TailwindDivider, TailwindDrawer, TailwindIcon, TailwindInput, TailwindInputOtp, TailwindMenu, TailwindMessage, TailwindMeter, TailwindModal, TailwindModalRef, TailwindModalService, TailwindNotification, TailwindPagination, TailwindProgressBar, TailwindRadioGroup, TailwindSelect, TailwindSkeleton, TailwindSlider, TailwindSortHeaderDirective, TailwindSpinner, TailwindStep, TailwindStepper, TailwindTab, TailwindTabGroup, TailwindTable, TailwindTableRowDirective, TailwindTableRowDirective as TailwindTableRowTemplateDirective, TailwindTag, TailwindTextarea, TailwindTimePicker, TailwindTitle, TailwindToast, TailwindToastService, TailwindToggle, TailwindToolbar, TailwindTooltip, TailwindTooltipDirective, TailwindUpload };
1261
+ export type { Pagination, TailwindBreadcrumbItem, TailwindButtonKind, TailwindColor, TailwindIconSize, TailwindMenuItem, TailwindMeterSegment, TailwindModalConfig, TailwindOption, TailwindOptionGroup, TailwindPosition, TailwindSeverity, TailwindShape, TailwindSize, TailwindSliderValue, TailwindSolarIcon, TailwindTableSortHost, TailwindTitleTag, TailwindToastConfig, TailwindToastItem };