angular-tailwind-components 1.7.1 → 1.8.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.7.1",
3
+ "version": "1.8.0",
4
4
  "files": [
5
5
  "fesm2022",
6
6
  "types",
@@ -6,7 +6,7 @@ import { ControlValueAccessor } from '@angular/forms';
6
6
  /** Size variants for components */
7
7
  type TailwindSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
8
8
  /** Color variants for buttons and interactive elements */
9
- type TailwindColor = 'primary' | 'secondary' | 'danger' | 'success' | 'warning' | 'info';
9
+ type TailwindColor = 'primary' | 'secondary' | 'danger' | 'success' | 'warning' | 'info' | 'transparent';
10
10
  /** Button kinds */
11
11
  type TailwindButtonKind = 'solid' | 'flat' | 'outlined' | 'ghost' | 'text';
12
12
  /** ARIA role for `TailwindButton` */
@@ -131,7 +131,7 @@ declare class TailwindButton extends TailwindComponent {
131
131
  /** Visual color */
132
132
  readonly color: _angular_core.InputSignal<TailwindColor>;
133
133
  /**
134
- * Visual kind: `flat` = filled like `solid` without border or shadow;
134
+ * Visual kind: `flat` = filled like `solid` without border, shadow, or hover/active background change;
135
135
  * `ghost` = transparent with hover tint; `text` = text color only, no hover background.
136
136
  * Default from {@link TAILWIND_BUTTON_KIND} or `'solid'`.
137
137
  */
@@ -148,6 +148,8 @@ declare class TailwindButton extends TailwindComponent {
148
148
  readonly icon: _angular_core.InputSignal<string | undefined>;
149
149
  /** Icon placement when both icon and label are shown */
150
150
  readonly iconPosition: _angular_core.InputSignal<TailwindIconPosition>;
151
+ /** Accessible name for icon-only buttons */
152
+ readonly ariaLabel: _angular_core.InputSignal<string>;
151
153
  /** Emitted when the button is clicked (not disabled). */
152
154
  readonly onClick: _angular_core.OutputEmitterRef<MouseEvent>;
153
155
  readonly iconPixelSize: _angular_core.Signal<number>;
@@ -155,7 +157,7 @@ declare class TailwindButton extends TailwindComponent {
155
157
  readonly computedClasses: _angular_core.Signal<string>;
156
158
  handleClick(event: MouseEvent): void;
157
159
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindButton, never>;
158
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindButton, "tailwind-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "kind": { "alias": "kind"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
160
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindButton, "tailwind-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "kind": { "alias": "kind"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
159
161
  }
160
162
 
161
163
  declare class TailwindIcon extends TailwindComponent {
@@ -388,6 +390,7 @@ declare class TailwindCheckbox extends TailwindComponent implements ControlValue
388
390
  readonly isDisabled: _angular_core.WritableSignal<boolean>;
389
391
  /** Box size class based on size input */
390
392
  readonly boxSizeClass: _angular_core.Signal<string>;
393
+ readonly checkIconSize: _angular_core.Signal<number>;
391
394
  private onChange;
392
395
  private onTouched;
393
396
  writeValue(value: boolean): void;
@@ -489,6 +492,88 @@ declare class TailwindSelect<T = unknown> extends TailwindComponent implements C
489
492
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindSelect<any>, "tailwind-select", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
490
493
  }
491
494
 
495
+ /** Context passed to the `#item` ng-template. */
496
+ interface TailwindAutocompleteItemContext<T = unknown> {
497
+ $implicit: TailwindOption<T>;
498
+ option: TailwindOption<T>;
499
+ index: number;
500
+ selected: boolean;
501
+ active: boolean;
502
+ }
503
+ declare class TailwindAutocomplete<T = unknown> extends TailwindComponent implements ControlValueAccessor, OnDestroy {
504
+ private static nextId;
505
+ private readonly overlay;
506
+ private readonly vcr;
507
+ private readonly elRef;
508
+ private readonly cdr;
509
+ private readonly ngZone;
510
+ private readonly panelTemplate;
511
+ constructor();
512
+ private overlayRef;
513
+ private outsideSub;
514
+ private searchDebounceTimer;
515
+ private readonly instanceListboxId;
516
+ /** Label text */
517
+ readonly label: _angular_core.InputSignal<string>;
518
+ /** Placeholder text */
519
+ readonly placeholder: _angular_core.InputSignal<string>;
520
+ /** Available options */
521
+ readonly options: _angular_core.InputSignal<TailwindOption<T>[]>;
522
+ /** Size variant */
523
+ readonly size: _angular_core.InputSignal<TailwindSize>;
524
+ /** Helper text */
525
+ readonly helperText: _angular_core.InputSignal<string>;
526
+ /** Error text */
527
+ readonly errorText: _angular_core.InputSignal<string>;
528
+ /** Whether in error state */
529
+ readonly hasError: _angular_core.InputSignal<boolean>;
530
+ /** Filter options locally by label when typing */
531
+ readonly filterLocally: _angular_core.InputSignal<boolean>;
532
+ /** Minimum query length before opening panel and emitting onSearch */
533
+ readonly minSearchLength: _angular_core.InputSignal<number>;
534
+ /** Debounce delay (ms) for onSearch emission only */
535
+ readonly debounceMs: _angular_core.InputSignal<number>;
536
+ /** On blur, reset input to selected option label or clear invalid text */
537
+ readonly forceSelection: _angular_core.InputSignal<boolean>;
538
+ /** Selected value (form control) — set only when an option is chosen */
539
+ readonly value: _angular_core.ModelSignal<T | null>;
540
+ /** Emits the current search query (after debounce / minSearchLength) */
541
+ readonly onSearch: _angular_core.OutputEmitterRef<string>;
542
+ /** Custom option row template (`ng-template` with `#item`) */
543
+ readonly itemTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
544
+ /** Text shown in the input */
545
+ readonly searchQuery: _angular_core.WritableSignal<string>;
546
+ readonly isDisabled: _angular_core.WritableSignal<boolean>;
547
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
548
+ readonly activeIndex: _angular_core.WritableSignal<number>;
549
+ readonly listboxId: _angular_core.Signal<string>;
550
+ readonly selectedOption: _angular_core.Signal<TailwindOption<T> | null>;
551
+ readonly filteredOptions: _angular_core.Signal<TailwindOption<T>[]>;
552
+ readonly inputClasses: _angular_core.Signal<string>;
553
+ private onChange;
554
+ private onTouched;
555
+ writeValue(value: T | null | undefined): void;
556
+ registerOnChange(fn: (value: T | null) => void): void;
557
+ registerOnTouched(fn: () => void): void;
558
+ setDisabledState(disabled: boolean): void;
559
+ ngOnDestroy(): void;
560
+ isOptionSelected(option: TailwindOption<T>): boolean;
561
+ optionClasses(index: number, option: TailwindOption<T>): string;
562
+ itemContext(option: TailwindOption<T>, index: number): TailwindAutocompleteItemContext<T>;
563
+ onInputChange(event: Event): void;
564
+ onFocus(): void;
565
+ onBlur(): void;
566
+ private applyForceSelectionOnBlur;
567
+ selectOption(option: TailwindOption<T>): void;
568
+ onKeydown(event: KeyboardEvent): void;
569
+ private optionValueEquals;
570
+ private emitSearch;
571
+ private openPanel;
572
+ private closePanel;
573
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindAutocomplete<any>, never>;
574
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindAutocomplete<any>, "tailwind-autocomplete", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "filterLocally": { "alias": "filterLocally"; "required": false; "isSignal": true; }; "minSearchLength": { "alias": "minSearchLength"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; "forceSelection": { "alias": "forceSelection"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onSearch": "onSearch"; }, ["itemTemplate"], ["*"], true, never>;
575
+ }
576
+
492
577
  declare class TailwindToggle extends TailwindComponent implements ControlValueAccessor {
493
578
  /** Label text */
494
579
  readonly label: _angular_core.InputSignal<string>;
@@ -598,7 +683,8 @@ declare class TailwindSpinner extends TailwindComponent {
598
683
  /** Layout orientation */
599
684
  readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
600
685
  readonly containerClasses: _angular_core.Signal<string>;
601
- readonly spinnerClasses: _angular_core.Signal<string>;
686
+ readonly iconPixelSize: _angular_core.Signal<number>;
687
+ readonly iconClasses: _angular_core.Signal<string>;
602
688
  readonly labelClasses: _angular_core.Signal<string>;
603
689
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TailwindSpinner, never>;
604
690
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TailwindSpinner, "tailwind-spinner", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -1408,5 +1494,5 @@ declare class TailwindModalRef<R = any> {
1408
1494
  _getResult(): R | undefined;
1409
1495
  }
1410
1496
 
1411
- export { DEFAULT_PAGINATION_LENGTH_OPTIONS, TAILWIND_BUTTON_KIND, TAILWIND_COMPONENTS_SIZE, TAILWIND_DATETIME_LANGUAGE, TAILWIND_HEROICON_NAMES, TAILWIND_ICON_SIZE, TAILWIND_MODAL_DATA, TAILWIND_PAGINATION_SUMMARY, 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, buildTailwindThemeVariableEntries, defineTheme, provideTailwindComponents };
1412
- export type { Pagination, TailwindBreadcrumbItem, TailwindButtonKind, TailwindButtonRole, TailwindColor, TailwindComponentsConfig, TailwindDefineThemeColors, TailwindDefineThemeConfig, TailwindHeroicon, TailwindIconPosition, TailwindIconSize, TailwindMenuItem, TailwindMeterSegment, TailwindModalConfig, TailwindOption, TailwindOptionGroup, TailwindPosition, TailwindSeverity, TailwindShape, TailwindSize, TailwindSliderValue, TailwindTableSortHost, TailwindThemeColorShade, TailwindThemeSemantic, TailwindThemeSemanticPaletteObject, TailwindThemeSemanticShades, TailwindThemeSeverityColor, TailwindTitleTag, TailwindToastConfig, TailwindToastItem };
1497
+ export { DEFAULT_PAGINATION_LENGTH_OPTIONS, TAILWIND_BUTTON_KIND, TAILWIND_COMPONENTS_SIZE, TAILWIND_DATETIME_LANGUAGE, TAILWIND_HEROICON_NAMES, TAILWIND_ICON_SIZE, TAILWIND_MODAL_DATA, TAILWIND_PAGINATION_SUMMARY, TW_TABLE_SORT_DIR_ATTR, TW_TABLE_SORT_KEY_ATTR, TailwindAccordion, TailwindAccordionItem, TailwindAlert, TailwindAutocomplete, 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, buildTailwindThemeVariableEntries, defineTheme, provideTailwindComponents };
1498
+ export type { Pagination, TailwindAutocompleteItemContext, TailwindBreadcrumbItem, TailwindButtonKind, TailwindButtonRole, TailwindColor, TailwindComponentsConfig, TailwindDefineThemeColors, TailwindDefineThemeConfig, TailwindHeroicon, TailwindIconPosition, TailwindIconSize, TailwindMenuItem, TailwindMeterSegment, TailwindModalConfig, TailwindOption, TailwindOptionGroup, TailwindPosition, TailwindSeverity, TailwindShape, TailwindSize, TailwindSliderValue, TailwindTableSortHost, TailwindThemeColorShade, TailwindThemeSemantic, TailwindThemeSemanticPaletteObject, TailwindThemeSemanticShades, TailwindThemeSeverityColor, TailwindTitleTag, TailwindToastConfig, TailwindToastItem };