@eduboxpro/studio 0.1.12 → 0.1.14
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 +1721 -40
- package/fesm2022/eduboxpro-studio.mjs.map +1 -1
- package/index.d.ts +601 -4
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
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';
|
|
6
|
+
import { Placement } from '@floating-ui/dom';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Theme mode: light or dark
|
|
@@ -185,6 +186,16 @@ interface CheckboxDefaultsConfig {
|
|
|
185
186
|
radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
186
187
|
labelPosition?: 'left' | 'right';
|
|
187
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* RadioButton component defaults configuration
|
|
191
|
+
*/
|
|
192
|
+
interface RadioButtonDefaultsConfig {
|
|
193
|
+
size?: 'sm' | 'md' | 'lg';
|
|
194
|
+
color?: 'primary' | 'secondary' | 'success' | 'error';
|
|
195
|
+
variant?: 'default' | 'outlined' | 'filled';
|
|
196
|
+
radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
197
|
+
labelPosition?: 'left' | 'right';
|
|
198
|
+
}
|
|
188
199
|
/**
|
|
189
200
|
* Textarea component defaults configuration
|
|
190
201
|
*/
|
|
@@ -276,6 +287,67 @@ interface SidebarDefaultsConfig {
|
|
|
276
287
|
showFooter?: boolean;
|
|
277
288
|
showCloseButton?: boolean;
|
|
278
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* ColorPicker component defaults configuration
|
|
292
|
+
*/
|
|
293
|
+
interface ColorPickerDefaultsConfig {
|
|
294
|
+
variant?: 'inline' | 'popover' | 'input';
|
|
295
|
+
size?: 'sm' | 'md' | 'lg';
|
|
296
|
+
format?: 'hex' | 'rgb' | 'hsl';
|
|
297
|
+
showAlpha?: boolean;
|
|
298
|
+
showPresets?: boolean;
|
|
299
|
+
showFormatToggle?: boolean;
|
|
300
|
+
showCopyButton?: boolean;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Popover component defaults configuration
|
|
304
|
+
*/
|
|
305
|
+
interface PopoverDefaultsConfig {
|
|
306
|
+
position?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
|
|
307
|
+
trigger?: 'click' | 'hover' | 'focus' | 'manual';
|
|
308
|
+
variant?: 'default' | 'bordered' | 'shadow' | 'minimal';
|
|
309
|
+
size?: 'sm' | 'md' | 'lg';
|
|
310
|
+
animation?: 'fade' | 'scale' | 'slide' | 'none';
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Tooltip component defaults configuration
|
|
314
|
+
*/
|
|
315
|
+
interface TooltipDefaultsConfig {
|
|
316
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
317
|
+
trigger?: 'hover' | 'focus' | 'click';
|
|
318
|
+
hoverDelay?: number;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Dropdown component defaults configuration
|
|
322
|
+
*/
|
|
323
|
+
interface DropdownDefaultsConfig {
|
|
324
|
+
trigger?: 'click' | 'hover';
|
|
325
|
+
position?: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' | 'left-start' | 'right-start';
|
|
326
|
+
width?: string;
|
|
327
|
+
minWidth?: string;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Tabs component defaults configuration
|
|
331
|
+
*/
|
|
332
|
+
interface TabsDefaultsConfig {
|
|
333
|
+
variant?: 'line' | 'pills' | 'enclosed';
|
|
334
|
+
size?: 'sm' | 'md' | 'lg';
|
|
335
|
+
orientation?: 'horizontal' | 'vertical';
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Modal component defaults configuration
|
|
339
|
+
*/
|
|
340
|
+
interface ModalDefaultsConfig {
|
|
341
|
+
size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
342
|
+
variant?: 'default' | 'bordered' | 'minimal';
|
|
343
|
+
animation?: 'fade' | 'scale' | 'slide-down' | 'none';
|
|
344
|
+
position?: 'center' | 'top' | 'bottom';
|
|
345
|
+
closeOnOverlayClick?: boolean;
|
|
346
|
+
closeOnEscape?: boolean;
|
|
347
|
+
showHeader?: boolean;
|
|
348
|
+
showFooter?: boolean;
|
|
349
|
+
showCloseButton?: boolean;
|
|
350
|
+
}
|
|
279
351
|
/**
|
|
280
352
|
* Components defaults configuration
|
|
281
353
|
*/
|
|
@@ -285,12 +357,19 @@ interface ComponentsConfig {
|
|
|
285
357
|
switch?: SwitchDefaultsConfig;
|
|
286
358
|
input?: InputDefaultsConfig;
|
|
287
359
|
checkbox?: CheckboxDefaultsConfig;
|
|
360
|
+
radioButton?: RadioButtonDefaultsConfig;
|
|
288
361
|
textarea?: TextareaDefaultsConfig;
|
|
289
362
|
buttonGroup?: ButtonGroupDefaultsConfig;
|
|
290
363
|
buttonToggleGroup?: ButtonToggleGroupDefaultsConfig;
|
|
291
364
|
select?: SelectDefaultsConfig;
|
|
292
365
|
drawer?: DrawerDefaultsConfig;
|
|
293
366
|
sidebar?: SidebarDefaultsConfig;
|
|
367
|
+
colorPicker?: ColorPickerDefaultsConfig;
|
|
368
|
+
popover?: PopoverDefaultsConfig;
|
|
369
|
+
tooltip?: TooltipDefaultsConfig;
|
|
370
|
+
dropdown?: DropdownDefaultsConfig;
|
|
371
|
+
tabs?: TabsDefaultsConfig;
|
|
372
|
+
modal?: ModalDefaultsConfig;
|
|
294
373
|
}
|
|
295
374
|
/**
|
|
296
375
|
* Main Studio configuration interface
|
|
@@ -662,6 +741,134 @@ type CheckboxColor = 'primary' | 'secondary' | 'success' | 'error';
|
|
|
662
741
|
type CheckboxVariant = 'default' | 'outlined' | 'filled';
|
|
663
742
|
type CheckboxRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
664
743
|
|
|
744
|
+
type ColorFormat = 'hex' | 'rgb' | 'hsl';
|
|
745
|
+
interface RGB {
|
|
746
|
+
r: number;
|
|
747
|
+
g: number;
|
|
748
|
+
b: number;
|
|
749
|
+
}
|
|
750
|
+
interface HSL {
|
|
751
|
+
h: number;
|
|
752
|
+
s: number;
|
|
753
|
+
l: number;
|
|
754
|
+
}
|
|
755
|
+
interface ColorValue {
|
|
756
|
+
hex: string;
|
|
757
|
+
rgb: RGB;
|
|
758
|
+
hsl: HSL;
|
|
759
|
+
alpha: number;
|
|
760
|
+
}
|
|
761
|
+
interface ColorPreset {
|
|
762
|
+
label?: string;
|
|
763
|
+
value: string;
|
|
764
|
+
description?: string;
|
|
765
|
+
}
|
|
766
|
+
interface ColorSwatchGroup {
|
|
767
|
+
label: string;
|
|
768
|
+
colors: ColorPreset[];
|
|
769
|
+
}
|
|
770
|
+
type ColorPickerVariant = 'inline' | 'popover' | 'input';
|
|
771
|
+
type ColorPickerSize = 'sm' | 'md' | 'lg';
|
|
772
|
+
|
|
773
|
+
declare class ColorPickerComponent implements ControlValueAccessor, AfterViewInit {
|
|
774
|
+
private readonly configService;
|
|
775
|
+
private readonly pickerDefaults;
|
|
776
|
+
protected readonly colorAreaCanvas: _angular_core.Signal<ElementRef<HTMLCanvasElement> | undefined>;
|
|
777
|
+
variantInput: _angular_core.InputSignal<ColorPickerVariant | undefined>;
|
|
778
|
+
sizeInput: _angular_core.InputSignal<ColorPickerSize | undefined>;
|
|
779
|
+
variant: _angular_core.Signal<"inline" | "popover" | "input">;
|
|
780
|
+
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
781
|
+
format: _angular_core.InputSignal<ColorFormat>;
|
|
782
|
+
showAlpha: _angular_core.InputSignal<boolean>;
|
|
783
|
+
showPresets: _angular_core.InputSignal<boolean>;
|
|
784
|
+
showFormatToggle: _angular_core.InputSignal<boolean>;
|
|
785
|
+
showCopyButton: _angular_core.InputSignal<boolean>;
|
|
786
|
+
presets: _angular_core.InputSignal<ColorPreset[] | ColorSwatchGroup[] | undefined>;
|
|
787
|
+
label: _angular_core.InputSignal<string | undefined>;
|
|
788
|
+
hint: _angular_core.InputSignal<string | undefined>;
|
|
789
|
+
required: _angular_core.InputSignal<boolean>;
|
|
790
|
+
error: _angular_core.InputSignal<boolean>;
|
|
791
|
+
errorMessage: _angular_core.InputSignal<string | undefined>;
|
|
792
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
793
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
794
|
+
colorChange: _angular_core.OutputEmitterRef<string>;
|
|
795
|
+
colorValueChange: _angular_core.OutputEmitterRef<ColorValue>;
|
|
796
|
+
copied: _angular_core.OutputEmitterRef<string>;
|
|
797
|
+
protected currentColor: _angular_core.WritableSignal<ColorValue>;
|
|
798
|
+
protected hue: _angular_core.WritableSignal<number>;
|
|
799
|
+
protected saturation: _angular_core.WritableSignal<number>;
|
|
800
|
+
protected lightness: _angular_core.WritableSignal<number>;
|
|
801
|
+
protected alpha: _angular_core.WritableSignal<number>;
|
|
802
|
+
protected currentFormat: _angular_core.WritableSignal<ColorFormat>;
|
|
803
|
+
protected generatedId: string;
|
|
804
|
+
private onChange;
|
|
805
|
+
private onTouched;
|
|
806
|
+
private isDragging;
|
|
807
|
+
constructor();
|
|
808
|
+
ngAfterViewInit(): void;
|
|
809
|
+
protected displayColor: _angular_core.Signal<string>;
|
|
810
|
+
protected effectivePresets: _angular_core.Signal<ColorPreset[] | ColorSwatchGroup[]>;
|
|
811
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
812
|
+
writeValue(value: string): void;
|
|
813
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
814
|
+
registerOnTouched(fn: () => void): void;
|
|
815
|
+
setDisabledState(isDisabled: boolean): void;
|
|
816
|
+
protected onHueChange(event: Event): void;
|
|
817
|
+
protected onAlphaChange(event: Event): void;
|
|
818
|
+
protected onColorAreaMouseDown(event: MouseEvent): void;
|
|
819
|
+
private updateColorArea;
|
|
820
|
+
private updateColor;
|
|
821
|
+
private renderColorArea;
|
|
822
|
+
protected toggleFormat(): void;
|
|
823
|
+
protected copyColor(): Promise<void>;
|
|
824
|
+
protected selectPreset(preset: ColorPreset): void;
|
|
825
|
+
protected isPresetGroup(item: any): item is ColorSwatchGroup;
|
|
826
|
+
private createColorValue;
|
|
827
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerComponent, never>;
|
|
828
|
+
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>;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
declare const DEFAULT_COLOR_PRESETS: ColorSwatchGroup[];
|
|
832
|
+
|
|
833
|
+
declare class ColorPickerCompactComponent implements ControlValueAccessor {
|
|
834
|
+
private readonly configService;
|
|
835
|
+
trigger: _angular_core.InputSignal<"click" | "hover">;
|
|
836
|
+
position: _angular_core.InputSignal<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end">;
|
|
837
|
+
popoverWidth: _angular_core.InputSignal<string>;
|
|
838
|
+
showArrow: _angular_core.InputSignal<boolean>;
|
|
839
|
+
closeOnClickOutside: _angular_core.InputSignal<boolean>;
|
|
840
|
+
triggerSize: _angular_core.InputSignal<string>;
|
|
841
|
+
triggerRadius: _angular_core.InputSignal<string>;
|
|
842
|
+
showCurrentColor: _angular_core.InputSignal<boolean>;
|
|
843
|
+
format: _angular_core.InputSignal<"hex" | "rgb" | "hsl">;
|
|
844
|
+
showAlpha: _angular_core.InputSignal<boolean>;
|
|
845
|
+
showPresets: _angular_core.InputSignal<boolean>;
|
|
846
|
+
showFormatToggle: _angular_core.InputSignal<boolean>;
|
|
847
|
+
showCopyButton: _angular_core.InputSignal<boolean>;
|
|
848
|
+
presets: _angular_core.InputSignal<any[] | undefined>;
|
|
849
|
+
showFooter: _angular_core.InputSignal<boolean>;
|
|
850
|
+
applyLabel: _angular_core.InputSignal<string>;
|
|
851
|
+
cancelLabel: _angular_core.InputSignal<string>;
|
|
852
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
853
|
+
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
854
|
+
colorChange: _angular_core.OutputEmitterRef<string>;
|
|
855
|
+
protected currentValue: _angular_core.WritableSignal<string>;
|
|
856
|
+
protected tempValue: _angular_core.WritableSignal<string>;
|
|
857
|
+
protected isOpen: _angular_core.WritableSignal<boolean>;
|
|
858
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
859
|
+
private onChange;
|
|
860
|
+
private onTouched;
|
|
861
|
+
constructor();
|
|
862
|
+
protected handleApply(): void;
|
|
863
|
+
protected handleCancel(): void;
|
|
864
|
+
writeValue(value: string): void;
|
|
865
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
866
|
+
registerOnTouched(fn: () => void): void;
|
|
867
|
+
setDisabledState(isDisabled: boolean): void;
|
|
868
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerCompactComponent, never>;
|
|
869
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorPickerCompactComponent, "studio-color-picker-compact", never, { "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "popoverWidth": { "alias": "popoverWidth"; "required": false; "isSignal": true; }; "showArrow": { "alias": "showArrow"; "required": false; "isSignal": true; }; "closeOnClickOutside": { "alias": "closeOnClickOutside"; "required": false; "isSignal": true; }; "triggerSize": { "alias": "triggerSize"; "required": false; "isSignal": true; }; "triggerRadius": { "alias": "triggerRadius"; "required": false; "isSignal": true; }; "showCurrentColor": { "alias": "showCurrentColor"; "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; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "applyLabel": { "alias": "applyLabel"; "required": false; "isSignal": true; }; "cancelLabel": { "alias": "cancelLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "colorChange": "colorChange"; }, never, never, true, never>;
|
|
870
|
+
}
|
|
871
|
+
|
|
665
872
|
type DrawerPosition = 'left' | 'right' | 'top' | 'bottom';
|
|
666
873
|
type DrawerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
667
874
|
type DrawerRadius = 'none' | 'sm' | 'md' | 'lg';
|
|
@@ -832,6 +1039,32 @@ declare class DrawerService {
|
|
|
832
1039
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DrawerService>;
|
|
833
1040
|
}
|
|
834
1041
|
|
|
1042
|
+
interface DropdownItem {
|
|
1043
|
+
id: string;
|
|
1044
|
+
label: string;
|
|
1045
|
+
icon?: string;
|
|
1046
|
+
disabled?: boolean;
|
|
1047
|
+
divider?: boolean;
|
|
1048
|
+
danger?: boolean;
|
|
1049
|
+
shortcut?: string;
|
|
1050
|
+
onClick?: () => void;
|
|
1051
|
+
}
|
|
1052
|
+
type DropdownPosition = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' | 'left-start' | 'right-start';
|
|
1053
|
+
|
|
1054
|
+
declare class DropdownComponent {
|
|
1055
|
+
items: _angular_core.InputSignal<DropdownItem[]>;
|
|
1056
|
+
trigger: _angular_core.InputSignal<"click" | "hover">;
|
|
1057
|
+
position: _angular_core.InputSignal<DropdownPosition>;
|
|
1058
|
+
width: _angular_core.InputSignal<string>;
|
|
1059
|
+
minWidth: _angular_core.InputSignal<string>;
|
|
1060
|
+
itemClick: _angular_core.OutputEmitterRef<DropdownItem>;
|
|
1061
|
+
protected isOpen: _angular_core.WritableSignal<boolean>;
|
|
1062
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
1063
|
+
protected handleItemClick(item: DropdownItem): void;
|
|
1064
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownComponent, never>;
|
|
1065
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropdownComponent, "studio-dropdown", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, ["*"], true, never>;
|
|
1066
|
+
}
|
|
1067
|
+
|
|
835
1068
|
/**
|
|
836
1069
|
* Icon component with Lucide icons support
|
|
837
1070
|
*
|
|
@@ -1111,6 +1344,43 @@ declare class MenuComponent implements OnInit {
|
|
|
1111
1344
|
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>;
|
|
1112
1345
|
}
|
|
1113
1346
|
|
|
1347
|
+
type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
1348
|
+
type ModalVariant = 'default' | 'bordered' | 'minimal';
|
|
1349
|
+
type ModalAnimation = 'fade' | 'scale' | 'slide-down' | 'none';
|
|
1350
|
+
type ModalPosition = 'center' | 'top' | 'bottom';
|
|
1351
|
+
|
|
1352
|
+
declare class ModalComponent {
|
|
1353
|
+
private destroyRef;
|
|
1354
|
+
visible: _angular_core.ModelSignal<boolean>;
|
|
1355
|
+
title: _angular_core.InputSignal<string>;
|
|
1356
|
+
size: _angular_core.InputSignal<ModalSize>;
|
|
1357
|
+
variant: _angular_core.InputSignal<ModalVariant>;
|
|
1358
|
+
animation: _angular_core.InputSignal<ModalAnimation>;
|
|
1359
|
+
position: _angular_core.InputSignal<ModalPosition>;
|
|
1360
|
+
showHeader: _angular_core.InputSignal<boolean>;
|
|
1361
|
+
showFooter: _angular_core.InputSignal<boolean>;
|
|
1362
|
+
showCloseButton: _angular_core.InputSignal<boolean>;
|
|
1363
|
+
closeOnOverlayClick: _angular_core.InputSignal<boolean>;
|
|
1364
|
+
closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
1365
|
+
visibleChange: _angular_core.OutputEmitterRef<boolean>;
|
|
1366
|
+
opened: _angular_core.OutputEmitterRef<void>;
|
|
1367
|
+
closed: _angular_core.OutputEmitterRef<void>;
|
|
1368
|
+
protected headerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
1369
|
+
protected footerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
1370
|
+
protected modalPanel: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
1371
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
1372
|
+
constructor();
|
|
1373
|
+
protected handleEscape(event: KeyboardEvent): void;
|
|
1374
|
+
protected handleOverlayClick(): void;
|
|
1375
|
+
close(): void;
|
|
1376
|
+
open(): void;
|
|
1377
|
+
private handleOpen;
|
|
1378
|
+
private handleClose;
|
|
1379
|
+
private setupFocusTrap;
|
|
1380
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalComponent, never>;
|
|
1381
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "studio-modal", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeOnOverlayClick": { "alias": "closeOnOverlayClick"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "visibleChange": "visibleChange"; "opened": "opened"; "closed": "closed"; }, ["headerTemplate", "footerTemplate"], ["*"], true, never>;
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1114
1384
|
type NavbarVariant = 'default' | 'filled' | 'outlined' | 'ghost' | 'transparent';
|
|
1115
1385
|
type NavbarColor = 'primary' | 'secondary' | 'inherit';
|
|
1116
1386
|
type NavbarSize = 'sm' | 'md' | 'lg';
|
|
@@ -1143,6 +1413,176 @@ declare class NavbarComponent {
|
|
|
1143
1413
|
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>;
|
|
1144
1414
|
}
|
|
1145
1415
|
|
|
1416
|
+
type PopoverPosition = 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
|
|
1417
|
+
type PopoverTrigger = 'click' | 'hover' | 'focus' | 'manual';
|
|
1418
|
+
type PopoverVariant = 'default' | 'bordered' | 'shadow' | 'minimal';
|
|
1419
|
+
type PopoverSize = 'sm' | 'md' | 'lg';
|
|
1420
|
+
type PopoverAnimation = 'fade' | 'scale' | 'slide' | 'none';
|
|
1421
|
+
type PopoverWidth = string | number | 'auto' | 'trigger';
|
|
1422
|
+
type PopoverBoundary = 'viewport' | 'clippingParents';
|
|
1423
|
+
interface PopoverConfig {
|
|
1424
|
+
position?: PopoverPosition;
|
|
1425
|
+
trigger?: PopoverTrigger;
|
|
1426
|
+
variant?: PopoverVariant;
|
|
1427
|
+
size?: PopoverSize;
|
|
1428
|
+
animation?: PopoverAnimation;
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
declare class PopoverComponent {
|
|
1432
|
+
private readonly document;
|
|
1433
|
+
private readonly destroyRef;
|
|
1434
|
+
private readonly injector;
|
|
1435
|
+
private readonly configService;
|
|
1436
|
+
private readonly popoverDefaults;
|
|
1437
|
+
protected readonly headerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
1438
|
+
protected readonly footerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
1439
|
+
protected readonly contentTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
1440
|
+
protected readonly triggerEl: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
1441
|
+
protected readonly panelEl: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
1442
|
+
protected readonly arrowEl: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
1443
|
+
id: _angular_core.InputSignal<string>;
|
|
1444
|
+
visible: _angular_core.ModelSignal<boolean>;
|
|
1445
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
1446
|
+
triggerInput: _angular_core.InputSignal<PopoverTrigger | undefined>;
|
|
1447
|
+
openDelay: _angular_core.InputSignal<number>;
|
|
1448
|
+
closeDelay: _angular_core.InputSignal<number>;
|
|
1449
|
+
trigger: _angular_core.Signal<"click" | "hover" | "focus" | "manual">;
|
|
1450
|
+
positionInput: _angular_core.InputSignal<PopoverPosition | undefined>;
|
|
1451
|
+
offset: _angular_core.InputSignal<number>;
|
|
1452
|
+
preventOverflow: _angular_core.InputSignal<boolean>;
|
|
1453
|
+
flipValue: _angular_core.InputSignal<boolean>;
|
|
1454
|
+
position: _angular_core.Signal<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
|
|
1455
|
+
variantInput: _angular_core.InputSignal<PopoverVariant | undefined>;
|
|
1456
|
+
sizeInput: _angular_core.InputSignal<PopoverSize | undefined>;
|
|
1457
|
+
width: _angular_core.InputSignal<PopoverWidth>;
|
|
1458
|
+
minWidth: _angular_core.InputSignal<string | number | undefined>;
|
|
1459
|
+
maxWidth: _angular_core.InputSignal<string | number | undefined>;
|
|
1460
|
+
maxHeight: _angular_core.InputSignal<string | number | undefined>;
|
|
1461
|
+
padding: _angular_core.InputSignal<string | undefined>;
|
|
1462
|
+
variant: _angular_core.Signal<"default" | "minimal" | "bordered" | "shadow">;
|
|
1463
|
+
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
1464
|
+
arrow: _angular_core.InputSignal<boolean>;
|
|
1465
|
+
arrowSize: _angular_core.InputSignal<number>;
|
|
1466
|
+
closeOnClickOutside: _angular_core.InputSignal<boolean>;
|
|
1467
|
+
closeOnEscape: _angular_core.InputSignal<boolean>;
|
|
1468
|
+
closeOnScroll: _angular_core.InputSignal<boolean>;
|
|
1469
|
+
showOverlay: _angular_core.InputSignal<boolean>;
|
|
1470
|
+
overlayOpacity: _angular_core.InputSignal<number>;
|
|
1471
|
+
animationInput: _angular_core.InputSignal<PopoverAnimation | undefined>;
|
|
1472
|
+
animationDuration: _angular_core.InputSignal<number>;
|
|
1473
|
+
animation: _angular_core.Signal<"none" | "fade" | "scale" | "slide">;
|
|
1474
|
+
showHeader: _angular_core.InputSignal<boolean>;
|
|
1475
|
+
showFooter: _angular_core.InputSignal<boolean>;
|
|
1476
|
+
showCloseButton: _angular_core.InputSignal<boolean>;
|
|
1477
|
+
content: _angular_core.InputSignal<string | undefined>;
|
|
1478
|
+
zIndex: _angular_core.InputSignal<number>;
|
|
1479
|
+
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
1480
|
+
role: _angular_core.InputSignal<string>;
|
|
1481
|
+
visibleChange: _angular_core.OutputEmitterRef<boolean>;
|
|
1482
|
+
opened: _angular_core.OutputEmitterRef<void>;
|
|
1483
|
+
closed: _angular_core.OutputEmitterRef<void>;
|
|
1484
|
+
positionChanged: _angular_core.OutputEmitterRef<Placement>;
|
|
1485
|
+
private cleanup?;
|
|
1486
|
+
private openTimeout?;
|
|
1487
|
+
private closeTimeout?;
|
|
1488
|
+
private isHovered;
|
|
1489
|
+
private isFocused;
|
|
1490
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
1491
|
+
constructor();
|
|
1492
|
+
private setupPositioning;
|
|
1493
|
+
private updatePosition;
|
|
1494
|
+
protected handleOpen(): void;
|
|
1495
|
+
protected handleClose(): void;
|
|
1496
|
+
private handleScrollBind;
|
|
1497
|
+
private handleScroll;
|
|
1498
|
+
open(): void;
|
|
1499
|
+
close(): void;
|
|
1500
|
+
toggle(): void;
|
|
1501
|
+
protected handleTriggerClick(): void;
|
|
1502
|
+
protected handleTriggerMouseEnter(): void;
|
|
1503
|
+
protected handleTriggerMouseLeave(): void;
|
|
1504
|
+
protected handlePanelMouseEnter(): void;
|
|
1505
|
+
protected handlePanelMouseLeave(): void;
|
|
1506
|
+
protected handleTriggerFocus(): void;
|
|
1507
|
+
protected handleTriggerBlur(): void;
|
|
1508
|
+
protected handleBackdropClick(): void;
|
|
1509
|
+
protected handleDocumentClick(event: MouseEvent): void;
|
|
1510
|
+
protected handleEscapeKey(event: KeyboardEvent): void;
|
|
1511
|
+
private clearTimeouts;
|
|
1512
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverComponent, never>;
|
|
1513
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverComponent, "studio-popover", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "triggerInput": { "alias": "trigger"; "required": false; "isSignal": true; }; "openDelay": { "alias": "openDelay"; "required": false; "isSignal": true; }; "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "positionInput": { "alias": "position"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "preventOverflow": { "alias": "preventOverflow"; "required": false; "isSignal": true; }; "flipValue": { "alias": "flipValue"; "required": false; "isSignal": true; }; "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "arrow": { "alias": "arrow"; "required": false; "isSignal": true; }; "arrowSize": { "alias": "arrowSize"; "required": false; "isSignal": true; }; "closeOnClickOutside": { "alias": "closeOnClickOutside"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; "isSignal": true; }; "showOverlay": { "alias": "showOverlay"; "required": false; "isSignal": true; }; "overlayOpacity": { "alias": "overlayOpacity"; "required": false; "isSignal": true; }; "animationInput": { "alias": "animation"; "required": false; "isSignal": true; }; "animationDuration": { "alias": "animationDuration"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "visibleChange": "visibleChange"; "opened": "opened"; "closed": "closed"; "positionChanged": "positionChanged"; }, ["headerTemplate", "footerTemplate", "contentTemplate"], ["*", "[popoverContent]"], true, never>;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
type RadioButtonSize = 'sm' | 'md' | 'lg';
|
|
1517
|
+
type RadioButtonColor = 'primary' | 'secondary' | 'success' | 'error';
|
|
1518
|
+
type RadioButtonVariant = 'default' | 'outlined' | 'filled';
|
|
1519
|
+
type RadioButtonRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
1520
|
+
/**
|
|
1521
|
+
* RadioButton component for selecting a single option from a group
|
|
1522
|
+
*
|
|
1523
|
+
* @example
|
|
1524
|
+
* <studio-radio-button
|
|
1525
|
+
* [(ngModel)]="selectedValue"
|
|
1526
|
+
* [value]="'option1'"
|
|
1527
|
+
* label="Option 1"
|
|
1528
|
+
* name="options"
|
|
1529
|
+
* />
|
|
1530
|
+
*/
|
|
1531
|
+
declare class RadioButtonComponent implements ControlValueAccessor {
|
|
1532
|
+
private readonly configService;
|
|
1533
|
+
private readonly radioDefaults;
|
|
1534
|
+
size: _angular_core.InputSignal<RadioButtonSize>;
|
|
1535
|
+
color: _angular_core.InputSignal<RadioButtonColor>;
|
|
1536
|
+
variant: _angular_core.InputSignal<RadioButtonVariant>;
|
|
1537
|
+
radius: _angular_core.InputSignal<RadioButtonRadius>;
|
|
1538
|
+
label: _angular_core.InputSignal<string | undefined>;
|
|
1539
|
+
labelPosition: _angular_core.InputSignal<"left" | "right">;
|
|
1540
|
+
description: _angular_core.InputSignal<string | undefined>;
|
|
1541
|
+
hint: _angular_core.InputSignal<string | undefined>;
|
|
1542
|
+
required: _angular_core.InputSignal<boolean>;
|
|
1543
|
+
error: _angular_core.InputSignal<boolean>;
|
|
1544
|
+
errorMessage: _angular_core.InputSignal<string | undefined>;
|
|
1545
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
1546
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
1547
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
1548
|
+
tabIndex: _angular_core.InputSignal<number>;
|
|
1549
|
+
value: _angular_core.InputSignal<any>;
|
|
1550
|
+
changed: _angular_core.OutputEmitterRef<any>;
|
|
1551
|
+
protected internalValue: _angular_core.WritableSignal<any>;
|
|
1552
|
+
protected isFocused: _angular_core.WritableSignal<boolean>;
|
|
1553
|
+
protected radioId: _angular_core.WritableSignal<string>;
|
|
1554
|
+
protected hostClasses: _angular_core.Signal<{
|
|
1555
|
+
[x: string]: boolean;
|
|
1556
|
+
'studio-radio-wrapper': boolean;
|
|
1557
|
+
'studio-radio-wrapper--disabled': boolean;
|
|
1558
|
+
'studio-radio-wrapper--error': boolean;
|
|
1559
|
+
'studio-radio-wrapper--focused': boolean;
|
|
1560
|
+
'studio-radio-wrapper--label-left': boolean;
|
|
1561
|
+
}>;
|
|
1562
|
+
protected radioClasses: _angular_core.Signal<{
|
|
1563
|
+
[x: string]: boolean;
|
|
1564
|
+
'studio-radio': boolean;
|
|
1565
|
+
'studio-radio--checked': boolean;
|
|
1566
|
+
'studio-radio--disabled': boolean;
|
|
1567
|
+
'studio-radio--error': boolean;
|
|
1568
|
+
}>;
|
|
1569
|
+
protected showError: _angular_core.Signal<string | false | undefined>;
|
|
1570
|
+
protected showHint: _angular_core.Signal<string | false | undefined>;
|
|
1571
|
+
protected isChecked: _angular_core.Signal<boolean>;
|
|
1572
|
+
private onChange;
|
|
1573
|
+
private onTouched;
|
|
1574
|
+
writeValue(value: any): void;
|
|
1575
|
+
registerOnChange(fn: (value: any) => void): void;
|
|
1576
|
+
registerOnTouched(fn: () => void): void;
|
|
1577
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1578
|
+
protected handleChange(event: Event): void;
|
|
1579
|
+
protected handleFocus(): void;
|
|
1580
|
+
protected handleBlur(): void;
|
|
1581
|
+
protected handleLabelClick(event: Event): void;
|
|
1582
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioButtonComponent, never>;
|
|
1583
|
+
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>;
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1146
1586
|
interface SelectOption<T = any> {
|
|
1147
1587
|
label: string;
|
|
1148
1588
|
value: T;
|
|
@@ -1329,8 +1769,9 @@ declare class SidebarComponent {
|
|
|
1329
1769
|
*
|
|
1330
1770
|
* @example
|
|
1331
1771
|
* <studio-switch [(checked)]="isEnabled" label="Enable feature" />
|
|
1772
|
+
* <studio-switch [(ngModel)]="isEnabled" label="Enable feature" />
|
|
1332
1773
|
*/
|
|
1333
|
-
declare class SwitchComponent {
|
|
1774
|
+
declare class SwitchComponent implements ControlValueAccessor {
|
|
1334
1775
|
private readonly configService;
|
|
1335
1776
|
private readonly switchDefaults;
|
|
1336
1777
|
checked: _angular_core.ModelSignal<boolean>;
|
|
@@ -1344,8 +1785,15 @@ declare class SwitchComponent {
|
|
|
1344
1785
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
1345
1786
|
color: _angular_core.Signal<"primary" | "secondary" | "success">;
|
|
1346
1787
|
checkedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
1788
|
+
protected internalChecked: _angular_core.WritableSignal<boolean>;
|
|
1789
|
+
private onChange;
|
|
1790
|
+
private onTouched;
|
|
1347
1791
|
protected iconSize: _angular_core.Signal<number>;
|
|
1348
1792
|
protected hostClasses: _angular_core.Signal<string>;
|
|
1793
|
+
writeValue(value: boolean): void;
|
|
1794
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
1795
|
+
registerOnTouched(fn: () => void): void;
|
|
1796
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1349
1797
|
protected handleClick(): void;
|
|
1350
1798
|
protected handleKeydown(event: KeyboardEvent): void;
|
|
1351
1799
|
private toggle;
|
|
@@ -1353,6 +1801,32 @@ declare class SwitchComponent {
|
|
|
1353
1801
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SwitchComponent, "studio-switch", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "colorInput": { "alias": "color"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "checkedChange": "checkedChange"; }, never, never, true, never>;
|
|
1354
1802
|
}
|
|
1355
1803
|
|
|
1804
|
+
type TabsVariant = 'line' | 'pills' | 'enclosed';
|
|
1805
|
+
type TabsSize = 'sm' | 'md' | 'lg';
|
|
1806
|
+
type TabsOrientation = 'horizontal' | 'vertical';
|
|
1807
|
+
|
|
1808
|
+
interface TabItem {
|
|
1809
|
+
id: string;
|
|
1810
|
+
label: string;
|
|
1811
|
+
icon?: string;
|
|
1812
|
+
disabled?: boolean;
|
|
1813
|
+
content?: TemplateRef<any>;
|
|
1814
|
+
}
|
|
1815
|
+
declare class TabsComponent {
|
|
1816
|
+
tabs: _angular_core.InputSignal<TabItem[]>;
|
|
1817
|
+
activeTab: _angular_core.WritableSignal<string>;
|
|
1818
|
+
variant: _angular_core.InputSignal<TabsVariant>;
|
|
1819
|
+
size: _angular_core.InputSignal<TabsSize>;
|
|
1820
|
+
orientation: _angular_core.InputSignal<TabsOrientation>;
|
|
1821
|
+
tabChange: _angular_core.OutputEmitterRef<string>;
|
|
1822
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
1823
|
+
protected iconSize: _angular_core.Signal<number>;
|
|
1824
|
+
constructor();
|
|
1825
|
+
protected selectTab(tabId: string): void;
|
|
1826
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsComponent, never>;
|
|
1827
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "studio-tabs", never, { "tabs": { "alias": "tabs"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, { "tabChange": "tabChange"; }, never, ["*"], true, never>;
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1356
1830
|
/**
|
|
1357
1831
|
* Textarea component for multi-line text input
|
|
1358
1832
|
*
|
|
@@ -1571,6 +2045,21 @@ type TextareaSize = 'sm' | 'md' | 'lg';
|
|
|
1571
2045
|
type TextareaColor = 'primary' | 'secondary' | 'success' | 'error';
|
|
1572
2046
|
type TextareaRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
1573
2047
|
|
|
2048
|
+
declare class TooltipComponent {
|
|
2049
|
+
content: _angular_core.InputSignal<string>;
|
|
2050
|
+
trigger: _angular_core.InputSignal<"click" | "hover" | "focus">;
|
|
2051
|
+
position: _angular_core.InputSignal<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end">;
|
|
2052
|
+
openDelay: _angular_core.InputSignal<number>;
|
|
2053
|
+
closeDelay: _angular_core.InputSignal<number>;
|
|
2054
|
+
arrow: _angular_core.InputSignal<boolean>;
|
|
2055
|
+
arrowSize: _angular_core.InputSignal<number>;
|
|
2056
|
+
maxWidth: _angular_core.InputSignal<string>;
|
|
2057
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
2058
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
2059
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TooltipComponent, never>;
|
|
2060
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TooltipComponent, "studio-tooltip", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "openDelay": { "alias": "openDelay"; "required": false; "isSignal": true; }; "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "arrow": { "alias": "arrow"; "required": false; "isSignal": true; }; "arrowSize": { "alias": "arrowSize"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2061
|
+
}
|
|
2062
|
+
|
|
1574
2063
|
interface ButtonToggleGroupOption {
|
|
1575
2064
|
value: string | number;
|
|
1576
2065
|
label: string;
|
|
@@ -1621,6 +2110,114 @@ declare class ButtonToggleGroupComponent implements ControlValueAccessor {
|
|
|
1621
2110
|
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>;
|
|
1622
2111
|
}
|
|
1623
2112
|
|
|
2113
|
+
interface InspectorData {
|
|
2114
|
+
sections: InspectorSection[];
|
|
2115
|
+
}
|
|
2116
|
+
interface InspectorSection {
|
|
2117
|
+
id: string;
|
|
2118
|
+
title: string;
|
|
2119
|
+
icon?: string;
|
|
2120
|
+
expanded?: boolean;
|
|
2121
|
+
groups?: InspectorGroup[];
|
|
2122
|
+
parameters?: InspectorParameter[];
|
|
2123
|
+
}
|
|
2124
|
+
interface InspectorGroup {
|
|
2125
|
+
id: string;
|
|
2126
|
+
label?: string;
|
|
2127
|
+
parameters: InspectorParameter[];
|
|
2128
|
+
}
|
|
2129
|
+
interface InspectorParameter {
|
|
2130
|
+
id: string;
|
|
2131
|
+
label: string;
|
|
2132
|
+
type: InspectorParameterType;
|
|
2133
|
+
value: any;
|
|
2134
|
+
default?: any;
|
|
2135
|
+
options?: InspectorOption[];
|
|
2136
|
+
hint?: string;
|
|
2137
|
+
disabled?: boolean;
|
|
2138
|
+
readonly?: boolean;
|
|
2139
|
+
min?: number;
|
|
2140
|
+
max?: number;
|
|
2141
|
+
step?: number;
|
|
2142
|
+
suffix?: string;
|
|
2143
|
+
placeholder?: string;
|
|
2144
|
+
maxLength?: number;
|
|
2145
|
+
metadata?: Record<string, any>;
|
|
2146
|
+
}
|
|
2147
|
+
interface InspectorOption {
|
|
2148
|
+
value: any;
|
|
2149
|
+
label: string;
|
|
2150
|
+
disabled?: boolean;
|
|
2151
|
+
icon?: string;
|
|
2152
|
+
}
|
|
2153
|
+
type InspectorParameterType = 'radio' | 'checkbox' | 'text' | 'number' | 'color' | 'select' | 'textarea' | 'boolean' | string;
|
|
2154
|
+
type InspectorGroupDivider = 'line' | 'space' | 'none';
|
|
2155
|
+
type InspectorSpacing = 'sm' | 'md' | 'lg';
|
|
2156
|
+
type InspectorComponentSize = 'sm' | 'md' | 'lg';
|
|
2157
|
+
type InspectorComponentVariant = 'outline' | 'filled';
|
|
2158
|
+
|
|
2159
|
+
declare class InspectorComponent implements ControlValueAccessor {
|
|
2160
|
+
private readonly configService;
|
|
2161
|
+
componentSize: _angular_core.InputSignal<InspectorComponentSize>;
|
|
2162
|
+
componentVariant: _angular_core.InputSignal<InspectorComponentVariant>;
|
|
2163
|
+
compact: _angular_core.InputSignal<boolean>;
|
|
2164
|
+
showIcons: _angular_core.InputSignal<boolean>;
|
|
2165
|
+
showDefaultIndicator: _angular_core.InputSignal<boolean>;
|
|
2166
|
+
collapsible: _angular_core.InputSignal<boolean>;
|
|
2167
|
+
expandedByDefault: _angular_core.InputSignal<boolean>;
|
|
2168
|
+
expandedSectionsInput: _angular_core.InputSignal<string[]>;
|
|
2169
|
+
showGroupLabels: _angular_core.InputSignal<boolean>;
|
|
2170
|
+
groupDivider: _angular_core.InputSignal<InspectorGroupDivider>;
|
|
2171
|
+
groupDividerSpacing: _angular_core.InputSignal<InspectorSpacing>;
|
|
2172
|
+
labelWidth: _angular_core.InputSignal<string>;
|
|
2173
|
+
fullWidth: _angular_core.InputSignal<boolean>;
|
|
2174
|
+
spacing: _angular_core.InputSignal<InspectorSpacing>;
|
|
2175
|
+
sectionTemplate: _angular_core.InputSignal<TemplateRef<any> | undefined>;
|
|
2176
|
+
parameterTemplates: _angular_core.InputSignal<Record<string, TemplateRef<any>> | undefined>;
|
|
2177
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
2178
|
+
ariaDescribedBy: _angular_core.InputSignal<string | undefined>;
|
|
2179
|
+
sectionToggled: _angular_core.OutputEmitterRef<{
|
|
2180
|
+
id: string;
|
|
2181
|
+
expanded: boolean;
|
|
2182
|
+
}>;
|
|
2183
|
+
parameterFocused: _angular_core.OutputEmitterRef<{
|
|
2184
|
+
componentId: string;
|
|
2185
|
+
parameterId: string;
|
|
2186
|
+
}>;
|
|
2187
|
+
parameterBlurred: _angular_core.OutputEmitterRef<{
|
|
2188
|
+
componentId: string;
|
|
2189
|
+
parameterId: string;
|
|
2190
|
+
}>;
|
|
2191
|
+
protected values: _angular_core.WritableSignal<InspectorData | null>;
|
|
2192
|
+
protected expandedSections: _angular_core.WritableSignal<Set<string>>;
|
|
2193
|
+
private onChange;
|
|
2194
|
+
private onTouched;
|
|
2195
|
+
constructor();
|
|
2196
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
2197
|
+
protected isSectionExpanded(componentId: string): boolean;
|
|
2198
|
+
protected toggleSection(componentId: string): void;
|
|
2199
|
+
protected onParameterChange(componentId: string, groupId: string | null, parameterId: string, newValue: any): void;
|
|
2200
|
+
protected onCheckboxChange(componentId: string, groupId: string | null, parameterId: string, optionValue: any, checked: boolean): void;
|
|
2201
|
+
protected onRadioChange(componentId: string, groupId: string | null, parameterId: string, newValue: any): void;
|
|
2202
|
+
protected getRadioName(componentId: string, groupId: string | null, parameterId: string): string;
|
|
2203
|
+
protected isChecked(parameter: InspectorParameter, optionValue: any): boolean;
|
|
2204
|
+
protected isRadioChecked(parameter: InspectorParameter, optionValue: any): boolean;
|
|
2205
|
+
protected isDefault(parameter: InspectorParameter, optionValue: any): boolean;
|
|
2206
|
+
protected trackBySectionId(_: number, section: InspectorSection): string;
|
|
2207
|
+
protected trackByGroupId(_: number, group: {
|
|
2208
|
+
id: string;
|
|
2209
|
+
}): string;
|
|
2210
|
+
protected trackByParameterId(_: number, param: InspectorParameter): string;
|
|
2211
|
+
protected trackByOptionValue(_: number, option: InspectorOption): any;
|
|
2212
|
+
writeValue(value: InspectorData | null): void;
|
|
2213
|
+
registerOnChange(fn: (value: InspectorData | null) => void): void;
|
|
2214
|
+
registerOnTouched(fn: () => void): void;
|
|
2215
|
+
setDisabledState(_: boolean): void;
|
|
2216
|
+
private initializeExpandedSections;
|
|
2217
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InspectorComponent, never>;
|
|
2218
|
+
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>;
|
|
2219
|
+
}
|
|
2220
|
+
|
|
1624
2221
|
/**
|
|
1625
2222
|
* Theme toggle switch with sun/moon icons
|
|
1626
2223
|
*
|
|
@@ -1810,5 +2407,5 @@ declare function loadGoogleFonts(fonts: Array<{
|
|
|
1810
2407
|
display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
|
|
1811
2408
|
}>): void;
|
|
1812
2409
|
|
|
1813
|
-
export { BadgeComponent, BadgeWrapperComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, CheckboxComponent, DrawerComponent, DrawerService, IconComponent, InputComponent, MASK_PRESETS, MaskDirective, MaskEngine, MenuComponent, NavbarComponent, STUDIO_CONFIG, SelectComponent, SidebarComponent, StudioConfigService, SwitchComponent, TextareaComponent, ThemeSwitchComponent, classNames, isSafeUrl, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
1814
|
-
export type { BadgeColor, BadgeDefaultsConfig, BadgeIconPosition, BadgeRadius, BadgeSize, BadgeVariant, BadgeWrapperPosition, BadgeWrapperSize, 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, NavbarColor, NavbarShadow, NavbarSize, NavbarVariant, SelectDefaultsConfig, SelectDisplayContext, SelectOption, SelectOptionGroup, SelectPosition, SelectSize, SelectVariant, SidebarConfig, SidebarDefaultsConfig, SidebarPosition, SidebarSize, SidebarVariant, StudioConfig, StudioThemeConfig, SwitchDefaultsConfig, TextareaColor, TextareaDefaultsConfig, TextareaRadius, TextareaSize, TextareaVariant, ThemeMode };
|
|
2410
|
+
export { BadgeComponent, BadgeWrapperComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, CheckboxComponent, ColorPickerCompactComponent, ColorPickerComponent, DEFAULT_COLOR_PRESETS, DrawerComponent, DrawerService, DropdownComponent, IconComponent, InputComponent, InspectorComponent, MASK_PRESETS, MaskDirective, MaskEngine, MenuComponent, ModalComponent, NavbarComponent, PopoverComponent, RadioButtonComponent, STUDIO_CONFIG, SelectComponent, SidebarComponent, StudioConfigService, SwitchComponent, TabsComponent, TextareaComponent, ThemeSwitchComponent, TooltipComponent, classNames, isSafeUrl, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
2411
|
+
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, DropdownDefaultsConfig, DropdownItem, DropdownPosition, 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, ModalAnimation, ModalDefaultsConfig, ModalPosition, ModalSize, ModalVariant, NavbarColor, NavbarShadow, NavbarSize, NavbarVariant, PopoverAnimation, PopoverBoundary, PopoverConfig, PopoverDefaultsConfig, PopoverPosition, PopoverSize, PopoverTrigger, PopoverVariant, PopoverWidth, RGB, RadioButtonColor, RadioButtonDefaultsConfig, RadioButtonRadius, RadioButtonSize, RadioButtonVariant, SelectDefaultsConfig, SelectDisplayContext, SelectOption, SelectOptionGroup, SelectPosition, SelectSize, SelectVariant, SidebarConfig, SidebarDefaultsConfig, SidebarPosition, SidebarSize, SidebarVariant, StudioConfig, StudioThemeConfig, SwitchDefaultsConfig, TabItem, TabsDefaultsConfig, TabsOrientation, TabsSize, TabsVariant, TextareaColor, TextareaDefaultsConfig, TextareaRadius, TextareaSize, TextareaVariant, ThemeMode, TooltipDefaultsConfig };
|