codexly-ui 0.12.7 → 0.12.9

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": "codexly-ui",
3
- "version": "0.12.7",
3
+ "version": "0.12.9",
4
4
  "description": "Standalone, signal-based Angular UI component library for Codexly, styled with Tailwind CSS.",
5
5
  "keywords": [
6
6
  "angular",
@@ -134,6 +134,12 @@ declare class ClxButtonComponent {
134
134
  private readonly _themeSvc;
135
135
  readonly variant: _angular_core.InputSignal<ClxButtonVariant>;
136
136
  readonly color: _angular_core.InputSignal<ClxColorInput | undefined>;
137
+ /** Marks a button as the secondary action in a pair (e.g. "Cancelar" next to "Guardar") — resolves
138
+ * the theme's secondaryColor instead of primaryColor when `color` isn't explicitly passed, falling
139
+ * back to primaryColor if the theme has no secondaryColor of its own. `[color]` always wins over
140
+ * this when set, same precedence every other themed zone in this library follows. Named `emphasis`
141
+ * (not `role`) to avoid colliding with the native HTML `role` ARIA attribute. */
142
+ readonly emphasis: _angular_core.InputSignal<"primary" | "secondary">;
137
143
  /** Overrides only the text color, independent of `color`/`variant` — e.g. a solid button on an
138
144
  * unusual background shade (bright yellow) where the variant's own resolved text color (white)
139
145
  * reads poorly and a themed text tone is needed instead. */
@@ -177,7 +183,7 @@ declare class ClxButtonComponent {
177
183
  protected readonly _hostClass: _angular_core.Signal<string>;
178
184
  protected _onRipple(event: Event): void;
179
185
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxButtonComponent, never>;
180
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxButtonComponent, "button[clx-button], a[clx-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "textColor": { "alias": "textColor"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeColor": { "alias": "badgeColor"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
186
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxButtonComponent, "button[clx-button], a[clx-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "emphasis": { "alias": "emphasis"; "required": false; "isSignal": true; }; "textColor": { "alias": "textColor"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeColor": { "alias": "badgeColor"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
181
187
  }
182
188
 
183
189
  type ClxButtonGroupShape = 'flat' | 'circular';
@@ -3316,6 +3322,8 @@ declare class ClxProductComponent {
3316
3322
  protected readonly _buttonSize: _angular_core.Signal<"sm" | "md">;
3317
3323
  protected readonly _skeletonW: _angular_core.Signal<"sm:w-32" | "sm:w-44">;
3318
3324
  protected readonly _skeletonH: _angular_core.Signal<"160px" | "200px">;
3325
+ /** Themed border — same accent as the rest of the card (clxColor), same borderLight treatment
3326
+ * as clx-card's own elevated variant. */
3319
3327
  protected readonly _cardClass: _angular_core.Signal<string>;
3320
3328
  protected readonly _imageContainerClass: _angular_core.Signal<string>;
3321
3329
  protected readonly _imageClass: _angular_core.Signal<string>;
@@ -3582,9 +3590,15 @@ interface ClxWishlistPageChangeEvent {
3582
3590
  }
3583
3591
 
3584
3592
  declare class ClxWishlistComponent {
3593
+ private readonly _themeSvc;
3585
3594
  readonly items: _angular_core.InputSignal<ClxWishlistItem[]>;
3586
3595
  readonly loading: _angular_core.InputSignal<boolean>;
3587
- readonly color: _angular_core.InputSignal<ClxColorInput>;
3596
+ /** Optional per-instance override — when unset, every zone below resolves independently from
3597
+ * the app-wide theme (search input from formControls.input, "Agregar todo"/badge/"Añadir al
3598
+ * carrito" from primaryColor, pagination from its own paginationStyle()), same convention as
3599
+ * clx-input/clx-select/clx-pagination themselves. Previously this was a required-looking input
3600
+ * defaulting to a hardcoded 'indigo' that every zone read directly, bypassing theme entirely. */
3601
+ readonly color: _angular_core.InputSignal<ClxColorInput | undefined>;
3588
3602
  readonly sortOptions: _angular_core.InputSignal<ClxSelectOption[]>;
3589
3603
  readonly currentPage: _angular_core.ModelSignal<number>;
3590
3604
  readonly pageSize: _angular_core.ModelSignal<number>;
@@ -3592,6 +3606,9 @@ declare class ClxWishlistComponent {
3592
3606
  readonly searchValue: _angular_core.ModelSignal<string>;
3593
3607
  protected _searchModel: string;
3594
3608
  protected _sortModel: string | null;
3609
+ protected readonly _inputColor: _angular_core.Signal<ClxColorInput>;
3610
+ protected readonly _selectColor: _angular_core.Signal<ClxColorInput>;
3611
+ protected readonly _accentColor: _angular_core.Signal<ClxColorInput>;
3595
3612
  readonly onRemove: _angular_core.OutputEmitterRef<ClxWishlistItem>;
3596
3613
  readonly onAddToCart: _angular_core.OutputEmitterRef<ClxWishlistItem>;
3597
3614
  readonly onSearchChange: _angular_core.OutputEmitterRef<string>;
@@ -3601,7 +3618,9 @@ declare class ClxWishlistComponent {
3601
3618
  /** Emitted from the empty-state's "Ir a la tienda" CTA — the host navigates to the catalog. */
3602
3619
  readonly onBrowseCatalog: _angular_core.OutputEmitterRef<void>;
3603
3620
  readonly _skeletonItems: unknown[];
3604
- protected readonly _cardClass = "bg-clx-surface rounded-2xl shadow-sm transition-[box-shadow,transform] duration-200 overflow-hidden group hover:shadow-md hover:-translate-y-0.5 flex flex-col sm:flex-row";
3621
+ /** Themed border falls back to cardBorderColor() (itself falling back to primaryColor) when
3622
+ * `color` is unset, same borderLight treatment as clx-card's own elevated variant. */
3623
+ protected readonly _cardClass: _angular_core.Signal<string>;
3605
3624
  protected readonly _imageContainerClass = "relative shrink-0 w-full p-2.5 aspect-square sm:aspect-auto sm:w-40 overflow-hidden rounded-t-2xl sm:rounded-t-none sm:rounded-l-2xl";
3606
3625
  protected readonly _imageClass = "w-full h-full object-cover transition-transform duration-500 group-hover:scale-105";
3607
3626
  protected readonly _contentClass = "relative flex flex-col gap-2 flex-1 p-3 min-w-0";