codexly-ui 0.23.2 → 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.2",
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<"xxs" | "xs" | "sm" | "md" | "lg" | 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<"xxs" | "xs" | "sm" | "md" | "lg">;
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,11 +166,11 @@ 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<"xxs" | "xs" | "sm" | "md" | "lg" | 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<"xxs" | "xs" | "sm" | "md" | "lg">;
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>;
@@ -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>;
@@ -226,13 +226,13 @@ declare class ClxBadgeComponent {
226
226
  private readonly _themeSvc;
227
227
  readonly variant: _angular_core.InputSignal<ClxBadgeVariant>;
228
228
  readonly color: _angular_core.InputSignal<ClxColorInput | undefined>;
229
- readonly size: _angular_core.InputSignal<"xs" | "sm" | "md" | undefined>;
229
+ readonly size: _angular_core.InputSignal<"sm" | "md" | "xs" | undefined>;
230
230
  readonly shape: _angular_core.InputSignal<ClxShape | undefined>;
231
231
  readonly positioned: _angular_core.InputSignal<boolean>;
232
232
  /** Overrides the text color the variant derives from `color` ('white' | 'emerald-900'…). */
233
233
  readonly textColor: _angular_core.InputSignal<ClxColorInput | undefined>;
234
234
  protected readonly _color: _angular_core.Signal<ClxColorInput>;
235
- protected readonly _size: _angular_core.Signal<"xs" | "sm" | "md">;
235
+ protected readonly _size: _angular_core.Signal<"sm" | "md" | "xs">;
236
236
  protected readonly _shape: _angular_core.Signal<ClxShape>;
237
237
  protected readonly _hostClass: _angular_core.Signal<string>;
238
238
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxBadgeComponent, never>;
@@ -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>;
@@ -2492,7 +2492,7 @@ declare class ClxMenuComponent implements AfterViewInit {
2492
2492
  readonly style: _angular_core.InputSignal<ClxNavZoneStyle | undefined>;
2493
2493
  protected readonly _resolved: _angular_core.Signal<{
2494
2494
  color: codexly_ui.ClxColorInput;
2495
- size: "xs" | "sm" | "md";
2495
+ size: "sm" | "md" | "xs";
2496
2496
  weight: codexly_ui.ClxFontWeight;
2497
2497
  }>;
2498
2498
  protected readonly _color: _angular_core.Signal<codexly_ui.ClxColorInput>;
@@ -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<"xxs" | "xs" | "sm" | "md" | "lg">;
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. */
@@ -3402,7 +3402,7 @@ declare class ClxFabComponent {
3402
3402
  protected readonly _position: _angular_core.Signal<ClxFabPosition>;
3403
3403
  protected readonly _triggerClass: _angular_core.Signal<string>;
3404
3404
  /** Los botones de la pila de accesos van un paso más pequeños que el trigger. */
3405
- protected readonly _itemSize: _angular_core.Signal<"xxs" | "xs" | "sm">;
3405
+ protected readonly _itemSize: _angular_core.Signal<"sm" | "xxs" | "xs">;
3406
3406
  private readonly _sso;
3407
3407
  readonly _scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
3408
3408
  readonly _positions: ConnectedPosition[];
@@ -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>;
@@ -3972,7 +3980,7 @@ declare class ClxProductComponent {
3972
3980
  */
3973
3981
  declare class ClxProductBadgesComponent {
3974
3982
  readonly badges: _angular_core.InputSignal<readonly ClxTagBadge[]>;
3975
- readonly size: _angular_core.InputSignal<"xs" | "sm" | "md">;
3983
+ readonly size: _angular_core.InputSignal<"sm" | "md" | "xs">;
3976
3984
  readonly topRightOffset: _angular_core.InputSignal<string | undefined>;
3977
3985
  readonly bottomRightOffset: _angular_core.InputSignal<string | undefined>;
3978
3986
  protected readonly _corners: _angular_core.Signal<{
@@ -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
@@ -4582,7 +4598,7 @@ declare class ClxSearchComponent implements ControlValueAccessor {
4582
4598
  padDefaultL: string;
4583
4599
  padDefaultR: string;
4584
4600
  }>;
4585
- protected readonly _buttonSize: _angular_core.Signal<"xs" | "sm" | "md" | "lg">;
4601
+ protected readonly _buttonSize: _angular_core.Signal<"sm" | "md" | "xs" | "lg">;
4586
4602
  protected readonly _accentText: _angular_core.Signal<string>;
4587
4603
  protected readonly _wrapperClass: _angular_core.Signal<string>;
4588
4604
  protected readonly _inputClass: _angular_core.Signal<string>;