codexly-ui 0.23.1 → 0.24.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": "codexly-ui",
3
- "version": "0.23.1",
3
+ "version": "0.24.0",
4
4
  "description": "Standalone, signal-based Angular UI component library for Codexly, styled with Tailwind CSS.",
5
5
  "keywords": [
6
6
  "angular",
@@ -141,9 +141,9 @@ declare class ClxSocialIconComponent {
141
141
  readonly platform: _angular_core.InputSignal<ClxSocialPlatform>;
142
142
  readonly variant: _angular_core.InputSignal<ClxButtonVariant>;
143
143
  readonly color: _angular_core.InputSignal<ClxColorInput | undefined>;
144
- readonly size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xxs" | "xs" | undefined>;
144
+ readonly size: _angular_core.InputSignal<"sm" | "md" | "xxs" | "xs" | "lg" | undefined>;
145
145
  protected readonly _color: _angular_core.Signal<ClxColorInput>;
146
- protected readonly _size: _angular_core.Signal<"sm" | "md" | "lg" | "xxs" | "xs">;
146
+ protected readonly _size: _angular_core.Signal<"sm" | "md" | "xxs" | "xs" | "lg">;
147
147
  protected readonly _markup: _angular_core.Signal<SafeHtml>;
148
148
  protected readonly _hostClass: _angular_core.Signal<string>;
149
149
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxSocialIconComponent, never>;
@@ -166,17 +166,17 @@ declare class ClxButtonComponent {
166
166
  * unusual background shade (bright yellow) where the variant's own resolved text color (white)
167
167
  * reads poorly and a themed text tone is needed instead. */
168
168
  readonly textColor: _angular_core.InputSignal<ClxColorInput | undefined>;
169
- readonly size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xxs" | "xs" | undefined>;
169
+ readonly size: _angular_core.InputSignal<"sm" | "md" | "xxs" | "xs" | "lg" | undefined>;
170
170
  readonly shape: _angular_core.InputSignal<ClxShape | undefined>;
171
171
  private readonly _tableActionsColor;
172
172
  protected readonly _color: _angular_core.Signal<ClxColorInput>;
173
- protected readonly _size: _angular_core.Signal<"sm" | "md" | "lg" | "xxs" | "xs">;
173
+ protected readonly _size: _angular_core.Signal<"sm" | "md" | "xxs" | "xs" | "lg">;
174
174
  protected readonly _shape: _angular_core.Signal<ClxShape>;
175
175
  readonly loading: _angular_core.InputSignal<boolean>;
176
176
  readonly disabled: _angular_core.InputSignal<boolean>;
177
177
  readonly block: _angular_core.InputSignal<boolean>;
178
178
  readonly icon: _angular_core.InputSignal<string | undefined>;
179
- readonly iconPosition: _angular_core.InputSignal<"right" | "left">;
179
+ readonly iconPosition: _angular_core.InputSignal<"left" | "right">;
180
180
  readonly iconOnly: _angular_core.InputSignal<boolean>;
181
181
  readonly badge: _angular_core.InputSignal<string | number | undefined>;
182
182
  readonly badgeColor: _angular_core.InputSignal<ClxColorInput>;
@@ -214,7 +214,7 @@ declare class ClxButtonGroupComponent {
214
214
  readonly label: _angular_core.InputSignal<string>;
215
215
  readonly shape: _angular_core.InputSignal<ClxButtonGroupShape>;
216
216
  readonly attached: _angular_core.InputSignal<boolean>;
217
- readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
217
+ readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
218
218
  protected readonly _groupClass: _angular_core.Signal<string>;
219
219
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxButtonGroupComponent, never>;
220
220
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxButtonGroupComponent, "clx-button-group", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "attached": { "alias": "attached"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -314,7 +314,7 @@ declare class ClxCardComponent {
314
314
  * product-cart-style layout) regardless of variant/color. */
315
315
  readonly border: _angular_core.InputSignal<boolean>;
316
316
  /** Per-instance border-radius override — falls back to the theme's global borderRadius when unset. */
317
- readonly radius: _angular_core.InputSignal<"none" | "sm" | "md" | "lg" | "xl" | "full" | undefined>;
317
+ readonly radius: _angular_core.InputSignal<"sm" | "md" | "lg" | "xl" | "none" | "full" | undefined>;
318
318
  /** Auto-generated header icon (Material Symbols name) — shown in a rounded primary-subtle
319
319
  * square next to headerTitle. Ignored when a manual [clxCardHeader] block is projected. */
320
320
  readonly icon: _angular_core.InputSignal<string | undefined>;
@@ -1367,7 +1367,7 @@ declare class ClxRadioGroupComponent implements ControlValueAccessor {
1367
1367
  readonly resolvedColor: _angular_core.Signal<ClxColorInput>;
1368
1368
  readonly variant: _angular_core.InputSignal<ClxRadioVariant>;
1369
1369
  readonly size: _angular_core.InputSignal<"sm" | "md" | "lg">;
1370
- readonly direction: _angular_core.InputSignal<"horizontal" | "vertical">;
1370
+ readonly direction: _angular_core.InputSignal<"vertical" | "horizontal">;
1371
1371
  readonly disabled: _angular_core.InputSignal<boolean>;
1372
1372
  /** Current selected value — readable by child clx-radio via injection */
1373
1373
  readonly _value: _angular_core.WritableSignal<unknown>;
@@ -2848,7 +2848,7 @@ declare class ClxNotificationComponent {
2848
2848
  } | undefined>;
2849
2849
  readonly buttonColor: _angular_core.InputSignal<ClxColorInput | undefined>;
2850
2850
  readonly buttonVariant: _angular_core.InputSignal<ClxButtonVariant>;
2851
- readonly buttonSize: _angular_core.InputSignal<"sm" | "md" | "lg" | "xxs" | "xs">;
2851
+ readonly buttonSize: _angular_core.InputSignal<"sm" | "md" | "xxs" | "xs" | "lg">;
2852
2852
  readonly buttonIcon: _angular_core.InputSignal<string>;
2853
2853
  /** Unread-count badge color — falls back to the theme's notification.unreadColor (then
2854
2854
  * primaryColor) when unset. */
@@ -3146,7 +3146,7 @@ declare class ClxTreeComponent {
3146
3146
  icon: "xs" | "sm" | "md";
3147
3147
  indent: string;
3148
3148
  }>;
3149
- protected readonly _indentPx: _angular_core.Signal<20 | 16 | 24>;
3149
+ protected readonly _indentPx: _angular_core.Signal<16 | 20 | 24>;
3150
3150
  protected readonly _rootClass: _angular_core.Signal<string>;
3151
3151
  protected _isExpanded(id: string | number): boolean;
3152
3152
  protected _isSelected(id: string | number): boolean;
@@ -3656,7 +3656,7 @@ declare class ClxStatCardComponent {
3656
3656
  readonly metric: _angular_core.InputSignal<ClxStatMetric>;
3657
3657
  readonly chartData: _angular_core.InputSignal<number[]>;
3658
3658
  readonly color: _angular_core.InputSignal<ClxColorInput>;
3659
- readonly layout: _angular_core.InputSignal<"horizontal" | "vertical" | "bar" | "banner" | "corner">;
3659
+ readonly layout: _angular_core.InputSignal<"vertical" | "horizontal" | "bar" | "banner" | "corner">;
3660
3660
  protected readonly _hostClass: _angular_core.Signal<string>;
3661
3661
  protected readonly _barHeights: _angular_core.Signal<number[]>;
3662
3662
  protected readonly _iconBg: _angular_core.Signal<string>;
@@ -3831,6 +3831,10 @@ interface ClxProduct {
3831
3831
  has_discount: boolean;
3832
3832
  discount_percentage?: number;
3833
3833
  tags: string[];
3834
+ /** System tag kinds not shown on this card (ClxTagContext.hiddenSystemTags). */
3835
+ hidden_system_tags?: string[];
3836
+ /** Its own "Últimas unidades" threshold (ClxTagContext.lowStockThreshold). */
3837
+ low_stock_threshold?: number | null;
3834
3838
  main_image?: string;
3835
3839
  in_stock: boolean;
3836
3840
  /** Units left — for the "Últimas unidades" tag (ClxProductTagService). */
@@ -3886,6 +3890,10 @@ interface ClxTagContext {
3886
3890
  showStockCount?: boolean;
3887
3891
  /** Discount percentage, for the DISCOUNT tag (0 / undefined = no discount). */
3888
3892
  discountPercent?: number | null;
3893
+ /** System tag kinds this product/variant doesn't show ('STOCK', 'LOW_STOCK', 'OUT_OF_STOCK', 'DISCOUNT'). */
3894
+ hiddenSystemTags?: readonly string[] | null;
3895
+ /** Its own LOW_STOCK threshold; null / undefined = the tag's global stockThreshold. */
3896
+ lowStockThreshold?: number | null;
3889
3897
  }
3890
3898
  /**
3891
3899
  * The product tags configured by the host app (setTags, e.g. from its backend at startup). Once set,
@@ -3920,7 +3928,7 @@ declare class ClxProductComponent {
3920
3928
  * itself always reads cardBorderColor() regardless of variant — only whether it's shown at
3921
3929
  * all, and whether a shadow accompanies it, changes. */
3922
3930
  readonly variant: _angular_core.InputSignal<ClxCardVariant>;
3923
- readonly imageFit: _angular_core.InputSignal<"contain" | "cover">;
3931
+ readonly imageFit: _angular_core.InputSignal<"cover" | "contain">;
3924
3932
  readonly addToCart: _angular_core.OutputEmitterRef<ClxProduct>;
3925
3933
  readonly addToWishlist: _angular_core.OutputEmitterRef<ClxProduct>;
3926
3934
  readonly viewOptions: _angular_core.OutputEmitterRef<ClxProduct>;
@@ -4015,6 +4023,11 @@ interface ClxVariation {
4015
4023
  in_stock: boolean;
4016
4024
  stock_quantity?: number;
4017
4025
  specs: Record<string, string>;
4026
+ /** This variation's tags, when the host resolves them per variation; undefined = the product's
4027
+ * (same for the two fields below). */
4028
+ tags?: string[];
4029
+ hidden_system_tags?: string[];
4030
+ low_stock_threshold?: number | null;
4018
4031
  }
4019
4032
  /** st_product_spec_types + st_product_spec_options — fila de ficha técnica */
4020
4033
  interface ClxProductSpec {
@@ -4058,6 +4071,8 @@ interface ClxProductDetailData {
4058
4071
  has_warranty: boolean;
4059
4072
  warranty_period?: number;
4060
4073
  tags: string[];
4074
+ hidden_system_tags?: string[];
4075
+ low_stock_threshold?: number | null;
4061
4076
  currency: string;
4062
4077
  rating: number;
4063
4078
  review_count: number;
@@ -4209,7 +4224,8 @@ declare class ClxProductDetailComponent {
4209
4224
  * see listPrice() above). discount_price is only a fallback for a caller whose backend instead
4210
4225
  * stores a precomputed higher reference price to derive the percentage from. */
4211
4226
  readonly discount: _angular_core.Signal<number>;
4212
- /** The host's configured tags (ClxProductTagService) for the selected variation, over the gallery. */
4227
+ /** The host's configured tags (ClxProductTagService) for the selected variation, over the gallery —
4228
+ * the variation's own tags and settings when the host sends them, else the product's. */
4213
4229
  protected readonly _badges: _angular_core.Signal<codexly_ui.ClxTagBadge[]>;
4214
4230
  /** An option is available if some in-stock variation matches it together with the rest of the
4215
4231
  * current selection — a sold-out combination is hidden, same "hide, don't disable" rule already
@@ -4448,6 +4464,10 @@ declare class ClxCartComponent {
4448
4464
  protected readonly _savingsAmount: _angular_core.Signal<number>;
4449
4465
  protected readonly _couponDiscount: _angular_core.Signal<number>;
4450
4466
  protected readonly _total: _angular_core.Signal<number>;
4467
+ protected _exceedsStock(item: ClxCartItem): boolean;
4468
+ /** Lines that can't be bought as they are — out of stock, or more units than are left. While any
4469
+ * exists the checkout button stays disabled. */
4470
+ protected readonly _blockedItems: _angular_core.Signal<ClxCartItem[]>;
4451
4471
  protected readonly _totalUnits: _angular_core.Signal<number>;
4452
4472
  applyCoupon(): void;
4453
4473
  removeCoupon(): void;
@@ -4578,7 +4598,7 @@ declare class ClxSearchComponent implements ControlValueAccessor {
4578
4598
  padDefaultL: string;
4579
4599
  padDefaultR: string;
4580
4600
  }>;
4581
- protected readonly _buttonSize: _angular_core.Signal<"sm" | "md" | "lg" | "xs">;
4601
+ protected readonly _buttonSize: _angular_core.Signal<"sm" | "md" | "xs" | "lg">;
4582
4602
  protected readonly _accentText: _angular_core.Signal<string>;
4583
4603
  protected readonly _wrapperClass: _angular_core.Signal<string>;
4584
4604
  protected readonly _inputClass: _angular_core.Signal<string>;