@eduboxpro/studio 0.1.11 → 0.1.13
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/fesm2022/eduboxpro-studio.mjs +1012 -13
- package/fesm2022/eduboxpro-studio.mjs.map +1 -1
- package/index.d.ts +508 -33
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, EnvironmentProviders,
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, AfterViewInit, ElementRef, TemplateRef, WritableSignal, OnInit, Signal } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
4
4
|
import { icons } from 'lucide-angular';
|
|
5
5
|
import { Params, IsActiveMatchOptions } from '@angular/router';
|
|
@@ -185,6 +185,16 @@ interface CheckboxDefaultsConfig {
|
|
|
185
185
|
radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
186
186
|
labelPosition?: 'left' | 'right';
|
|
187
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* RadioButton component defaults configuration
|
|
190
|
+
*/
|
|
191
|
+
interface RadioButtonDefaultsConfig {
|
|
192
|
+
size?: 'sm' | 'md' | 'lg';
|
|
193
|
+
color?: 'primary' | 'secondary' | 'success' | 'error';
|
|
194
|
+
variant?: 'default' | 'outlined' | 'filled';
|
|
195
|
+
radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
196
|
+
labelPosition?: 'left' | 'right';
|
|
197
|
+
}
|
|
188
198
|
/**
|
|
189
199
|
* Textarea component defaults configuration
|
|
190
200
|
*/
|
|
@@ -257,6 +267,37 @@ interface DrawerDefaultsConfig {
|
|
|
257
267
|
blockScroll?: boolean;
|
|
258
268
|
role?: 'dialog' | 'alertdialog';
|
|
259
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Sidebar component defaults configuration
|
|
272
|
+
*/
|
|
273
|
+
interface SidebarDefaultsConfig {
|
|
274
|
+
position?: 'left' | 'right';
|
|
275
|
+
size?: 'sm' | 'md' | 'lg' | 'full';
|
|
276
|
+
variant?: 'default' | 'minimal' | 'compact';
|
|
277
|
+
modal?: boolean;
|
|
278
|
+
collapsible?: boolean;
|
|
279
|
+
defaultCollapsed?: boolean;
|
|
280
|
+
closeOnNavigate?: boolean;
|
|
281
|
+
closeOnBackdropClick?: boolean;
|
|
282
|
+
closeOnEscape?: boolean;
|
|
283
|
+
blockScroll?: boolean;
|
|
284
|
+
swipeToClose?: boolean;
|
|
285
|
+
showHeader?: boolean;
|
|
286
|
+
showFooter?: boolean;
|
|
287
|
+
showCloseButton?: boolean;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* ColorPicker component defaults configuration
|
|
291
|
+
*/
|
|
292
|
+
interface ColorPickerDefaultsConfig {
|
|
293
|
+
variant?: 'inline' | 'popover' | 'input';
|
|
294
|
+
size?: 'sm' | 'md' | 'lg';
|
|
295
|
+
format?: 'hex' | 'rgb' | 'hsl';
|
|
296
|
+
showAlpha?: boolean;
|
|
297
|
+
showPresets?: boolean;
|
|
298
|
+
showFormatToggle?: boolean;
|
|
299
|
+
showCopyButton?: boolean;
|
|
300
|
+
}
|
|
260
301
|
/**
|
|
261
302
|
* Components defaults configuration
|
|
262
303
|
*/
|
|
@@ -266,11 +307,14 @@ interface ComponentsConfig {
|
|
|
266
307
|
switch?: SwitchDefaultsConfig;
|
|
267
308
|
input?: InputDefaultsConfig;
|
|
268
309
|
checkbox?: CheckboxDefaultsConfig;
|
|
310
|
+
radioButton?: RadioButtonDefaultsConfig;
|
|
269
311
|
textarea?: TextareaDefaultsConfig;
|
|
270
312
|
buttonGroup?: ButtonGroupDefaultsConfig;
|
|
271
313
|
buttonToggleGroup?: ButtonToggleGroupDefaultsConfig;
|
|
272
314
|
select?: SelectDefaultsConfig;
|
|
273
315
|
drawer?: DrawerDefaultsConfig;
|
|
316
|
+
sidebar?: SidebarDefaultsConfig;
|
|
317
|
+
colorPicker?: ColorPickerDefaultsConfig;
|
|
274
318
|
}
|
|
275
319
|
/**
|
|
276
320
|
* Main Studio configuration interface
|
|
@@ -332,21 +376,30 @@ declare class StudioConfigService {
|
|
|
332
376
|
*/
|
|
333
377
|
declare function provideStudioConfig(config?: StudioConfig): EnvironmentProviders;
|
|
334
378
|
|
|
379
|
+
/**
|
|
380
|
+
* Badge component types
|
|
381
|
+
*/
|
|
382
|
+
type BadgeVariant = 'solid' | 'outline' | 'soft' | 'dot';
|
|
383
|
+
type BadgeSize = 'sm' | 'md' | 'lg';
|
|
384
|
+
type BadgeColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'neutral';
|
|
385
|
+
type BadgeRadius = 'sm' | 'md' | 'lg' | 'full';
|
|
386
|
+
type BadgeIconPosition = 'left' | 'right';
|
|
387
|
+
|
|
335
388
|
declare class BadgeComponent {
|
|
336
389
|
private readonly configService;
|
|
337
390
|
private readonly badgeDefaults;
|
|
338
|
-
variantInput: _angular_core.InputSignal<
|
|
339
|
-
sizeInput: _angular_core.InputSignal<
|
|
340
|
-
colorInput: _angular_core.InputSignal<
|
|
341
|
-
radiusInput: _angular_core.InputSignal<
|
|
391
|
+
variantInput: _angular_core.InputSignal<BadgeVariant | undefined>;
|
|
392
|
+
sizeInput: _angular_core.InputSignal<BadgeSize | undefined>;
|
|
393
|
+
colorInput: _angular_core.InputSignal<BadgeColor | undefined>;
|
|
394
|
+
radiusInput: _angular_core.InputSignal<BadgeRadius | undefined>;
|
|
342
395
|
variant: _angular_core.Signal<"solid" | "outline" | "soft" | "dot">;
|
|
343
396
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
344
397
|
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning" | "info" | "neutral">;
|
|
345
|
-
radius: _angular_core.Signal<"
|
|
398
|
+
radius: _angular_core.Signal<"sm" | "md" | "lg" | "full">;
|
|
346
399
|
icon: _angular_core.InputSignal<string | undefined>;
|
|
347
|
-
iconPosition: _angular_core.InputSignal<
|
|
400
|
+
iconPosition: _angular_core.InputSignal<BadgeIconPosition>;
|
|
348
401
|
dot: _angular_core.InputSignal<boolean>;
|
|
349
|
-
dotColor: _angular_core.InputSignal<
|
|
402
|
+
dotColor: _angular_core.InputSignal<BadgeColor | undefined>;
|
|
350
403
|
removable: _angular_core.InputSignal<boolean>;
|
|
351
404
|
removed: _angular_core.OutputEmitterRef<void>;
|
|
352
405
|
href: _angular_core.InputSignal<string | undefined>;
|
|
@@ -370,6 +423,38 @@ declare class BadgeComponent {
|
|
|
370
423
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "studio-badge", never, { "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "colorInput": { "alias": "color"; "required": false; "isSignal": true; }; "radiusInput": { "alias": "radius"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; "dotColor": { "alias": "dotColor"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "showZero": { "alias": "showZero"; "required": false; "isSignal": true; }; "uppercase": { "alias": "uppercase"; "required": false; "isSignal": true; }; "bold": { "alias": "bold"; "required": false; "isSignal": true; }; "pulse": { "alias": "pulse"; "required": false; "isSignal": true; }; "autoColor": { "alias": "autoColor"; "required": false; "isSignal": true; }; }, { "removed": "removed"; "clicked": "clicked"; }, never, ["*"], true, never>;
|
|
371
424
|
}
|
|
372
425
|
|
|
426
|
+
type BadgeWrapperPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
|
|
427
|
+
type BadgeWrapperSize = 'sm' | 'md' | 'lg';
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* BadgeWrapper component - Wraps content with a positioned badge
|
|
431
|
+
*
|
|
432
|
+
* @example
|
|
433
|
+
* <studio-badge-wrapper [count]="5" color="error">
|
|
434
|
+
* <studio-button variant="ghost">
|
|
435
|
+
* <studio-icon name="bell" />
|
|
436
|
+
* </studio-button>
|
|
437
|
+
* </studio-badge-wrapper>
|
|
438
|
+
*/
|
|
439
|
+
declare class BadgeWrapperComponent {
|
|
440
|
+
count: _angular_core.InputSignal<string | number | undefined>;
|
|
441
|
+
content: _angular_core.InputSignal<string | undefined>;
|
|
442
|
+
variant: _angular_core.InputSignal<BadgeVariant>;
|
|
443
|
+
color: _angular_core.InputSignal<BadgeColor>;
|
|
444
|
+
size: _angular_core.InputSignal<BadgeWrapperSize>;
|
|
445
|
+
position: _angular_core.InputSignal<BadgeWrapperPosition>;
|
|
446
|
+
showZero: _angular_core.InputSignal<boolean>;
|
|
447
|
+
max: _angular_core.InputSignal<number>;
|
|
448
|
+
dot: _angular_core.InputSignal<boolean>;
|
|
449
|
+
overlap: _angular_core.InputSignal<boolean>;
|
|
450
|
+
class: _angular_core.InputSignal<string>;
|
|
451
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
452
|
+
protected badgeContent: _angular_core.Signal<string | undefined>;
|
|
453
|
+
protected shouldShowBadge: _angular_core.Signal<boolean>;
|
|
454
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeWrapperComponent, never>;
|
|
455
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeWrapperComponent, "studio-badge-wrapper", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "showZero": { "alias": "showZero"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; "overlap": { "alias": "overlap"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
456
|
+
}
|
|
457
|
+
|
|
373
458
|
/**
|
|
374
459
|
* Button component with multiple variants, sizes, colors and states
|
|
375
460
|
*
|
|
@@ -381,16 +466,16 @@ declare class BadgeComponent {
|
|
|
381
466
|
declare class ButtonComponent {
|
|
382
467
|
private readonly configService;
|
|
383
468
|
private readonly buttonDefaults;
|
|
384
|
-
variantInput: _angular_core.InputSignal<"
|
|
469
|
+
variantInput: _angular_core.InputSignal<"solid" | "outline" | "ghost" | undefined>;
|
|
385
470
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
386
471
|
colorInput: _angular_core.InputSignal<"primary" | "secondary" | "success" | "error" | "warning" | undefined>;
|
|
387
|
-
radiusInput: _angular_core.InputSignal<"
|
|
472
|
+
radiusInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "xl" | "full" | undefined>;
|
|
388
473
|
shadowInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | undefined>;
|
|
389
474
|
compactInput: _angular_core.InputSignal<boolean | undefined>;
|
|
390
|
-
variant: _angular_core.Signal<"
|
|
475
|
+
variant: _angular_core.Signal<"solid" | "outline" | "ghost">;
|
|
391
476
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
392
477
|
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning">;
|
|
393
|
-
radius: _angular_core.Signal<"
|
|
478
|
+
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "xl" | "full">;
|
|
394
479
|
shadow: _angular_core.Signal<"sm" | "md" | "lg" | "none">;
|
|
395
480
|
compact: _angular_core.Signal<boolean>;
|
|
396
481
|
disabled: _angular_core.InputSignal<boolean>;
|
|
@@ -419,14 +504,14 @@ declare class ButtonGroupComponent {
|
|
|
419
504
|
private readonly groupDefaults;
|
|
420
505
|
orientationInput: _angular_core.InputSignal<"vertical" | "horizontal" | undefined>;
|
|
421
506
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
422
|
-
variantInput: _angular_core.InputSignal<"
|
|
507
|
+
variantInput: _angular_core.InputSignal<"solid" | "outline" | "ghost" | undefined>;
|
|
423
508
|
colorInput: _angular_core.InputSignal<"primary" | "secondary" | "success" | "error" | "warning" | undefined>;
|
|
424
|
-
radiusInput: _angular_core.InputSignal<"
|
|
509
|
+
radiusInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "xl" | "full" | undefined>;
|
|
425
510
|
orientation: _angular_core.Signal<"vertical" | "horizontal">;
|
|
426
511
|
size: _angular_core.Signal<"sm" | "md" | "lg" | undefined>;
|
|
427
|
-
variant: _angular_core.Signal<"
|
|
512
|
+
variant: _angular_core.Signal<"solid" | "outline" | "ghost" | undefined>;
|
|
428
513
|
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning" | undefined>;
|
|
429
|
-
radius: _angular_core.Signal<"
|
|
514
|
+
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "xl" | "full" | undefined>;
|
|
430
515
|
attached: _angular_core.InputSignal<boolean>;
|
|
431
516
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
432
517
|
disabled: _angular_core.InputSignal<boolean>;
|
|
@@ -601,6 +686,95 @@ type CheckboxColor = 'primary' | 'secondary' | 'success' | 'error';
|
|
|
601
686
|
type CheckboxVariant = 'default' | 'outlined' | 'filled';
|
|
602
687
|
type CheckboxRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
603
688
|
|
|
689
|
+
type ColorFormat = 'hex' | 'rgb' | 'hsl';
|
|
690
|
+
interface RGB {
|
|
691
|
+
r: number;
|
|
692
|
+
g: number;
|
|
693
|
+
b: number;
|
|
694
|
+
}
|
|
695
|
+
interface HSL {
|
|
696
|
+
h: number;
|
|
697
|
+
s: number;
|
|
698
|
+
l: number;
|
|
699
|
+
}
|
|
700
|
+
interface ColorValue {
|
|
701
|
+
hex: string;
|
|
702
|
+
rgb: RGB;
|
|
703
|
+
hsl: HSL;
|
|
704
|
+
alpha: number;
|
|
705
|
+
}
|
|
706
|
+
interface ColorPreset {
|
|
707
|
+
label?: string;
|
|
708
|
+
value: string;
|
|
709
|
+
description?: string;
|
|
710
|
+
}
|
|
711
|
+
interface ColorSwatchGroup {
|
|
712
|
+
label: string;
|
|
713
|
+
colors: ColorPreset[];
|
|
714
|
+
}
|
|
715
|
+
type ColorPickerVariant = 'inline' | 'popover' | 'input';
|
|
716
|
+
type ColorPickerSize = 'sm' | 'md' | 'lg';
|
|
717
|
+
|
|
718
|
+
declare class ColorPickerComponent implements ControlValueAccessor, AfterViewInit {
|
|
719
|
+
private readonly configService;
|
|
720
|
+
private readonly pickerDefaults;
|
|
721
|
+
protected readonly colorAreaCanvas: _angular_core.Signal<ElementRef<HTMLCanvasElement> | undefined>;
|
|
722
|
+
variantInput: _angular_core.InputSignal<ColorPickerVariant | undefined>;
|
|
723
|
+
sizeInput: _angular_core.InputSignal<ColorPickerSize | undefined>;
|
|
724
|
+
variant: _angular_core.Signal<"inline" | "popover" | "input">;
|
|
725
|
+
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
726
|
+
format: _angular_core.InputSignal<ColorFormat>;
|
|
727
|
+
showAlpha: _angular_core.InputSignal<boolean>;
|
|
728
|
+
showPresets: _angular_core.InputSignal<boolean>;
|
|
729
|
+
showFormatToggle: _angular_core.InputSignal<boolean>;
|
|
730
|
+
showCopyButton: _angular_core.InputSignal<boolean>;
|
|
731
|
+
presets: _angular_core.InputSignal<ColorPreset[] | ColorSwatchGroup[] | undefined>;
|
|
732
|
+
label: _angular_core.InputSignal<string | undefined>;
|
|
733
|
+
hint: _angular_core.InputSignal<string | undefined>;
|
|
734
|
+
required: _angular_core.InputSignal<boolean>;
|
|
735
|
+
error: _angular_core.InputSignal<boolean>;
|
|
736
|
+
errorMessage: _angular_core.InputSignal<string | undefined>;
|
|
737
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
738
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
739
|
+
colorChange: _angular_core.OutputEmitterRef<string>;
|
|
740
|
+
colorValueChange: _angular_core.OutputEmitterRef<ColorValue>;
|
|
741
|
+
copied: _angular_core.OutputEmitterRef<string>;
|
|
742
|
+
protected currentColor: _angular_core.WritableSignal<ColorValue>;
|
|
743
|
+
protected hue: _angular_core.WritableSignal<number>;
|
|
744
|
+
protected saturation: _angular_core.WritableSignal<number>;
|
|
745
|
+
protected lightness: _angular_core.WritableSignal<number>;
|
|
746
|
+
protected alpha: _angular_core.WritableSignal<number>;
|
|
747
|
+
protected currentFormat: _angular_core.WritableSignal<ColorFormat>;
|
|
748
|
+
protected generatedId: string;
|
|
749
|
+
private onChange;
|
|
750
|
+
private onTouched;
|
|
751
|
+
private isDragging;
|
|
752
|
+
constructor();
|
|
753
|
+
ngAfterViewInit(): void;
|
|
754
|
+
protected displayColor: _angular_core.Signal<string>;
|
|
755
|
+
protected effectivePresets: _angular_core.Signal<ColorPreset[] | ColorSwatchGroup[]>;
|
|
756
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
757
|
+
writeValue(value: string): void;
|
|
758
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
759
|
+
registerOnTouched(fn: () => void): void;
|
|
760
|
+
setDisabledState(isDisabled: boolean): void;
|
|
761
|
+
protected onHueChange(event: Event): void;
|
|
762
|
+
protected onAlphaChange(event: Event): void;
|
|
763
|
+
protected onColorAreaMouseDown(event: MouseEvent): void;
|
|
764
|
+
private updateColorArea;
|
|
765
|
+
private updateColor;
|
|
766
|
+
private renderColorArea;
|
|
767
|
+
protected toggleFormat(): void;
|
|
768
|
+
protected copyColor(): Promise<void>;
|
|
769
|
+
protected selectPreset(preset: ColorPreset): void;
|
|
770
|
+
protected isPresetGroup(item: any): item is ColorSwatchGroup;
|
|
771
|
+
private createColorValue;
|
|
772
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerComponent, never>;
|
|
773
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorPickerComponent, "studio-color-picker", never, { "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "showAlpha": { "alias": "showAlpha"; "required": false; "isSignal": true; }; "showPresets": { "alias": "showPresets"; "required": false; "isSignal": true; }; "showFormatToggle": { "alias": "showFormatToggle"; "required": false; "isSignal": true; }; "showCopyButton": { "alias": "showCopyButton"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "colorChange": "colorChange"; "colorValueChange": "colorValueChange"; "copied": "copied"; }, never, never, true, never>;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
declare const DEFAULT_COLOR_PRESETS: ColorSwatchGroup[];
|
|
777
|
+
|
|
604
778
|
type DrawerPosition = 'left' | 'right' | 'top' | 'bottom';
|
|
605
779
|
type DrawerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
606
780
|
type DrawerRadius = 'none' | 'sm' | 'md' | 'lg';
|
|
@@ -646,7 +820,7 @@ declare class DrawerComponent {
|
|
|
646
820
|
customWidth: _angular_core.InputSignal<string | undefined>;
|
|
647
821
|
customHeight: _angular_core.InputSignal<string | undefined>;
|
|
648
822
|
position: _angular_core.Signal<"left" | "right" | "top" | "bottom">;
|
|
649
|
-
size: _angular_core.Signal<"
|
|
823
|
+
size: _angular_core.Signal<"sm" | "md" | "lg" | "xl" | "full">;
|
|
650
824
|
modalInput: _angular_core.InputSignal<boolean | undefined>;
|
|
651
825
|
closeOnEscapeInput: _angular_core.InputSignal<boolean | undefined>;
|
|
652
826
|
closeOnBackdropClickInput: _angular_core.InputSignal<boolean | undefined>;
|
|
@@ -836,12 +1010,12 @@ declare class InputComponent implements ControlValueAccessor {
|
|
|
836
1010
|
private readonly configService;
|
|
837
1011
|
private readonly inputDefaults;
|
|
838
1012
|
protected readonly inputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
839
|
-
variantInput: _angular_core.InputSignal<"
|
|
1013
|
+
variantInput: _angular_core.InputSignal<"outline" | "filled" | "underline" | undefined>;
|
|
840
1014
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
841
|
-
radiusInput: _angular_core.InputSignal<"
|
|
842
|
-
variant: _angular_core.Signal<"
|
|
1015
|
+
radiusInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "full" | undefined>;
|
|
1016
|
+
variant: _angular_core.Signal<"outline" | "filled" | "underline">;
|
|
843
1017
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
844
|
-
radius: _angular_core.Signal<"
|
|
1018
|
+
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "full">;
|
|
845
1019
|
disabled: _angular_core.InputSignal<boolean>;
|
|
846
1020
|
readonly: _angular_core.InputSignal<boolean>;
|
|
847
1021
|
loading: _angular_core.InputSignal<boolean>;
|
|
@@ -994,7 +1168,7 @@ declare class MenuComponent implements OnInit {
|
|
|
994
1168
|
animated: _angular_core.InputSignal<boolean>;
|
|
995
1169
|
animationDuration: _angular_core.InputSignal<number>;
|
|
996
1170
|
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
997
|
-
role: _angular_core.InputSignal<"
|
|
1171
|
+
role: _angular_core.InputSignal<"menu" | "navigation">;
|
|
998
1172
|
size: _angular_core.InputSignal<MenuSize>;
|
|
999
1173
|
compact: _angular_core.InputSignal<boolean>;
|
|
1000
1174
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
@@ -1050,6 +1224,108 @@ declare class MenuComponent implements OnInit {
|
|
|
1050
1224
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuComponent, "studio-menu", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "defaultExpanded": { "alias": "defaultExpanded"; "required": false; "isSignal": true; }; "expandOnHover": { "alias": "expandOnHover"; "required": false; "isSignal": true; }; "activeItem": { "alias": "activeItem"; "required": false; "isSignal": true; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; "isSignal": true; }; "selectOnNavigate": { "alias": "selectOnNavigate"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "keyboardNavigation": { "alias": "keyboardNavigation"; "required": false; "isSignal": true; }; "arrowNavigation": { "alias": "arrowNavigation"; "required": false; "isSignal": true; }; "homeEndNavigation": { "alias": "homeEndNavigation"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "animationDuration": { "alias": "animationDuration"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "showDividers": { "alias": "showDividers"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "indentLevel": { "alias": "indentLevel"; "required": false; "isSignal": true; }; "showExpandIcon": { "alias": "showExpandIcon"; "required": false; "isSignal": true; }; "expandIconPosition": { "alias": "expandIconPosition"; "required": false; "isSignal": true; }; "expandIcon": { "alias": "expandIcon"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "itemClass": { "alias": "itemClass"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "parentExpanded": { "alias": "parentExpanded"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "itemSelect": "itemSelect"; "expandChange": "expandChange"; "activeChange": "activeChange"; }, never, never, true, never>;
|
|
1051
1225
|
}
|
|
1052
1226
|
|
|
1227
|
+
type NavbarVariant = 'default' | 'filled' | 'outlined' | 'ghost' | 'transparent';
|
|
1228
|
+
type NavbarColor = 'primary' | 'secondary' | 'inherit';
|
|
1229
|
+
type NavbarSize = 'sm' | 'md' | 'lg';
|
|
1230
|
+
type NavbarShadow = 'none' | 'sm' | 'md' | 'lg';
|
|
1231
|
+
|
|
1232
|
+
/**
|
|
1233
|
+
* Navbar component - Primitive component for navigation headers
|
|
1234
|
+
*
|
|
1235
|
+
* @example
|
|
1236
|
+
* <studio-navbar variant="filled" [sticky]="true">
|
|
1237
|
+
* <div navbarLeft>Logo</div>
|
|
1238
|
+
* <div navbarCenter>Search</div>
|
|
1239
|
+
* <div navbarRight>User menu</div>
|
|
1240
|
+
* </studio-navbar>
|
|
1241
|
+
*/
|
|
1242
|
+
declare class NavbarComponent {
|
|
1243
|
+
variant: _angular_core.InputSignal<NavbarVariant>;
|
|
1244
|
+
color: _angular_core.InputSignal<NavbarColor>;
|
|
1245
|
+
shadow: _angular_core.InputSignal<NavbarShadow>;
|
|
1246
|
+
size: _angular_core.InputSignal<NavbarSize>;
|
|
1247
|
+
customHeight: _angular_core.InputSignal<number | null>;
|
|
1248
|
+
sticky: _angular_core.InputSignal<boolean>;
|
|
1249
|
+
blurBg: _angular_core.InputSignal<boolean>;
|
|
1250
|
+
bordered: _angular_core.InputSignal<boolean>;
|
|
1251
|
+
class: _angular_core.InputSignal<string>;
|
|
1252
|
+
navbarClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
1253
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
1254
|
+
handleClick(event: MouseEvent): void;
|
|
1255
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavbarComponent, never>;
|
|
1256
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavbarComponent, "studio-navbar", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "customHeight": { "alias": "customHeight"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "blurBg": { "alias": "blurBg"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "navbarClick": "navbarClick"; }, never, ["[navbarLeft]", "[navbarCenter]", "[navbarRight]", "*"], true, never>;
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1259
|
+
type RadioButtonSize = 'sm' | 'md' | 'lg';
|
|
1260
|
+
type RadioButtonColor = 'primary' | 'secondary' | 'success' | 'error';
|
|
1261
|
+
type RadioButtonVariant = 'default' | 'outlined' | 'filled';
|
|
1262
|
+
type RadioButtonRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
1263
|
+
/**
|
|
1264
|
+
* RadioButton component for selecting a single option from a group
|
|
1265
|
+
*
|
|
1266
|
+
* @example
|
|
1267
|
+
* <studio-radio-button
|
|
1268
|
+
* [(ngModel)]="selectedValue"
|
|
1269
|
+
* [value]="'option1'"
|
|
1270
|
+
* label="Option 1"
|
|
1271
|
+
* name="options"
|
|
1272
|
+
* />
|
|
1273
|
+
*/
|
|
1274
|
+
declare class RadioButtonComponent implements ControlValueAccessor {
|
|
1275
|
+
private readonly configService;
|
|
1276
|
+
private readonly radioDefaults;
|
|
1277
|
+
size: _angular_core.InputSignal<RadioButtonSize>;
|
|
1278
|
+
color: _angular_core.InputSignal<RadioButtonColor>;
|
|
1279
|
+
variant: _angular_core.InputSignal<RadioButtonVariant>;
|
|
1280
|
+
radius: _angular_core.InputSignal<RadioButtonRadius>;
|
|
1281
|
+
label: _angular_core.InputSignal<string | undefined>;
|
|
1282
|
+
labelPosition: _angular_core.InputSignal<"left" | "right">;
|
|
1283
|
+
description: _angular_core.InputSignal<string | undefined>;
|
|
1284
|
+
hint: _angular_core.InputSignal<string | undefined>;
|
|
1285
|
+
required: _angular_core.InputSignal<boolean>;
|
|
1286
|
+
error: _angular_core.InputSignal<boolean>;
|
|
1287
|
+
errorMessage: _angular_core.InputSignal<string | undefined>;
|
|
1288
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
1289
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
1290
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
1291
|
+
tabIndex: _angular_core.InputSignal<number>;
|
|
1292
|
+
value: _angular_core.InputSignal<any>;
|
|
1293
|
+
changed: _angular_core.OutputEmitterRef<any>;
|
|
1294
|
+
protected internalValue: _angular_core.WritableSignal<any>;
|
|
1295
|
+
protected isFocused: _angular_core.WritableSignal<boolean>;
|
|
1296
|
+
protected radioId: _angular_core.WritableSignal<string>;
|
|
1297
|
+
protected hostClasses: _angular_core.Signal<{
|
|
1298
|
+
[x: string]: boolean;
|
|
1299
|
+
'studio-radio-wrapper': boolean;
|
|
1300
|
+
'studio-radio-wrapper--disabled': boolean;
|
|
1301
|
+
'studio-radio-wrapper--error': boolean;
|
|
1302
|
+
'studio-radio-wrapper--focused': boolean;
|
|
1303
|
+
'studio-radio-wrapper--label-left': boolean;
|
|
1304
|
+
}>;
|
|
1305
|
+
protected radioClasses: _angular_core.Signal<{
|
|
1306
|
+
[x: string]: boolean;
|
|
1307
|
+
'studio-radio': boolean;
|
|
1308
|
+
'studio-radio--checked': boolean;
|
|
1309
|
+
'studio-radio--disabled': boolean;
|
|
1310
|
+
'studio-radio--error': boolean;
|
|
1311
|
+
}>;
|
|
1312
|
+
protected showError: _angular_core.Signal<string | false | undefined>;
|
|
1313
|
+
protected showHint: _angular_core.Signal<string | false | undefined>;
|
|
1314
|
+
protected isChecked: _angular_core.Signal<boolean>;
|
|
1315
|
+
private onChange;
|
|
1316
|
+
private onTouched;
|
|
1317
|
+
writeValue(value: any): void;
|
|
1318
|
+
registerOnChange(fn: (value: any) => void): void;
|
|
1319
|
+
registerOnTouched(fn: () => void): void;
|
|
1320
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1321
|
+
protected handleChange(event: Event): void;
|
|
1322
|
+
protected handleFocus(): void;
|
|
1323
|
+
protected handleBlur(): void;
|
|
1324
|
+
protected handleLabelClick(event: Event): void;
|
|
1325
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioButtonComponent, never>;
|
|
1326
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioButtonComponent, "studio-radio-button", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1053
1329
|
interface SelectOption<T = any> {
|
|
1054
1330
|
label: string;
|
|
1055
1331
|
value: T;
|
|
@@ -1080,10 +1356,10 @@ declare class SelectComponent<T = any> implements ControlValueAccessor {
|
|
|
1080
1356
|
protected readonly dropdownEl: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
1081
1357
|
variantInput: _angular_core.InputSignal<SelectVariant | undefined>;
|
|
1082
1358
|
sizeInput: _angular_core.InputSignal<SelectSize | undefined>;
|
|
1083
|
-
radiusInput: _angular_core.InputSignal<"
|
|
1084
|
-
variant: _angular_core.Signal<"
|
|
1359
|
+
radiusInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "full" | undefined>;
|
|
1360
|
+
variant: _angular_core.Signal<"outline" | "filled" | "underline">;
|
|
1085
1361
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
1086
|
-
radius: _angular_core.Signal<"
|
|
1362
|
+
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "full">;
|
|
1087
1363
|
options: _angular_core.InputSignal<SelectOption<T>[] | SelectOptionGroup<T>[]>;
|
|
1088
1364
|
placeholder: _angular_core.InputSignal<string>;
|
|
1089
1365
|
multiple: _angular_core.InputSignal<boolean>;
|
|
@@ -1148,13 +1424,97 @@ declare class SelectComponent<T = any> implements ControlValueAccessor {
|
|
|
1148
1424
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectComponent<any>, "studio-select", never, { "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "radiusInput": { "alias": "radius"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "floatingLabel": { "alias": "floatingLabel"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "searchChange": "searchChange"; "opened": "opened"; "closed": "closed"; "optionSelected": "optionSelected"; }, never, never, true, never>;
|
|
1149
1425
|
}
|
|
1150
1426
|
|
|
1427
|
+
/**
|
|
1428
|
+
* Sidebar component types
|
|
1429
|
+
*/
|
|
1430
|
+
type SidebarPosition = 'left' | 'right';
|
|
1431
|
+
type SidebarSize = 'sm' | 'md' | 'lg' | 'full';
|
|
1432
|
+
type SidebarVariant = 'default' | 'minimal' | 'compact';
|
|
1433
|
+
interface SidebarConfig {
|
|
1434
|
+
position?: SidebarPosition;
|
|
1435
|
+
size?: SidebarSize;
|
|
1436
|
+
variant?: SidebarVariant;
|
|
1437
|
+
collapsible?: boolean;
|
|
1438
|
+
defaultCollapsed?: boolean;
|
|
1439
|
+
modal?: boolean;
|
|
1440
|
+
closeOnNavigate?: boolean;
|
|
1441
|
+
showOverlay?: boolean;
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
/**
|
|
1445
|
+
* Sidebar component - Navigation sidebar built on top of Drawer
|
|
1446
|
+
*
|
|
1447
|
+
* @example
|
|
1448
|
+
* <studio-sidebar [(visible)]="sidebarOpen">
|
|
1449
|
+
* <nav sidebarHeader>
|
|
1450
|
+
* <h2>Navigation</h2>
|
|
1451
|
+
* </nav>
|
|
1452
|
+
*
|
|
1453
|
+
* <studio-menu>
|
|
1454
|
+
* <studio-menu-item>Home</studio-menu-item>
|
|
1455
|
+
* <studio-menu-item>About</studio-menu-item>
|
|
1456
|
+
* </studio-menu>
|
|
1457
|
+
*
|
|
1458
|
+
* <div sidebarFooter>
|
|
1459
|
+
* <studio-button>Logout</studio-button>
|
|
1460
|
+
* </div>
|
|
1461
|
+
* </studio-sidebar>
|
|
1462
|
+
*/
|
|
1463
|
+
declare class SidebarComponent {
|
|
1464
|
+
private readonly router;
|
|
1465
|
+
private readonly configService;
|
|
1466
|
+
private readonly sidebarDefaults;
|
|
1467
|
+
id: _angular_core.InputSignal<string>;
|
|
1468
|
+
visible: _angular_core.ModelSignal<boolean>;
|
|
1469
|
+
positionInput: _angular_core.InputSignal<SidebarPosition | undefined>;
|
|
1470
|
+
sizeInput: _angular_core.InputSignal<SidebarSize | undefined>;
|
|
1471
|
+
variantInput: _angular_core.InputSignal<SidebarVariant | undefined>;
|
|
1472
|
+
customWidth: _angular_core.InputSignal<string | undefined>;
|
|
1473
|
+
position: _angular_core.Signal<"left" | "right">;
|
|
1474
|
+
size: _angular_core.Signal<"sm" | "md" | "lg" | "full">;
|
|
1475
|
+
variant: _angular_core.Signal<"default" | "minimal" | "compact">;
|
|
1476
|
+
modalInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1477
|
+
collapsibleInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1478
|
+
defaultCollapsedInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1479
|
+
closeOnNavigateInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1480
|
+
closeOnBackdropClickInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1481
|
+
closeOnEscapeInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1482
|
+
blockScrollInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1483
|
+
swipeToCloseInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1484
|
+
modal: _angular_core.Signal<boolean>;
|
|
1485
|
+
collapsible: _angular_core.Signal<boolean>;
|
|
1486
|
+
defaultCollapsed: _angular_core.Signal<boolean>;
|
|
1487
|
+
closeOnNavigate: _angular_core.Signal<boolean>;
|
|
1488
|
+
closeOnBackdropClick: _angular_core.Signal<boolean>;
|
|
1489
|
+
closeOnEscape: _angular_core.Signal<boolean>;
|
|
1490
|
+
blockScroll: _angular_core.Signal<boolean>;
|
|
1491
|
+
swipeToClose: _angular_core.Signal<boolean>;
|
|
1492
|
+
header: _angular_core.InputSignal<string | undefined>;
|
|
1493
|
+
showHeaderInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1494
|
+
showFooterInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1495
|
+
showCloseButtonInput: _angular_core.InputSignal<boolean | undefined>;
|
|
1496
|
+
showHeader: _angular_core.Signal<boolean>;
|
|
1497
|
+
showFooter: _angular_core.Signal<boolean>;
|
|
1498
|
+
showCloseButton: _angular_core.Signal<boolean>;
|
|
1499
|
+
contentPadding: _angular_core.InputSignal<string | undefined>;
|
|
1500
|
+
contentGap: _angular_core.InputSignal<string | undefined>;
|
|
1501
|
+
background: _angular_core.InputSignal<string | undefined>;
|
|
1502
|
+
class: _angular_core.InputSignal<string>;
|
|
1503
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
1504
|
+
protected drawerSize: _angular_core.Signal<"sm" | "md" | "lg" | "xl" | "full">;
|
|
1505
|
+
constructor();
|
|
1506
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidebarComponent, never>;
|
|
1507
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidebarComponent, "studio-sidebar", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "positionInput": { "alias": "position"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "customWidth": { "alias": "customWidth"; "required": false; "isSignal": true; }; "modalInput": { "alias": "modal"; "required": false; "isSignal": true; }; "collapsibleInput": { "alias": "collapsible"; "required": false; "isSignal": true; }; "defaultCollapsedInput": { "alias": "defaultCollapsed"; "required": false; "isSignal": true; }; "closeOnNavigateInput": { "alias": "closeOnNavigate"; "required": false; "isSignal": true; }; "closeOnBackdropClickInput": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "closeOnEscapeInput": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "blockScrollInput": { "alias": "blockScroll"; "required": false; "isSignal": true; }; "swipeToCloseInput": { "alias": "swipeToClose"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "showHeaderInput": { "alias": "showHeader"; "required": false; "isSignal": true; }; "showFooterInput": { "alias": "showFooter"; "required": false; "isSignal": true; }; "showCloseButtonInput": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "contentGap": { "alias": "contentGap"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; }, never, ["[sidebarHeader]", "*", "[sidebarFooter]"], true, never>;
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1151
1510
|
/**
|
|
1152
1511
|
* Toggle switch component with customizable size and color
|
|
1153
1512
|
*
|
|
1154
1513
|
* @example
|
|
1155
1514
|
* <studio-switch [(checked)]="isEnabled" label="Enable feature" />
|
|
1515
|
+
* <studio-switch [(ngModel)]="isEnabled" label="Enable feature" />
|
|
1156
1516
|
*/
|
|
1157
|
-
declare class SwitchComponent {
|
|
1517
|
+
declare class SwitchComponent implements ControlValueAccessor {
|
|
1158
1518
|
private readonly configService;
|
|
1159
1519
|
private readonly switchDefaults;
|
|
1160
1520
|
checked: _angular_core.ModelSignal<boolean>;
|
|
@@ -1168,8 +1528,15 @@ declare class SwitchComponent {
|
|
|
1168
1528
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
1169
1529
|
color: _angular_core.Signal<"primary" | "secondary" | "success">;
|
|
1170
1530
|
checkedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
1531
|
+
protected internalChecked: _angular_core.WritableSignal<boolean>;
|
|
1532
|
+
private onChange;
|
|
1533
|
+
private onTouched;
|
|
1171
1534
|
protected iconSize: _angular_core.Signal<number>;
|
|
1172
1535
|
protected hostClasses: _angular_core.Signal<string>;
|
|
1536
|
+
writeValue(value: boolean): void;
|
|
1537
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
1538
|
+
registerOnTouched(fn: () => void): void;
|
|
1539
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1173
1540
|
protected handleClick(): void;
|
|
1174
1541
|
protected handleKeydown(event: KeyboardEvent): void;
|
|
1175
1542
|
private toggle;
|
|
@@ -1230,7 +1597,7 @@ declare class TextareaComponent implements ControlValueAccessor {
|
|
|
1230
1597
|
/**
|
|
1231
1598
|
* Resize behavior
|
|
1232
1599
|
*/
|
|
1233
|
-
resize: _angular_core.InputSignal<"
|
|
1600
|
+
resize: _angular_core.InputSignal<"none" | "vertical" | "horizontal" | "both">;
|
|
1234
1601
|
/**
|
|
1235
1602
|
* Maximum character length
|
|
1236
1603
|
*/
|
|
@@ -1415,15 +1782,15 @@ declare class ButtonToggleGroupComponent implements ControlValueAccessor {
|
|
|
1415
1782
|
allowEmpty: _angular_core.InputSignal<boolean>;
|
|
1416
1783
|
orientationInput: _angular_core.InputSignal<"vertical" | "horizontal" | undefined>;
|
|
1417
1784
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
1418
|
-
variantInput: _angular_core.InputSignal<"
|
|
1785
|
+
variantInput: _angular_core.InputSignal<"solid" | "outline" | "ghost" | undefined>;
|
|
1419
1786
|
colorInput: _angular_core.InputSignal<"primary" | "secondary" | "success" | "error" | "warning" | undefined>;
|
|
1420
|
-
radiusInput: _angular_core.InputSignal<"
|
|
1787
|
+
radiusInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "xl" | "full" | undefined>;
|
|
1421
1788
|
shadowInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | undefined>;
|
|
1422
1789
|
orientation: _angular_core.Signal<"vertical" | "horizontal">;
|
|
1423
1790
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
1424
|
-
variant: _angular_core.Signal<"
|
|
1791
|
+
variant: _angular_core.Signal<"solid" | "outline" | "ghost">;
|
|
1425
1792
|
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning">;
|
|
1426
|
-
radius: _angular_core.Signal<"
|
|
1793
|
+
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "xl" | "full">;
|
|
1427
1794
|
shadow: _angular_core.Signal<"sm" | "md" | "lg" | "none">;
|
|
1428
1795
|
attached: _angular_core.InputSignal<boolean>;
|
|
1429
1796
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
@@ -1445,6 +1812,114 @@ declare class ButtonToggleGroupComponent implements ControlValueAccessor {
|
|
|
1445
1812
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonToggleGroupComponent, "studio-button-toggle-group", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "allowEmpty": { "alias": "allowEmpty"; "required": false; "isSignal": true; }; "orientationInput": { "alias": "orientation"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "colorInput": { "alias": "color"; "required": false; "isSignal": true; }; "radiusInput": { "alias": "radius"; "required": false; "isSignal": true; }; "shadowInput": { "alias": "shadow"; "required": false; "isSignal": true; }; "attached": { "alias": "attached"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "valueChange": "valueChange"; }, never, never, true, never>;
|
|
1446
1813
|
}
|
|
1447
1814
|
|
|
1815
|
+
interface InspectorData {
|
|
1816
|
+
sections: InspectorSection[];
|
|
1817
|
+
}
|
|
1818
|
+
interface InspectorSection {
|
|
1819
|
+
id: string;
|
|
1820
|
+
title: string;
|
|
1821
|
+
icon?: string;
|
|
1822
|
+
expanded?: boolean;
|
|
1823
|
+
groups?: InspectorGroup[];
|
|
1824
|
+
parameters?: InspectorParameter[];
|
|
1825
|
+
}
|
|
1826
|
+
interface InspectorGroup {
|
|
1827
|
+
id: string;
|
|
1828
|
+
label?: string;
|
|
1829
|
+
parameters: InspectorParameter[];
|
|
1830
|
+
}
|
|
1831
|
+
interface InspectorParameter {
|
|
1832
|
+
id: string;
|
|
1833
|
+
label: string;
|
|
1834
|
+
type: InspectorParameterType;
|
|
1835
|
+
value: any;
|
|
1836
|
+
default?: any;
|
|
1837
|
+
options?: InspectorOption[];
|
|
1838
|
+
hint?: string;
|
|
1839
|
+
disabled?: boolean;
|
|
1840
|
+
readonly?: boolean;
|
|
1841
|
+
min?: number;
|
|
1842
|
+
max?: number;
|
|
1843
|
+
step?: number;
|
|
1844
|
+
suffix?: string;
|
|
1845
|
+
placeholder?: string;
|
|
1846
|
+
maxLength?: number;
|
|
1847
|
+
metadata?: Record<string, any>;
|
|
1848
|
+
}
|
|
1849
|
+
interface InspectorOption {
|
|
1850
|
+
value: any;
|
|
1851
|
+
label: string;
|
|
1852
|
+
disabled?: boolean;
|
|
1853
|
+
icon?: string;
|
|
1854
|
+
}
|
|
1855
|
+
type InspectorParameterType = 'radio' | 'checkbox' | 'text' | 'number' | 'color' | 'select' | 'textarea' | 'boolean' | string;
|
|
1856
|
+
type InspectorGroupDivider = 'line' | 'space' | 'none';
|
|
1857
|
+
type InspectorSpacing = 'sm' | 'md' | 'lg';
|
|
1858
|
+
type InspectorComponentSize = 'sm' | 'md' | 'lg';
|
|
1859
|
+
type InspectorComponentVariant = 'outline' | 'filled';
|
|
1860
|
+
|
|
1861
|
+
declare class InspectorComponent implements ControlValueAccessor {
|
|
1862
|
+
private readonly configService;
|
|
1863
|
+
componentSize: _angular_core.InputSignal<InspectorComponentSize>;
|
|
1864
|
+
componentVariant: _angular_core.InputSignal<InspectorComponentVariant>;
|
|
1865
|
+
compact: _angular_core.InputSignal<boolean>;
|
|
1866
|
+
showIcons: _angular_core.InputSignal<boolean>;
|
|
1867
|
+
showDefaultIndicator: _angular_core.InputSignal<boolean>;
|
|
1868
|
+
collapsible: _angular_core.InputSignal<boolean>;
|
|
1869
|
+
expandedByDefault: _angular_core.InputSignal<boolean>;
|
|
1870
|
+
expandedSectionsInput: _angular_core.InputSignal<string[]>;
|
|
1871
|
+
showGroupLabels: _angular_core.InputSignal<boolean>;
|
|
1872
|
+
groupDivider: _angular_core.InputSignal<InspectorGroupDivider>;
|
|
1873
|
+
groupDividerSpacing: _angular_core.InputSignal<InspectorSpacing>;
|
|
1874
|
+
labelWidth: _angular_core.InputSignal<string>;
|
|
1875
|
+
fullWidth: _angular_core.InputSignal<boolean>;
|
|
1876
|
+
spacing: _angular_core.InputSignal<InspectorSpacing>;
|
|
1877
|
+
sectionTemplate: _angular_core.InputSignal<TemplateRef<any> | undefined>;
|
|
1878
|
+
parameterTemplates: _angular_core.InputSignal<Record<string, TemplateRef<any>> | undefined>;
|
|
1879
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
1880
|
+
ariaDescribedBy: _angular_core.InputSignal<string | undefined>;
|
|
1881
|
+
sectionToggled: _angular_core.OutputEmitterRef<{
|
|
1882
|
+
id: string;
|
|
1883
|
+
expanded: boolean;
|
|
1884
|
+
}>;
|
|
1885
|
+
parameterFocused: _angular_core.OutputEmitterRef<{
|
|
1886
|
+
componentId: string;
|
|
1887
|
+
parameterId: string;
|
|
1888
|
+
}>;
|
|
1889
|
+
parameterBlurred: _angular_core.OutputEmitterRef<{
|
|
1890
|
+
componentId: string;
|
|
1891
|
+
parameterId: string;
|
|
1892
|
+
}>;
|
|
1893
|
+
protected values: _angular_core.WritableSignal<InspectorData | null>;
|
|
1894
|
+
protected expandedSections: _angular_core.WritableSignal<Set<string>>;
|
|
1895
|
+
private onChange;
|
|
1896
|
+
private onTouched;
|
|
1897
|
+
constructor();
|
|
1898
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
1899
|
+
protected isSectionExpanded(componentId: string): boolean;
|
|
1900
|
+
protected toggleSection(componentId: string): void;
|
|
1901
|
+
protected onParameterChange(componentId: string, groupId: string | null, parameterId: string, newValue: any): void;
|
|
1902
|
+
protected onCheckboxChange(componentId: string, groupId: string | null, parameterId: string, optionValue: any, checked: boolean): void;
|
|
1903
|
+
protected onRadioChange(componentId: string, groupId: string | null, parameterId: string, newValue: any): void;
|
|
1904
|
+
protected getRadioName(componentId: string, groupId: string | null, parameterId: string): string;
|
|
1905
|
+
protected isChecked(parameter: InspectorParameter, optionValue: any): boolean;
|
|
1906
|
+
protected isRadioChecked(parameter: InspectorParameter, optionValue: any): boolean;
|
|
1907
|
+
protected isDefault(parameter: InspectorParameter, optionValue: any): boolean;
|
|
1908
|
+
protected trackBySectionId(_: number, section: InspectorSection): string;
|
|
1909
|
+
protected trackByGroupId(_: number, group: {
|
|
1910
|
+
id: string;
|
|
1911
|
+
}): string;
|
|
1912
|
+
protected trackByParameterId(_: number, param: InspectorParameter): string;
|
|
1913
|
+
protected trackByOptionValue(_: number, option: InspectorOption): any;
|
|
1914
|
+
writeValue(value: InspectorData | null): void;
|
|
1915
|
+
registerOnChange(fn: (value: InspectorData | null) => void): void;
|
|
1916
|
+
registerOnTouched(fn: () => void): void;
|
|
1917
|
+
setDisabledState(_: boolean): void;
|
|
1918
|
+
private initializeExpandedSections;
|
|
1919
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InspectorComponent, never>;
|
|
1920
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InspectorComponent, "studio-inspector", never, { "componentSize": { "alias": "componentSize"; "required": false; "isSignal": true; }; "componentVariant": { "alias": "componentVariant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "showDefaultIndicator": { "alias": "showDefaultIndicator"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "expandedByDefault": { "alias": "expandedByDefault"; "required": false; "isSignal": true; }; "expandedSectionsInput": { "alias": "expandedSections"; "required": false; "isSignal": true; }; "showGroupLabels": { "alias": "showGroupLabels"; "required": false; "isSignal": true; }; "groupDivider": { "alias": "groupDivider"; "required": false; "isSignal": true; }; "groupDividerSpacing": { "alias": "groupDividerSpacing"; "required": false; "isSignal": true; }; "labelWidth": { "alias": "labelWidth"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "sectionTemplate": { "alias": "sectionTemplate"; "required": false; "isSignal": true; }; "parameterTemplates": { "alias": "parameterTemplates"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; "isSignal": true; }; }, { "sectionToggled": "sectionToggled"; "parameterFocused": "parameterFocused"; "parameterBlurred": "parameterBlurred"; }, never, never, true, never>;
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1448
1923
|
/**
|
|
1449
1924
|
* Theme toggle switch with sun/moon icons
|
|
1450
1925
|
*
|
|
@@ -1634,5 +2109,5 @@ declare function loadGoogleFonts(fonts: Array<{
|
|
|
1634
2109
|
display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
|
|
1635
2110
|
}>): void;
|
|
1636
2111
|
|
|
1637
|
-
export { BadgeComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, CheckboxComponent, DrawerComponent, DrawerService, IconComponent, InputComponent, MASK_PRESETS, MaskDirective, MaskEngine, MenuComponent, STUDIO_CONFIG, SelectComponent, StudioConfigService, SwitchComponent, TextareaComponent, ThemeSwitchComponent, classNames, isSafeUrl, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
1638
|
-
export type { BadgeDefaultsConfig, ButtonDefaultsConfig, ButtonGroupDefaultsConfig, ButtonToggleGroupDefaultsConfig, ButtonToggleGroupOption, ButtonToggleGroupValue, CheckboxColor, CheckboxDefaultsConfig, CheckboxRadius, CheckboxSize, CheckboxVariant, ColorConfig, ComponentsConfig, DrawerAnimationEasing, DrawerCloseButtonPosition, DrawerConfig, DrawerDefaultsConfig, DrawerPosition, DrawerRadius, DrawerRole, DrawerShadowSize, DrawerSize, InputDefaultsConfig, InputMode, InputType, MaskConfig, MaskPreset, MaskResult, MaskToken, MenuColor, MenuExpandEvent, MenuExpandIconPosition, MenuItem, MenuItemBadgeColor, MenuItemClickEvent, MenuItemCommandEvent, MenuItemIconPosition, MenuItemTarget, MenuItemTooltipPosition, MenuMode, MenuOrientation, MenuRadius, MenuSize, MenuSpacing, MenuVariant, SelectDefaultsConfig, SelectDisplayContext, SelectOption, SelectOptionGroup, SelectPosition, SelectSize, SelectVariant, StudioConfig, StudioThemeConfig, SwitchDefaultsConfig, TextareaColor, TextareaDefaultsConfig, TextareaRadius, TextareaSize, TextareaVariant, ThemeMode };
|
|
2112
|
+
export { BadgeComponent, BadgeWrapperComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, CheckboxComponent, ColorPickerComponent, DEFAULT_COLOR_PRESETS, DrawerComponent, DrawerService, IconComponent, InputComponent, InspectorComponent, MASK_PRESETS, MaskDirective, MaskEngine, MenuComponent, NavbarComponent, RadioButtonComponent, STUDIO_CONFIG, SelectComponent, SidebarComponent, StudioConfigService, SwitchComponent, TextareaComponent, ThemeSwitchComponent, classNames, isSafeUrl, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
2113
|
+
export type { BadgeColor, BadgeDefaultsConfig, BadgeIconPosition, BadgeRadius, BadgeSize, BadgeVariant, BadgeWrapperPosition, BadgeWrapperSize, ButtonDefaultsConfig, ButtonGroupDefaultsConfig, ButtonToggleGroupDefaultsConfig, ButtonToggleGroupOption, ButtonToggleGroupValue, CheckboxColor, CheckboxDefaultsConfig, CheckboxRadius, CheckboxSize, CheckboxVariant, ColorConfig, ColorFormat, ColorPickerDefaultsConfig, ColorPickerSize, ColorPickerVariant, ColorPreset, ColorSwatchGroup, ColorValue, ComponentsConfig, DrawerAnimationEasing, DrawerCloseButtonPosition, DrawerConfig, DrawerDefaultsConfig, DrawerPosition, DrawerRadius, DrawerRole, DrawerShadowSize, DrawerSize, HSL, InputDefaultsConfig, InputMode, InputType, InspectorComponentSize, InspectorComponentVariant, InspectorData, InspectorGroup, InspectorGroupDivider, InspectorOption, InspectorParameter, InspectorParameterType, InspectorSection, InspectorSpacing, MaskConfig, MaskPreset, MaskResult, MaskToken, MenuColor, MenuExpandEvent, MenuExpandIconPosition, MenuItem, MenuItemBadgeColor, MenuItemClickEvent, MenuItemCommandEvent, MenuItemIconPosition, MenuItemTarget, MenuItemTooltipPosition, MenuMode, MenuOrientation, MenuRadius, MenuSize, MenuSpacing, MenuVariant, NavbarColor, NavbarShadow, NavbarSize, NavbarVariant, RGB, RadioButtonColor, RadioButtonDefaultsConfig, RadioButtonRadius, RadioButtonSize, RadioButtonVariant, SelectDefaultsConfig, SelectDisplayContext, SelectOption, SelectOptionGroup, SelectPosition, SelectSize, SelectVariant, SidebarConfig, SidebarDefaultsConfig, SidebarPosition, SidebarSize, SidebarVariant, StudioConfig, StudioThemeConfig, SwitchDefaultsConfig, TextareaColor, TextareaDefaultsConfig, TextareaRadius, TextareaSize, TextareaVariant, ThemeMode };
|