codexly-ui 0.0.1
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/README.md +63 -0
- package/assets/fonts/roboto-bold-italic.ttf +0 -0
- package/assets/fonts/roboto-bold.ttf +0 -0
- package/assets/fonts/roboto-italic.ttf +0 -0
- package/assets/fonts/roboto-light-italic.ttf +0 -0
- package/assets/fonts/roboto-light.ttf +0 -0
- package/assets/fonts/roboto-medium-italic.ttf +0 -0
- package/assets/fonts/roboto-medium.ttf +0 -0
- package/assets/fonts/roboto-regular.ttf +0 -0
- package/assets/fonts/roboto-semibold-italic.ttf +0 -0
- package/assets/fonts/roboto-semibold.ttf +0 -0
- package/assets/styles/_animate.css +769 -0
- package/assets/styles/_fonts.css +84 -0
- package/assets/styles/_theme.css +9 -0
- package/assets/styles/styles.css +36 -0
- package/fesm2022/codexly-ui.mjs +13820 -0
- package/fesm2022/codexly-ui.mjs.map +1 -0
- package/index.d.ts +2734 -0
- package/package.json +23 -0
package/index.d.ts
ADDED
|
@@ -0,0 +1,2734 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef, AfterContentInit, OnDestroy, OnInit, QueryList, Signal, AfterViewInit, ElementRef, InjectionToken, OnChanges, SimpleChanges } from '@angular/core';
|
|
3
|
+
import * as codexly_ui from 'codexly-ui';
|
|
4
|
+
import { FormControl, ControlValueAccessor, FormGroup } from '@angular/forms';
|
|
5
|
+
import * as node_modules_chart_js_dist_types_utils from 'node_modules/chart.js/dist/types/utils';
|
|
6
|
+
import * as chart_js from 'chart.js';
|
|
7
|
+
import { ChartType, ChartData, ChartOptions } from 'chart.js';
|
|
8
|
+
import * as _angular_cdk_overlay from '@angular/cdk/overlay';
|
|
9
|
+
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
10
|
+
import { Observable } from 'rxjs';
|
|
11
|
+
|
|
12
|
+
type ClxColor = 'red' | 'orange' | 'amber' | 'yellow' | 'lime' | 'green' | 'emerald' | 'teal' | 'cyan' | 'sky' | 'blue' | 'indigo' | 'violet' | 'purple' | 'fuchsia' | 'pink' | 'rose' | 'slate' | 'gray' | 'zinc' | 'neutral' | 'stone' | 'white';
|
|
13
|
+
type ClxShade = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950;
|
|
14
|
+
type ClxColorInput = ClxColor | `${ClxColor}-${ClxShade}`;
|
|
15
|
+
interface ClxColorResolved {
|
|
16
|
+
color: ClxColor;
|
|
17
|
+
shade: ClxShade;
|
|
18
|
+
}
|
|
19
|
+
interface ClxColorTokens {
|
|
20
|
+
bg: string;
|
|
21
|
+
bgSubtle: string;
|
|
22
|
+
text: string;
|
|
23
|
+
textSubtle: string;
|
|
24
|
+
border: string;
|
|
25
|
+
borderLight: string;
|
|
26
|
+
hoverBg: string;
|
|
27
|
+
hoverBgMuted: string;
|
|
28
|
+
ring: string;
|
|
29
|
+
focus: string;
|
|
30
|
+
bgBase: string;
|
|
31
|
+
bgDark: string;
|
|
32
|
+
textBase: string;
|
|
33
|
+
textDark: string;
|
|
34
|
+
textEmphasis: string;
|
|
35
|
+
textAccent: string;
|
|
36
|
+
textMuted: string;
|
|
37
|
+
textLight: string;
|
|
38
|
+
borderBase: string;
|
|
39
|
+
borderDark: string;
|
|
40
|
+
borderSubtle: string;
|
|
41
|
+
borderAccent: string;
|
|
42
|
+
hoverBgBase: string;
|
|
43
|
+
hoverBgLight: string;
|
|
44
|
+
hoverBgDark: string;
|
|
45
|
+
hoverBgSubtle: string;
|
|
46
|
+
hoverTextBase: string;
|
|
47
|
+
hoverTextDark: string;
|
|
48
|
+
hoverTextEmph: string;
|
|
49
|
+
hoverBorderBase: string;
|
|
50
|
+
hoverBorderDark: string;
|
|
51
|
+
ringBase: string;
|
|
52
|
+
ringAccent: string;
|
|
53
|
+
focusWithin: string;
|
|
54
|
+
focusDirect: string;
|
|
55
|
+
focusVisible: string;
|
|
56
|
+
focusVisibleLight: string;
|
|
57
|
+
}
|
|
58
|
+
declare function parseColorInput(input: ClxColorInput): ClxColorResolved;
|
|
59
|
+
declare function resolveColor(input: ClxColorInput): ClxColorTokens;
|
|
60
|
+
declare const CLX_COLOR_MAP: Record<ClxColor, ClxColorTokens>;
|
|
61
|
+
declare const CLX_COLOR_HEX: {
|
|
62
|
+
red: string;
|
|
63
|
+
orange: string;
|
|
64
|
+
amber: string;
|
|
65
|
+
yellow: string;
|
|
66
|
+
lime: string;
|
|
67
|
+
green: string;
|
|
68
|
+
emerald: string;
|
|
69
|
+
teal: string;
|
|
70
|
+
cyan: string;
|
|
71
|
+
sky: string;
|
|
72
|
+
blue: string;
|
|
73
|
+
indigo: string;
|
|
74
|
+
violet: string;
|
|
75
|
+
purple: string;
|
|
76
|
+
fuchsia: string;
|
|
77
|
+
pink: string;
|
|
78
|
+
rose: string;
|
|
79
|
+
slate: string;
|
|
80
|
+
gray: string;
|
|
81
|
+
zinc: string;
|
|
82
|
+
neutral: string;
|
|
83
|
+
stone: string;
|
|
84
|
+
white: string;
|
|
85
|
+
slate100: string;
|
|
86
|
+
slate200: string;
|
|
87
|
+
slate300: string;
|
|
88
|
+
slate400: string;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
type ClxTrendDirection = 'up' | 'down' | 'neutral';
|
|
92
|
+
interface ClxStatMetric {
|
|
93
|
+
icon: string;
|
|
94
|
+
title: string;
|
|
95
|
+
value: string | number;
|
|
96
|
+
trend: string | number;
|
|
97
|
+
trendDirection: ClxTrendDirection;
|
|
98
|
+
}
|
|
99
|
+
interface SparkPoint {
|
|
100
|
+
x: number;
|
|
101
|
+
y: number;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
declare class ClxStatCardComponent {
|
|
105
|
+
readonly metric: _angular_core.InputSignal<ClxStatMetric>;
|
|
106
|
+
readonly chartData: _angular_core.InputSignal<number[]>;
|
|
107
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
108
|
+
readonly layout: _angular_core.InputSignal<"horizontal" | "vertical" | "bar">;
|
|
109
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
110
|
+
protected readonly _barHeights: _angular_core.Signal<number[]>;
|
|
111
|
+
protected readonly _iconBg: _angular_core.Signal<string>;
|
|
112
|
+
protected readonly _iconBgSubtle: _angular_core.Signal<string>;
|
|
113
|
+
protected readonly _iconTextBase: _angular_core.Signal<string>;
|
|
114
|
+
protected readonly _lineColor: _angular_core.Signal<string>;
|
|
115
|
+
protected readonly _gradId: _angular_core.Signal<string>;
|
|
116
|
+
protected readonly _trendColor: _angular_core.Signal<"red" | "green" | "slate">;
|
|
117
|
+
protected readonly _trendArrowIcon: _angular_core.Signal<"arrow_upward" | "arrow_downward" | "remove">;
|
|
118
|
+
protected readonly _trendTextClass: _angular_core.Signal<"text-slate-400" | "text-green-500" | "text-red-500">;
|
|
119
|
+
protected readonly _trendIcon: _angular_core.Signal<"remove" | "arrow_outward" | "south_east">;
|
|
120
|
+
protected readonly _formattedValue: _angular_core.Signal<string>;
|
|
121
|
+
protected readonly _points: _angular_core.Signal<SparkPoint[]>;
|
|
122
|
+
protected readonly _linePath: _angular_core.Signal<string>;
|
|
123
|
+
protected readonly _fillPath: _angular_core.Signal<string>;
|
|
124
|
+
constructor();
|
|
125
|
+
private _buildPath;
|
|
126
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxStatCardComponent, never>;
|
|
127
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxStatCardComponent, "clx-stat-card", never, { "metric": { "alias": "metric"; "required": true; "isSignal": true; }; "chartData": { "alias": "chartData"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
type ClxProductLayout = 'vertical' | 'horizontal';
|
|
131
|
+
type ClxProductSize = 'sm' | 'md';
|
|
132
|
+
/** Refleja st_variations + st_products (campos necesarios para la card) */
|
|
133
|
+
interface ClxProduct {
|
|
134
|
+
id: string;
|
|
135
|
+
sku: string;
|
|
136
|
+
name: string;
|
|
137
|
+
description?: string;
|
|
138
|
+
sale_price?: number;
|
|
139
|
+
product_id: string;
|
|
140
|
+
product_name: string;
|
|
141
|
+
trademark: string;
|
|
142
|
+
product_sale_price: number;
|
|
143
|
+
discount_price?: number;
|
|
144
|
+
has_discount: boolean;
|
|
145
|
+
discount_percentage?: number;
|
|
146
|
+
tags: string[];
|
|
147
|
+
main_image?: string;
|
|
148
|
+
in_stock: boolean;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
type ClxBadgeVariant = 'solid' | 'light' | 'outline';
|
|
152
|
+
|
|
153
|
+
type ClxProductTag = 'new' | 'sale' | 'out-of-stock' | 'featured' | 'limited' | 'hot';
|
|
154
|
+
|
|
155
|
+
declare class ClxProductComponent {
|
|
156
|
+
readonly product: _angular_core.InputSignal<ClxProduct | null>;
|
|
157
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
158
|
+
readonly priority: _angular_core.InputSignal<boolean>;
|
|
159
|
+
readonly layout: _angular_core.InputSignal<ClxProductLayout>;
|
|
160
|
+
readonly size: _angular_core.InputSignal<ClxProductSize>;
|
|
161
|
+
readonly clxColor: _angular_core.InputSignal<ClxColorInput>;
|
|
162
|
+
readonly addToCart: _angular_core.OutputEmitterRef<ClxProduct>;
|
|
163
|
+
readonly addToWishlist: _angular_core.OutputEmitterRef<ClxProduct>;
|
|
164
|
+
protected readonly PRODUCT_TAG_LABEL: Record<ClxProductTag, string>;
|
|
165
|
+
protected readonly PRODUCT_TAG_COLOR: Record<ClxProductTag, codexly_ui.ClxColor>;
|
|
166
|
+
protected readonly PRODUCT_TAG_VARIANT: Record<ClxProductTag, codexly_ui.ClxBadgeVariant>;
|
|
167
|
+
protected readonly _h: _angular_core.Signal<boolean>;
|
|
168
|
+
protected readonly _sm: _angular_core.Signal<boolean>;
|
|
169
|
+
protected readonly _tags: _angular_core.Signal<ClxProductTag[]>;
|
|
170
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
171
|
+
protected readonly _price: _angular_core.Signal<number>;
|
|
172
|
+
protected readonly _buttonSize: _angular_core.Signal<"sm" | "md">;
|
|
173
|
+
protected readonly _skeletonW: _angular_core.Signal<"sm:w-32" | "sm:w-44">;
|
|
174
|
+
protected readonly _skeletonH: _angular_core.Signal<"160px" | "200px">;
|
|
175
|
+
protected readonly _cardClass: _angular_core.Signal<string>;
|
|
176
|
+
protected readonly _imageContainerClass: _angular_core.Signal<string>;
|
|
177
|
+
protected readonly _contentClass: _angular_core.Signal<string>;
|
|
178
|
+
protected readonly _actionsClass: _angular_core.Signal<"flex flex-col sm:flex-row items-stretch sm:items-center gap-2 mt-3" | "flex items-center gap-2 mt-3">;
|
|
179
|
+
protected readonly _overlayClass: _angular_core.Signal<string>;
|
|
180
|
+
protected readonly _titleClass: _angular_core.Signal<string>;
|
|
181
|
+
protected readonly _descClass: _angular_core.Signal<string>;
|
|
182
|
+
protected readonly _priceClass: _angular_core.Signal<string>;
|
|
183
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxProductComponent, never>;
|
|
184
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxProductComponent, "clx-product", never, { "product": { "alias": "product"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "priority": { "alias": "priority"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clxColor": { "alias": "clxColor"; "required": false; "isSignal": true; }; }, { "addToCart": "addToCart"; "addToWishlist": "addToWishlist"; }, never, never, true, never>;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
declare class ClxCarouselDirective {
|
|
188
|
+
readonly templateRef: TemplateRef<unknown>;
|
|
189
|
+
constructor(templateRef: TemplateRef<unknown>);
|
|
190
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCarouselDirective, never>;
|
|
191
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxCarouselDirective, "[clxSlide]", never, {}, {}, never, never, true, never>;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
type ClxCarouselAspectRatio = '16/9' | '4/3' | '1/1' | '3/2' | 'auto';
|
|
195
|
+
interface ClxCarouselConfig {
|
|
196
|
+
clxColor: ClxColor;
|
|
197
|
+
autoPlay: boolean;
|
|
198
|
+
interval: number;
|
|
199
|
+
loop: boolean;
|
|
200
|
+
aspectRatio: ClxCarouselAspectRatio;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
declare class ClxCarouselComponent implements AfterContentInit, OnDestroy {
|
|
204
|
+
readonly clxColor: _angular_core.InputSignal<ClxColorInput>;
|
|
205
|
+
readonly autoPlay: _angular_core.InputSignal<boolean>;
|
|
206
|
+
readonly interval: _angular_core.InputSignal<number>;
|
|
207
|
+
readonly loop: _angular_core.InputSignal<boolean>;
|
|
208
|
+
readonly aspectRatio: _angular_core.InputSignal<ClxCarouselAspectRatio>;
|
|
209
|
+
readonly currentPageIndex: _angular_core.WritableSignal<number>;
|
|
210
|
+
protected readonly _slides: _angular_core.Signal<readonly ClxCarouselDirective[]>;
|
|
211
|
+
private _autoPlayTimer;
|
|
212
|
+
private _touchStartX;
|
|
213
|
+
private readonly _zone;
|
|
214
|
+
protected readonly _aspectClass: _angular_core.Signal<string>;
|
|
215
|
+
protected readonly _dotItems: _angular_core.Signal<{
|
|
216
|
+
idx: number;
|
|
217
|
+
cls: string;
|
|
218
|
+
}[]>;
|
|
219
|
+
constructor();
|
|
220
|
+
ngAfterContentInit(): void;
|
|
221
|
+
ngOnDestroy(): void;
|
|
222
|
+
next(): void;
|
|
223
|
+
prev(): void;
|
|
224
|
+
goTo(index: number): void;
|
|
225
|
+
protected _onTouchStart(e: TouchEvent): void;
|
|
226
|
+
protected _onTouchEnd(e: TouchEvent): void;
|
|
227
|
+
private _startTimer;
|
|
228
|
+
private _clearTimer;
|
|
229
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCarouselComponent, never>;
|
|
230
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxCarouselComponent, "clx-carousel", never, { "clxColor": { "alias": "clxColor"; "required": false; "isSignal": true; }; "autoPlay": { "alias": "autoPlay"; "required": false; "isSignal": true; }; "interval": { "alias": "interval"; "required": false; "isSignal": true; }; "loop": { "alias": "loop"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; }, {}, ["_slides"], never, true, never>;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
interface ClxTabItem {
|
|
234
|
+
id: string;
|
|
235
|
+
label: string;
|
|
236
|
+
icon?: string;
|
|
237
|
+
disabled?: boolean;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/** st_spec_options */
|
|
241
|
+
interface ClxSpecOption {
|
|
242
|
+
id: string;
|
|
243
|
+
spec_type_id: string;
|
|
244
|
+
value: string;
|
|
245
|
+
}
|
|
246
|
+
/** st_spec_types + sus opciones */
|
|
247
|
+
interface ClxSpecType {
|
|
248
|
+
id: string;
|
|
249
|
+
name: string;
|
|
250
|
+
icon?: string;
|
|
251
|
+
input_type: 'color' | 'text';
|
|
252
|
+
options: ClxSpecOption[];
|
|
253
|
+
}
|
|
254
|
+
/** st_variations — una variación sellable con sus imágenes y specs seleccionadas */
|
|
255
|
+
interface ClxVariation {
|
|
256
|
+
id: string;
|
|
257
|
+
sku: string;
|
|
258
|
+
name: string;
|
|
259
|
+
description?: string;
|
|
260
|
+
sale_price?: number;
|
|
261
|
+
sort_order: number;
|
|
262
|
+
images: string[];
|
|
263
|
+
in_stock: boolean;
|
|
264
|
+
specs: Record<string, string>;
|
|
265
|
+
}
|
|
266
|
+
/** st_product_spec_types + st_product_spec_options — fila de ficha técnica */
|
|
267
|
+
interface ClxProductSpec {
|
|
268
|
+
id: string;
|
|
269
|
+
name: string;
|
|
270
|
+
icon?: string;
|
|
271
|
+
value: string;
|
|
272
|
+
sort_order?: number;
|
|
273
|
+
}
|
|
274
|
+
/** st_product_descriptions — bloque de texto narrativo */
|
|
275
|
+
interface ClxProductDescription {
|
|
276
|
+
id: string;
|
|
277
|
+
title?: string;
|
|
278
|
+
body: string;
|
|
279
|
+
sort_order: number;
|
|
280
|
+
}
|
|
281
|
+
/** st_reviews */
|
|
282
|
+
interface ClxReview {
|
|
283
|
+
id: string;
|
|
284
|
+
author_name: string;
|
|
285
|
+
rating: number;
|
|
286
|
+
title?: string;
|
|
287
|
+
body?: string;
|
|
288
|
+
is_verified: boolean;
|
|
289
|
+
helpful: number;
|
|
290
|
+
not_helpful: number;
|
|
291
|
+
created_at: string;
|
|
292
|
+
}
|
|
293
|
+
/** Payload completo para clx-product-detail — un producto con todas sus variaciones */
|
|
294
|
+
interface ClxProductDetailData {
|
|
295
|
+
product_id: string;
|
|
296
|
+
product_name: string;
|
|
297
|
+
trademark: string;
|
|
298
|
+
product_sale_price: number;
|
|
299
|
+
discount_price?: number;
|
|
300
|
+
has_discount: boolean;
|
|
301
|
+
discount_percentage?: number;
|
|
302
|
+
has_warranty: boolean;
|
|
303
|
+
warranty_period?: number;
|
|
304
|
+
tags: string[];
|
|
305
|
+
currency: string;
|
|
306
|
+
rating: number;
|
|
307
|
+
review_count: number;
|
|
308
|
+
spec_types: ClxSpecType[];
|
|
309
|
+
variations: ClxVariation[];
|
|
310
|
+
product_specs: ClxProductSpec[];
|
|
311
|
+
descriptions: ClxProductDescription[];
|
|
312
|
+
reviews?: ClxReview[];
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
declare class ClxProductDetailComponent {
|
|
316
|
+
readonly product: _angular_core.InputSignal<ClxProductDetailData | null>;
|
|
317
|
+
readonly clxColor: _angular_core.InputSignal<ClxColorInput>;
|
|
318
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
319
|
+
readonly currency: _angular_core.InputSignal<string>;
|
|
320
|
+
readonly _carousel: _angular_core.Signal<ClxCarouselComponent | undefined>;
|
|
321
|
+
readonly quantity: _angular_core.WritableSignal<number>;
|
|
322
|
+
readonly activeTab: _angular_core.WritableSignal<string>;
|
|
323
|
+
readonly selectedSpecs: _angular_core.WritableSignal<Record<string, string>>;
|
|
324
|
+
readonly tabItems: ClxTabItem[];
|
|
325
|
+
constructor();
|
|
326
|
+
readonly activeVariation: _angular_core.Signal<ClxVariation | null>;
|
|
327
|
+
readonly finalPrice: _angular_core.Signal<number>;
|
|
328
|
+
readonly discount: _angular_core.Signal<number>;
|
|
329
|
+
isOptionAvailable(specTypeId: string, specOptionId: string): boolean;
|
|
330
|
+
selectSpec(specTypeId: string, specOptionId: string): void;
|
|
331
|
+
isSpecSelected(specTypeId: string, specOptionId: string): boolean;
|
|
332
|
+
selectedOptionLabel(specType: ClxSpecType): string;
|
|
333
|
+
asColor(value: string): ClxColorInput;
|
|
334
|
+
specsLeft<T>(specs: T[]): T[];
|
|
335
|
+
specsRight<T>(specs: T[]): T[];
|
|
336
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxProductDetailComponent, never>;
|
|
337
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxProductDetailComponent, "clx-product-detail", never, { "product": { "alias": "product"; "required": false; "isSignal": true; }; "clxColor": { "alias": "clxColor"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
type ClxTreeSize = 'sm' | 'md' | 'lg';
|
|
341
|
+
type ClxTreeVariant = 'default' | 'lines';
|
|
342
|
+
interface ClxTreeNode {
|
|
343
|
+
id: string | number;
|
|
344
|
+
label: string;
|
|
345
|
+
icon?: string;
|
|
346
|
+
children?: ClxTreeNode[];
|
|
347
|
+
disabled?: boolean;
|
|
348
|
+
data?: unknown;
|
|
349
|
+
}
|
|
350
|
+
interface ClxTreeSelectEvent {
|
|
351
|
+
node: ClxTreeNode;
|
|
352
|
+
selected: boolean;
|
|
353
|
+
}
|
|
354
|
+
interface ClxTreeExpandEvent {
|
|
355
|
+
node: ClxTreeNode;
|
|
356
|
+
expanded: boolean;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
declare class ClxTreeComponent {
|
|
360
|
+
readonly nodes: _angular_core.InputSignal<ClxTreeNode[]>;
|
|
361
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
362
|
+
readonly size: _angular_core.InputSignal<ClxTreeSize>;
|
|
363
|
+
readonly variant: _angular_core.InputSignal<ClxTreeVariant>;
|
|
364
|
+
readonly selectable: _angular_core.InputSignal<boolean>;
|
|
365
|
+
readonly multiSelect: _angular_core.InputSignal<boolean>;
|
|
366
|
+
readonly expandAll: _angular_core.InputSignal<boolean>;
|
|
367
|
+
readonly selectedIds: _angular_core.ModelSignal<(string | number)[]>;
|
|
368
|
+
readonly expandedIds: _angular_core.ModelSignal<(string | number)[]>;
|
|
369
|
+
readonly selectChange: _angular_core.OutputEmitterRef<ClxTreeSelectEvent>;
|
|
370
|
+
readonly expandChange: _angular_core.OutputEmitterRef<ClxTreeExpandEvent>;
|
|
371
|
+
protected readonly _s: _angular_core.Signal<{
|
|
372
|
+
row: string;
|
|
373
|
+
text: string;
|
|
374
|
+
icon: "xs" | "sm" | "md";
|
|
375
|
+
indent: string;
|
|
376
|
+
}>;
|
|
377
|
+
protected readonly _indentPx: _angular_core.Signal<16 | 24 | 20>;
|
|
378
|
+
protected readonly _rootClass: _angular_core.Signal<string>;
|
|
379
|
+
protected _isExpanded(id: string | number): boolean;
|
|
380
|
+
protected _isSelected(id: string | number): boolean;
|
|
381
|
+
protected _rowClass(node: ClxTreeNode, selected: boolean): string;
|
|
382
|
+
protected _iconClass(selected: boolean): string;
|
|
383
|
+
protected _labelClass(node: ClxTreeNode, selected: boolean): string;
|
|
384
|
+
protected _badgeClass(selected: boolean): string;
|
|
385
|
+
protected _lineClass(): string;
|
|
386
|
+
protected _toggleExpand(node: ClxTreeNode): void;
|
|
387
|
+
protected _onRowClick(node: ClxTreeNode): void;
|
|
388
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTreeComponent, never>;
|
|
389
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxTreeComponent, "clx-tree", never, { "nodes": { "alias": "nodes"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "expandAll": { "alias": "expandAll"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "expandedIds": { "alias": "expandedIds"; "required": false; "isSignal": true; }; }, { "selectedIds": "selectedIdsChange"; "expandedIds": "expandedIdsChange"; "selectChange": "selectChange"; "expandChange": "expandChange"; }, never, never, true, never>;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
type ClxFilterFieldType = 'checkbox' | 'radio' | 'range' | 'select' | 'date-range';
|
|
393
|
+
interface ClxFilterOption {
|
|
394
|
+
value: string | number;
|
|
395
|
+
label: string;
|
|
396
|
+
count?: number;
|
|
397
|
+
}
|
|
398
|
+
interface ClxFilterField {
|
|
399
|
+
key: string;
|
|
400
|
+
label: string;
|
|
401
|
+
type: ClxFilterFieldType;
|
|
402
|
+
options?: ClxFilterOption[];
|
|
403
|
+
min?: number;
|
|
404
|
+
max?: number;
|
|
405
|
+
step?: number;
|
|
406
|
+
unit?: string;
|
|
407
|
+
collapsed?: boolean;
|
|
408
|
+
}
|
|
409
|
+
type ClxFilterValue = (string | number)[] | string | number | {
|
|
410
|
+
min: number;
|
|
411
|
+
max: number;
|
|
412
|
+
} | {
|
|
413
|
+
from: Date;
|
|
414
|
+
to: Date;
|
|
415
|
+
} | null;
|
|
416
|
+
type ClxFilterValues = Record<string, ClxFilterValue>;
|
|
417
|
+
interface ClxFilterChangeEvent {
|
|
418
|
+
key: string;
|
|
419
|
+
value: ClxFilterValue;
|
|
420
|
+
all: ClxFilterValues;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
declare class ClxFilterPanelComponent {
|
|
424
|
+
readonly fields: _angular_core.InputSignal<ClxFilterField[]>;
|
|
425
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
426
|
+
readonly showApply: _angular_core.InputSignal<boolean>;
|
|
427
|
+
readonly values: _angular_core.ModelSignal<ClxFilterValues>;
|
|
428
|
+
readonly filterChange: _angular_core.OutputEmitterRef<ClxFilterChangeEvent>;
|
|
429
|
+
readonly applyChange: _angular_core.OutputEmitterRef<ClxFilterValues>;
|
|
430
|
+
private readonly _collapsed;
|
|
431
|
+
protected readonly _activeCount: _angular_core.Signal<number>;
|
|
432
|
+
protected _isCollapsed(key: string): boolean;
|
|
433
|
+
protected _toggleField(key: string): void;
|
|
434
|
+
protected _hasValue(key: string): boolean;
|
|
435
|
+
protected _getValue(key: string): ClxFilterValue;
|
|
436
|
+
protected _getRangeValue(field: ClxFilterField): {
|
|
437
|
+
min: number;
|
|
438
|
+
max: number;
|
|
439
|
+
};
|
|
440
|
+
protected _isChecked(key: string, val: string | number): boolean;
|
|
441
|
+
protected _valueLabel(field: ClxFilterField): string;
|
|
442
|
+
protected _toggleCheck(key: string, val: string | number, checked: boolean): void;
|
|
443
|
+
protected _setRange(key: string, min: number, max: number, field: ClxFilterField): void;
|
|
444
|
+
protected _set(key: string, value: ClxFilterValue): void;
|
|
445
|
+
protected _reset(): void;
|
|
446
|
+
protected _apply(): void;
|
|
447
|
+
protected _badgeCls(): string;
|
|
448
|
+
protected _fieldBadgeCls(): string;
|
|
449
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxFilterPanelComponent, never>;
|
|
450
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxFilterPanelComponent, "clx-filter-panel", never, { "fields": { "alias": "fields"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "showApply": { "alias": "showApply"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; }, { "values": "valuesChange"; "filterChange": "filterChange"; "applyChange": "applyChange"; }, never, never, true, never>;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
type ClxButtonVariant = 'solid' | 'light' | 'outline' | 'ghost' | 'link';
|
|
454
|
+
type ClxButtonColor = ClxColorInput;
|
|
455
|
+
interface ClxRippleItem {
|
|
456
|
+
id: number;
|
|
457
|
+
x: number;
|
|
458
|
+
y: number;
|
|
459
|
+
diameter: number;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
declare class ClxAlertComponent implements OnInit, OnDestroy {
|
|
463
|
+
private readonly _opts;
|
|
464
|
+
private readonly _resolve;
|
|
465
|
+
private readonly _animate;
|
|
466
|
+
private readonly _el;
|
|
467
|
+
private readonly _zone;
|
|
468
|
+
private get _type();
|
|
469
|
+
protected readonly _icon: _angular_core.WritableSignal<string>;
|
|
470
|
+
protected readonly _iconBg: _angular_core.WritableSignal<string>;
|
|
471
|
+
protected readonly _iconColor: _angular_core.WritableSignal<string>;
|
|
472
|
+
protected readonly _progressColor: _angular_core.WritableSignal<string>;
|
|
473
|
+
protected readonly _title: _angular_core.WritableSignal<string>;
|
|
474
|
+
protected readonly _message: _angular_core.WritableSignal<string>;
|
|
475
|
+
protected readonly _showCancel: _angular_core.WritableSignal<boolean>;
|
|
476
|
+
protected readonly _confirmText: _angular_core.WritableSignal<string>;
|
|
477
|
+
protected readonly _confirmColor: _angular_core.WritableSignal<codexly_ui.ClxColorInput>;
|
|
478
|
+
protected readonly _cancelText: _angular_core.WritableSignal<string>;
|
|
479
|
+
protected readonly _cancelColor: _angular_core.WritableSignal<codexly_ui.ClxColorInput>;
|
|
480
|
+
protected readonly _cancelVariant: _angular_core.WritableSignal<ClxButtonVariant>;
|
|
481
|
+
protected readonly _timerTotal: _angular_core.WritableSignal<number>;
|
|
482
|
+
protected readonly _progressPct: _angular_core.WritableSignal<number>;
|
|
483
|
+
private _timerHandle;
|
|
484
|
+
private _destroyed;
|
|
485
|
+
private get _card();
|
|
486
|
+
ngOnInit(): void;
|
|
487
|
+
ngOnDestroy(): void;
|
|
488
|
+
confirm(): void;
|
|
489
|
+
dismiss(): void;
|
|
490
|
+
private _close;
|
|
491
|
+
private _startTimer;
|
|
492
|
+
private _stopTimer;
|
|
493
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxAlertComponent, never>;
|
|
494
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxAlertComponent, "clx-alert", never, {}, {}, never, never, true, never>;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
declare class ClxTabDirective {
|
|
498
|
+
readonly templateRef: TemplateRef<unknown>;
|
|
499
|
+
readonly clxTabPanel: _angular_core.InputSignal<string>;
|
|
500
|
+
constructor(templateRef: TemplateRef<unknown>);
|
|
501
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTabDirective, never>;
|
|
502
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxTabDirective, "[clxTabPanel]", never, { "clxTabPanel": { "alias": "clxTabPanel"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
declare class ClxTabsComponent {
|
|
506
|
+
readonly tabs: _angular_core.InputSignal<ClxTabItem[]>;
|
|
507
|
+
readonly clxColor: _angular_core.InputSignal<ClxColorInput>;
|
|
508
|
+
readonly activeTab: _angular_core.ModelSignal<string>;
|
|
509
|
+
protected readonly _panels: _angular_core.Signal<readonly ClxTabDirective[]>;
|
|
510
|
+
protected readonly _underlineClass: _angular_core.Signal<string>;
|
|
511
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTabsComponent, never>;
|
|
512
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxTabsComponent, "clx-tabs", never, { "tabs": { "alias": "tabs"; "required": true; "isSignal": true; }; "clxColor": { "alias": "clxColor"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; }, ["_panels"], never, true, never>;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
type ClxDrawerSize = 'sm' | 'md' | 'lg';
|
|
516
|
+
interface ClxDrawerButtonOptions {
|
|
517
|
+
text: string;
|
|
518
|
+
color?: ClxButtonColor;
|
|
519
|
+
variant?: ClxButtonVariant;
|
|
520
|
+
}
|
|
521
|
+
interface ClxDrawerConfig<D = unknown> {
|
|
522
|
+
/** Width preset. Default: 'md' */
|
|
523
|
+
size?: ClxDrawerSize;
|
|
524
|
+
/** Show the dark backdrop. Default: false */
|
|
525
|
+
hasBackdrop?: boolean;
|
|
526
|
+
/** Prevent closing on backdrop click / Escape. Default: false */
|
|
527
|
+
disableClose?: boolean;
|
|
528
|
+
/** Extra CSS classes added to the overlay pane */
|
|
529
|
+
panelClass?: string | string[];
|
|
530
|
+
/** Data injected into the opened component via CLX_MODAL_DATA token */
|
|
531
|
+
data?: D;
|
|
532
|
+
}
|
|
533
|
+
interface ClxDrawerRef<R = unknown> {
|
|
534
|
+
close(result?: R): void;
|
|
535
|
+
afterClosed(): Promise<R | undefined>;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
declare class ClxDrawerComponent {
|
|
539
|
+
readonly size: _angular_core.InputSignal<ClxDrawerSize>;
|
|
540
|
+
readonly showClose: _angular_core.InputSignal<boolean>;
|
|
541
|
+
readonly confirmButton: _angular_core.InputSignal<ClxDrawerButtonOptions | undefined>;
|
|
542
|
+
readonly cancelButton: _angular_core.InputSignal<ClxDrawerButtonOptions | undefined>;
|
|
543
|
+
readonly showCancelButton: _angular_core.InputSignal<boolean>;
|
|
544
|
+
readonly confirmClick: _angular_core.OutputEmitterRef<void>;
|
|
545
|
+
readonly cancelClick: _angular_core.OutputEmitterRef<void>;
|
|
546
|
+
private readonly _modalRef;
|
|
547
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
548
|
+
protected readonly _hasBuiltInButtons: _angular_core.Signal<boolean>;
|
|
549
|
+
protected readonly _confirmText: _angular_core.Signal<string>;
|
|
550
|
+
protected readonly _confirmColor: _angular_core.Signal<codexly_ui.ClxColorInput>;
|
|
551
|
+
protected readonly _confirmVariant: _angular_core.Signal<codexly_ui.ClxButtonVariant>;
|
|
552
|
+
protected readonly _cancelText: _angular_core.Signal<string>;
|
|
553
|
+
protected readonly _cancelColor: _angular_core.Signal<codexly_ui.ClxColorInput>;
|
|
554
|
+
protected readonly _cancelVariant: _angular_core.Signal<codexly_ui.ClxButtonVariant>;
|
|
555
|
+
protected _close(): void;
|
|
556
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxDrawerComponent, never>;
|
|
557
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxDrawerComponent, "clx-drawer", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "confirmButton": { "alias": "confirmButton"; "required": false; "isSignal": true; }; "cancelButton": { "alias": "cancelButton"; "required": false; "isSignal": true; }; "showCancelButton": { "alias": "showCancelButton"; "required": false; "isSignal": true; }; }, { "confirmClick": "confirmClick"; "cancelClick": "cancelClick"; }, never, ["[clx-drawer-title]", "*", "[clx-drawer-footer]"], true, never>;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
type ClxAnimateAttentionSeeker = 'bounce' | 'flash' | 'pulse' | 'rubberBand' | 'shakeX' | 'shakeY' | 'headShake' | 'swing' | 'tada' | 'wobble' | 'jello' | 'heartBeat';
|
|
561
|
+
type ClxAnimateBackEntrance = 'backInDown' | 'backInLeft' | 'backInRight' | 'backInUp';
|
|
562
|
+
type ClxAnimateBackExit = 'backOutDown' | 'backOutLeft' | 'backOutRight' | 'backOutUp';
|
|
563
|
+
type ClxAnimateBouncingEntrance = 'bounceIn' | 'bounceInDown' | 'bounceInLeft' | 'bounceInRight' | 'bounceInUp';
|
|
564
|
+
type ClxAnimateBouncingExit = 'bounceOut' | 'bounceOutDown' | 'bounceOutLeft' | 'bounceOutRight' | 'bounceOutUp';
|
|
565
|
+
type ClxAnimateFadingEntrance = 'fadeIn' | 'fadeInDown' | 'fadeInDownBig' | 'fadeInLeft' | 'fadeInLeftBig' | 'fadeInRight' | 'fadeInRightBig' | 'fadeInUp' | 'fadeInUpBig' | 'fadeInTopLeft' | 'fadeInTopRight' | 'fadeInBottomLeft' | 'fadeInBottomRight';
|
|
566
|
+
type ClxAnimateFadingExit = 'fadeOut' | 'fadeOutDown' | 'fadeOutDownBig' | 'fadeOutLeft' | 'fadeOutLeftBig' | 'fadeOutRight' | 'fadeOutRightBig' | 'fadeOutUp' | 'fadeOutUpBig' | 'fadeOutTopLeft' | 'fadeOutTopRight' | 'fadeOutBottomRight' | 'fadeOutBottomLeft';
|
|
567
|
+
type ClxAnimateFlipper = 'flip' | 'flipInX' | 'flipInY' | 'flipOutX' | 'flipOutY';
|
|
568
|
+
type ClxAnimateLightspeed = 'lightSpeedInRight' | 'lightSpeedInLeft' | 'lightSpeedOutRight' | 'lightSpeedOutLeft';
|
|
569
|
+
type ClxAnimateRotatingEntrance = 'rotateIn' | 'rotateInDownLeft' | 'rotateInDownRight' | 'rotateInUpLeft' | 'rotateInUpRight';
|
|
570
|
+
type ClxAnimateRotatingExit = 'rotateOut' | 'rotateOutDownLeft' | 'rotateOutDownRight' | 'rotateOutUpLeft' | 'rotateOutUpRight';
|
|
571
|
+
type ClxAnimateSpecial = 'hinge' | 'jackInTheBox' | 'rollIn' | 'rollOut';
|
|
572
|
+
type ClxAnimateZoomingEntrance = 'zoomIn' | 'zoomInDown' | 'zoomInLeft' | 'zoomInRight' | 'zoomInUp';
|
|
573
|
+
type ClxAnimateZoomingExit = 'zoomOut' | 'zoomOutDown' | 'zoomOutLeft' | 'zoomOutRight' | 'zoomOutUp';
|
|
574
|
+
type ClxAnimateSlidingEntrance = 'slideInDown' | 'slideInLeft' | 'slideInRight' | 'slideInUp';
|
|
575
|
+
type ClxAnimateSlidingExit = 'slideOutDown' | 'slideOutLeft' | 'slideOutRight' | 'slideOutUp';
|
|
576
|
+
type ClxAnimateName = ClxAnimateAttentionSeeker | ClxAnimateBackEntrance | ClxAnimateBackExit | ClxAnimateBouncingEntrance | ClxAnimateBouncingExit | ClxAnimateFadingEntrance | ClxAnimateFadingExit | ClxAnimateFlipper | ClxAnimateLightspeed | ClxAnimateRotatingEntrance | ClxAnimateRotatingExit | ClxAnimateSpecial | ClxAnimateZoomingEntrance | ClxAnimateZoomingExit | ClxAnimateSlidingEntrance | ClxAnimateSlidingExit;
|
|
577
|
+
type ClxAnimateTrigger = 'click' | 'hover' | 'hoverLeave' | 'onEnter' | 'onLeave' | 'manual';
|
|
578
|
+
interface ClxAnimateConfig {
|
|
579
|
+
animation: ClxAnimateName;
|
|
580
|
+
trigger?: ClxAnimateTrigger;
|
|
581
|
+
duration?: number;
|
|
582
|
+
delay?: number;
|
|
583
|
+
repeat?: number | 'infinite';
|
|
584
|
+
easing?: string;
|
|
585
|
+
fillMode?: 'none' | 'forwards' | 'backwards' | 'both';
|
|
586
|
+
once?: boolean;
|
|
587
|
+
threshold?: number;
|
|
588
|
+
}
|
|
589
|
+
type ClxAnimateDefaults = Partial<Pick<ClxAnimateConfig, 'duration' | 'delay' | 'repeat' | 'easing' | 'fillMode' | 'once' | 'threshold'>>;
|
|
590
|
+
interface ClxAnimateEvent {
|
|
591
|
+
element: HTMLElement;
|
|
592
|
+
animation: ClxAnimateName;
|
|
593
|
+
timestamp: number;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
type ClxModalSize = 'sm' | 'md' | 'lg' | 'full';
|
|
597
|
+
interface ClxModalButtonOptions {
|
|
598
|
+
text: string;
|
|
599
|
+
color?: ClxButtonColor;
|
|
600
|
+
variant?: ClxButtonVariant;
|
|
601
|
+
}
|
|
602
|
+
interface ClxModalConfig<D = unknown> {
|
|
603
|
+
/** Width preset. Default: 'md' */
|
|
604
|
+
size?: ClxModalSize;
|
|
605
|
+
/** Show the dark backdrop. Default: true */
|
|
606
|
+
hasBackdrop?: boolean;
|
|
607
|
+
/** Prevent closing on backdrop click / Escape. Default: false */
|
|
608
|
+
disableClose?: boolean;
|
|
609
|
+
/** Extra CSS classes added to the overlay pane */
|
|
610
|
+
panelClass?: string | string[];
|
|
611
|
+
/** Data injected into the opened component via CLX_MODAL_DATA token */
|
|
612
|
+
data?: D;
|
|
613
|
+
/** Entrance animation name. Default: 'fadeInDown' */
|
|
614
|
+
animationIn?: ClxAnimateName;
|
|
615
|
+
/** Exit animation name. Default: 'fadeOutUp' */
|
|
616
|
+
animationOut?: ClxAnimateName;
|
|
617
|
+
/** Animation duration in ms. Default: 300 */
|
|
618
|
+
animationDuration?: number;
|
|
619
|
+
}
|
|
620
|
+
interface ClxModalRef<R = unknown> {
|
|
621
|
+
/** Closes the modal and emits the result */
|
|
622
|
+
close(result?: R): void;
|
|
623
|
+
/** Promise that resolves with the result when the modal closes */
|
|
624
|
+
afterClosed(): Promise<R | undefined>;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
declare class ClxModalComponent {
|
|
628
|
+
readonly size: _angular_core.InputSignal<ClxModalSize>;
|
|
629
|
+
readonly showClose: _angular_core.InputSignal<boolean>;
|
|
630
|
+
readonly confirmButton: _angular_core.InputSignal<ClxModalButtonOptions | undefined>;
|
|
631
|
+
readonly cancelButton: _angular_core.InputSignal<ClxModalButtonOptions | undefined>;
|
|
632
|
+
readonly showCancelButton: _angular_core.InputSignal<boolean>;
|
|
633
|
+
readonly confirmClick: _angular_core.OutputEmitterRef<void>;
|
|
634
|
+
readonly cancelClick: _angular_core.OutputEmitterRef<void>;
|
|
635
|
+
private readonly _modalRef;
|
|
636
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
637
|
+
protected readonly _hasBuiltInButtons: _angular_core.Signal<boolean>;
|
|
638
|
+
protected readonly _confirmText: _angular_core.Signal<string>;
|
|
639
|
+
protected readonly _confirmColor: _angular_core.Signal<codexly_ui.ClxColorInput>;
|
|
640
|
+
protected readonly _confirmVariant: _angular_core.Signal<codexly_ui.ClxButtonVariant>;
|
|
641
|
+
protected readonly _cancelText: _angular_core.Signal<string>;
|
|
642
|
+
protected readonly _cancelColor: _angular_core.Signal<codexly_ui.ClxColorInput>;
|
|
643
|
+
protected readonly _cancelVariant: _angular_core.Signal<codexly_ui.ClxButtonVariant>;
|
|
644
|
+
protected _close(): void;
|
|
645
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxModalComponent, never>;
|
|
646
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxModalComponent, "clx-modal", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "confirmButton": { "alias": "confirmButton"; "required": false; "isSignal": true; }; "cancelButton": { "alias": "cancelButton"; "required": false; "isSignal": true; }; "showCancelButton": { "alias": "showCancelButton"; "required": false; "isSignal": true; }; }, { "confirmClick": "confirmClick"; "cancelClick": "cancelClick"; }, never, ["[clx-modal-title]", "*", "[clx-modal-footer]"], true, never>;
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
type ClxPaginationSize = 'sm' | 'md' | 'lg';
|
|
650
|
+
interface ClxPageChangeEvent {
|
|
651
|
+
page: number;
|
|
652
|
+
pageSize: number;
|
|
653
|
+
}
|
|
654
|
+
interface ClxPageSizeChangeEvent {
|
|
655
|
+
pageSize: number;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
type ClxSelectSize = 'sm' | 'md' | 'lg';
|
|
659
|
+
interface ClxSelectOption {
|
|
660
|
+
value: string | number;
|
|
661
|
+
label: string;
|
|
662
|
+
disabled?: boolean;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
type PageItem = {
|
|
666
|
+
type: 'page';
|
|
667
|
+
page: number;
|
|
668
|
+
} | {
|
|
669
|
+
type: 'ellipsis';
|
|
670
|
+
id: string;
|
|
671
|
+
};
|
|
672
|
+
declare class ClxPaginationComponent {
|
|
673
|
+
readonly totalItems: _angular_core.InputSignal<number>;
|
|
674
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
675
|
+
readonly size: _angular_core.InputSignal<ClxPaginationSize>;
|
|
676
|
+
readonly showPageSize: _angular_core.InputSignal<boolean>;
|
|
677
|
+
/** Opciones manuales. Si está vacío (default) se calculan automáticamente desde totalItems. */
|
|
678
|
+
readonly pageSizeOptions: _angular_core.InputSignal<number[]>;
|
|
679
|
+
readonly currentPage: _angular_core.ModelSignal<number>;
|
|
680
|
+
readonly pageSize: _angular_core.ModelSignal<number>;
|
|
681
|
+
readonly pageChange: _angular_core.OutputEmitterRef<ClxPageChangeEvent>;
|
|
682
|
+
readonly sizeChange: _angular_core.OutputEmitterRef<ClxPageSizeChangeEvent>;
|
|
683
|
+
private readonly _destroyRef;
|
|
684
|
+
protected readonly _pageSizeCtrl: FormControl<number | null>;
|
|
685
|
+
constructor();
|
|
686
|
+
protected readonly _cfg: _angular_core.Signal<{
|
|
687
|
+
btnSize: "xs" | "sm" | "md" | "lg";
|
|
688
|
+
selectSize: "sm" | "md" | "lg";
|
|
689
|
+
text: string;
|
|
690
|
+
gap: string;
|
|
691
|
+
}>;
|
|
692
|
+
readonly totalPages: _angular_core.Signal<number>;
|
|
693
|
+
private readonly _rangeStart;
|
|
694
|
+
private readonly _rangeEnd;
|
|
695
|
+
protected readonly _infoText: _angular_core.Signal<string>;
|
|
696
|
+
protected readonly _pageSizeOptions: _angular_core.Signal<ClxSelectOption[]>;
|
|
697
|
+
protected readonly _pageItems: _angular_core.Signal<PageItem[]>;
|
|
698
|
+
protected readonly _wrapClass: _angular_core.Signal<string>;
|
|
699
|
+
protected readonly _infoClass: _angular_core.Signal<string>;
|
|
700
|
+
protected readonly _ellipsisClass: _angular_core.Signal<string>;
|
|
701
|
+
protected _goTo(page: number): void;
|
|
702
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxPaginationComponent, never>;
|
|
703
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxPaginationComponent, "clx-pagination", never, { "totalItems": { "alias": "totalItems"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "showPageSize": { "alias": "showPageSize"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; }, { "currentPage": "currentPageChange"; "pageSize": "pageSizeChange"; "pageChange": "pageChange"; "sizeChange": "sizeChange"; }, never, never, true, never>;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
type ClxToastPosition = 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left';
|
|
707
|
+
type ClxToastType = ClxColor;
|
|
708
|
+
interface ClxToastAction {
|
|
709
|
+
label: string;
|
|
710
|
+
onClick: () => void;
|
|
711
|
+
}
|
|
712
|
+
interface ClxToastOptions {
|
|
713
|
+
type?: ClxToastType;
|
|
714
|
+
message: string;
|
|
715
|
+
title?: string;
|
|
716
|
+
icon?: string;
|
|
717
|
+
position?: ClxToastPosition;
|
|
718
|
+
duration?: number;
|
|
719
|
+
showProgress?: boolean;
|
|
720
|
+
pauseOnHover?: boolean;
|
|
721
|
+
animationIn?: ClxAnimateName;
|
|
722
|
+
animationOut?: ClxAnimateName;
|
|
723
|
+
animationDuration?: number;
|
|
724
|
+
action?: ClxToastAction;
|
|
725
|
+
}
|
|
726
|
+
interface ClxToastEntry extends Required<Omit<ClxToastOptions, 'title' | 'action' | 'icon'>> {
|
|
727
|
+
id: string;
|
|
728
|
+
title?: string;
|
|
729
|
+
icon?: string;
|
|
730
|
+
action?: ClxToastAction;
|
|
731
|
+
removing: boolean;
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
declare class ClxToastComponent implements OnInit, OnDestroy {
|
|
735
|
+
readonly entry: _angular_core.InputSignal<ClxToastEntry>;
|
|
736
|
+
readonly dismiss: _angular_core.OutputEmitterRef<string>;
|
|
737
|
+
private readonly _animate;
|
|
738
|
+
private readonly _el;
|
|
739
|
+
private readonly _zone;
|
|
740
|
+
protected readonly _progressPct: _angular_core.WritableSignal<number>;
|
|
741
|
+
private _timerHandle;
|
|
742
|
+
private _paused;
|
|
743
|
+
private _elapsed;
|
|
744
|
+
private _destroyed;
|
|
745
|
+
protected readonly _icon: _angular_core.Signal<string>;
|
|
746
|
+
protected readonly _borderClass: _angular_core.Signal<string>;
|
|
747
|
+
protected readonly _colorClass: _angular_core.Signal<string>;
|
|
748
|
+
protected readonly _progressColor: _angular_core.Signal<string>;
|
|
749
|
+
protected readonly _buttonColor: _angular_core.Signal<codexly_ui.ClxColorInput>;
|
|
750
|
+
private get _card();
|
|
751
|
+
ngOnInit(): void;
|
|
752
|
+
ngOnDestroy(): void;
|
|
753
|
+
protected _onMouseEnter(): void;
|
|
754
|
+
protected _onMouseLeave(): void;
|
|
755
|
+
protected _onAction(): void;
|
|
756
|
+
playExitAnimation(): Promise<void>;
|
|
757
|
+
private _startTimer;
|
|
758
|
+
private _stopTimer;
|
|
759
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxToastComponent, never>;
|
|
760
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxToastComponent, "clx-toast", never, { "entry": { "alias": "entry"; "required": true; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, never, true, never>;
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
declare class ClxToastContainerComponent {
|
|
764
|
+
readonly entries: _angular_core.ModelSignal<ClxToastEntry[]>;
|
|
765
|
+
readonly position: _angular_core.ModelSignal<ClxToastPosition>;
|
|
766
|
+
/** Called by service to get the ClxToastComponent instance for exit animation */
|
|
767
|
+
toastRefs: QueryList<ClxToastComponent>;
|
|
768
|
+
protected readonly _positionClass: _angular_core.Signal<string>;
|
|
769
|
+
requestDismiss(id: string): Promise<void>;
|
|
770
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxToastContainerComponent, never>;
|
|
771
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxToastContainerComponent, "clx-toast-container", never, { "entries": { "alias": "entries"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, { "entries": "entriesChange"; "position": "positionChange"; }, never, never, true, never>;
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
type ClxCardVariant = 'elevated' | 'outlined' | 'flat';
|
|
775
|
+
type ClxCardPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
776
|
+
|
|
777
|
+
declare class ClxCardComponent {
|
|
778
|
+
readonly variant: _angular_core.InputSignal<ClxCardVariant>;
|
|
779
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
780
|
+
readonly padding: _angular_core.InputSignal<ClxCardPadding>;
|
|
781
|
+
readonly hover: _angular_core.InputSignal<boolean>;
|
|
782
|
+
private readonly _headerSlot;
|
|
783
|
+
private readonly _bodySlot;
|
|
784
|
+
private readonly _footerSlot;
|
|
785
|
+
protected readonly _hasHeader: _angular_core.Signal<boolean>;
|
|
786
|
+
protected readonly _hasBody: _angular_core.Signal<boolean>;
|
|
787
|
+
protected readonly _hasFooter: _angular_core.Signal<boolean>;
|
|
788
|
+
protected readonly _bodyClass: _angular_core.Signal<string>;
|
|
789
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
790
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCardComponent, never>;
|
|
791
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxCardComponent, "clx-card", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; }, {}, ["_headerSlot", "_bodySlot", "_footerSlot"], ["[clxCardHeader]", "[clxCardBody]", "*", "[clxCardFooter]"], true, never>;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
declare class ClxCardHeaderDirective {
|
|
795
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCardHeaderDirective, never>;
|
|
796
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxCardHeaderDirective, "[clxCardHeader]", never, {}, {}, never, never, true, never>;
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
declare class ClxCardBodyDirective {
|
|
800
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCardBodyDirective, never>;
|
|
801
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxCardBodyDirective, "[clxCardBody]", never, {}, {}, never, never, true, never>;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
declare class ClxCardFooterDirective {
|
|
805
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCardFooterDirective, never>;
|
|
806
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxCardFooterDirective, "[clxCardFooter]", never, {}, {}, never, never, true, never>;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
type ClxStepperStatus = 'completed' | 'active' | 'pending' | 'error';
|
|
810
|
+
type ClxStepperOrientation = 'horizontal' | 'vertical';
|
|
811
|
+
type ClxStepperSize = 'sm' | 'md' | 'lg';
|
|
812
|
+
interface ClxStepperStep {
|
|
813
|
+
label: string;
|
|
814
|
+
description?: string;
|
|
815
|
+
icon?: string;
|
|
816
|
+
status: ClxStepperStatus;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
declare class ClxStepperComponent {
|
|
820
|
+
readonly steps: _angular_core.InputSignal<ClxStepperStep[]>;
|
|
821
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
822
|
+
readonly orientation: _angular_core.InputSignal<ClxStepperOrientation>;
|
|
823
|
+
readonly size: _angular_core.InputSignal<ClxStepperSize>;
|
|
824
|
+
protected readonly _tokens: _angular_core.Signal<{
|
|
825
|
+
circle: string;
|
|
826
|
+
iconSize: codexly_ui.ClxSize;
|
|
827
|
+
label: string;
|
|
828
|
+
desc: string;
|
|
829
|
+
connector: string;
|
|
830
|
+
}>;
|
|
831
|
+
protected readonly _hostClass: _angular_core.Signal<"flex flex-row items-start w-full" | "flex flex-col w-full">;
|
|
832
|
+
protected readonly _stepWrapClass: _angular_core.Signal<"flex flex-col items-center flex-1 min-w-0" | "flex flex-row gap-3">;
|
|
833
|
+
protected readonly _axisClass: _angular_core.Signal<"flex flex-row items-center w-full" | "flex flex-col items-center shrink-0">;
|
|
834
|
+
protected readonly _labelWrapClass: _angular_core.Signal<"flex flex-col items-center text-center mt-2 px-1" | "flex flex-col justify-center pb-6 min-w-0">;
|
|
835
|
+
protected _circleClass(status: ClxStepperStep['status']): string;
|
|
836
|
+
protected _connectorClass(status: ClxStepperStep['status']): string;
|
|
837
|
+
protected _labelClass(status: ClxStepperStep['status']): string;
|
|
838
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxStepperComponent, never>;
|
|
839
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxStepperComponent, "clx-stepper", never, { "steps": { "alias": "steps"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
type ClxSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
843
|
+
|
|
844
|
+
type ClxShape = 'rounded' | 'pill' | 'circle';
|
|
845
|
+
|
|
846
|
+
type ClxAvatarContentType = 'image' | 'text' | 'icon';
|
|
847
|
+
|
|
848
|
+
declare class ClxAvatarComponent {
|
|
849
|
+
readonly src: _angular_core.InputSignal<string | null>;
|
|
850
|
+
readonly initials: _angular_core.InputSignal<string | null>;
|
|
851
|
+
readonly iconName: _angular_core.InputSignal<string | null>;
|
|
852
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
853
|
+
readonly size: _angular_core.InputSignal<ClxSize>;
|
|
854
|
+
readonly shape: _angular_core.InputSignal<ClxShape>;
|
|
855
|
+
readonly alt: _angular_core.InputSignal<string>;
|
|
856
|
+
protected readonly _contentType: _angular_core.Signal<ClxAvatarContentType>;
|
|
857
|
+
protected readonly _initials: _angular_core.Signal<string>;
|
|
858
|
+
protected readonly _iconSize: _angular_core.Signal<ClxSize>;
|
|
859
|
+
protected readonly _shapeClass: _angular_core.Signal<"rounded-full" | "rounded-xl">;
|
|
860
|
+
protected readonly _colorClass: _angular_core.Signal<string>;
|
|
861
|
+
protected readonly _textClass: _angular_core.Signal<string>;
|
|
862
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
863
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxAvatarComponent, never>;
|
|
864
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxAvatarComponent, "clx-avatar", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "iconName": { "alias": "iconName"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
type ClxButtonGroupShape = 'flat' | 'circular';
|
|
868
|
+
|
|
869
|
+
declare class ClxButtonGroupComponent {
|
|
870
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
871
|
+
readonly shape: _angular_core.InputSignal<ClxButtonGroupShape>;
|
|
872
|
+
readonly attached: _angular_core.InputSignal<boolean>;
|
|
873
|
+
readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
874
|
+
protected readonly _groupClass: _angular_core.Signal<string>;
|
|
875
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxButtonGroupComponent, never>;
|
|
876
|
+
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>;
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
type ClxListVariant = 'bordered' | 'flat' | 'flush';
|
|
880
|
+
type ClxListSize = 'sm' | 'md' | 'lg';
|
|
881
|
+
interface ClxListItem {
|
|
882
|
+
label: string;
|
|
883
|
+
sublabel?: string;
|
|
884
|
+
icon?: string;
|
|
885
|
+
meta?: string;
|
|
886
|
+
metaColor?: string;
|
|
887
|
+
disabled?: boolean;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
declare class ClxListComponent {
|
|
891
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
892
|
+
readonly variant: _angular_core.InputSignal<ClxListVariant>;
|
|
893
|
+
readonly size: _angular_core.InputSignal<ClxListSize>;
|
|
894
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
895
|
+
readonly headerIcon: _angular_core.InputSignal<string>;
|
|
896
|
+
readonly numbered: _angular_core.InputSignal<boolean>;
|
|
897
|
+
_itemCounter: number;
|
|
898
|
+
readonly sizeTokens: _angular_core.Signal<{
|
|
899
|
+
item: string;
|
|
900
|
+
iconSize: codexly_ui.ClxSize;
|
|
901
|
+
label: string;
|
|
902
|
+
sublabel: string;
|
|
903
|
+
meta: string;
|
|
904
|
+
number: string;
|
|
905
|
+
}>;
|
|
906
|
+
readonly dividerClass: _angular_core.Signal<string>;
|
|
907
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
908
|
+
protected readonly _headerClass: _angular_core.Signal<string>;
|
|
909
|
+
registerItem(): number;
|
|
910
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxListComponent, never>;
|
|
911
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxListComponent, "clx-list", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "headerIcon": { "alias": "headerIcon"; "required": false; "isSignal": true; }; "numbered": { "alias": "numbered"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
interface ClxListContext {
|
|
915
|
+
color: Signal<ClxColorInput>;
|
|
916
|
+
variant: Signal<ClxListVariant>;
|
|
917
|
+
size: Signal<ClxListSize>;
|
|
918
|
+
numbered: Signal<boolean>;
|
|
919
|
+
sizeTokens: Signal<(typeof LIST_SIZE_MAP)[ClxListSize]>;
|
|
920
|
+
dividerClass: Signal<string>;
|
|
921
|
+
registerItem: () => number;
|
|
922
|
+
}
|
|
923
|
+
declare const LIST_SIZE_MAP: Record<ClxListSize, {
|
|
924
|
+
item: string;
|
|
925
|
+
iconSize: ClxSize;
|
|
926
|
+
label: string;
|
|
927
|
+
sublabel: string;
|
|
928
|
+
meta: string;
|
|
929
|
+
number: string;
|
|
930
|
+
}>;
|
|
931
|
+
|
|
932
|
+
declare class ClxListItemComponent {
|
|
933
|
+
protected readonly _ctx: ClxListContext;
|
|
934
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
935
|
+
readonly sublabel: _angular_core.InputSignal<string>;
|
|
936
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
937
|
+
readonly meta: _angular_core.InputSignal<string>;
|
|
938
|
+
readonly metaColor: _angular_core.InputSignal<ClxColorInput>;
|
|
939
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
940
|
+
protected readonly _index: number;
|
|
941
|
+
protected readonly _iconClass: _angular_core.Signal<string>;
|
|
942
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
943
|
+
protected readonly _numberClass: _angular_core.Signal<string>;
|
|
944
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
945
|
+
protected readonly _metaClass: _angular_core.Signal<string>;
|
|
946
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxListItemComponent, never>;
|
|
947
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxListItemComponent, "clx-list-item", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "sublabel": { "alias": "sublabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "metaColor": { "alias": "metaColor"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["[clxLead]", "[clxContent]", "[clxTrail]", "*"], true, never>;
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
declare class ClxRatingComponent {
|
|
951
|
+
readonly value: _angular_core.InputSignal<number>;
|
|
952
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
953
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
954
|
+
protected readonly _hexColor: _angular_core.Signal<string>;
|
|
955
|
+
protected readonly _stars: _angular_core.Signal<{
|
|
956
|
+
idx: number;
|
|
957
|
+
icon: string;
|
|
958
|
+
fill: boolean;
|
|
959
|
+
}[]>;
|
|
960
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxRatingComponent, never>;
|
|
961
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxRatingComponent, "clx-rating", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
declare class ClxBadgeComponent {
|
|
965
|
+
readonly variant: _angular_core.InputSignal<ClxBadgeVariant>;
|
|
966
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
967
|
+
readonly size: _angular_core.InputSignal<"sm" | "md">;
|
|
968
|
+
readonly shape: _angular_core.InputSignal<ClxShape>;
|
|
969
|
+
readonly positioned: _angular_core.InputSignal<boolean>;
|
|
970
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
971
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxBadgeComponent, never>;
|
|
972
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxBadgeComponent, "span[clx-badge]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "positioned": { "alias": "positioned"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
declare class ClxButtonComponent {
|
|
976
|
+
readonly variant: _angular_core.InputSignal<ClxButtonVariant>;
|
|
977
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
978
|
+
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xs" | "xxs">;
|
|
979
|
+
readonly shape: _angular_core.InputSignal<ClxShape>;
|
|
980
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
981
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
982
|
+
readonly block: _angular_core.InputSignal<boolean>;
|
|
983
|
+
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
984
|
+
readonly iconPosition: _angular_core.InputSignal<"left" | "right">;
|
|
985
|
+
readonly iconOnly: _angular_core.InputSignal<boolean>;
|
|
986
|
+
protected readonly _ripples: _angular_core.WritableSignal<ClxRippleItem[]>;
|
|
987
|
+
private _nextId;
|
|
988
|
+
private readonly _el;
|
|
989
|
+
protected readonly _inactive: _angular_core.Signal<boolean>;
|
|
990
|
+
protected readonly _colorClass: _angular_core.Signal<string>;
|
|
991
|
+
protected readonly _rippleColor: _angular_core.Signal<string>;
|
|
992
|
+
protected readonly _spinnerColor: _angular_core.Signal<"white" | "inherit">;
|
|
993
|
+
protected readonly _iconSize: _angular_core.Signal<ClxSize>;
|
|
994
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
995
|
+
protected _onRipple(event: Event): void;
|
|
996
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxButtonComponent, never>;
|
|
997
|
+
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; }; "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; }; }, {}, never, ["*"], true, never>;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
declare class ClxIconComponent {
|
|
1001
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
1002
|
+
readonly size: _angular_core.InputSignal<ClxSize>;
|
|
1003
|
+
readonly color: _angular_core.InputSignal<ClxColorInput | null>;
|
|
1004
|
+
readonly fill: _angular_core.InputSignal<boolean>;
|
|
1005
|
+
protected readonly _colorClass: _angular_core.Signal<string>;
|
|
1006
|
+
protected readonly _fontSize: _angular_core.Signal<string>;
|
|
1007
|
+
protected readonly _fontVariation: _angular_core.Signal<string>;
|
|
1008
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxIconComponent, never>;
|
|
1009
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxIconComponent, "span[clx-icon]", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
type ClxSkeletonVariant = 'text' | 'circular' | 'rectangular';
|
|
1013
|
+
|
|
1014
|
+
declare class ClxSkeletonComponent {
|
|
1015
|
+
readonly variant: _angular_core.InputSignal<ClxSkeletonVariant>;
|
|
1016
|
+
readonly size: _angular_core.InputSignal<ClxSize>;
|
|
1017
|
+
readonly width: _angular_core.InputSignal<string | null>;
|
|
1018
|
+
readonly height: _angular_core.InputSignal<string | null>;
|
|
1019
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
1020
|
+
protected readonly _hostWidth: _angular_core.Signal<string | null>;
|
|
1021
|
+
protected readonly _hostHeight: _angular_core.Signal<string | null>;
|
|
1022
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxSkeletonComponent, never>;
|
|
1023
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxSkeletonComponent, "clx-skeleton", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
type ClxSpinnerVariant = 'spinner' | 'dots' | 'pulse';
|
|
1027
|
+
type ClxSpinnerColor = ClxColorInput | 'inherit';
|
|
1028
|
+
|
|
1029
|
+
declare class ClxSpinnerComponent {
|
|
1030
|
+
readonly size: _angular_core.InputSignal<ClxSize>;
|
|
1031
|
+
readonly color: _angular_core.InputSignal<ClxSpinnerColor>;
|
|
1032
|
+
readonly variant: _angular_core.InputSignal<ClxSpinnerVariant>;
|
|
1033
|
+
protected readonly _spinnerClass: _angular_core.Signal<string>;
|
|
1034
|
+
protected readonly _dotClass: _angular_core.Signal<string>;
|
|
1035
|
+
protected readonly _pulseWrapperClass: _angular_core.Signal<string>;
|
|
1036
|
+
protected readonly _pulseColorClass: _angular_core.Signal<string>;
|
|
1037
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxSpinnerComponent, never>;
|
|
1038
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxSpinnerComponent, "clx-spinner", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
type ClxTagVariant = 'solid' | 'soft' | 'outline';
|
|
1042
|
+
type ClxTagSize = 'sm' | 'md';
|
|
1043
|
+
type ClxTagShape = 'rounded' | 'pill';
|
|
1044
|
+
|
|
1045
|
+
declare class ClxTagComponent {
|
|
1046
|
+
readonly variant: _angular_core.InputSignal<ClxTagVariant>;
|
|
1047
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1048
|
+
readonly size: _angular_core.InputSignal<ClxTagSize>;
|
|
1049
|
+
readonly shape: _angular_core.InputSignal<ClxTagShape>;
|
|
1050
|
+
readonly onRemove: _angular_core.OutputEmitterRef<void>;
|
|
1051
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1052
|
+
pad: string;
|
|
1053
|
+
text: string;
|
|
1054
|
+
gap: string;
|
|
1055
|
+
btnSize: Extract<codexly_ui.ClxSize, "xxs">;
|
|
1056
|
+
}>;
|
|
1057
|
+
protected readonly _colorClass: _angular_core.Signal<string>;
|
|
1058
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
1059
|
+
protected readonly _closeBtnColor: _angular_core.Signal<ClxColorInput>;
|
|
1060
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTagComponent, never>;
|
|
1061
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxTagComponent, "span[clx-tag]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; }, { "onRemove": "onRemove"; }, never, ["*"], true, never>;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
type ClxTooltipPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
1065
|
+
type ClxTooltipSize = 'sm' | 'md';
|
|
1066
|
+
|
|
1067
|
+
declare class ClxTooltipComponent {
|
|
1068
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
1069
|
+
readonly position: _angular_core.InputSignal<ClxTooltipPosition>;
|
|
1070
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1071
|
+
readonly size: _angular_core.InputSignal<ClxTooltipSize>;
|
|
1072
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
1073
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTooltipComponent, never>;
|
|
1074
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxTooltipComponent, "clx-tooltip", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
type ClxTimelineLineStyle = 'dotted' | 'solid' | 'none';
|
|
1078
|
+
type ClxTimelineMode = 'left' | 'alternate';
|
|
1079
|
+
type ClxTimelineSize = 'sm' | 'md' | 'lg';
|
|
1080
|
+
|
|
1081
|
+
declare class ClxTimelineComponent {
|
|
1082
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1083
|
+
readonly lineStyle: _angular_core.InputSignal<ClxTimelineLineStyle>;
|
|
1084
|
+
readonly mode: _angular_core.InputSignal<ClxTimelineMode>;
|
|
1085
|
+
readonly size: _angular_core.InputSignal<ClxTimelineSize>;
|
|
1086
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1087
|
+
readonly actionLabel: _angular_core.InputSignal<string>;
|
|
1088
|
+
readonly bordered: _angular_core.InputSignal<boolean>;
|
|
1089
|
+
readonly sizeTokens: _angular_core.Signal<{
|
|
1090
|
+
dot: string;
|
|
1091
|
+
iconSize: codexly_ui.ClxSize;
|
|
1092
|
+
item: string;
|
|
1093
|
+
gap: string;
|
|
1094
|
+
title: string;
|
|
1095
|
+
desc: string;
|
|
1096
|
+
time: string;
|
|
1097
|
+
contentPb: string;
|
|
1098
|
+
}>;
|
|
1099
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
1100
|
+
protected readonly _headerClass: _angular_core.Signal<string>;
|
|
1101
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTimelineComponent, never>;
|
|
1102
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxTimelineComponent, "clx-timeline", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "lineStyle": { "alias": "lineStyle"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
interface ClxTimelineContext {
|
|
1106
|
+
color: Signal<ClxColorInput>;
|
|
1107
|
+
lineStyle: Signal<ClxTimelineLineStyle>;
|
|
1108
|
+
mode: Signal<ClxTimelineMode>;
|
|
1109
|
+
size: Signal<ClxTimelineSize>;
|
|
1110
|
+
sizeTokens: Signal<(typeof TIMELINE_SIZE_MAP)[ClxTimelineSize]>;
|
|
1111
|
+
}
|
|
1112
|
+
declare const TIMELINE_SIZE_MAP: Record<ClxTimelineSize, {
|
|
1113
|
+
dot: string;
|
|
1114
|
+
iconSize: ClxSize;
|
|
1115
|
+
item: string;
|
|
1116
|
+
gap: string;
|
|
1117
|
+
title: string;
|
|
1118
|
+
desc: string;
|
|
1119
|
+
time: string;
|
|
1120
|
+
contentPb: string;
|
|
1121
|
+
}>;
|
|
1122
|
+
|
|
1123
|
+
declare class ClxTimelineItemComponent {
|
|
1124
|
+
protected readonly _ctx: ClxTimelineContext;
|
|
1125
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
1126
|
+
readonly color: _angular_core.InputSignal<ClxColorInput | null>;
|
|
1127
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
1128
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
1129
|
+
readonly time: _angular_core.InputSignal<string>;
|
|
1130
|
+
readonly last: _angular_core.InputSignal<boolean>;
|
|
1131
|
+
protected readonly _resolvedColor: _angular_core.Signal<codexly_ui.ClxColorTokens>;
|
|
1132
|
+
protected readonly _iconClass: _angular_core.Signal<string>;
|
|
1133
|
+
protected readonly _hostClass: _angular_core.Signal<string>;
|
|
1134
|
+
protected readonly _dotClass: _angular_core.Signal<string>;
|
|
1135
|
+
protected readonly _lineClass: _angular_core.Signal<string>;
|
|
1136
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTimelineItemComponent, never>;
|
|
1137
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxTimelineItemComponent, "clx-timeline-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "time": { "alias": "time"; "required": false; "isSignal": true; }; "last": { "alias": "last"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
type ClxChartType = Extract<ChartType, 'line' | 'bar' | 'pie' | 'doughnut' | 'radar' | 'polarArea'>;
|
|
1141
|
+
interface ClxChartOptions {
|
|
1142
|
+
type: ClxChartType;
|
|
1143
|
+
data: ChartData;
|
|
1144
|
+
options?: ChartOptions;
|
|
1145
|
+
height?: number | string;
|
|
1146
|
+
loading?: boolean;
|
|
1147
|
+
ariaLabel?: string;
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
declare class ClxChartComponent implements AfterViewInit, OnDestroy {
|
|
1151
|
+
canvasRef: ElementRef<HTMLCanvasElement>;
|
|
1152
|
+
type: _angular_core.InputSignal<ClxChartType>;
|
|
1153
|
+
data: _angular_core.InputSignal<ChartData<keyof chart_js.ChartTypeRegistry, (number | [number, number] | chart_js.Point | chart_js.BubbleDataPoint | null)[], unknown>>;
|
|
1154
|
+
options: _angular_core.InputSignal<node_modules_chart_js_dist_types_utils._DeepPartialObject<chart_js.CoreChartOptions<keyof chart_js.ChartTypeRegistry> & chart_js.ElementChartOptions<keyof chart_js.ChartTypeRegistry> & chart_js.PluginChartOptions<keyof chart_js.ChartTypeRegistry> & chart_js.DatasetChartOptions<keyof chart_js.ChartTypeRegistry> & chart_js.ScaleChartOptions<keyof chart_js.ChartTypeRegistry>>>;
|
|
1155
|
+
height: _angular_core.InputSignal<string | number>;
|
|
1156
|
+
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
1157
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
1158
|
+
private _chart?;
|
|
1159
|
+
private _injector;
|
|
1160
|
+
_hostHeight: _angular_core.Signal<string | number>;
|
|
1161
|
+
ngAfterViewInit(): void;
|
|
1162
|
+
private _createChart;
|
|
1163
|
+
ngOnDestroy(): void;
|
|
1164
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxChartComponent, never>;
|
|
1165
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxChartComponent, "clx-chart", never, { "type": { "alias": "type"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
type ClxCheckboxVariant = 'solid' | 'outline';
|
|
1169
|
+
|
|
1170
|
+
declare class ClxCheckboxComponent implements ControlValueAccessor {
|
|
1171
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1172
|
+
readonly variant: _angular_core.InputSignal<ClxCheckboxVariant>;
|
|
1173
|
+
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg">;
|
|
1174
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1175
|
+
/** Initial value when used without FormControl */
|
|
1176
|
+
readonly value: _angular_core.InputSignal<boolean>;
|
|
1177
|
+
/** Disabled state when used without FormControl */
|
|
1178
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1179
|
+
readonly _checked: _angular_core.WritableSignal<boolean>;
|
|
1180
|
+
private readonly _cvaDisabled;
|
|
1181
|
+
private _cvaConnected;
|
|
1182
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1183
|
+
private readonly _valueEffect;
|
|
1184
|
+
private _onChange;
|
|
1185
|
+
private _onTouched;
|
|
1186
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1187
|
+
readonly box: "w-4 h-4";
|
|
1188
|
+
readonly icon: "xs";
|
|
1189
|
+
readonly label: "text-xs";
|
|
1190
|
+
} | {
|
|
1191
|
+
readonly box: "w-5 h-5";
|
|
1192
|
+
readonly icon: "xs";
|
|
1193
|
+
readonly label: "text-sm";
|
|
1194
|
+
} | {
|
|
1195
|
+
readonly box: "w-6 h-6";
|
|
1196
|
+
readonly icon: "sm";
|
|
1197
|
+
readonly label: "text-base";
|
|
1198
|
+
}>;
|
|
1199
|
+
protected readonly _boxClass: _angular_core.Signal<string>;
|
|
1200
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1201
|
+
writeValue(val: boolean): void;
|
|
1202
|
+
registerOnChange(fn: (v: boolean) => void): void;
|
|
1203
|
+
registerOnTouched(fn: () => void): void;
|
|
1204
|
+
setDisabledState(disabled: boolean): void;
|
|
1205
|
+
protected _toggle(): void;
|
|
1206
|
+
protected _onSpace(event: Event): void;
|
|
1207
|
+
protected _handleBlur(): void;
|
|
1208
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCheckboxComponent, never>;
|
|
1209
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxCheckboxComponent, "clx-checkbox", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
type ClxColorPickerSize = 'sm' | 'md' | 'lg';
|
|
1213
|
+
type ClxColorPickerFormat = 'hex' | 'rgb' | 'hsl';
|
|
1214
|
+
|
|
1215
|
+
declare class ClxColorPickerComponent implements ControlValueAccessor {
|
|
1216
|
+
private static _seq;
|
|
1217
|
+
protected readonly _labelId: string;
|
|
1218
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1219
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1220
|
+
readonly size: _angular_core.InputSignal<ClxColorPickerSize>;
|
|
1221
|
+
readonly format: _angular_core.InputSignal<ClxColorPickerFormat>;
|
|
1222
|
+
readonly presets: _angular_core.InputSignal<string[]>;
|
|
1223
|
+
readonly activeColor: _angular_core.InputSignal<ClxColorInput>;
|
|
1224
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1225
|
+
readonly errorMessage: _angular_core.InputSignal<string>;
|
|
1226
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1227
|
+
protected readonly _hue: _angular_core.WritableSignal<number>;
|
|
1228
|
+
protected readonly _saturation: _angular_core.WritableSignal<number>;
|
|
1229
|
+
protected readonly _brightness: _angular_core.WritableSignal<number>;
|
|
1230
|
+
private readonly _hasColor;
|
|
1231
|
+
protected readonly _isOpen: _angular_core.WritableSignal<boolean>;
|
|
1232
|
+
protected readonly _hexInput: FormControl<string | null>;
|
|
1233
|
+
protected readonly _hexInputFocused: _angular_core.WritableSignal<boolean>;
|
|
1234
|
+
private readonly _ngControl;
|
|
1235
|
+
private readonly _el;
|
|
1236
|
+
private readonly _sso;
|
|
1237
|
+
private readonly _wasTouched;
|
|
1238
|
+
private readonly _cvaDisabled;
|
|
1239
|
+
readonly _scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
|
|
1240
|
+
private _onChange;
|
|
1241
|
+
private _onTouched;
|
|
1242
|
+
private _dragTarget;
|
|
1243
|
+
private _dragRect;
|
|
1244
|
+
constructor();
|
|
1245
|
+
readonly _positions: ConnectedPosition[];
|
|
1246
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1247
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1248
|
+
minH: string;
|
|
1249
|
+
text: string;
|
|
1250
|
+
label: string;
|
|
1251
|
+
hint: string;
|
|
1252
|
+
px: string;
|
|
1253
|
+
swatchSz: string;
|
|
1254
|
+
btnSize: "xs" | "sm";
|
|
1255
|
+
}>;
|
|
1256
|
+
protected readonly _hasValue: _angular_core.Signal<boolean>;
|
|
1257
|
+
protected readonly _isInvalid: _angular_core.Signal<boolean>;
|
|
1258
|
+
/** Pure hue color — used for gradient background and hue thumb */
|
|
1259
|
+
protected readonly _hueBackground: _angular_core.Signal<string>;
|
|
1260
|
+
/** Full hex value from current HSV state */
|
|
1261
|
+
protected readonly _hexValue: _angular_core.Signal<string>;
|
|
1262
|
+
/** Swatch color: current hex if a color is selected, neutral gray otherwise */
|
|
1263
|
+
protected readonly _swatchColor: _angular_core.Signal<string>;
|
|
1264
|
+
/** What to display in the trigger field */
|
|
1265
|
+
protected readonly _displayValue: _angular_core.Signal<string>;
|
|
1266
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1267
|
+
protected readonly _hintClass: _angular_core.Signal<string>;
|
|
1268
|
+
protected readonly _displayClass: _angular_core.Signal<string>;
|
|
1269
|
+
protected readonly _triggerClass: _angular_core.Signal<string>;
|
|
1270
|
+
protected readonly _chevronClass: _angular_core.Signal<"transition-transform duration-200 rotate-180" | "transition-transform duration-200">;
|
|
1271
|
+
protected _togglePanel(): void;
|
|
1272
|
+
private _openPanel;
|
|
1273
|
+
protected _closePanel(): void;
|
|
1274
|
+
protected _onGradientPointerDown(event: PointerEvent): void;
|
|
1275
|
+
protected _onHuePointerDown(event: PointerEvent): void;
|
|
1276
|
+
protected _onDocPointerMove(event: PointerEvent): void;
|
|
1277
|
+
protected _onDocPointerUp(): void;
|
|
1278
|
+
private _updateSV;
|
|
1279
|
+
private _updateHue;
|
|
1280
|
+
protected _onHexInput(event: Event): void;
|
|
1281
|
+
protected _applyHexAndClose(): void;
|
|
1282
|
+
protected _selectPreset(color: string): void;
|
|
1283
|
+
protected _clearValue(): void;
|
|
1284
|
+
protected _onTriggerKeydown(event: KeyboardEvent): void;
|
|
1285
|
+
protected _onOverlayKeydown(event: KeyboardEvent): void;
|
|
1286
|
+
onEscape(): void;
|
|
1287
|
+
private _emitValue;
|
|
1288
|
+
writeValue(value: string | null): void;
|
|
1289
|
+
registerOnChange(fn: (v: string | null) => void): void;
|
|
1290
|
+
registerOnTouched(fn: () => void): void;
|
|
1291
|
+
setDisabledState(disabled: boolean): void;
|
|
1292
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxColorPickerComponent, never>;
|
|
1293
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxColorPickerComponent, "clx-colorpicker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; "activeColor": { "alias": "activeColor"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
type ClxDatepickerSize = 'sm' | 'md' | 'lg';
|
|
1297
|
+
type ClxDatepickerStatus = 'default' | 'error' | 'success';
|
|
1298
|
+
|
|
1299
|
+
interface CalendarDay$1 {
|
|
1300
|
+
date: Date;
|
|
1301
|
+
inMonth: boolean;
|
|
1302
|
+
isToday: boolean;
|
|
1303
|
+
isSelected: boolean;
|
|
1304
|
+
isDisabled: boolean;
|
|
1305
|
+
}
|
|
1306
|
+
declare class ClxDatepickerComponent implements ControlValueAccessor {
|
|
1307
|
+
origin: ElementRef;
|
|
1308
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1309
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1310
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1311
|
+
readonly size: _angular_core.InputSignal<ClxDatepickerSize>;
|
|
1312
|
+
readonly status: _angular_core.InputSignal<ClxDatepickerStatus>;
|
|
1313
|
+
readonly statusMessage: _angular_core.InputSignal<string>;
|
|
1314
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1315
|
+
readonly minDate: _angular_core.InputSignal<Date | null>;
|
|
1316
|
+
readonly maxDate: _angular_core.InputSignal<Date | null>;
|
|
1317
|
+
readonly value: _angular_core.InputSignal<Date | null>;
|
|
1318
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1319
|
+
readonly _value: _angular_core.WritableSignal<Date | null>;
|
|
1320
|
+
private readonly _cvaDisabled;
|
|
1321
|
+
private _cvaConnected;
|
|
1322
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1323
|
+
private readonly _cursorYear;
|
|
1324
|
+
private readonly _cursorMonth;
|
|
1325
|
+
protected readonly _isOpen: _angular_core.WritableSignal<boolean>;
|
|
1326
|
+
protected readonly _showYearPicker: _angular_core.WritableSignal<boolean>;
|
|
1327
|
+
protected readonly _dayLabels: string[];
|
|
1328
|
+
private readonly _el;
|
|
1329
|
+
private readonly _sso;
|
|
1330
|
+
readonly _scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
|
|
1331
|
+
private readonly _valueEffect;
|
|
1332
|
+
private _onChange;
|
|
1333
|
+
private _onTouched;
|
|
1334
|
+
readonly _positions: ConnectedPosition[];
|
|
1335
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1336
|
+
trigger: string;
|
|
1337
|
+
label: string;
|
|
1338
|
+
hint: string;
|
|
1339
|
+
iconSize: "xs" | "sm" | "md";
|
|
1340
|
+
}>;
|
|
1341
|
+
protected readonly _statusCfg: _angular_core.Signal<{
|
|
1342
|
+
border: string;
|
|
1343
|
+
ring: string;
|
|
1344
|
+
msgCls: string;
|
|
1345
|
+
iconName: string;
|
|
1346
|
+
iconColor: string;
|
|
1347
|
+
}>;
|
|
1348
|
+
protected readonly _overlayWidth: _angular_core.Signal<any>;
|
|
1349
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1350
|
+
protected readonly _hintClass: _angular_core.Signal<string>;
|
|
1351
|
+
protected readonly _statusMsgClass: _angular_core.Signal<string>;
|
|
1352
|
+
protected readonly _prefixCellCls: _angular_core.Signal<string>;
|
|
1353
|
+
protected readonly _triggerClass: _angular_core.Signal<string>;
|
|
1354
|
+
protected readonly _displayClass: _angular_core.Signal<string>;
|
|
1355
|
+
protected readonly _displayValue: _angular_core.Signal<string>;
|
|
1356
|
+
protected readonly _panelClass: _angular_core.Signal<string>;
|
|
1357
|
+
protected readonly _headerLabel: _angular_core.Signal<string>;
|
|
1358
|
+
protected readonly _headerLabelCls: _angular_core.Signal<string>;
|
|
1359
|
+
protected readonly _yearList: _angular_core.Signal<number[]>;
|
|
1360
|
+
protected readonly _calendarDays: _angular_core.Signal<CalendarDay$1[]>;
|
|
1361
|
+
protected _dayCls(cell: CalendarDay$1): string;
|
|
1362
|
+
protected _yearBtnCls(year: number): string;
|
|
1363
|
+
protected _togglePanel(): void;
|
|
1364
|
+
protected _closePanel(): void;
|
|
1365
|
+
protected _toggleYearView(): void;
|
|
1366
|
+
protected _selectYear(year: number): void;
|
|
1367
|
+
private _openPanel;
|
|
1368
|
+
protected _prevMonth(): void;
|
|
1369
|
+
protected _nextMonth(): void;
|
|
1370
|
+
protected _selectDate(date: Date): void;
|
|
1371
|
+
protected _selectToday(): void;
|
|
1372
|
+
protected _clear(): void;
|
|
1373
|
+
onEscape(): void;
|
|
1374
|
+
protected _onOverlayKeydown(event: KeyboardEvent): void;
|
|
1375
|
+
writeValue(val: Date | null): void;
|
|
1376
|
+
registerOnChange(fn: (v: Date | null) => void): void;
|
|
1377
|
+
registerOnTouched(fn: () => void): void;
|
|
1378
|
+
setDisabledState(disabled: boolean): void;
|
|
1379
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxDatepickerComponent, never>;
|
|
1380
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxDatepickerComponent, "clx-datepicker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusMessage": { "alias": "statusMessage"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
type ClxDateRangePickerSize = 'sm' | 'md' | 'lg';
|
|
1384
|
+
type ClxDateRangePickerStatus = 'default' | 'error' | 'success';
|
|
1385
|
+
interface ClxDateRange {
|
|
1386
|
+
from: Date;
|
|
1387
|
+
to: Date;
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
interface CalendarDay {
|
|
1391
|
+
date: Date;
|
|
1392
|
+
inMonth: boolean;
|
|
1393
|
+
isToday: boolean;
|
|
1394
|
+
isDisabled: boolean;
|
|
1395
|
+
}
|
|
1396
|
+
interface DatePreset {
|
|
1397
|
+
label: string;
|
|
1398
|
+
range: () => ClxDateRange;
|
|
1399
|
+
}
|
|
1400
|
+
declare class ClxDateRangePickerComponent implements ControlValueAccessor {
|
|
1401
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1402
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1403
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1404
|
+
readonly size: _angular_core.InputSignal<ClxDateRangePickerSize>;
|
|
1405
|
+
readonly status: _angular_core.InputSignal<ClxDateRangePickerStatus>;
|
|
1406
|
+
readonly statusMessage: _angular_core.InputSignal<string>;
|
|
1407
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1408
|
+
readonly minDate: _angular_core.InputSignal<Date | null>;
|
|
1409
|
+
readonly maxDate: _angular_core.InputSignal<Date | null>;
|
|
1410
|
+
readonly value: _angular_core.InputSignal<ClxDateRange | null>;
|
|
1411
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1412
|
+
private readonly _committed;
|
|
1413
|
+
private _cvaConnected;
|
|
1414
|
+
protected readonly _draftFrom: _angular_core.WritableSignal<Date | null>;
|
|
1415
|
+
protected readonly _draftTo: _angular_core.WritableSignal<Date | null>;
|
|
1416
|
+
protected readonly _hoverDate: _angular_core.WritableSignal<Date | null>;
|
|
1417
|
+
protected readonly _presets: DatePreset[];
|
|
1418
|
+
protected readonly _dayLabels: string[];
|
|
1419
|
+
private readonly _cvaDisabled;
|
|
1420
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1421
|
+
protected readonly _isOpen: _angular_core.WritableSignal<boolean>;
|
|
1422
|
+
private readonly _cursorYear;
|
|
1423
|
+
private readonly _cursorMonth;
|
|
1424
|
+
private readonly _valueEffect;
|
|
1425
|
+
private readonly _el;
|
|
1426
|
+
private readonly _sso;
|
|
1427
|
+
readonly _scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
|
|
1428
|
+
private _onChange;
|
|
1429
|
+
private _onTouched;
|
|
1430
|
+
readonly _positions: ConnectedPosition[];
|
|
1431
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1432
|
+
trigger: string;
|
|
1433
|
+
label: string;
|
|
1434
|
+
hint: string;
|
|
1435
|
+
iconSize: "xs" | "sm" | "md";
|
|
1436
|
+
}>;
|
|
1437
|
+
protected readonly _statusCfg: _angular_core.Signal<{
|
|
1438
|
+
border: string;
|
|
1439
|
+
ring: string;
|
|
1440
|
+
msgCls: string;
|
|
1441
|
+
iconName: string;
|
|
1442
|
+
iconColor: string;
|
|
1443
|
+
}>;
|
|
1444
|
+
protected readonly _leftLabel: _angular_core.Signal<string>;
|
|
1445
|
+
protected readonly _rightLabel: _angular_core.Signal<string>;
|
|
1446
|
+
protected readonly _leftDays: _angular_core.Signal<CalendarDay[]>;
|
|
1447
|
+
protected readonly _rightDays: _angular_core.Signal<CalendarDay[]>;
|
|
1448
|
+
protected readonly _hasValue: _angular_core.Signal<boolean>;
|
|
1449
|
+
protected readonly _displayValue: _angular_core.Signal<string>;
|
|
1450
|
+
protected readonly _canApply: _angular_core.Signal<boolean>;
|
|
1451
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1452
|
+
protected readonly _hintClass: _angular_core.Signal<string>;
|
|
1453
|
+
protected readonly _statusMsgClass: _angular_core.Signal<string>;
|
|
1454
|
+
protected readonly _prefixCellCls: _angular_core.Signal<string>;
|
|
1455
|
+
protected readonly _triggerClass: _angular_core.Signal<string>;
|
|
1456
|
+
protected readonly _displayClass: _angular_core.Signal<string>;
|
|
1457
|
+
protected _dayCls(cell: CalendarDay): string;
|
|
1458
|
+
protected _presetCls(preset: DatePreset): string;
|
|
1459
|
+
protected _formatShort(d: Date): string;
|
|
1460
|
+
protected _selectDate(date: Date): void;
|
|
1461
|
+
protected _onHover(date: Date): void;
|
|
1462
|
+
protected _applyPreset(preset: DatePreset): void;
|
|
1463
|
+
protected _togglePanel(): void;
|
|
1464
|
+
private _openPanel;
|
|
1465
|
+
protected _cancel(): void;
|
|
1466
|
+
protected _apply(): void;
|
|
1467
|
+
protected _clear(): void;
|
|
1468
|
+
protected _prevMonth(): void;
|
|
1469
|
+
protected _nextMonth(): void;
|
|
1470
|
+
onEscape(): void;
|
|
1471
|
+
protected _onOverlayKeydown(event: KeyboardEvent): void;
|
|
1472
|
+
writeValue(val: ClxDateRange | null): void;
|
|
1473
|
+
registerOnChange(fn: (v: ClxDateRange | null) => void): void;
|
|
1474
|
+
registerOnTouched(fn: () => void): void;
|
|
1475
|
+
setDisabledState(disabled: boolean): void;
|
|
1476
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxDateRangePickerComponent, never>;
|
|
1477
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxDateRangePickerComponent, "clx-date-range-picker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusMessage": { "alias": "statusMessage"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
declare class ClxEditorLinkModalComponent {
|
|
1481
|
+
private readonly _modalRef;
|
|
1482
|
+
protected readonly _form: FormGroup<{
|
|
1483
|
+
text: FormControl<string>;
|
|
1484
|
+
url: FormControl<string>;
|
|
1485
|
+
}>;
|
|
1486
|
+
protected readonly _urlInvalid: _angular_core.WritableSignal<boolean>;
|
|
1487
|
+
protected _confirm(): void;
|
|
1488
|
+
protected _cancel(): void;
|
|
1489
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxEditorLinkModalComponent, never>;
|
|
1490
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxEditorLinkModalComponent, "clx-editor-link-modal", never, {}, {}, never, never, true, never>;
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
type ClxEditorSize = 'sm' | 'md' | 'lg';
|
|
1494
|
+
interface ClxEditorToolbarGroup {
|
|
1495
|
+
/** Internal IDs of buttons to include in this group */
|
|
1496
|
+
tools: ClxEditorTool[];
|
|
1497
|
+
}
|
|
1498
|
+
type ClxEditorTool = 'font-family' | 'heading' | 'bold' | 'italic' | 'underline' | 'strike' | 'text-color' | 'highlight' | 'superscript' | 'subscript' | 'align' | 'blockquote' | 'code-block' | 'bullet-list' | 'ordered-list' | 'indent' | 'outdent' | 'link' | 'image' | 'table' | 'clear-format' | 'undo' | 'redo';
|
|
1499
|
+
|
|
1500
|
+
interface ToolBtn {
|
|
1501
|
+
cmd: string;
|
|
1502
|
+
arg?: string;
|
|
1503
|
+
icon: string;
|
|
1504
|
+
title: string;
|
|
1505
|
+
mark?: string;
|
|
1506
|
+
}
|
|
1507
|
+
declare class ClxEditorComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {
|
|
1508
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1509
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1510
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1511
|
+
readonly size: _angular_core.InputSignal<ClxEditorSize>;
|
|
1512
|
+
readonly status: _angular_core.InputSignal<"default" | "error" | "success">;
|
|
1513
|
+
readonly statusMessage: _angular_core.InputSignal<string>;
|
|
1514
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1515
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1516
|
+
private _bodyEl;
|
|
1517
|
+
private _sourceEl;
|
|
1518
|
+
private readonly _cdr;
|
|
1519
|
+
private readonly _zone;
|
|
1520
|
+
private readonly _destroyRef;
|
|
1521
|
+
private readonly _modal;
|
|
1522
|
+
protected readonly _fontOptions: ClxSelectOption[];
|
|
1523
|
+
protected readonly _headingOptions: ClxSelectOption[];
|
|
1524
|
+
protected readonly _fontCtrl: FormControl<string | null>;
|
|
1525
|
+
protected readonly _headingCtrl: FormControl<string | null>;
|
|
1526
|
+
private readonly _cvaDisabled;
|
|
1527
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1528
|
+
protected readonly _tick: _angular_core.WritableSignal<number>;
|
|
1529
|
+
protected readonly _sourceMode: _angular_core.WritableSignal<boolean>;
|
|
1530
|
+
protected readonly _sourceValue: _angular_core.WritableSignal<string>;
|
|
1531
|
+
protected readonly _copied: _angular_core.WritableSignal<boolean>;
|
|
1532
|
+
protected readonly _editorId: string;
|
|
1533
|
+
protected readonly _groups: ToolBtn[][];
|
|
1534
|
+
private _savedRange;
|
|
1535
|
+
private _pendingValue;
|
|
1536
|
+
private _selectionUnsub;
|
|
1537
|
+
private _copiedTimer;
|
|
1538
|
+
private _onChange;
|
|
1539
|
+
private _onTouched;
|
|
1540
|
+
ngAfterViewInit(): void;
|
|
1541
|
+
ngOnDestroy(): void;
|
|
1542
|
+
protected readonly _sizeCfg: _angular_core.Signal<{
|
|
1543
|
+
minH: string;
|
|
1544
|
+
maxH: string;
|
|
1545
|
+
text: string;
|
|
1546
|
+
label: string;
|
|
1547
|
+
hint: string;
|
|
1548
|
+
toolbar: string;
|
|
1549
|
+
}>;
|
|
1550
|
+
protected readonly _shellClass: _angular_core.Signal<string>;
|
|
1551
|
+
protected readonly _toolbarClass: _angular_core.Signal<string>;
|
|
1552
|
+
protected readonly _bodyClass: _angular_core.Signal<string>;
|
|
1553
|
+
protected readonly _sourceClass: _angular_core.Signal<string>;
|
|
1554
|
+
protected readonly _statusMsgClass: _angular_core.Signal<string>;
|
|
1555
|
+
protected _btnVariant(mark?: string): 'light' | 'ghost';
|
|
1556
|
+
protected _onSelectFont(value: string | number | (string | number)[] | null): void;
|
|
1557
|
+
protected _onSelectHeading(value: string | number | (string | number)[] | null): void;
|
|
1558
|
+
protected _toggleSource(): void;
|
|
1559
|
+
protected _copyHtml(): void;
|
|
1560
|
+
protected _exec(cmd: string, arg?: string): void;
|
|
1561
|
+
protected _execVal(cmd: string, event: Event): void;
|
|
1562
|
+
private _openLinkModal;
|
|
1563
|
+
protected _saveRange(): void;
|
|
1564
|
+
private _restoreRange;
|
|
1565
|
+
protected _onPaste(event: ClipboardEvent): void;
|
|
1566
|
+
private _sanitizePaste;
|
|
1567
|
+
protected _onSourceInput(event: Event): void;
|
|
1568
|
+
private _wrapBlockquote;
|
|
1569
|
+
private _wrapCode;
|
|
1570
|
+
protected _onInput(): void;
|
|
1571
|
+
protected _onBlur(): void;
|
|
1572
|
+
protected _onKeydown(e: KeyboardEvent): void;
|
|
1573
|
+
private _emitChange;
|
|
1574
|
+
writeValue(html: string): void;
|
|
1575
|
+
registerOnChange(fn: (v: string) => void): void;
|
|
1576
|
+
registerOnTouched(fn: () => void): void;
|
|
1577
|
+
setDisabledState(disabled: boolean): void;
|
|
1578
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxEditorComponent, never>;
|
|
1579
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxEditorComponent, "clx-editor", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusMessage": { "alias": "statusMessage"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
type ClxInputStatus = 'default' | 'error' | 'success';
|
|
1583
|
+
type ClxInputSize = 'sm' | 'md' | 'lg';
|
|
1584
|
+
type ClxInputType = 'text' | 'password' | 'email' | 'search' | 'tel' | 'url';
|
|
1585
|
+
|
|
1586
|
+
declare class ClxInputComponent implements ControlValueAccessor {
|
|
1587
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1588
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1589
|
+
readonly type: _angular_core.InputSignal<ClxInputType>;
|
|
1590
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1591
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1592
|
+
readonly prefixIcon: _angular_core.InputSignal<string>;
|
|
1593
|
+
readonly suffixIcon: _angular_core.InputSignal<string>;
|
|
1594
|
+
readonly prefixText: _angular_core.InputSignal<string>;
|
|
1595
|
+
readonly suffixText: _angular_core.InputSignal<string>;
|
|
1596
|
+
readonly status: _angular_core.InputSignal<ClxInputStatus>;
|
|
1597
|
+
readonly statusMessage: _angular_core.InputSignal<string>;
|
|
1598
|
+
readonly size: _angular_core.InputSignal<ClxInputSize>;
|
|
1599
|
+
/** Initial value for standalone use (without FormControl) */
|
|
1600
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
1601
|
+
/** Disabled state for standalone use (without FormControl) */
|
|
1602
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1603
|
+
protected readonly _inputId: string;
|
|
1604
|
+
protected readonly _showPassword: _angular_core.WritableSignal<boolean>;
|
|
1605
|
+
readonly _value: _angular_core.WritableSignal<string>;
|
|
1606
|
+
private readonly _cvaDisabled;
|
|
1607
|
+
private _cvaConnected;
|
|
1608
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1609
|
+
private readonly _valueEffect;
|
|
1610
|
+
private _onChange;
|
|
1611
|
+
private _onTouched;
|
|
1612
|
+
protected readonly _inputType: _angular_core.Signal<ClxInputType>;
|
|
1613
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1614
|
+
input: string;
|
|
1615
|
+
label: string;
|
|
1616
|
+
hint: string;
|
|
1617
|
+
iconSize: "xs" | "sm" | "md";
|
|
1618
|
+
iconLeft: string;
|
|
1619
|
+
iconRight: string;
|
|
1620
|
+
padLeft: string;
|
|
1621
|
+
padRight: string;
|
|
1622
|
+
padDefaultL: string;
|
|
1623
|
+
padDefaultR: string;
|
|
1624
|
+
}>;
|
|
1625
|
+
protected readonly _statusCfg: _angular_core.Signal<{
|
|
1626
|
+
border: string;
|
|
1627
|
+
ring: string;
|
|
1628
|
+
msgCls: string;
|
|
1629
|
+
iconName: string;
|
|
1630
|
+
iconColor: string;
|
|
1631
|
+
}>;
|
|
1632
|
+
/** True whenever the wrapper must be a flex container (prefix icon/text or suffix text) */
|
|
1633
|
+
private readonly _isFlexMode;
|
|
1634
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1635
|
+
protected readonly _hintClass: _angular_core.Signal<string>;
|
|
1636
|
+
protected readonly _wrapperClass: _angular_core.Signal<string>;
|
|
1637
|
+
protected readonly _inputClass: _angular_core.Signal<string>;
|
|
1638
|
+
/** Colored prefix icon cell — matches the input accent color */
|
|
1639
|
+
protected readonly _prefixIconCellCls: _angular_core.Signal<string>;
|
|
1640
|
+
protected readonly _suffixIconWrapCls: _angular_core.Signal<string>;
|
|
1641
|
+
protected readonly _statusMsgClass: _angular_core.Signal<string>;
|
|
1642
|
+
writeValue(val: string): void;
|
|
1643
|
+
registerOnChange(fn: (v: string) => void): void;
|
|
1644
|
+
registerOnTouched(fn: () => void): void;
|
|
1645
|
+
setDisabledState(disabled: boolean): void;
|
|
1646
|
+
protected _handleInput(event: Event): void;
|
|
1647
|
+
protected _handleBlur(): void;
|
|
1648
|
+
protected _togglePassword(): void;
|
|
1649
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxInputComponent, never>;
|
|
1650
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxInputComponent, "clx-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "prefixText": { "alias": "prefixText"; "required": false; "isSignal": true; }; "suffixText": { "alias": "suffixText"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusMessage": { "alias": "statusMessage"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1653
|
+
type ClxNumberVariant = 'default' | 'stepper';
|
|
1654
|
+
type ClxNumberSize = 'sm' | 'md' | 'lg';
|
|
1655
|
+
|
|
1656
|
+
declare class ClxNumberComponent implements ControlValueAccessor {
|
|
1657
|
+
private static _seq;
|
|
1658
|
+
protected readonly _inputId: string;
|
|
1659
|
+
readonly variant: _angular_core.InputSignal<ClxNumberVariant>;
|
|
1660
|
+
readonly size: _angular_core.InputSignal<ClxNumberSize>;
|
|
1661
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1662
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1663
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1664
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1665
|
+
readonly prefixIcon: _angular_core.InputSignal<string>;
|
|
1666
|
+
readonly min: _angular_core.InputSignal<number | null>;
|
|
1667
|
+
readonly max: _angular_core.InputSignal<number | null>;
|
|
1668
|
+
readonly step: _angular_core.InputSignal<number>;
|
|
1669
|
+
/** Initial value for standalone use (without FormControl) */
|
|
1670
|
+
readonly value: _angular_core.InputSignal<number>;
|
|
1671
|
+
/** Disabled state for standalone use (without FormControl) */
|
|
1672
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1673
|
+
readonly _value: _angular_core.WritableSignal<number>;
|
|
1674
|
+
private readonly _cvaDisabled;
|
|
1675
|
+
private _cvaConnected;
|
|
1676
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1677
|
+
private readonly _valueEffect;
|
|
1678
|
+
private _onChange;
|
|
1679
|
+
private _onTouched;
|
|
1680
|
+
protected readonly _isAtMin: _angular_core.Signal<boolean>;
|
|
1681
|
+
protected readonly _isAtMax: _angular_core.Signal<boolean>;
|
|
1682
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1683
|
+
container: string;
|
|
1684
|
+
inputText: string;
|
|
1685
|
+
iconSize: Extract<codexly_ui.ClxSize, "xs" | "sm" | "md">;
|
|
1686
|
+
btnSize: "sm" | "md";
|
|
1687
|
+
stepperCell: string;
|
|
1688
|
+
label: string;
|
|
1689
|
+
hint: string;
|
|
1690
|
+
}>;
|
|
1691
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1692
|
+
protected readonly _hintClass: _angular_core.Signal<string>;
|
|
1693
|
+
protected readonly _containerClass: _angular_core.Signal<string>;
|
|
1694
|
+
/** Colored prefix icon cell — matches the input accent color */
|
|
1695
|
+
protected readonly _prefixCellCls: _angular_core.Signal<string>;
|
|
1696
|
+
/** Full class for the native input — must include structural classes since [class] replaces static ones */
|
|
1697
|
+
protected readonly _inputClass: _angular_core.Signal<string>;
|
|
1698
|
+
protected readonly _stepperWrapClass: _angular_core.Signal<string>;
|
|
1699
|
+
protected readonly _stepperValueCls: _angular_core.Signal<string>;
|
|
1700
|
+
writeValue(val: number): void;
|
|
1701
|
+
registerOnChange(fn: (v: number) => void): void;
|
|
1702
|
+
registerOnTouched(fn: () => void): void;
|
|
1703
|
+
setDisabledState(disabled: boolean): void;
|
|
1704
|
+
protected _handleInput(event: Event): void;
|
|
1705
|
+
protected _handleBlur(): void;
|
|
1706
|
+
protected _decrement(): void;
|
|
1707
|
+
protected _increment(): void;
|
|
1708
|
+
private _applyValue;
|
|
1709
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxNumberComponent, never>;
|
|
1710
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxNumberComponent, "clx-number", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1713
|
+
type ClxRadioVariant = 'solid' | 'outline';
|
|
1714
|
+
|
|
1715
|
+
declare const CLX_RADIO_GROUP: InjectionToken<ClxRadioGroupComponent>;
|
|
1716
|
+
declare class ClxRadioGroupComponent implements ControlValueAccessor {
|
|
1717
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1718
|
+
readonly variant: _angular_core.InputSignal<ClxRadioVariant>;
|
|
1719
|
+
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg">;
|
|
1720
|
+
readonly direction: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
1721
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1722
|
+
/** Current selected value — readable by child clx-radio via injection */
|
|
1723
|
+
readonly _value: _angular_core.WritableSignal<unknown>;
|
|
1724
|
+
private readonly _cvaDisabled;
|
|
1725
|
+
/** Merged disabled state (input + CVA) — readable by child clx-radio */
|
|
1726
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
1727
|
+
private _onChange;
|
|
1728
|
+
private _onTouched;
|
|
1729
|
+
select(value: unknown): void;
|
|
1730
|
+
writeValue(val: unknown): void;
|
|
1731
|
+
registerOnChange(fn: (v: unknown) => void): void;
|
|
1732
|
+
registerOnTouched(fn: () => void): void;
|
|
1733
|
+
setDisabledState(disabled: boolean): void;
|
|
1734
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxRadioGroupComponent, never>;
|
|
1735
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxRadioGroupComponent, "clx-radio-group", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1736
|
+
}
|
|
1737
|
+
|
|
1738
|
+
declare class ClxRadioComponent {
|
|
1739
|
+
/** Value this radio represents — compared against the group's selected value */
|
|
1740
|
+
readonly value: _angular_core.InputSignal<unknown>;
|
|
1741
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1742
|
+
/** Per-radio overrides — falls back to the group's value if null */
|
|
1743
|
+
readonly color: _angular_core.InputSignal<ClxColorInput | null>;
|
|
1744
|
+
readonly variant: _angular_core.InputSignal<ClxRadioVariant | null>;
|
|
1745
|
+
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg" | null>;
|
|
1746
|
+
private readonly _group;
|
|
1747
|
+
protected readonly _checked: _angular_core.Signal<boolean>;
|
|
1748
|
+
protected readonly _isDisabled: _angular_core.Signal<boolean>;
|
|
1749
|
+
private readonly _color;
|
|
1750
|
+
private readonly _variant;
|
|
1751
|
+
private readonly _size;
|
|
1752
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1753
|
+
readonly ring: "w-4 h-4";
|
|
1754
|
+
readonly dot: "w-1.5 h-1.5";
|
|
1755
|
+
readonly label: "text-xs";
|
|
1756
|
+
} | {
|
|
1757
|
+
readonly ring: "w-5 h-5";
|
|
1758
|
+
readonly dot: "w-2 h-2";
|
|
1759
|
+
readonly label: "text-sm";
|
|
1760
|
+
} | {
|
|
1761
|
+
readonly ring: "w-6 h-6";
|
|
1762
|
+
readonly dot: "w-2.5 h-2.5";
|
|
1763
|
+
readonly label: "text-base";
|
|
1764
|
+
}>;
|
|
1765
|
+
protected readonly _ringClass: _angular_core.Signal<string>;
|
|
1766
|
+
protected readonly _dotClass: _angular_core.Signal<string>;
|
|
1767
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1768
|
+
protected _select(): void;
|
|
1769
|
+
protected _onSpace(event: Event): void;
|
|
1770
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxRadioComponent, never>;
|
|
1771
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxRadioComponent, "clx-radio", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1774
|
+
declare class ClxSelectComponent implements ControlValueAccessor {
|
|
1775
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1776
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1777
|
+
readonly options: _angular_core.InputSignal<ClxSelectOption[]>;
|
|
1778
|
+
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
1779
|
+
readonly searchable: _angular_core.InputSignal<boolean>;
|
|
1780
|
+
readonly searchPlaceholder: _angular_core.InputSignal<string>;
|
|
1781
|
+
readonly activeColor: _angular_core.InputSignal<ClxColorInput>;
|
|
1782
|
+
readonly size: _angular_core.InputSignal<ClxSelectSize>;
|
|
1783
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1784
|
+
readonly errorMessage: _angular_core.InputSignal<string>;
|
|
1785
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1786
|
+
readonly async: _angular_core.InputSignal<boolean>;
|
|
1787
|
+
readonly loadOptions: _angular_core.InputSignal<((query: string) => Observable<ClxSelectOption[]>) | null>;
|
|
1788
|
+
readonly debounceMs: _angular_core.InputSignal<number>;
|
|
1789
|
+
readonly minChars: _angular_core.InputSignal<number>;
|
|
1790
|
+
private static _seq;
|
|
1791
|
+
protected readonly _labelId: string;
|
|
1792
|
+
protected readonly _isOpen: _angular_core.WritableSignal<boolean>;
|
|
1793
|
+
protected readonly _overlayWidthPx: _angular_core.WritableSignal<number>;
|
|
1794
|
+
protected readonly _searchControl: FormControl<string | null>;
|
|
1795
|
+
protected readonly _searchQuery: _angular_core.Signal<string | null>;
|
|
1796
|
+
protected readonly _asyncOptions: _angular_core.WritableSignal<ClxSelectOption[]>;
|
|
1797
|
+
protected readonly _asyncLoading: _angular_core.WritableSignal<boolean>;
|
|
1798
|
+
protected readonly _asyncQuery: _angular_core.WritableSignal<string>;
|
|
1799
|
+
private readonly _wasTouched;
|
|
1800
|
+
private readonly _selectedVals;
|
|
1801
|
+
private readonly _cvaDisabled;
|
|
1802
|
+
private readonly _ngControl;
|
|
1803
|
+
private readonly _el;
|
|
1804
|
+
private readonly _sso;
|
|
1805
|
+
readonly _scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
|
|
1806
|
+
constructor();
|
|
1807
|
+
private _onChange;
|
|
1808
|
+
private _onTouched;
|
|
1809
|
+
readonly _positions: ConnectedPosition[];
|
|
1810
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1811
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1812
|
+
minH: string;
|
|
1813
|
+
text: string;
|
|
1814
|
+
label: string;
|
|
1815
|
+
hint: string;
|
|
1816
|
+
px: string;
|
|
1817
|
+
py: string;
|
|
1818
|
+
gap: string;
|
|
1819
|
+
tagSize: "sm" | "md";
|
|
1820
|
+
btnSize: "xs" | "sm";
|
|
1821
|
+
}>;
|
|
1822
|
+
protected readonly _hasValue: _angular_core.Signal<boolean>;
|
|
1823
|
+
protected readonly _isInvalid: _angular_core.Signal<boolean>;
|
|
1824
|
+
protected readonly _selectedOptions: _angular_core.Signal<ClxSelectOption[]>;
|
|
1825
|
+
protected readonly _filteredOptions: _angular_core.Signal<ClxSelectOption[]>;
|
|
1826
|
+
protected readonly _showAsyncPlaceholder: _angular_core.Signal<boolean>;
|
|
1827
|
+
protected readonly _displayValue: _angular_core.Signal<string>;
|
|
1828
|
+
protected readonly _overlayWidth: _angular_core.Signal<number>;
|
|
1829
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1830
|
+
protected readonly _hintClass: _angular_core.Signal<string>;
|
|
1831
|
+
protected readonly _triggerClass: _angular_core.Signal<string>;
|
|
1832
|
+
protected readonly _singleDisplayClass: _angular_core.Signal<string>;
|
|
1833
|
+
protected readonly _tagContainerClass: _angular_core.Signal<string>;
|
|
1834
|
+
protected readonly _placeholderClass: _angular_core.Signal<string>;
|
|
1835
|
+
protected readonly _chevronBtnClass: _angular_core.Signal<"transition-transform duration-200 rotate-180" | "transition-transform duration-200">;
|
|
1836
|
+
protected readonly _panelClass: _angular_core.Signal<string>;
|
|
1837
|
+
protected _isSelected(value: string | number): boolean;
|
|
1838
|
+
protected _optionClass(opt: ClxSelectOption): string;
|
|
1839
|
+
protected _togglePanel(): void;
|
|
1840
|
+
private _openPanel;
|
|
1841
|
+
protected _closePanel(): void;
|
|
1842
|
+
protected _selectOption(opt: ClxSelectOption): void;
|
|
1843
|
+
protected _deselect(value: string | number): void;
|
|
1844
|
+
protected _clearAll(): void;
|
|
1845
|
+
protected _onTriggerKeydown(event: KeyboardEvent): void;
|
|
1846
|
+
protected _onOverlayKeydown(event: KeyboardEvent): void;
|
|
1847
|
+
onEscape(): void;
|
|
1848
|
+
writeValue(val: string | number | (string | number)[] | null): void;
|
|
1849
|
+
registerOnChange(fn: (v: string | number | (string | number)[] | null) => void): void;
|
|
1850
|
+
registerOnTouched(fn: () => void): void;
|
|
1851
|
+
setDisabledState(disabled: boolean): void;
|
|
1852
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxSelectComponent, never>;
|
|
1853
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxSelectComponent, "clx-select", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "activeColor": { "alias": "activeColor"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "async": { "alias": "async"; "required": false; "isSignal": true; }; "loadOptions": { "alias": "loadOptions"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; "minChars": { "alias": "minChars"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1854
|
+
}
|
|
1855
|
+
|
|
1856
|
+
type ClxSliderSize = 'sm' | 'md' | 'lg';
|
|
1857
|
+
|
|
1858
|
+
declare class ClxSliderComponent implements ControlValueAccessor {
|
|
1859
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1860
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1861
|
+
readonly errorMessage: _angular_core.InputSignal<string>;
|
|
1862
|
+
readonly activeColor: _angular_core.InputSignal<ClxColorInput>;
|
|
1863
|
+
readonly size: _angular_core.InputSignal<ClxSliderSize>;
|
|
1864
|
+
readonly min: _angular_core.InputSignal<number>;
|
|
1865
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
1866
|
+
readonly step: _angular_core.InputSignal<number>;
|
|
1867
|
+
readonly showTooltip: _angular_core.InputSignal<boolean>;
|
|
1868
|
+
readonly showMinMax: _angular_core.InputSignal<boolean>;
|
|
1869
|
+
readonly marks: _angular_core.InputSignal<boolean>;
|
|
1870
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1871
|
+
private readonly _ngControl;
|
|
1872
|
+
private readonly _rangeInput;
|
|
1873
|
+
constructor();
|
|
1874
|
+
protected readonly _currentValue: _angular_core.WritableSignal<number>;
|
|
1875
|
+
protected readonly _cvaDisabled: _angular_core.WritableSignal<boolean>;
|
|
1876
|
+
protected readonly _isFocused: _angular_core.WritableSignal<boolean>;
|
|
1877
|
+
protected readonly _isActive: _angular_core.WritableSignal<boolean>;
|
|
1878
|
+
protected readonly _wasTouched: _angular_core.WritableSignal<boolean>;
|
|
1879
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1880
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1881
|
+
trackPx: string;
|
|
1882
|
+
thumbPx: string;
|
|
1883
|
+
thumbRing: string;
|
|
1884
|
+
label: string;
|
|
1885
|
+
hint: string;
|
|
1886
|
+
markW: string;
|
|
1887
|
+
markH: string;
|
|
1888
|
+
wrapperH: string;
|
|
1889
|
+
tooltipBottom: string;
|
|
1890
|
+
}>;
|
|
1891
|
+
protected readonly _colorTokens: _angular_core.Signal<codexly_ui.ClxColorTokens>;
|
|
1892
|
+
protected readonly _pct: _angular_core.Signal<number>;
|
|
1893
|
+
protected readonly _isInvalid: _angular_core.Signal<boolean>;
|
|
1894
|
+
protected readonly _trackClass: _angular_core.Signal<string>;
|
|
1895
|
+
protected readonly _thumbClass: _angular_core.Signal<string>;
|
|
1896
|
+
protected readonly _tickPositions: _angular_core.Signal<number[]>;
|
|
1897
|
+
protected _tooltipArrowColor(): string;
|
|
1898
|
+
protected _onInput(event: Event): void;
|
|
1899
|
+
protected _onBlur(): void;
|
|
1900
|
+
private _onChange;
|
|
1901
|
+
protected _onTouched: () => void;
|
|
1902
|
+
writeValue(val: number | null): void;
|
|
1903
|
+
registerOnChange(fn: (v: number) => void): void;
|
|
1904
|
+
registerOnTouched(fn: () => void): void;
|
|
1905
|
+
setDisabledState(disabled: boolean): void;
|
|
1906
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxSliderComponent, never>;
|
|
1907
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxSliderComponent, "clx-slider", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "activeColor": { "alias": "activeColor"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "showTooltip": { "alias": "showTooltip"; "required": false; "isSignal": true; }; "showMinMax": { "alias": "showMinMax"; "required": false; "isSignal": true; }; "marks": { "alias": "marks"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1908
|
+
}
|
|
1909
|
+
|
|
1910
|
+
type ClxSwitchSize = 'sm' | 'md' | 'lg';
|
|
1911
|
+
declare class ClxSwitchComponent implements ControlValueAccessor {
|
|
1912
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1913
|
+
readonly size: _angular_core.InputSignal<ClxSwitchSize>;
|
|
1914
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1915
|
+
/** Initial value for standalone use (without FormControl) */
|
|
1916
|
+
readonly value: _angular_core.InputSignal<boolean>;
|
|
1917
|
+
/** Disabled state for standalone use (without FormControl) */
|
|
1918
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1919
|
+
readonly _checked: _angular_core.WritableSignal<boolean>;
|
|
1920
|
+
private readonly _cvaDisabled;
|
|
1921
|
+
private _cvaConnected;
|
|
1922
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1923
|
+
private readonly _valueEffect;
|
|
1924
|
+
private _onChange;
|
|
1925
|
+
private _onTouched;
|
|
1926
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
1927
|
+
readonly track: "w-9 h-5";
|
|
1928
|
+
readonly thumb: "w-4 h-4";
|
|
1929
|
+
readonly translate: "translate-x-4";
|
|
1930
|
+
readonly label: "text-xs";
|
|
1931
|
+
} | {
|
|
1932
|
+
readonly track: "w-12 h-6";
|
|
1933
|
+
readonly thumb: "w-5 h-5";
|
|
1934
|
+
readonly translate: "translate-x-6";
|
|
1935
|
+
readonly label: "text-sm";
|
|
1936
|
+
} | {
|
|
1937
|
+
readonly track: "w-14 h-7";
|
|
1938
|
+
readonly thumb: "w-6 h-6";
|
|
1939
|
+
readonly translate: "translate-x-7";
|
|
1940
|
+
readonly label: "text-base";
|
|
1941
|
+
}>;
|
|
1942
|
+
protected readonly _trackClass: _angular_core.Signal<string>;
|
|
1943
|
+
protected readonly _thumbClass: _angular_core.Signal<string>;
|
|
1944
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
1945
|
+
writeValue(val: boolean): void;
|
|
1946
|
+
registerOnChange(fn: (v: boolean) => void): void;
|
|
1947
|
+
registerOnTouched(fn: () => void): void;
|
|
1948
|
+
setDisabledState(disabled: boolean): void;
|
|
1949
|
+
protected _handleChange(event: Event): void;
|
|
1950
|
+
protected _handleBlur(): void;
|
|
1951
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxSwitchComponent, never>;
|
|
1952
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxSwitchComponent, "label[clx-switch]", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
type ClxTextareaStatus = 'default' | 'error' | 'success';
|
|
1956
|
+
type ClxTextareaSize = 'sm' | 'md' | 'lg';
|
|
1957
|
+
type ClxTextareaResize = 'none' | 'vertical' | 'horizontal' | 'both';
|
|
1958
|
+
|
|
1959
|
+
declare class ClxTextareaComponent implements ControlValueAccessor {
|
|
1960
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1961
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1962
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
1963
|
+
readonly size: _angular_core.InputSignal<ClxTextareaSize>;
|
|
1964
|
+
readonly status: _angular_core.InputSignal<ClxTextareaStatus>;
|
|
1965
|
+
readonly statusMessage: _angular_core.InputSignal<string>;
|
|
1966
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1967
|
+
readonly prefixIcon: _angular_core.InputSignal<string>;
|
|
1968
|
+
readonly suffixIcon: _angular_core.InputSignal<string>;
|
|
1969
|
+
readonly resize: _angular_core.InputSignal<ClxTextareaResize>;
|
|
1970
|
+
readonly rows: _angular_core.InputSignal<number>;
|
|
1971
|
+
readonly maxLength: _angular_core.InputSignal<number>;
|
|
1972
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
1973
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1974
|
+
protected readonly _taId: string;
|
|
1975
|
+
readonly _value: _angular_core.WritableSignal<string>;
|
|
1976
|
+
private readonly _cvaDisabled;
|
|
1977
|
+
private _cvaConnected;
|
|
1978
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
1979
|
+
private readonly _valueEffect;
|
|
1980
|
+
private _onChange;
|
|
1981
|
+
private _onTouched;
|
|
1982
|
+
protected readonly _sizeCfg: _angular_core.Signal<{
|
|
1983
|
+
textarea: string;
|
|
1984
|
+
label: string;
|
|
1985
|
+
hint: string;
|
|
1986
|
+
iconSize: "xs" | "sm" | "md";
|
|
1987
|
+
iconRight: string;
|
|
1988
|
+
padDefaultL: string;
|
|
1989
|
+
padDefaultR: string;
|
|
1990
|
+
padRight: string;
|
|
1991
|
+
}>;
|
|
1992
|
+
protected readonly _statusCfg: _angular_core.Signal<{
|
|
1993
|
+
border: string;
|
|
1994
|
+
ring: string;
|
|
1995
|
+
msgCls: string;
|
|
1996
|
+
iconName: string;
|
|
1997
|
+
iconColor: string;
|
|
1998
|
+
}>;
|
|
1999
|
+
protected readonly _labelClass: _angular_core.Signal<string>;
|
|
2000
|
+
protected readonly _hintClass: _angular_core.Signal<string>;
|
|
2001
|
+
/**
|
|
2002
|
+
* Outer flex wrapper — owns the border, border-radius and focus ring.
|
|
2003
|
+
* The border sits here (not on the textarea) so the prefix cell blends in
|
|
2004
|
+
* seamlessly, exactly like clx-input does in flex mode.
|
|
2005
|
+
*/
|
|
2006
|
+
protected readonly _wrapperClass: _angular_core.Signal<string>;
|
|
2007
|
+
/** Prefix icon cell — flex column, full height of the wrapper */
|
|
2008
|
+
protected readonly _prefixCellCls: _angular_core.Signal<string>;
|
|
2009
|
+
/** Textarea itself — no border (border lives on the wrapper), fills flex-1 */
|
|
2010
|
+
protected readonly _textareaClass: _angular_core.Signal<string>;
|
|
2011
|
+
/** Suffix icon — absolute inside the inner relative wrapper */
|
|
2012
|
+
protected readonly _suffixIconWrapCls: _angular_core.Signal<string>;
|
|
2013
|
+
protected readonly _statusMsgClass: _angular_core.Signal<string>;
|
|
2014
|
+
protected readonly _counterClass: _angular_core.Signal<string>;
|
|
2015
|
+
writeValue(val: string): void;
|
|
2016
|
+
registerOnChange(fn: (v: string) => void): void;
|
|
2017
|
+
registerOnTouched(fn: () => void): void;
|
|
2018
|
+
setDisabledState(disabled: boolean): void;
|
|
2019
|
+
protected _handleInput(event: Event): void;
|
|
2020
|
+
protected _handleBlur(): void;
|
|
2021
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTextareaComponent, never>;
|
|
2022
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxTextareaComponent, "clx-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusMessage": { "alias": "statusMessage"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2023
|
+
}
|
|
2024
|
+
|
|
2025
|
+
type ClxUploadSize = 'sm' | 'md' | 'lg';
|
|
2026
|
+
type ClxUploadError = 'fileType' | 'fileSize';
|
|
2027
|
+
|
|
2028
|
+
declare class ClxUploadComponent implements ControlValueAccessor {
|
|
2029
|
+
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
2030
|
+
readonly accept: _angular_core.InputSignal<string>;
|
|
2031
|
+
/** Max file size in bytes. 0 = no limit. */
|
|
2032
|
+
readonly maxFileSize: _angular_core.InputSignal<number>;
|
|
2033
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
2034
|
+
readonly size: _angular_core.InputSignal<ClxUploadSize>;
|
|
2035
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
2036
|
+
readonly onUploadError: _angular_core.OutputEmitterRef<{
|
|
2037
|
+
file: File;
|
|
2038
|
+
error: ClxUploadError;
|
|
2039
|
+
}>;
|
|
2040
|
+
readonly onUploadSuccess: _angular_core.OutputEmitterRef<File[]>;
|
|
2041
|
+
readonly _files: _angular_core.WritableSignal<File[]>;
|
|
2042
|
+
readonly _isDragging: _angular_core.WritableSignal<boolean>;
|
|
2043
|
+
readonly _errorKey: _angular_core.WritableSignal<ClxUploadError | null>;
|
|
2044
|
+
private readonly _ngControl;
|
|
2045
|
+
private readonly _cvaDisabled;
|
|
2046
|
+
private _cvaConnected;
|
|
2047
|
+
private _onChange;
|
|
2048
|
+
private _onTouched;
|
|
2049
|
+
protected readonly _fileInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
2050
|
+
constructor();
|
|
2051
|
+
protected readonly _disabled: _angular_core.Signal<boolean>;
|
|
2052
|
+
protected readonly _sizeConfig: _angular_core.Signal<{
|
|
2053
|
+
zone: string;
|
|
2054
|
+
icon: "sm" | "md" | "lg" | "xl";
|
|
2055
|
+
title: string;
|
|
2056
|
+
hint: string;
|
|
2057
|
+
}>;
|
|
2058
|
+
protected readonly _isError: _angular_core.Signal<boolean>;
|
|
2059
|
+
protected readonly _fileItemClass: _angular_core.Signal<string>;
|
|
2060
|
+
protected readonly _fileIconClass: _angular_core.Signal<string>;
|
|
2061
|
+
protected readonly _zoneClass: _angular_core.Signal<string>;
|
|
2062
|
+
protected readonly _iconClass: _angular_core.Signal<string>;
|
|
2063
|
+
protected readonly _linkClass: _angular_core.Signal<string>;
|
|
2064
|
+
protected readonly _buttonText: _angular_core.Signal<"Seleccionar archivos" | "Seleccionar archivo">;
|
|
2065
|
+
protected readonly _hintText: _angular_core.Signal<string>;
|
|
2066
|
+
protected readonly _errorMessage: _angular_core.Signal<string | null>;
|
|
2067
|
+
private readonly _multipleEffect;
|
|
2068
|
+
writeValue(value: File | File[] | null): void;
|
|
2069
|
+
registerOnChange(fn: (v: File | File[] | null) => void): void;
|
|
2070
|
+
registerOnTouched(fn: () => void): void;
|
|
2071
|
+
setDisabledState(disabled: boolean): void;
|
|
2072
|
+
protected _onInputChange(event: Event): void;
|
|
2073
|
+
protected _onDragOver(event: DragEvent): void;
|
|
2074
|
+
protected _onDragLeave(): void;
|
|
2075
|
+
protected _onDrop(event: DragEvent): void;
|
|
2076
|
+
protected _removeFile(file: File): void;
|
|
2077
|
+
private _addFiles;
|
|
2078
|
+
private _isAccepted;
|
|
2079
|
+
private _emit;
|
|
2080
|
+
protected _formatSize(bytes: number): string;
|
|
2081
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxUploadComponent, never>;
|
|
2082
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxUploadComponent, "clx-upload", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "onUploadError": "onUploadError"; "onUploadSuccess": "onUploadSuccess"; }, never, ["[clx-label]"], true, never>;
|
|
2083
|
+
}
|
|
2084
|
+
|
|
2085
|
+
declare class ClxStepComponent {
|
|
2086
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2087
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
2088
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
2089
|
+
/** Bind to a form's valid state or a custom signal to gate the Next button */
|
|
2090
|
+
readonly isValid: _angular_core.InputSignal<boolean>;
|
|
2091
|
+
/** Exposed so the parent wizard can toggle visibility imperatively */
|
|
2092
|
+
readonly nativeEl: HTMLElement;
|
|
2093
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxStepComponent, never>;
|
|
2094
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxStepComponent, "clx-step", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "isValid": { "alias": "isValid"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2095
|
+
}
|
|
2096
|
+
|
|
2097
|
+
type ClxWizardColor = ClxColorInput;
|
|
2098
|
+
type ClxWizardOrientation = 'horizontal' | 'vertical';
|
|
2099
|
+
type ClxWizardStepStatus = 'pending' | 'active' | 'completed' | 'error';
|
|
2100
|
+
|
|
2101
|
+
declare class ClxWizardComponent implements AfterContentInit {
|
|
2102
|
+
readonly color: _angular_core.InputSignal<codexly_ui.ClxColorInput>;
|
|
2103
|
+
readonly orientation: _angular_core.InputSignal<ClxWizardOrientation>;
|
|
2104
|
+
readonly linear: _angular_core.InputSignal<boolean>;
|
|
2105
|
+
readonly prevLabel: _angular_core.InputSignal<string>;
|
|
2106
|
+
readonly nextLabel: _angular_core.InputSignal<string>;
|
|
2107
|
+
readonly finishLabel: _angular_core.InputSignal<string>;
|
|
2108
|
+
readonly stepChange: _angular_core.OutputEmitterRef<number>;
|
|
2109
|
+
readonly finish: _angular_core.OutputEmitterRef<void>;
|
|
2110
|
+
private readonly _destroyRef;
|
|
2111
|
+
private _stepQuery;
|
|
2112
|
+
protected _steps: ClxStepComponent[];
|
|
2113
|
+
protected readonly _currentIndex: _angular_core.WritableSignal<number>;
|
|
2114
|
+
ngAfterContentInit(): void;
|
|
2115
|
+
private _syncActiveAttrs;
|
|
2116
|
+
protected readonly _lastIndex: _angular_core.Signal<number>;
|
|
2117
|
+
protected readonly _currentStepValid: _angular_core.Signal<boolean>;
|
|
2118
|
+
protected readonly _connectorFillColor: _angular_core.Signal<string>;
|
|
2119
|
+
protected readonly _currentIndexStr: _angular_core.Signal<string>;
|
|
2120
|
+
protected readonly _tabItems: _angular_core.Signal<ClxTabItem[]>;
|
|
2121
|
+
protected _onTabChange(id: string): void;
|
|
2122
|
+
protected _stepStatus(i: number): 'active' | 'completed' | 'pending' | 'error';
|
|
2123
|
+
protected _isTabDisabled(i: number): boolean;
|
|
2124
|
+
protected _onCircleClick(i: number): void;
|
|
2125
|
+
next(): void;
|
|
2126
|
+
prev(): void;
|
|
2127
|
+
goTo(index: number): void;
|
|
2128
|
+
private _goTo;
|
|
2129
|
+
protected _onFinish(): void;
|
|
2130
|
+
protected readonly _rootClass: _angular_core.Signal<string>;
|
|
2131
|
+
protected _circleClass(i: number): string;
|
|
2132
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxWizardComponent, never>;
|
|
2133
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxWizardComponent, "clx-wizard", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "finishLabel": { "alias": "finishLabel"; "required": false; "isSignal": true; }; }, { "stepChange": "stepChange"; "finish": "finish"; }, ["_stepQuery"], ["*", "[clx-wizard-footer-start]"], true, never>;
|
|
2134
|
+
}
|
|
2135
|
+
|
|
2136
|
+
declare class ClxAppLayoutComponent {
|
|
2137
|
+
readonly activeColor: _angular_core.InputSignal<ClxColorInput>;
|
|
2138
|
+
readonly _sidebarOpen: _angular_core.WritableSignal<boolean>;
|
|
2139
|
+
protected readonly _sidebarCls: _angular_core.Signal<string>;
|
|
2140
|
+
toggleSidebar(): void;
|
|
2141
|
+
openSidebar(): void;
|
|
2142
|
+
closeSidebar(): void;
|
|
2143
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxAppLayoutComponent, never>;
|
|
2144
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxAppLayoutComponent, "clx-app-layout", never, { "activeColor": { "alias": "activeColor"; "required": false; "isSignal": true; }; }, {}, never, ["[clx-sidebar]", "[clx-header]", "*"], true, never>;
|
|
2145
|
+
}
|
|
2146
|
+
|
|
2147
|
+
declare class ClxMenuItemComponent {
|
|
2148
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2149
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
2150
|
+
readonly route: _angular_core.InputSignal<string>;
|
|
2151
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
2152
|
+
readonly nested: _angular_core.InputSignal<boolean>;
|
|
2153
|
+
private readonly _menuColorFn;
|
|
2154
|
+
protected readonly _hasParent: boolean;
|
|
2155
|
+
private readonly _resolvedColor;
|
|
2156
|
+
private readonly _geom;
|
|
2157
|
+
protected readonly _iconCls: _angular_core.Signal<string>;
|
|
2158
|
+
protected readonly _idleCls: _angular_core.Signal<string>;
|
|
2159
|
+
protected readonly _activeCls: _angular_core.Signal<string>;
|
|
2160
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxMenuItemComponent, never>;
|
|
2161
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxMenuItemComponent, "clx-menu-item", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "route": { "alias": "route"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "nested": { "alias": "nested"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2164
|
+
declare class ClxMenuComponent implements AfterContentInit {
|
|
2165
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2166
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
2167
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
2168
|
+
readonly _isExpanded: _angular_core.WritableSignal<boolean>;
|
|
2169
|
+
private readonly _childItems;
|
|
2170
|
+
private _childRoutes;
|
|
2171
|
+
private readonly _router;
|
|
2172
|
+
private readonly _destroyRef;
|
|
2173
|
+
private readonly _url;
|
|
2174
|
+
protected readonly _isChildActive: _angular_core.Signal<boolean>;
|
|
2175
|
+
constructor();
|
|
2176
|
+
protected readonly _iconCls: _angular_core.Signal<string>;
|
|
2177
|
+
protected readonly _buttonCls: _angular_core.Signal<string>;
|
|
2178
|
+
protected readonly NAV_CHILDREN_WRAPPER = "grid transition-all duration-300 ease-in-out";
|
|
2179
|
+
protected readonly NAV_CHILDREN_INNER = "overflow-hidden";
|
|
2180
|
+
protected readonly NAV_CHILDREN_LIST = "ml-6 border-l border-slate-700/60 py-1 space-y-0.5";
|
|
2181
|
+
ngAfterContentInit(): void;
|
|
2182
|
+
private _syncChildRoutes;
|
|
2183
|
+
protected _toggle(): void;
|
|
2184
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxMenuComponent, never>;
|
|
2185
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxMenuComponent, "clx-menu", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, ["_childItems"], ["*"], true, never>;
|
|
2186
|
+
}
|
|
2187
|
+
|
|
2188
|
+
declare class ClxNavGroupComponent {
|
|
2189
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2190
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxNavGroupComponent, never>;
|
|
2191
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxNavGroupComponent, "clx-nav-group", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
interface ClxTableColumn<T = any> {
|
|
2195
|
+
key: string;
|
|
2196
|
+
header?: string;
|
|
2197
|
+
sortable?: boolean;
|
|
2198
|
+
width?: string;
|
|
2199
|
+
align?: 'left' | 'center' | 'right';
|
|
2200
|
+
cellClass?: string;
|
|
2201
|
+
headerClass?: string;
|
|
2202
|
+
}
|
|
2203
|
+
type ClxTableSort = 'asc' | 'desc';
|
|
2204
|
+
interface ClxTableSortEvent {
|
|
2205
|
+
key: string;
|
|
2206
|
+
direction: ClxTableSort | null;
|
|
2207
|
+
}
|
|
2208
|
+
interface ClxTablePageEvent {
|
|
2209
|
+
pageIndex: number;
|
|
2210
|
+
pageSize: number;
|
|
2211
|
+
}
|
|
2212
|
+
interface ClxTableSelectionEvent<T> {
|
|
2213
|
+
selected: T[];
|
|
2214
|
+
allSelected: boolean;
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2217
|
+
interface ClxCellContext<T> {
|
|
2218
|
+
$implicit: T;
|
|
2219
|
+
index: number;
|
|
2220
|
+
}
|
|
2221
|
+
declare class ClxHeaderCellDirective<_T> {
|
|
2222
|
+
readonly templateRef: TemplateRef<void>;
|
|
2223
|
+
constructor(templateRef: TemplateRef<void>);
|
|
2224
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxHeaderCellDirective<any>, never>;
|
|
2225
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxHeaderCellDirective<any>, "ng-template[clxHeaderCell]", never, {}, {}, never, never, true, never>;
|
|
2226
|
+
}
|
|
2227
|
+
declare class ClxCellDirective<T> {
|
|
2228
|
+
readonly templateRef: TemplateRef<ClxCellContext<T>>;
|
|
2229
|
+
constructor(templateRef: TemplateRef<ClxCellContext<T>>);
|
|
2230
|
+
static ngTemplateContextGuard<T>(_dir: ClxCellDirective<T>, _ctx: unknown): _ctx is ClxCellContext<T>;
|
|
2231
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCellDirective<any>, never>;
|
|
2232
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxCellDirective<any>, "ng-template[clxCell]", never, {}, {}, never, never, true, never>;
|
|
2233
|
+
}
|
|
2234
|
+
declare class ClxColumnDefDirective<T> {
|
|
2235
|
+
name: string;
|
|
2236
|
+
readonly headerCell: _angular_core.Signal<ClxHeaderCellDirective<any> | undefined>;
|
|
2237
|
+
readonly cell: _angular_core.Signal<ClxCellDirective<any> | undefined>;
|
|
2238
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxColumnDefDirective<any>, never>;
|
|
2239
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxColumnDefDirective<any>, "[clxColumn]", never, { "name": { "alias": "clxColumn"; "required": false; }; }, {}, ["headerCell", "cell"], never, true, never>;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2242
|
+
declare class ClxTableComponent<T = any> {
|
|
2243
|
+
readonly data: _angular_core.InputSignal<T[]>;
|
|
2244
|
+
readonly columns: _angular_core.InputSignal<ClxTableColumn<T>[]>;
|
|
2245
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
2246
|
+
readonly selectable: _angular_core.InputSignal<boolean>;
|
|
2247
|
+
readonly searchable: _angular_core.InputSignal<boolean>;
|
|
2248
|
+
readonly pagination: _angular_core.InputSignal<boolean>;
|
|
2249
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
2250
|
+
readonly emptyIcon: _angular_core.InputSignal<string>;
|
|
2251
|
+
readonly emptyTitle: _angular_core.InputSignal<string>;
|
|
2252
|
+
readonly emptyDescription: _angular_core.InputSignal<string>;
|
|
2253
|
+
readonly sortKey: _angular_core.ModelSignal<string | null>;
|
|
2254
|
+
readonly sortDir: _angular_core.ModelSignal<ClxTableSort | null>;
|
|
2255
|
+
readonly pageIndex: _angular_core.ModelSignal<number>;
|
|
2256
|
+
readonly pageSize: _angular_core.ModelSignal<number>;
|
|
2257
|
+
readonly _currentPage: _angular_core.ModelSignal<number>;
|
|
2258
|
+
readonly searchQuery: _angular_core.ModelSignal<string>;
|
|
2259
|
+
readonly selectedItems: _angular_core.ModelSignal<T[]>;
|
|
2260
|
+
readonly sortChange: _angular_core.OutputEmitterRef<ClxTableSortEvent>;
|
|
2261
|
+
readonly pageChange: _angular_core.OutputEmitterRef<ClxTablePageEvent>;
|
|
2262
|
+
readonly selectionChange: _angular_core.OutputEmitterRef<ClxTableSelectionEvent<T>>;
|
|
2263
|
+
private readonly _columnDefs;
|
|
2264
|
+
protected _onPaginationPageChange(page: number): void;
|
|
2265
|
+
protected readonly _tableClass: _angular_core.Signal<string>;
|
|
2266
|
+
protected readonly _headerClass: _angular_core.Signal<string>;
|
|
2267
|
+
protected readonly _headerCellClass: _angular_core.Signal<string>;
|
|
2268
|
+
protected readonly _cellClass: _angular_core.Signal<string>;
|
|
2269
|
+
protected readonly _rowClass: _angular_core.Signal<string>;
|
|
2270
|
+
private readonly _columnDefMap;
|
|
2271
|
+
protected _getColumnDef(key: string): ClxColumnDefDirective<T> | undefined;
|
|
2272
|
+
protected readonly _filteredData: _angular_core.Signal<T[]>;
|
|
2273
|
+
protected readonly _paginatedData: _angular_core.Signal<T[]>;
|
|
2274
|
+
protected readonly _totalItems: _angular_core.Signal<number>;
|
|
2275
|
+
protected readonly _emptyTitle: _angular_core.Signal<string>;
|
|
2276
|
+
protected readonly _emptyDescription: _angular_core.Signal<string>;
|
|
2277
|
+
protected readonly _allSelected: _angular_core.Signal<boolean>;
|
|
2278
|
+
protected _isSelected(item: T): boolean;
|
|
2279
|
+
protected _getAlignClass(align: 'left' | 'center' | 'right'): string;
|
|
2280
|
+
protected _getHeaderCellClass(col: ClxTableColumn<T>): string;
|
|
2281
|
+
protected _getDataCellClass(col: ClxTableColumn<T>): string;
|
|
2282
|
+
protected _getCellValue(item: T, key: string): unknown;
|
|
2283
|
+
protected _handleSort(key: string): void;
|
|
2284
|
+
protected _handleSelectAll(checked: boolean): void;
|
|
2285
|
+
protected _handleSelectItem(item: T, checked: boolean): void;
|
|
2286
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTableComponent<any>, never>;
|
|
2287
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxTableComponent<any>, "clx-table", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; "isSignal": true; }; "emptyTitle": { "alias": "emptyTitle"; "required": false; "isSignal": true; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; "isSignal": true; }; "sortKey": { "alias": "sortKey"; "required": false; "isSignal": true; }; "sortDir": { "alias": "sortDir"; "required": false; "isSignal": true; }; "pageIndex": { "alias": "pageIndex"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "_currentPage": { "alias": "_currentPage"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; }, { "sortKey": "sortKeyChange"; "sortDir": "sortDirChange"; "pageIndex": "pageIndexChange"; "pageSize": "pageSizeChange"; "_currentPage": "_currentPageChange"; "searchQuery": "searchQueryChange"; "selectedItems": "selectedItemsChange"; "sortChange": "sortChange"; "pageChange": "pageChange"; "selectionChange": "selectionChange"; }, ["_columnDefs"], never, true, never>;
|
|
2288
|
+
}
|
|
2289
|
+
|
|
2290
|
+
/** Refleja st_variations + st_products (campos necesarios para la wishlist card) */
|
|
2291
|
+
interface ClxWishlistItem {
|
|
2292
|
+
id: string;
|
|
2293
|
+
sku: string;
|
|
2294
|
+
name: string;
|
|
2295
|
+
description?: string;
|
|
2296
|
+
sale_price?: number;
|
|
2297
|
+
main_image?: string;
|
|
2298
|
+
product_id: string;
|
|
2299
|
+
product_name: string;
|
|
2300
|
+
trademark: string;
|
|
2301
|
+
product_sale_price: number;
|
|
2302
|
+
discount_price?: number;
|
|
2303
|
+
has_discount: boolean;
|
|
2304
|
+
discount_percentage?: number;
|
|
2305
|
+
tags: string[];
|
|
2306
|
+
in_stock: boolean;
|
|
2307
|
+
rating?: number;
|
|
2308
|
+
review_count?: number;
|
|
2309
|
+
}
|
|
2310
|
+
interface ClxWishlistPageChangeEvent {
|
|
2311
|
+
page: number;
|
|
2312
|
+
pageSize: number;
|
|
2313
|
+
}
|
|
2314
|
+
|
|
2315
|
+
declare class ClxWishlistComponent {
|
|
2316
|
+
readonly items: _angular_core.InputSignal<ClxWishlistItem[]>;
|
|
2317
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
2318
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
2319
|
+
readonly sortOptions: _angular_core.InputSignal<ClxSelectOption[]>;
|
|
2320
|
+
readonly currentPage: _angular_core.ModelSignal<number>;
|
|
2321
|
+
readonly pageSize: _angular_core.ModelSignal<number>;
|
|
2322
|
+
readonly sortValue: _angular_core.ModelSignal<string>;
|
|
2323
|
+
readonly searchValue: _angular_core.ModelSignal<string>;
|
|
2324
|
+
protected _searchModel: string;
|
|
2325
|
+
protected _sortModel: string | null;
|
|
2326
|
+
readonly onRemove: _angular_core.OutputEmitterRef<ClxWishlistItem>;
|
|
2327
|
+
readonly onAddToCart: _angular_core.OutputEmitterRef<ClxWishlistItem>;
|
|
2328
|
+
readonly onSearchChange: _angular_core.OutputEmitterRef<string>;
|
|
2329
|
+
readonly onSortChange: _angular_core.OutputEmitterRef<string>;
|
|
2330
|
+
readonly onPageChange: _angular_core.OutputEmitterRef<ClxWishlistPageChangeEvent>;
|
|
2331
|
+
readonly onCheckoutAll: _angular_core.OutputEmitterRef<ClxWishlistItem[]>;
|
|
2332
|
+
readonly _skeletonItems: unknown[];
|
|
2333
|
+
protected readonly _cardClass = "bg-white rounded-2xl shadow-sm transition-[box-shadow,transform] duration-300 overflow-hidden group hover:shadow-xl hover:-translate-y-0.5 flex flex-col sm:flex-row";
|
|
2334
|
+
protected readonly _imageContainerClass = "relative shrink-0 w-full aspect-square sm:aspect-auto sm:w-40 overflow-hidden rounded-t-2xl sm:rounded-t-none sm:rounded-l-2xl";
|
|
2335
|
+
protected readonly _imageClass = "w-full h-full object-cover transition-transform duration-500 group-hover:scale-105";
|
|
2336
|
+
protected readonly _contentClass = "relative flex flex-col gap-2 flex-1 p-3 min-w-0";
|
|
2337
|
+
protected readonly _actionsClass = "mt-auto pt-2 flex flex-col gap-2";
|
|
2338
|
+
protected readonly _overlayClass = "absolute inset-0 bg-white/50 rounded-t-2xl sm:rounded-t-none sm:rounded-l-2xl";
|
|
2339
|
+
protected readonly _titleClass = "font-semibold truncate text-base text-slate-900 pr-6";
|
|
2340
|
+
protected readonly _descClass = "text-sm line-clamp-2 text-slate-500 mt-0.5";
|
|
2341
|
+
protected readonly _priceClass = "text-lg font-bold text-slate-900";
|
|
2342
|
+
protected readonly _filtered: _angular_core.Signal<ClxWishlistItem[]>;
|
|
2343
|
+
protected readonly _totalItems: _angular_core.Signal<number>;
|
|
2344
|
+
protected readonly _pagedItems: _angular_core.Signal<ClxWishlistItem[]>;
|
|
2345
|
+
protected _discountPercent(item: ClxWishlistItem): number;
|
|
2346
|
+
handleSearch(val: string): void;
|
|
2347
|
+
handleSort(val: string | number | (string | number)[] | null): void;
|
|
2348
|
+
handlePageChange(e: {
|
|
2349
|
+
page: number;
|
|
2350
|
+
pageSize: number;
|
|
2351
|
+
}): void;
|
|
2352
|
+
handleRemove(item: ClxWishlistItem): void;
|
|
2353
|
+
handleCheckoutAll(): void;
|
|
2354
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxWishlistComponent, never>;
|
|
2355
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxWishlistComponent, "clx-wishlist", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "sortOptions": { "alias": "sortOptions"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "sortValue": { "alias": "sortValue"; "required": false; "isSignal": true; }; "searchValue": { "alias": "searchValue"; "required": false; "isSignal": true; }; }, { "currentPage": "currentPageChange"; "pageSize": "pageSizeChange"; "sortValue": "sortValueChange"; "searchValue": "searchValueChange"; "onRemove": "onRemove"; "onAddToCart": "onAddToCart"; "onSearchChange": "onSearchChange"; "onSortChange": "onSortChange"; "onPageChange": "onPageChange"; "onCheckoutAll": "onCheckoutAll"; }, never, never, true, never>;
|
|
2356
|
+
}
|
|
2357
|
+
|
|
2358
|
+
/** Refleja sa_cart_items + ca_variants + ca_products */
|
|
2359
|
+
interface ClxCartItem {
|
|
2360
|
+
id: string;
|
|
2361
|
+
variant_id: string;
|
|
2362
|
+
sku: string;
|
|
2363
|
+
name: string;
|
|
2364
|
+
product_name: string;
|
|
2365
|
+
trademark: string;
|
|
2366
|
+
main_image?: string;
|
|
2367
|
+
unit_price: number;
|
|
2368
|
+
original_price?: number;
|
|
2369
|
+
has_discount: boolean;
|
|
2370
|
+
discount_percentage?: number;
|
|
2371
|
+
quantity: number;
|
|
2372
|
+
in_stock: boolean;
|
|
2373
|
+
max_quantity?: number;
|
|
2374
|
+
rating?: number;
|
|
2375
|
+
review_count?: number;
|
|
2376
|
+
}
|
|
2377
|
+
interface ClxCouponResult {
|
|
2378
|
+
code: string;
|
|
2379
|
+
type: 'percent' | 'fixed';
|
|
2380
|
+
value: number;
|
|
2381
|
+
valid: boolean;
|
|
2382
|
+
message?: string;
|
|
2383
|
+
}
|
|
2384
|
+
|
|
2385
|
+
declare class ClxCartComponent {
|
|
2386
|
+
readonly items: _angular_core.InputSignal<ClxCartItem[]>;
|
|
2387
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
2388
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
2389
|
+
readonly coupon: _angular_core.ModelSignal<ClxCouponResult | null>;
|
|
2390
|
+
readonly onRemove: _angular_core.OutputEmitterRef<ClxCartItem>;
|
|
2391
|
+
readonly onQuantityChange: _angular_core.OutputEmitterRef<{
|
|
2392
|
+
item: ClxCartItem;
|
|
2393
|
+
quantity: number;
|
|
2394
|
+
}>;
|
|
2395
|
+
readonly onClearCart: _angular_core.OutputEmitterRef<void>;
|
|
2396
|
+
readonly onApplyCoupon: _angular_core.OutputEmitterRef<string>;
|
|
2397
|
+
readonly onCheckout: _angular_core.OutputEmitterRef<void>;
|
|
2398
|
+
protected _couponCode: string;
|
|
2399
|
+
protected readonly _skeletons: unknown[];
|
|
2400
|
+
protected readonly _subtotal: _angular_core.Signal<number>;
|
|
2401
|
+
protected readonly _savingsAmount: _angular_core.Signal<number>;
|
|
2402
|
+
protected readonly _couponDiscount: _angular_core.Signal<number>;
|
|
2403
|
+
protected readonly _total: _angular_core.Signal<number>;
|
|
2404
|
+
protected readonly _totalUnits: _angular_core.Signal<number>;
|
|
2405
|
+
applyCoupon(): void;
|
|
2406
|
+
removeCoupon(): void;
|
|
2407
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCartComponent, never>;
|
|
2408
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxCartComponent, "clx-cart", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "coupon": { "alias": "coupon"; "required": false; "isSignal": true; }; }, { "coupon": "couponChange"; "onRemove": "onRemove"; "onQuantityChange": "onQuantityChange"; "onClearCart": "onClearCart"; "onApplyCoupon": "onApplyCoupon"; "onCheckout": "onCheckout"; }, never, never, true, never>;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
interface ClxCartSummaryData {
|
|
2412
|
+
items: ClxCartItem[];
|
|
2413
|
+
subtotal: number;
|
|
2414
|
+
savingsAmount: number;
|
|
2415
|
+
couponDiscount: number;
|
|
2416
|
+
coupon: ClxCouponResult | null;
|
|
2417
|
+
total: number;
|
|
2418
|
+
color: ClxColorInput;
|
|
2419
|
+
}
|
|
2420
|
+
declare class ClxCartSummaryDrawer {
|
|
2421
|
+
readonly data: ClxCartSummaryData;
|
|
2422
|
+
private readonly _ref;
|
|
2423
|
+
protected _confirm(): void;
|
|
2424
|
+
protected _cancel(): void;
|
|
2425
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxCartSummaryDrawer, never>;
|
|
2426
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxCartSummaryDrawer, "clx-cart-summary-drawer", never, {}, {}, never, never, true, never>;
|
|
2427
|
+
}
|
|
2428
|
+
|
|
2429
|
+
declare const CLX_MODAL_DATA: InjectionToken<any>;
|
|
2430
|
+
declare const CLX_MODAL_REF: InjectionToken<ClxModalRef<any>>;
|
|
2431
|
+
interface ClxModalAnimConfig {
|
|
2432
|
+
animationIn: string;
|
|
2433
|
+
animationOut: string;
|
|
2434
|
+
animationDuration: number;
|
|
2435
|
+
}
|
|
2436
|
+
declare const CLX_MODAL_ANIM_CONFIG: InjectionToken<ClxModalAnimConfig>;
|
|
2437
|
+
|
|
2438
|
+
type ClxAlertType = 'success' | 'danger' | 'warning' | 'info' | 'confirm';
|
|
2439
|
+
type ClxAlertResult = boolean;
|
|
2440
|
+
interface ClxAlertButtonOptions {
|
|
2441
|
+
text: string;
|
|
2442
|
+
color?: ClxButtonColor;
|
|
2443
|
+
variant?: ClxButtonVariant;
|
|
2444
|
+
}
|
|
2445
|
+
interface ClxAlertOptions {
|
|
2446
|
+
/** Alert type — drives icon, color and defaults. */
|
|
2447
|
+
type?: ClxAlertType;
|
|
2448
|
+
/** Dialog title. Supports safe HTML string. */
|
|
2449
|
+
title?: string;
|
|
2450
|
+
/** Body message. Supports safe HTML string. */
|
|
2451
|
+
message?: string;
|
|
2452
|
+
/** Show a cancel / secondary button. Default: false (true for 'confirm'). */
|
|
2453
|
+
showCancelButton?: boolean;
|
|
2454
|
+
/** Confirm button config. */
|
|
2455
|
+
confirmButton?: ClxAlertButtonOptions;
|
|
2456
|
+
/** Cancel button config. */
|
|
2457
|
+
cancelButton?: ClxAlertButtonOptions;
|
|
2458
|
+
/** animate.css entrance animation name. Default: 'zoomIn' */
|
|
2459
|
+
animationIn?: ClxAnimateName;
|
|
2460
|
+
/** animate.css exit animation name. Default: 'zoomOut' */
|
|
2461
|
+
animationOut?: ClxAnimateName;
|
|
2462
|
+
/** Duration of entrance/exit animations in ms. Default: 400 */
|
|
2463
|
+
animationDuration?: number;
|
|
2464
|
+
/**
|
|
2465
|
+
* Auto-close timer in milliseconds.
|
|
2466
|
+
* When set, a progress bar counts down and the dialog closes automatically
|
|
2467
|
+
* resolving to `false`.
|
|
2468
|
+
*/
|
|
2469
|
+
timer?: number;
|
|
2470
|
+
/** Show backdrop blur. Default: true */
|
|
2471
|
+
backdrop?: boolean;
|
|
2472
|
+
/** Prevent closing on backdrop click. Default: false */
|
|
2473
|
+
disableClose?: boolean;
|
|
2474
|
+
}
|
|
2475
|
+
|
|
2476
|
+
declare const CLX_ALERT_OPTIONS: InjectionToken<ClxAlertOptions>;
|
|
2477
|
+
declare const CLX_ALERT_RESOLVE: InjectionToken<(result: ClxAlertResult) => void>;
|
|
2478
|
+
|
|
2479
|
+
declare const CLX_TOAST_DEFAULTS: InjectionToken<Partial<ClxToastOptions>>;
|
|
2480
|
+
|
|
2481
|
+
declare class ClxAnimateDirective implements OnInit, OnChanges {
|
|
2482
|
+
readonly clxAnimate: _angular_core.InputSignal<ClxAnimateName>;
|
|
2483
|
+
readonly trigger: _angular_core.InputSignal<ClxAnimateTrigger>;
|
|
2484
|
+
readonly duration: _angular_core.InputSignalWithTransform<number, number>;
|
|
2485
|
+
readonly delay: _angular_core.InputSignalWithTransform<number, number>;
|
|
2486
|
+
readonly repeat: _angular_core.InputSignal<number | "infinite" | undefined>;
|
|
2487
|
+
readonly easing: _angular_core.InputSignal<string | undefined>;
|
|
2488
|
+
readonly fillMode: _angular_core.InputSignal<"none" | "forwards" | "backwards" | "both" | undefined>;
|
|
2489
|
+
readonly once: _angular_core.InputSignalWithTransform<boolean, boolean>;
|
|
2490
|
+
readonly threshold: _angular_core.InputSignalWithTransform<number, number>;
|
|
2491
|
+
readonly animationStart: _angular_core.OutputEmitterRef<void>;
|
|
2492
|
+
readonly animationEnd: _angular_core.OutputEmitterRef<ClxAnimateEvent>;
|
|
2493
|
+
private readonly el;
|
|
2494
|
+
private readonly service;
|
|
2495
|
+
private readonly platformId;
|
|
2496
|
+
private readonly destroyRef;
|
|
2497
|
+
private _abortCtrl?;
|
|
2498
|
+
private _unobserve?;
|
|
2499
|
+
private _hasPlayed;
|
|
2500
|
+
private _initialized;
|
|
2501
|
+
private _destroyed;
|
|
2502
|
+
get nativeElement(): HTMLElement;
|
|
2503
|
+
ngOnInit(): void;
|
|
2504
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
2505
|
+
/**
|
|
2506
|
+
* Ejecuta la animación. Retorna una Promise que resuelve al terminar.
|
|
2507
|
+
* El output animationEnd se emite al resolverse la Promise.
|
|
2508
|
+
*/
|
|
2509
|
+
play(overrides?: Partial<ClxAnimateConfig>): Promise<void>;
|
|
2510
|
+
stop(): void;
|
|
2511
|
+
private _buildConfig;
|
|
2512
|
+
private _bindTrigger;
|
|
2513
|
+
private _bindIntersection;
|
|
2514
|
+
private _unbindTrigger;
|
|
2515
|
+
private _teardown;
|
|
2516
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxAnimateDirective, never>;
|
|
2517
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxAnimateDirective, "[clxAnimate]", ["clxAnimate"], { "clxAnimate": { "alias": "clxAnimate"; "required": true; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "repeat": { "alias": "repeat"; "required": false; "isSignal": true; }; "easing": { "alias": "easing"; "required": false; "isSignal": true; }; "fillMode": { "alias": "fillMode"; "required": false; "isSignal": true; }; "once": { "alias": "once"; "required": false; "isSignal": true; }; "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; }, { "animationStart": "animationStart"; "animationEnd": "animationEnd"; }, never, never, true, never>;
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
declare class ClxAnimateGroupDirective {
|
|
2521
|
+
readonly stagger: _angular_core.InputSignalWithTransform<number, number>;
|
|
2522
|
+
children: QueryList<ClxAnimateDirective>;
|
|
2523
|
+
private readonly destroyRef;
|
|
2524
|
+
private _pendingTimers;
|
|
2525
|
+
constructor();
|
|
2526
|
+
/**
|
|
2527
|
+
* Ejecuta todos los hijos en secuencia escalonada (stagger).
|
|
2528
|
+
* Cancela cualquier stagger previo en vuelo antes de iniciar uno nuevo.
|
|
2529
|
+
* Retorna una Promise que resuelve cuando todos los hijos terminan.
|
|
2530
|
+
*/
|
|
2531
|
+
playAll(): Promise<void[]>;
|
|
2532
|
+
/** Detiene todos los hijos y cancela los timers de stagger pendientes. */
|
|
2533
|
+
stopAll(): void;
|
|
2534
|
+
private _clearTimers;
|
|
2535
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxAnimateGroupDirective, never>;
|
|
2536
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxAnimateGroupDirective, "[clxAnimateGroup]", ["clxAnimateGroup"], { "stagger": { "alias": "stagger"; "required": false; "isSignal": true; }; }, {}, ["children"], never, true, never>;
|
|
2537
|
+
}
|
|
2538
|
+
|
|
2539
|
+
declare class ClxTooltipDirective {
|
|
2540
|
+
readonly clxTooltip: _angular_core.InputSignal<string>;
|
|
2541
|
+
readonly clxTooltipPosition: _angular_core.InputSignal<ClxTooltipPosition>;
|
|
2542
|
+
readonly clxTooltipColor: _angular_core.InputSignal<ClxColorInput>;
|
|
2543
|
+
readonly clxTooltipSize: _angular_core.InputSignal<ClxTooltipSize>;
|
|
2544
|
+
readonly clxTooltipDelay: _angular_core.InputSignal<number>;
|
|
2545
|
+
private readonly _el;
|
|
2546
|
+
private readonly _renderer;
|
|
2547
|
+
private readonly _appRef;
|
|
2548
|
+
private readonly _injector;
|
|
2549
|
+
private readonly _animate;
|
|
2550
|
+
private readonly _platformId;
|
|
2551
|
+
private readonly _destroyRef;
|
|
2552
|
+
private _ref;
|
|
2553
|
+
private _pendingRef;
|
|
2554
|
+
private _showTimer;
|
|
2555
|
+
private _hideTimer;
|
|
2556
|
+
private _tooltipId;
|
|
2557
|
+
private _abort;
|
|
2558
|
+
private _destroyed;
|
|
2559
|
+
constructor();
|
|
2560
|
+
private _scheduleShow;
|
|
2561
|
+
private _scheduleHide;
|
|
2562
|
+
private _show;
|
|
2563
|
+
private _hide;
|
|
2564
|
+
private _resolvePosition;
|
|
2565
|
+
private _placeAt;
|
|
2566
|
+
private _destroyBubble;
|
|
2567
|
+
private _forceDestroyBubble;
|
|
2568
|
+
private _clearShow;
|
|
2569
|
+
private _clearHide;
|
|
2570
|
+
private _clearTimers;
|
|
2571
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxTooltipDirective, never>;
|
|
2572
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClxTooltipDirective, "[clxTooltip]", never, { "clxTooltip": { "alias": "clxTooltip"; "required": true; "isSignal": true; }; "clxTooltipPosition": { "alias": "clxTooltipPosition"; "required": false; "isSignal": true; }; "clxTooltipColor": { "alias": "clxTooltipColor"; "required": false; "isSignal": true; }; "clxTooltipSize": { "alias": "clxTooltipSize"; "required": false; "isSignal": true; }; "clxTooltipDelay": { "alias": "clxTooltipDelay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2573
|
+
}
|
|
2574
|
+
|
|
2575
|
+
declare class ClxAlertService {
|
|
2576
|
+
private readonly _overlay;
|
|
2577
|
+
private readonly _injector;
|
|
2578
|
+
private readonly _focusTrapFactory;
|
|
2579
|
+
open(options?: ClxAlertOptions): Promise<ClxAlertResult>;
|
|
2580
|
+
success(title: string, message?: string, opts?: Partial<ClxAlertOptions>): Promise<ClxAlertResult>;
|
|
2581
|
+
error(title: string, message?: string, opts?: Partial<ClxAlertOptions>): Promise<ClxAlertResult>;
|
|
2582
|
+
warning(title: string, message?: string, opts?: Partial<ClxAlertOptions>): Promise<ClxAlertResult>;
|
|
2583
|
+
info(title: string, message?: string, opts?: Partial<ClxAlertOptions>): Promise<ClxAlertResult>;
|
|
2584
|
+
confirm(title: string, message?: string, opts?: Partial<ClxAlertOptions>): Promise<ClxAlertResult>;
|
|
2585
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxAlertService, never>;
|
|
2586
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ClxAlertService>;
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
declare class ClxAnimateService {
|
|
2590
|
+
private readonly platformId;
|
|
2591
|
+
private readonly defaults;
|
|
2592
|
+
readonly isBrowser: boolean;
|
|
2593
|
+
private readonly _runningCount;
|
|
2594
|
+
/** True mientras al menos una animación está activa. */
|
|
2595
|
+
readonly isAnimating: _angular_core.Signal<boolean>;
|
|
2596
|
+
private readonly _cleanups;
|
|
2597
|
+
private readonly _observerPools;
|
|
2598
|
+
constructor();
|
|
2599
|
+
/**
|
|
2600
|
+
* Fuerza al browser a parsear los keyframes antes de la primera interacción
|
|
2601
|
+
* para evitar el jank del primer frame. Se ejecuta en idle para no bloquear
|
|
2602
|
+
* el critical rendering path.
|
|
2603
|
+
*/
|
|
2604
|
+
private _warmup;
|
|
2605
|
+
/**
|
|
2606
|
+
* Anima cualquier HTMLElement de forma imperativa.
|
|
2607
|
+
* Retorna una Promise que resuelve cuando la animación termina.
|
|
2608
|
+
*/
|
|
2609
|
+
animate(element: HTMLElement, animationOrConfig: ClxAnimateName | ClxAnimateConfig, overrides?: Partial<ClxAnimateConfig>): Promise<void>;
|
|
2610
|
+
/** Cancela la animación en curso en el elemento y restaura su estado. */
|
|
2611
|
+
stop(element: HTMLElement): void;
|
|
2612
|
+
/**
|
|
2613
|
+
* Registra un elemento en el pool de IntersectionObservers.
|
|
2614
|
+
* Reutiliza el observer existente para el threshold dado o crea uno nuevo.
|
|
2615
|
+
* Retorna una función para desregistrar el elemento.
|
|
2616
|
+
*/
|
|
2617
|
+
observe(element: HTMLElement, threshold: number, cb: (isIntersecting: boolean) => void): () => void;
|
|
2618
|
+
runAnimation(element: HTMLElement, config: ClxAnimateConfig): Promise<void>;
|
|
2619
|
+
buildConfig(animationOrConfig: ClxAnimateName | ClxAnimateConfig, overrides?: Partial<ClxAnimateConfig>): ClxAnimateConfig;
|
|
2620
|
+
private _cleanup;
|
|
2621
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxAnimateService, never>;
|
|
2622
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ClxAnimateService>;
|
|
2623
|
+
}
|
|
2624
|
+
|
|
2625
|
+
declare class ClxDrawerService {
|
|
2626
|
+
private readonly _overlay;
|
|
2627
|
+
private readonly _injector;
|
|
2628
|
+
private readonly _focusTrapFactory;
|
|
2629
|
+
open<R = unknown, D = unknown>(component: new (...args: any[]) => any, config?: ClxDrawerConfig<D>): ClxDrawerRef<R>;
|
|
2630
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxDrawerService, never>;
|
|
2631
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ClxDrawerService>;
|
|
2632
|
+
}
|
|
2633
|
+
|
|
2634
|
+
declare class ClxModalService {
|
|
2635
|
+
private readonly _overlay;
|
|
2636
|
+
private readonly _injector;
|
|
2637
|
+
private readonly _focusTrapFactory;
|
|
2638
|
+
open<R = unknown, D = unknown>(component: new (...args: any[]) => any, config?: ClxModalConfig<D>): ClxModalRef<R>;
|
|
2639
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxModalService, never>;
|
|
2640
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ClxModalService>;
|
|
2641
|
+
}
|
|
2642
|
+
|
|
2643
|
+
declare class ClxToastService {
|
|
2644
|
+
private readonly _appRef;
|
|
2645
|
+
private readonly _injector;
|
|
2646
|
+
/** One container per position, lazily created */
|
|
2647
|
+
private readonly _containers;
|
|
2648
|
+
show(options: ClxToastOptions): void;
|
|
2649
|
+
success(message: string, opts?: Partial<ClxToastOptions>): void;
|
|
2650
|
+
error(message: string, opts?: Partial<ClxToastOptions>): void;
|
|
2651
|
+
warning(message: string, opts?: Partial<ClxToastOptions>): void;
|
|
2652
|
+
info(message: string, opts?: Partial<ClxToastOptions>): void;
|
|
2653
|
+
/** Dismiss all toasts across all containers immediately (no exit anim). */
|
|
2654
|
+
dismissAll(): void;
|
|
2655
|
+
private _getOrCreateContainer;
|
|
2656
|
+
private _uid;
|
|
2657
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxToastService, never>;
|
|
2658
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ClxToastService>;
|
|
2659
|
+
}
|
|
2660
|
+
|
|
2661
|
+
type ClxProgressBarSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
2662
|
+
type ClxProgressBarVariant = 'solid' | 'striped' | 'indeterminate';
|
|
2663
|
+
|
|
2664
|
+
declare class ClxProgressBarComponent {
|
|
2665
|
+
readonly value: _angular_core.InputSignal<number>;
|
|
2666
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
2667
|
+
readonly color: _angular_core.InputSignal<ClxColorInput>;
|
|
2668
|
+
readonly size: _angular_core.InputSignal<ClxProgressBarSize>;
|
|
2669
|
+
readonly variant: _angular_core.InputSignal<ClxProgressBarVariant>;
|
|
2670
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
2671
|
+
readonly showValue: _angular_core.InputSignal<boolean>;
|
|
2672
|
+
readonly valueFormat: _angular_core.InputSignal<"percent" | "fraction" | "value">;
|
|
2673
|
+
protected readonly _pct: _angular_core.Signal<number>;
|
|
2674
|
+
protected readonly _trackH: _angular_core.Signal<string>;
|
|
2675
|
+
protected readonly _labelCls: _angular_core.Signal<"text-xs text-slate-600" | "text-sm text-slate-600">;
|
|
2676
|
+
protected readonly _displayValue: _angular_core.Signal<string>;
|
|
2677
|
+
protected readonly _fillCls: _angular_core.Signal<string>;
|
|
2678
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxProgressBarComponent, never>;
|
|
2679
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxProgressBarComponent, "clx-progress-bar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2680
|
+
}
|
|
2681
|
+
|
|
2682
|
+
declare class ClxPageNotFoundComponent {
|
|
2683
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
2684
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
2685
|
+
readonly backLabel: _angular_core.InputSignal<string>;
|
|
2686
|
+
readonly back: _angular_core.OutputEmitterRef<void>;
|
|
2687
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxPageNotFoundComponent, never>;
|
|
2688
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxPageNotFoundComponent, "clx-page-not-found", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; }, { "back": "back"; }, never, never, true, never>;
|
|
2689
|
+
}
|
|
2690
|
+
|
|
2691
|
+
declare class ClxPageUnauthorizedComponent {
|
|
2692
|
+
readonly code: _angular_core.InputSignal<number>;
|
|
2693
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
2694
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
2695
|
+
readonly loginLabel: _angular_core.InputSignal<string>;
|
|
2696
|
+
readonly backLabel: _angular_core.InputSignal<string>;
|
|
2697
|
+
readonly login: _angular_core.OutputEmitterRef<void>;
|
|
2698
|
+
readonly back: _angular_core.OutputEmitterRef<void>;
|
|
2699
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxPageUnauthorizedComponent, never>;
|
|
2700
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxPageUnauthorizedComponent, "clx-page-unauthorized", never, { "code": { "alias": "code"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "loginLabel": { "alias": "loginLabel"; "required": false; "isSignal": true; }; "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; }, { "login": "login"; "back": "back"; }, never, never, true, never>;
|
|
2701
|
+
}
|
|
2702
|
+
|
|
2703
|
+
declare class ClxPageServerErrorComponent {
|
|
2704
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
2705
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
2706
|
+
readonly retryLabel: _angular_core.InputSignal<string>;
|
|
2707
|
+
readonly backLabel: _angular_core.InputSignal<string>;
|
|
2708
|
+
readonly errorId: _angular_core.InputSignal<string>;
|
|
2709
|
+
readonly retry: _angular_core.OutputEmitterRef<void>;
|
|
2710
|
+
readonly back: _angular_core.OutputEmitterRef<void>;
|
|
2711
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxPageServerErrorComponent, never>;
|
|
2712
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxPageServerErrorComponent, "clx-page-server-error", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; "backLabel": { "alias": "backLabel"; "required": false; "isSignal": true; }; "errorId": { "alias": "errorId"; "required": false; "isSignal": true; }; }, { "retry": "retry"; "back": "back"; }, never, never, true, never>;
|
|
2713
|
+
}
|
|
2714
|
+
|
|
2715
|
+
declare class ClxPageEmptyComponent {
|
|
2716
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
2717
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
2718
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
2719
|
+
readonly ctaLabel: _angular_core.InputSignal<string>;
|
|
2720
|
+
readonly ctaIcon: _angular_core.InputSignal<string>;
|
|
2721
|
+
readonly ctaColor: _angular_core.InputSignal<ClxColorInput>;
|
|
2722
|
+
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg">;
|
|
2723
|
+
readonly cta: _angular_core.OutputEmitterRef<void>;
|
|
2724
|
+
protected _iconWrap(): string;
|
|
2725
|
+
protected _iconSize(): 'sm' | 'md' | 'lg' | 'xl';
|
|
2726
|
+
protected _titleCls(): "text-sm font-semibold text-slate-600 mb-1" | "text-xl font-semibold text-slate-700 mb-2" | "text-base font-semibold text-slate-700 mb-1";
|
|
2727
|
+
protected _descCls(): string;
|
|
2728
|
+
protected _ctaCls(): "mt-3" | "mt-5";
|
|
2729
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClxPageEmptyComponent, never>;
|
|
2730
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClxPageEmptyComponent, "clx-page-empty", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "ctaLabel": { "alias": "ctaLabel"; "required": false; "isSignal": true; }; "ctaIcon": { "alias": "ctaIcon"; "required": false; "isSignal": true; }; "ctaColor": { "alias": "ctaColor"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "cta": "cta"; }, never, never, true, never>;
|
|
2731
|
+
}
|
|
2732
|
+
|
|
2733
|
+
export { CLX_ALERT_OPTIONS, CLX_ALERT_RESOLVE, CLX_COLOR_HEX, CLX_COLOR_MAP, CLX_MODAL_ANIM_CONFIG, CLX_MODAL_DATA, CLX_MODAL_REF, CLX_RADIO_GROUP, CLX_TOAST_DEFAULTS, ClxAlertComponent, ClxAlertService, ClxAnimateDirective, ClxAnimateGroupDirective, ClxAnimateService, ClxAppLayoutComponent, ClxAvatarComponent, ClxBadgeComponent, ClxButtonComponent, ClxButtonGroupComponent, ClxCardBodyDirective, ClxCardComponent, ClxCardFooterDirective, ClxCardHeaderDirective, ClxCarouselComponent, ClxCarouselDirective, ClxCartComponent, ClxCartSummaryDrawer, ClxCellDirective, ClxChartComponent, ClxCheckboxComponent, ClxColorPickerComponent, ClxColumnDefDirective, ClxDateRangePickerComponent, ClxDatepickerComponent, ClxDrawerComponent, ClxDrawerService, ClxEditorComponent, ClxEditorLinkModalComponent, ClxFilterPanelComponent, ClxHeaderCellDirective, ClxIconComponent, ClxInputComponent, ClxListComponent, ClxListItemComponent, ClxMenuComponent, ClxMenuItemComponent, ClxModalComponent, ClxModalService, ClxNavGroupComponent, ClxNumberComponent, ClxPageEmptyComponent, ClxPageNotFoundComponent, ClxPageServerErrorComponent, ClxPageUnauthorizedComponent, ClxPaginationComponent, ClxProductComponent, ClxProductDetailComponent, ClxProgressBarComponent, ClxRadioComponent, ClxRadioGroupComponent, ClxRatingComponent, ClxSelectComponent, ClxSkeletonComponent, ClxSliderComponent, ClxSpinnerComponent, ClxStatCardComponent, ClxStepComponent, ClxStepperComponent, ClxSwitchComponent, ClxTabDirective, ClxTableComponent, ClxTabsComponent, ClxTagComponent, ClxTextareaComponent, ClxTimelineComponent, ClxTimelineItemComponent, ClxToastComponent, ClxToastContainerComponent, ClxToastService, ClxTooltipComponent, ClxTooltipDirective, ClxTreeComponent, ClxUploadComponent, ClxWishlistComponent, ClxWizardComponent, parseColorInput, resolveColor };
|
|
2734
|
+
export type { ClxAlertButtonOptions, ClxAlertOptions, ClxAlertResult, ClxAlertType, ClxAnimateAttentionSeeker, ClxAnimateBackEntrance, ClxAnimateBackExit, ClxAnimateBouncingEntrance, ClxAnimateBouncingExit, ClxAnimateConfig, ClxAnimateDefaults, ClxAnimateEvent, ClxAnimateFadingEntrance, ClxAnimateFadingExit, ClxAnimateFlipper, ClxAnimateLightspeed, ClxAnimateName, ClxAnimateRotatingEntrance, ClxAnimateRotatingExit, ClxAnimateSlidingEntrance, ClxAnimateSlidingExit, ClxAnimateSpecial, ClxAnimateTrigger, ClxAnimateZoomingEntrance, ClxAnimateZoomingExit, ClxAvatarContentType, ClxBadgeVariant, ClxButtonColor, ClxButtonGroupShape, ClxButtonVariant, ClxCardPadding, ClxCardVariant, ClxCarouselAspectRatio, ClxCarouselConfig, ClxCartItem, ClxCartSummaryData, ClxCellContext, ClxChartOptions, ClxChartType, ClxCheckboxVariant, ClxColor, ClxColorInput, ClxColorPickerFormat, ClxColorPickerSize, ClxColorResolved, ClxColorTokens, ClxCouponResult, ClxDateRange, ClxDateRangePickerSize, ClxDateRangePickerStatus, ClxDatepickerSize, ClxDatepickerStatus, ClxDrawerButtonOptions, ClxDrawerConfig, ClxDrawerRef, ClxDrawerSize, ClxEditorSize, ClxEditorTool, ClxEditorToolbarGroup, ClxFilterChangeEvent, ClxFilterField, ClxFilterFieldType, ClxFilterOption, ClxFilterValue, ClxFilterValues, ClxInputSize, ClxInputStatus, ClxInputType, ClxListItem, ClxListSize, ClxListVariant, ClxModalButtonOptions, ClxModalConfig, ClxModalRef, ClxModalSize, ClxNumberSize, ClxNumberVariant, ClxPageChangeEvent, ClxPageSizeChangeEvent, ClxPaginationSize, ClxProduct, ClxProductDescription, ClxProductDetailData, ClxProductLayout, ClxProductSize, ClxProductSpec, ClxProgressBarSize, ClxProgressBarVariant, ClxRadioVariant, ClxReview, ClxRippleItem, ClxSelectOption, ClxSelectSize, ClxShade, ClxShape, ClxSize, ClxSkeletonVariant, ClxSliderSize, ClxSpecOption, ClxSpecType, ClxSpinnerColor, ClxSpinnerVariant, ClxStatMetric, ClxStepperOrientation, ClxStepperSize, ClxStepperStatus, ClxStepperStep, ClxTabItem, ClxTableColumn, ClxTablePageEvent, ClxTableSelectionEvent, ClxTableSort, ClxTableSortEvent, ClxTagShape, ClxTagSize, ClxTagVariant, ClxTextareaResize, ClxTextareaSize, ClxTextareaStatus, ClxTimelineLineStyle, ClxTimelineMode, ClxTimelineSize, ClxToastAction, ClxToastEntry, ClxToastOptions, ClxToastPosition, ClxToastType, ClxTooltipPosition, ClxTooltipSize, ClxTreeExpandEvent, ClxTreeNode, ClxTreeSelectEvent, ClxTreeSize, ClxTreeVariant, ClxTrendDirection, ClxUploadError, ClxUploadSize, ClxVariation, ClxWishlistItem, ClxWishlistPageChangeEvent, ClxWizardColor, ClxWizardOrientation, ClxWizardStepStatus, SparkPoint };
|